From: Nick Mathewson Date: Wed, 2 Apr 2014 01:49:01 +0000 (-0400) Subject: Merge remote-tracking branch 'public/bug4645' X-Git-Tag: tor-0.2.5.4-alpha~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fc9e84062b73535b63bb3cf555604b1acbcc4c61;p=thirdparty%2Ftor.git Merge remote-tracking branch 'public/bug4645' Conflicts: src/or/dirserv.c --- fc9e84062b73535b63bb3cf555604b1acbcc4c61 diff --cc src/or/dirserv.c index 19ed12d7c1,e3e6519dd8..b6c5dd41f4 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@@ -504,12 -524,20 +504,15 @@@ dirserv_free_fingerprint_list(void static int dirserv_router_has_valid_address(routerinfo_t *ri) { + tor_addr_t addr; if (get_options()->DirAllowPrivateAddresses) return 0; /* whatever it is, we're fine with it */ - if (is_internal_IP(ri->addr, 0)) { - if (tor_addr_parse(&addr, ri->address) != AF_INET) { - log_info(LD_DIRSERV,"Router %s published non-IPv4 address '%s'. Refusing.", - router_describe(ri), - ri->address); - return -1; - } ++ tor_addr_from_ipv4h(&addr, ri->addr); + + if (tor_addr_is_internal(&addr, 0)) { log_info(LD_DIRSERV, - "Router %s published internal IP address '%s'. Refusing.", - router_describe(ri), ri->address); + "Router %s published internal IP address. Refusing.", + router_describe(ri)); return -1; /* it's a private IP, we should reject it */ } return 0;