]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
When RunAsDaemon is set, crypto_postfork() as needed
authorNick Mathewson <nickm@torproject.org>
Wed, 8 Aug 2018 20:50:23 +0000 (16:50 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 8 Aug 2018 20:50:23 +0000 (16:50 -0400)
src/app/config/config.c

index 1b1889779dd60075dcc0cfe2bb387617c14fa107..eb935fd4ee3ffcccec30c12200c9dc28bd35d105 100644 (file)
@@ -81,6 +81,7 @@
 #include "core/mainloop/cpuworker.h"
 #include "lib/crypt_ops/crypto_rand.h"
 #include "lib/crypt_ops/crypto_util.h"
+#include "lib/crypt_ops/crypto_init.h"
 #include "feature/dircache/dirserv.h"
 #include "feature/relay/dns.h"
 #include "core/or/dos.h"
@@ -2026,7 +2027,9 @@ options_act(const or_options_t *old_options)
   /* Finish backgrounding the process */
   if (options->RunAsDaemon) {
     /* We may be calling this for the n'th time (on SIGHUP), but it's safe. */
-    finish_daemon(options->DataDirectory);
+    int forked = finish_daemon(options->DataDirectory);
+    if (forked)
+      crypto_postfork();
   }
 
   /* See whether we need to enable/disable our once-a-second timer. */