[tor-commits] [tor/master] config: Fix duplicate error message for nonlocal SocksPorts.

nickm at torproject.org nickm at torproject.org
Fri Jun 23 18:40:34 UTC 2017


commit 28344b74babe762089ff702450ad2b418ae25b33
Author: Isis Lovecruft <isis at torproject.org>
Date:   Thu Jun 22 00:28:31 2017 +0000

    config: Fix duplicate error message for nonlocal SocksPorts.
    
    If `validate_only` is true, then just validate the configuration without warning
    about it.  This way, we only emit warnings when the listener is actually opened.
    (Otherwise, every time we parse the config we will might re-warn and we would
    need to keep state; whereas the listeners are only opened once.)
    
     * FIXES #4019.
---
 src/or/config.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index 7d2ebbd..a1bd835 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -6251,8 +6251,9 @@ port_cfg_free(port_cfg_t *port)
 /** Warn for every port in <b>ports</b> of type <b>listener_type</b> that is
  * on a publicly routable address. */
 static void
-warn_nonlocal_client_ports(const smartlist_t *ports, const char *portname,
-                           int listener_type)
+warn_nonlocal_client_ports(const smartlist_t *ports,
+                           const char *portname,
+                           const int listener_type)
 {
   SMARTLIST_FOREACH_BEGIN(ports, const port_cfg_t *, port) {
     if (port->type != listener_type)
@@ -6936,7 +6937,8 @@ parse_ports(or_options_t *options, int validate_only,
              options->SocksPort_lines,
              "Socks", CONN_TYPE_AP_LISTENER,
              "127.0.0.1", 9050,
-             CL_PORT_WARN_NONLOCAL|CL_PORT_TAKES_HOSTNAMES|gw_flag) < 0) {
+             ((validate_only ? 0 : CL_PORT_WARN_NONLOCAL)
+              | CL_PORT_TAKES_HOSTNAMES | gw_flag)) < 0) {
     *msg = tor_strdup("Invalid SocksPort configuration");
     goto err;
   }





More information about the tor-commits mailing list