|
@@ -790,9 +790,9 @@ client_dns_set_addressmap(const char *address, uint32_t val,
|
|
|
{
|
|
|
struct in_addr in;
|
|
|
/* <address>.<hex or nickname>.exit\0 or just <address>\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.<hex or nickname>.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),
|