From eb0f51f2a373d3c306a0782b14baabb52595415d Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 3 Oct 2006 18:58:47 +0000 Subject: [PATCH] r8839@totoro: nickm | 2006-10-02 15:31:49 -0400 Make a field longer to accomodate verbose nicknames; note that verbose nicknames will never reach this point. svn:r8583 --- src/or/connection_edge.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 9692edaadc..e8902273d7 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -790,9 +790,9 @@ client_dns_set_addressmap(const char *address, uint32_t val, { struct in_addr in; /*
..exit\0 or just
\0 */ - char extendedaddress[MAX_SOCKS_ADDR_LEN+MAX_HEX_NICKNAME_LEN+10]; + char extendedaddress[MAX_SOCKS_ADDR_LEN+MAX_VERBOSE_NICKNAME_LEN+10]; /* 123.123.123.123..exit\0 or just 123.123.123.123\0 */ - char extendedval[INET_NTOA_BUF_LEN+MAX_HEX_NICKNAME_LEN+10]; + char extendedval[INET_NTOA_BUF_LEN+MAX_VERBOSE_NICKNAME_LEN+10]; char valbuf[INET_NTOA_BUF_LEN]; tor_assert(address); @@ -808,6 +808,9 @@ client_dns_set_addressmap(const char *address, uint32_t val, in.s_addr = htonl(val); tor_inet_ntoa(&in,valbuf,sizeof(valbuf)); if (exitname) { + /* XXXX fails to ever get attempts to get an exit address of + * google.com.digest[=~]nickname.exit; we need a syntax for this that + * won't make strict RFC952-compliant applications (like us) barf. */ tor_snprintf(extendedaddress, sizeof(extendedaddress), "%s.%s.exit", address, exitname); tor_snprintf(extendedval, sizeof(extendedval),