From: Rich Salz Date: Fri, 30 Jun 2017 17:55:08 +0000 (-0400) Subject: Fix atfork flag. Avoid double-negatives :) X-Git-Tag: OpenSSL_1_1_1-pre1~1141 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b5319bdbd095ff59d084af5ce16e5f715963557d;p=oweals%2Fopenssl.git Fix atfork flag. Avoid double-negatives :) Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/3815) --- diff --git a/crypto/init.c b/crypto/init.c index bc961718da..a2634d9653 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -552,7 +552,7 @@ int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings) && !RUN_ONCE(&add_all_digests, ossl_init_add_all_digests)) return 0; - if ((opts & OPENSSL_INIT_NO_ATFORK) == 0 + if ((opts & OPENSSL_INIT_ATFORK) && !openssl_init_fork_handlers()) return 0; diff --git a/doc/man3/OPENSSL_fork_prepare.pod b/doc/man3/OPENSSL_fork_prepare.pod index 4d05096c8d..99ec1a415b 100644 --- a/doc/man3/OPENSSL_fork_prepare.pod +++ b/doc/man3/OPENSSL_fork_prepare.pod @@ -30,7 +30,7 @@ such as Linux that have both functions will normally not need to call these functions as the OpenSSL library will do so automatically. L will register these funtions with the appropriate -hander, unless the B flag is used. For those +hander, when the B flag is used. For other applications, these functions can be called directly. They should be used according to the calling sequence described by the pthreads_atfork(3) documentation, which is summarized here. OPENSSL_fork_prepare() should diff --git a/doc/man3/OPENSSL_init_crypto.pod b/doc/man3/OPENSSL_init_crypto.pod index 1ee7705b2b..ce7497e1b0 100644 --- a/doc/man3/OPENSSL_init_crypto.pod +++ b/doc/man3/OPENSSL_init_crypto.pod @@ -150,9 +150,9 @@ With this option the library will automatically load and initialise all the built in engines listed above with the exception of the openssl and dasync engines. This not a default option. -=item OPENSSL_INIT_NO_ATFORK +=item OPENSSL_INIT_ATFORK -With this option the library will not register its fork handlers. +With this option the library will register its fork handlers. See OPENSSL_fork_prepare(3) for details. =back diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index 06ca40eba9..ad2cfe5f07 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -370,7 +370,7 @@ int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len); # define OPENSSL_INIT_ENGINE_PADLOCK 0x00004000L # define OPENSSL_INIT_ENGINE_AFALG 0x00008000L # define OPENSSL_INIT_reserved_internal 0x00010000L -# define OPENSSL_INIT_NO_ATFORK 0x00020000L +# define OPENSSL_INIT_ATFORK 0x00020000L /* OPENSSL_INIT flag range 0xfff00000 reserved for OPENSSL_init_ssl() */ /* Max OPENSSL_INIT flag value is 0x80000000 */