]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Warn when hibernation and low-port on non-windows is configured
authorSebastian Hahn <sebastian@torproject.org>
Tue, 12 May 2009 17:48:08 +0000 (19:48 +0200)
committerSebastian Hahn <sebastian@torproject.org>
Tue, 12 May 2009 18:00:00 +0000 (20:00 +0200)
This addresses the first part of bug 918. Users are now warned when
they try to use hibernation in combination with a port below 1024
when they're not on Windows. We don't want to die here, because
people might run Tor as root, use a capabilities system or some
other platform that will allow them to re-attach low ports.

Wording suggested by Marian

src/or/config.c

index 35f5134f15a1778f8e6df61e2530f890db4b2058..71dd391664dcbb423cfc6e007469d32a0afa56a8 100644 (file)
@@ -3013,6 +3013,18 @@ options_validate(or_options_t *old_options, or_options_t *options,
     REJECT("TransPort and TransListenAddress are disabled in this build.");
 #endif
 
+#ifndef MS_WINDOWS
+    if (options->AccountingMax &&
+        (options->DirPort < 1024 || options->ORPort < 1024))
+      log(LOG_WARN, LD_CONFIG,
+          "You have set AccountingMax to use hibernation. You have also "
+          "chosen a low DirPort or OrPort. This combination can make Tor stop "
+          "working when it tries to re-attach the port after a period of "
+          "hibernation. Please choose a different port or turn off "
+          "hibernation unless you know this combination will work on your "
+          "platform.");
+#endif
+
   if (options->ExcludeExitNodes || options->ExcludeNodes) {
     options->_ExcludeExitNodesUnion = routerset_new();
     routerset_union(options->_ExcludeExitNodesUnion,options->ExcludeExitNodes);