diff options
author | teor (Tim Wilson-Brown) <teor2345@gmail.com> | 2016-07-11 13:12:10 +1000 |
---|---|---|
committer | teor <teor2345@gmail.com> | 2016-08-31 13:41:31 +1000 |
commit | 16386a8cd15997acebdc1bd4ee047274b5c2730a (patch) | |
tree | 5633aeb478df3d7b038ff18da38ccdc482515938 /src/or/or.h | |
parent | e3bf8854c81f46470d21f5e44cfa51b16e1d260b (diff) | |
download | tor-16386a8cd15997acebdc1bd4ee047274b5c2730a.tar.gz tor-16386a8cd15997acebdc1bd4ee047274b5c2730a.zip |
Count unix sockets when counting client listeners
Users can't run an anonymous client and non-anonymous single
onion service at the same time. We need to know whether we have
any client ports or sockets open to do this check.
When determining whether a client port (SOCKS, Trans, NATD, DNS)
is set, count unix sockets when counting client listeners. This
has no user-visible behaviour change, because these options are
set once and never read in the current tor codebase.
Don't count sockets when setting ControlPort_set, that's what
ControlSocket is for. (This will be reviewed in #19665.)
Don't count sockets when counting server listeners, because the code
that uses these options expects to count externally-visible ports.
(And it would change the behaviour of Tor.)
Diffstat (limited to 'src/or/or.h')
-rw-r--r-- | src/or/or.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/or/or.h b/src/or/or.h index 34089ad994..574f184a13 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3604,9 +3604,13 @@ typedef struct { /** @name port booleans * - * Derived booleans: True iff there is a non-listener port on an AF_INET or - * AF_INET6 address of the given type configured in one of the _lines - * options above. + * Derived booleans: For server ports and ControlPort, true iff there is a + * non-listener port on an AF_INET or AF_INET6 address of the given type + * configured in one of the _lines options above. + * For client ports, also true if there is a unix socket configured. + * If you are checking for client ports, you may want to use: + * SocksPort_set || TransPort_set || NATDPort_set || DNSPort_set + * rather than SocksPort_set. * * @{ */ |