mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge branch 'tor-github/pr/1675'
This commit is contained in:
commit
ff93133403
6
changes/ticket32637
Normal file
6
changes/ticket32637
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor features (IPv6, client):
|
||||
- Make Tor clients tell dual-stack exits that they prefer IPv6
|
||||
connections. This change is equivalent to setting the PreferIPv6 flag
|
||||
on SOCKSPorts (and most other listener ports). Tor Browser has been
|
||||
setting this flag for some time, and we want to remove a client
|
||||
distinguisher at exits. Closes ticket 32637.
|
@ -1703,7 +1703,9 @@ The following options are useful only for clients (that is, if
|
||||
connections via SOCKS. Set it to "auto" to have Tor pick a port for
|
||||
you. This directive can be specified multiple times to bind
|
||||
to multiple addresses/ports. If a unix domain socket is used, you may
|
||||
quote the path using standard C escape sequences.
|
||||
quote the path using standard C escape sequences. Most flags are off by
|
||||
default, except where specified. Flags that are on by default can be
|
||||
disabled by putting "No" before the flag name.
|
||||
(Default: 9050) +
|
||||
+
|
||||
NOTE: Although this option allows you to specify an IP address
|
||||
@ -1757,14 +1759,16 @@ The following options are useful only for clients (that is, if
|
||||
Other recognized __flags__ for a SocksPort are:
|
||||
**NoIPv4Traffic**;;
|
||||
Tell exits to not connect to IPv4 addresses in response to SOCKS
|
||||
requests on this connection.
|
||||
**IPv6Traffic**;;
|
||||
Tell exits to allow IPv6 addresses in response to SOCKS requests on
|
||||
this connection, so long as SOCKS5 is in use. (SOCKS4 can't handle
|
||||
IPv6.)
|
||||
**PreferIPv6**;;
|
||||
requests on this connection. (Allowing IPv4 is the default.)
|
||||
**NoIPv6Traffic**;;
|
||||
Tell exits to not connect to IPv6 addresses in response to SOCKS
|
||||
requests on this connection. This option is only relevant when SOCKS5
|
||||
is in use, because SOCKS4 can't handle IPv6. (Allowing IPv6 is the
|
||||
default.)
|
||||
**NoPreferIPv6**;;
|
||||
Tells exits that, if a host has both an IPv4 and an IPv6 address,
|
||||
we would prefer to connect to it via IPv6. (IPv4 is the default.)
|
||||
we would prefer to connect to it via IPv4. (IPv6 is the default in
|
||||
recent versions of Tor.)
|
||||
**NoDNSRequest**;;
|
||||
Do not ask exits to resolve DNS addresses in SOCKS5 requests. Tor will
|
||||
connect to IPv4 addresses, IPv6 addresses (if IPv6Traffic is set) and
|
||||
@ -1802,11 +1806,11 @@ The following options are useful only for clients (that is, if
|
||||
**UseDNSCache**;;
|
||||
Tells the client to use any cached DNS answers we have when making
|
||||
requests via this connection.
|
||||
**PreferIPv6Automap**;;
|
||||
**NoPreferIPv6Automap**;;
|
||||
When serving a hostname lookup request on this port that
|
||||
should get automapped (according to AutomapHostsOnResolve),
|
||||
if we could return either an IPv4 or an IPv6 answer, prefer
|
||||
an IPv6 answer. (On by default.)
|
||||
an IPv4 answer. (Tor prefers IPv6 by default.)
|
||||
**PreferSOCKSNoAuth**;;
|
||||
Ordinarily, when an application offers both "username/password
|
||||
authentication" and "no authentication" to Tor via SOCKS5, Tor
|
||||
|
@ -5886,6 +5886,7 @@ port_cfg_new(size_t namelen)
|
||||
port_cfg_t *cfg = tor_malloc_zero(sizeof(port_cfg_t) + namelen + 1);
|
||||
cfg->entry_cfg.ipv4_traffic = 1;
|
||||
cfg->entry_cfg.ipv6_traffic = 1;
|
||||
cfg->entry_cfg.prefer_ipv6 = 1;
|
||||
cfg->entry_cfg.dns_request = 1;
|
||||
cfg->entry_cfg.onion_traffic = 1;
|
||||
cfg->entry_cfg.prefer_ipv6_virtaddr = 1;
|
||||
@ -6133,7 +6134,7 @@ port_parse_config(smartlist_t *out,
|
||||
/* This must be kept in sync with port_cfg_new's defaults */
|
||||
int no_listen = 0, no_advertise = 0, all_addrs = 0,
|
||||
bind_ipv4_only = 0, bind_ipv6_only = 0,
|
||||
ipv4_traffic = 1, ipv6_traffic = 1, prefer_ipv6 = 0, dns_request = 1,
|
||||
ipv4_traffic = 1, ipv6_traffic = 1, prefer_ipv6 = 1, dns_request = 1,
|
||||
onion_traffic = 1,
|
||||
cache_ipv4 = 0, use_cached_ipv4 = 0,
|
||||
cache_ipv6 = 0, use_cached_ipv6 = 0,
|
||||
|
@ -1516,7 +1516,7 @@ connection_listener_new(const struct sockaddr *listensockaddr,
|
||||
if (type != CONN_TYPE_AP_LISTENER) {
|
||||
lis_conn->entry_cfg.ipv4_traffic = 1;
|
||||
lis_conn->entry_cfg.ipv6_traffic = 1;
|
||||
lis_conn->entry_cfg.prefer_ipv6 = 0;
|
||||
lis_conn->entry_cfg.prefer_ipv6 = 1;
|
||||
}
|
||||
|
||||
if (connection_add(conn) < 0) { /* no space, forget it */
|
||||
|
@ -4158,6 +4158,8 @@ test_config_parse_port_config__ports__ports_given(void *data)
|
||||
/* Test entry port defaults as initialised in port_parse_config */
|
||||
tt_int_op(port_cfg->entry_cfg.dns_request, OP_EQ, 1);
|
||||
tt_int_op(port_cfg->entry_cfg.ipv4_traffic, OP_EQ, 1);
|
||||
tt_int_op(port_cfg->entry_cfg.ipv6_traffic, OP_EQ, 1);
|
||||
tt_int_op(port_cfg->entry_cfg.prefer_ipv6, OP_EQ, 1);
|
||||
tt_int_op(port_cfg->entry_cfg.onion_traffic, OP_EQ, 1);
|
||||
tt_int_op(port_cfg->entry_cfg.cache_ipv4_answers, OP_EQ, 0);
|
||||
tt_int_op(port_cfg->entry_cfg.prefer_ipv6_virtaddr, OP_EQ, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user