aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorteor (Tim Wilson-Brown) <teor2345@gmail.com>2016-07-11 13:12:10 +1000
committerteor <teor2345@gmail.com>2016-08-31 13:41:31 +1000
commit16386a8cd15997acebdc1bd4ee047274b5c2730a (patch)
tree5633aeb478df3d7b038ff18da38ccdc482515938 /src/or/or.h
parente3bf8854c81f46470d21f5e44cfa51b16e1d260b (diff)
downloadtor-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.h10
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.
*
* @{
*/