diff options
author | David Goulet <dgoulet@torproject.org> | 2021-10-19 09:48:13 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2021-10-19 09:48:13 -0400 |
commit | f748a497c7735cd7adb7982aca4fec8775196e23 (patch) | |
tree | b71171567d2eb7d43261ab93a38695c2b32cb3c9 /src/core/or/connection_edge.c | |
parent | ce5b240c19fed8109578fb9143f023af1daca0a5 (diff) | |
parent | db297a177edc8aba9334d6b3b525604d9b0f87a2 (diff) | |
download | tor-f748a497c7735cd7adb7982aca4fec8775196e23.tar.gz tor-f748a497c7735cd7adb7982aca4fec8775196e23.zip |
Merge branch 'ticket40476_045_01' into ticket40476_046_01
Diffstat (limited to 'src/core/or/connection_edge.c')
-rw-r--r-- | src/core/or/connection_edge.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c index d3979b3a7e..60a2f88ccb 100644 --- a/src/core/or/connection_edge.c +++ b/src/core/or/connection_edge.c @@ -1612,23 +1612,6 @@ consider_plaintext_ports(entry_connection_t *conn, uint16_t port) return 0; } -/** Return true iff <b>query</b> is a syntactically valid service ID (as - * generated by rend_get_service_id). */ -static int -rend_valid_v2_service_id(const char *query) -{ - /** Length of 'y' portion of 'y.onion' URL. */ -#define REND_SERVICE_ID_LEN_BASE32 16 - - if (strlen(query) != REND_SERVICE_ID_LEN_BASE32) - return 0; - - if (strspn(query, BASE32_CHARS) != REND_SERVICE_ID_LEN_BASE32) - return 0; - - return 1; -} - /** Parse the given hostname in address. Returns true if the parsing was * successful and type_out contains the type of the hostname. Else, false is * returned which means it was not recognized and type_out is set to @@ -1692,14 +1675,6 @@ parse_extended_hostname(char *address, hostname_type_t *type_out) if (q != address) { memmove(address, q, strlen(q) + 1 /* also get \0 */); } - /* v2 onion address check. */ - if (strlen(query) == REND_SERVICE_ID_LEN_BASE32) { - *type_out = ONION_V2_HOSTNAME; - if (rend_valid_v2_service_id(query)) { - goto success; - } - goto failed; - } /* v3 onion address check. */ if (strlen(query) == HS_SERVICE_ADDR_LEN_BASE32) { @@ -1719,8 +1694,7 @@ parse_extended_hostname(char *address, hostname_type_t *type_out) failed: /* otherwise, return to previous state and return 0 */ *s = '.'; - const bool is_onion = (*type_out == ONION_V2_HOSTNAME) || - (*type_out == ONION_V3_HOSTNAME); + const bool is_onion = (*type_out == ONION_V3_HOSTNAME); log_warn(LD_APP, "Invalid %shostname %s; rejecting", is_onion ? "onion " : "", safe_str_client(address)); |