Commit b3b14bf2 authored by Nick Mathewson's avatar Nick Mathewson 🏃
Browse files

Add some early checks to keep ipv6 addresses from failing by accident. Now,...

Add some early checks to keep ipv6 addresses from failing by accident.  Now, they fail on purpose, at least till 0.2.2.something.

svn:r17791
parent 374c1e97
......@@ -617,10 +617,16 @@ dns_resolve_impl(edge_connection_t *exitconn, int is_resolve,
/* first check if exitconn->_base.address is an IP. If so, we already
* know the answer. */
if (tor_addr_from_str(&addr, exitconn->_base.address) >= 0) {
if (tor_addr_family(&addr) == AF_INET) {
tor_addr_assign(&exitconn->_base.addr, &addr);
exitconn->address_ttl = DEFAULT_DNS_TTL;
return 1;
} else {
/* XXXX IPv6 */
return -1;
}
}
/* If we're a non-exit, don't even do DNS lookups. */
if (!(me = router_get_my_routerinfo()) ||
policy_is_reject_star(me->exit_policy)) {
......
......@@ -1140,6 +1140,10 @@ router_compare_to_my_exit_policy(edge_connection_t *conn)
if (tor_addr_is_null(&conn->_base.addr))
return -1;
/* XXXX IPv6 */
if (tor_addr_family(&conn->_base.addr) != AF_INET)
return -1;
return compare_tor_addr_to_addr_policy(&conn->_base.addr, conn->_base.port,
desc_routerinfo->exit_policy) != ADDR_POLICY_ACCEPTED;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment