Commit a49f14d0 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

When we setconf ClientOnly to 1, close any current OR and Dir

listeners. Reported by mwenge.


svn:r13214
parent b79850d5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -15,6 +15,10 @@ Changes in version 0.2.0.18-alpha - 2008-01-??
      the request isn't encrypted.
    - Make "ClientOnly 1" config option disable directory ports too.

  o Minor bugfixes:
    - When we setconf ClientOnly to 1, close any current OR and Dir
      listeners. Reported by mwenge.


Changes in version 0.2.0.17-alpha - 2008-01-17
  Tor 0.2.0.17-alpha makes the tarball build cleanly again (whoops).
+6 −3
Original line number Diff line number Diff line
@@ -1177,6 +1177,9 @@ connection_connect(connection_t *conn, const char *address,
 * only close listeners that are no longer wanted.  Existing listeners
 * that are still configured are not touched.
 *
 * If <b>disable_all_conns</b> is set, then never open new conns, and
 * close the existing ones.
 *
 * Add all old conns that should be closed to <b>replaced_conns</b>.
 * Add all new connections to <b>new_conns</b>.
 */
@@ -1185,7 +1188,7 @@ retry_listeners(int type, config_line_t *cfg,
                int port_option, const char *default_addr,
                smartlist_t *replaced_conns,
                smartlist_t *new_conns,
                int never_open_conns,
                int disable_all_conns,
                int socket_family)
{
  smartlist_t *launch = smartlist_create(), *conns;
@@ -1251,7 +1254,7 @@ retry_listeners(int type, config_line_t *cfg,
            tor_assert(0);
        }
      });
    if (! line) {
    if (!line || disable_all_conns) {
      /* This one isn't configured. Close it. */
      log_notice(LD_NET, "Closing no-longer-configured %s on %s:%d",
                 conn_type_to_string(type), conn->address, conn->port);
@@ -1273,7 +1276,7 @@ retry_listeners(int type, config_line_t *cfg,

  /* Now open all the listeners that are configured but not opened. */
  r = 0;
  if (!never_open_conns) {
  if (!disable_all_conns) {
    SMARTLIST_FOREACH(launch, config_line_t *, cfg_line,
      {
        char *address = NULL;