]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
don't use kr_crypto_reinit()
authorVladimír Čunát <vladimir.cunat@nic.cz>
Wed, 24 Aug 2016 15:08:53 +0000 (17:08 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Thu, 25 Aug 2016 16:10:12 +0000 (18:10 +0200)
We called kr_crypto_init() just before forking and then _reinit() in
all children, but we never did any cryptography in-between - better
initialize after forking.

Note: the function is KR_EXPORT.  It might not be useful anymore, but
its removal would require bumping libkres soname.

daemon/main.c

index 884adcbaff1585111d0717dad495505270249608..012ef75c015f5c269d4ad77f21fc53988c8de2ab 100644 (file)
@@ -259,7 +259,6 @@ static int fork_workers(fd_array_t *ipc_set, int forks)
                        array_clear(*ipc_set);
                        array_push(*ipc_set, sv[0]);
                        close(sv[1]);
-                       kr_crypto_reinit();
                        return forks;
                /* Parent process */
                } else {
@@ -541,8 +540,6 @@ int main(int argc, char **argv)
         }
 #endif
 
-       kr_crypto_init();
-
        /* Connect forks with local socket */
        fd_array_t ipc_set;
        array_init(ipc_set);
@@ -552,6 +549,8 @@ int main(int argc, char **argv)
                return EXIT_FAILURE;
        }
 
+       kr_crypto_init();
+
        /* Create a server engine. */
        knot_mm_t pool = {
                .ctx = mp_new (4096),