Skip to content

Commit

Permalink
hs-v2: Disable version 2 HSPOST and HSFETCH command
Browse files Browse the repository at this point in the history
Part of #40476

Signed-off-by: David Goulet <[email protected]>
  • Loading branch information
dgoulet-tor committed Oct 19, 2021
1 parent a7d28da commit 044eada
Showing 1 changed file with 7 additions and 17 deletions.
24 changes: 7 additions & 17 deletions src/feature/control/control_cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1443,31 +1443,16 @@ handle_control_hsfetch(control_connection_t *conn,
const control_cmd_args_t *args)

{
char digest[DIGEST_LEN], *desc_id = NULL;
char *desc_id = NULL;
smartlist_t *hsdirs = NULL;
static const char *v2_str = "v2-";
const size_t v2_str_len = strlen(v2_str);
rend_data_t *rend_query = NULL;
ed25519_public_key_t v3_pk;
uint32_t version;
const char *hsaddress = NULL;

/* Extract the first argument (either HSAddress or DescID). */
const char *arg1 = smartlist_get(args->args, 0);
/* Test if it's an HS address without the .onion part. */
if (rend_valid_v2_service_id(arg1)) {
hsaddress = arg1;
version = HS_VERSION_TWO;
} else if (strcmpstart(arg1, v2_str) == 0 &&
rend_valid_descriptor_id(arg1 + v2_str_len) &&
base32_decode(digest, sizeof(digest), arg1 + v2_str_len,
REND_DESC_ID_V2_LEN_BASE32) ==
sizeof(digest)) {
/* We have a well formed version 2 descriptor ID. Keep the decoded value
* of the id. */
desc_id = digest;
version = HS_VERSION_TWO;
} else if (hs_address_is_valid(arg1)) {
if (hs_address_is_valid(arg1)) {
hsaddress = arg1;
version = HS_VERSION_THREE;
hs_parse_address(hsaddress, &v3_pk, NULL, NULL);
Expand Down Expand Up @@ -1590,6 +1575,11 @@ handle_control_hspost(control_connection_t *conn,
goto done;
}

/* As for HSFETCH, we no longer support v2 on the network and so we stop
* right now. Code is not removed in order to minimize the merge forward
* conflicts. */
goto done;

/* From this point on, it is only v2. */

/* parse it. */
Expand Down

0 comments on commit 044eada

Please sign in to comment.