瀏覽代碼

r13189@catbus: nickm | 2007-06-03 19:08:01 -0400
Oops. Only bind ports and start libevent if we are actually running Tor.


svn:r10474

Nick Mathewson 18 年之前
父節點
當前提交
6d447e04a2
共有 1 個文件被更改,包括 22 次插入20 次删除
  1. 22 20
      src/or/config.c

+ 22 - 20
src/or/config.c

@@ -811,27 +811,29 @@ options_act_reversible(or_options_t *old_options, char **msg)
     start_daemon();
   }
 
-  /* We need to set the connection limit before we can open the listeners. */
-  options->_ConnLimit =
-    set_max_file_descriptors((unsigned)options->ConnLimit, MAXCONNECTIONS);
-  if (options->_ConnLimit < 0) {
-    *msg = tor_strdup("Problem with ConnLimit value. See logs for details.");
-    goto rollback;
-  }
-  set_conn_limit = 1;
+  if (running_tor) {
+    /* We need to set the connection limit before we can open the listeners. */
+    options->_ConnLimit =
+      set_max_file_descriptors((unsigned)options->ConnLimit, MAXCONNECTIONS);
+    if (options->_ConnLimit < 0) {
+      *msg = tor_strdup("Problem with ConnLimit value. See logs for details.");
+      goto rollback;
+    }
+    set_conn_limit = 1;
 
-  /* Set up libevent.  (We need to do this before we can register the
-   * listeners as listeners.) */
-  if (running_tor && !libevent_initialized) {
-    init_libevent();
-    libevent_initialized = 1;
-  }
+    /* Set up libevent.  (We need to do this before we can register the
+     * listeners as listeners.) */
+    if (running_tor && !libevent_initialized) {
+      init_libevent();
+      libevent_initialized = 1;
+    }
 
-  /* Launch the listeners.  (We do this before we setuid, so we can bind to
-   * ports under 1024.) */
-  if (retry_all_listeners(0, replaced_listeners, new_listeners) < 0) {
-    *msg = tor_strdup("Failed to bind one of the listener ports.");
-    goto rollback;
+    /* Launch the listeners.  (We do this before we setuid, so we can bind to
+     * ports under 1024.) */
+    if (retry_all_listeners(0, replaced_listeners, new_listeners) < 0) {
+      *msg = tor_strdup("Failed to bind one of the listener ports.");
+      goto rollback;
+    }
   }
 
   /* Setuid/setgid as appropriate */
@@ -857,7 +859,7 @@ options_act_reversible(or_options_t *old_options, char **msg)
 
   /* Bail out at this point if we're not going to be a client or server:
    * we don't run Tor itself. */
-  if (options->command != CMD_RUN_TOR)
+  if (!running_tor)
     goto commit;
 
   mark_logs_temp(); /* Close current logs once new logs are open. */