tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 4f300d547d65e50ac1fd635f8b22714c1544ba33
parent f83b417bf819ef0cc5f6ff31dd683a53cd7f90f2
Author: Nick Mathewson <nickm@torproject.org>
Date:   Wed,  8 Aug 2018 16:50:23 -0400

When RunAsDaemon is set, crypto_postfork() as needed

Diffstat:
Msrc/app/config/config.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/app/config/config.c b/src/app/config/config.c @@ -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. */