Loading src/lib/net/address.c +11 −11 Original line number Diff line number Diff line Loading @@ -817,9 +817,12 @@ tor_addr_is_loopback(const tor_addr_t *addr) /* Is addr valid? * Checks that addr is non-NULL and not tor_addr_is_null(). * If for_listening is true, addr is allowed in either case if * addr is 0.0.0.0 (for IPv4) or :: (for IPv6). * It means "bind to all addresses on the local machine". */ * If for_listening is true, all IPv4 and IPv6 addresses are valid, including * 0.0.0.0 (for IPv4) and :: (for IPv6). When listening, these addresses mean * "bind to all addresses on the local machine". * Otherwise, 0.0.0.0 and :: are invalid, because they are null addresses. * All unspecified and unix addresses are invalid, regardless of for_listening. */ int tor_addr_is_valid(const tor_addr_t *addr, int for_listening) { Loading @@ -828,14 +831,11 @@ tor_addr_is_valid(const tor_addr_t *addr, int for_listening) return 0; } /* Only allow IPv4 0.0.0.0 for_listening. */ if (for_listening && addr->family == AF_INET && tor_addr_to_ipv4h(addr) == 0) { /* Allow all IPv4 and IPv6 addresses, when for_listening is true */ if (for_listening) { if (addr->family == AF_INET || addr->family == AF_INET6) { return 1; } if (for_listening && addr->family == AF_INET6) { return 1; } /* Otherwise, the address is valid if it's not tor_addr_is_null() */ Loading Loading
src/lib/net/address.c +11 −11 Original line number Diff line number Diff line Loading @@ -817,9 +817,12 @@ tor_addr_is_loopback(const tor_addr_t *addr) /* Is addr valid? * Checks that addr is non-NULL and not tor_addr_is_null(). * If for_listening is true, addr is allowed in either case if * addr is 0.0.0.0 (for IPv4) or :: (for IPv6). * It means "bind to all addresses on the local machine". */ * If for_listening is true, all IPv4 and IPv6 addresses are valid, including * 0.0.0.0 (for IPv4) and :: (for IPv6). When listening, these addresses mean * "bind to all addresses on the local machine". * Otherwise, 0.0.0.0 and :: are invalid, because they are null addresses. * All unspecified and unix addresses are invalid, regardless of for_listening. */ int tor_addr_is_valid(const tor_addr_t *addr, int for_listening) { Loading @@ -828,14 +831,11 @@ tor_addr_is_valid(const tor_addr_t *addr, int for_listening) return 0; } /* Only allow IPv4 0.0.0.0 for_listening. */ if (for_listening && addr->family == AF_INET && tor_addr_to_ipv4h(addr) == 0) { /* Allow all IPv4 and IPv6 addresses, when for_listening is true */ if (for_listening) { if (addr->family == AF_INET || addr->family == AF_INET6) { return 1; } if (for_listening && addr->family == AF_INET6) { return 1; } /* Otherwise, the address is valid if it's not tor_addr_is_null() */ Loading