[tor-commits] [tor/master] Consider hibernation before dropping privs

nickm at torproject.org nickm at torproject.org
Tue Oct 11 01:56:47 UTC 2011


commit b4bd836f46549b6263c8c55eb3bc127884b72340
Author: Sebastian Hahn <sebastian at torproject.org>
Date:   Tue Oct 11 02:40:06 2011 +0200

    Consider hibernation before dropping privs
    
    Without this patch, Tor wasn't sure whether it would be hibernating or
    not, so it postponed opening listeners until after the privs had been
    dropped. This doesn't work so well for low ports. Bug was introduced in
    the fix for bug 2003. Fixes bug 4217, reported by Zax and katmagic.
    Thanks!
---
 src/or/config.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index 2705ba5..1304c46 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1080,6 +1080,9 @@ options_act_reversible(const or_options_t *old_options, char **msg)
     if (parse_client_ports(options, 0, msg, &n_client_ports))
       return -1;
 
+    /* Set the hibernation state appropriately.*/
+    consider_hibernation(time(NULL));
+
     /* Launch the listeners.  (We do this before we setuid, so we can bind to
      * ports under 1024.)  We don't want to rebind if we're hibernating. */
     if (!we_are_hibernating()) {



More information about the tor-commits mailing list