From 498abff0ae907dce08f37a1353976755e8c8120e Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Tue, 9 Feb 2016 09:39:07 +0000 Subject: Add an OPENSSL_NO_AUTOERRINIT option This option disables automatic loading of the crypto/ssl error strings in order to keep statically linked executable file size down Reviewed-by: Richard Levitte --- ssl/ssl_init.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'ssl') diff --git a/ssl/ssl_init.c b/ssl/ssl_init.c index f101413..1bccba1 100644 --- a/ssl/ssl_init.c +++ b/ssl/ssl_init.c @@ -253,11 +253,17 @@ static OPENSSL_INIT_ONCE ssl_strings = OPENSSL_INIT_ONCE_STATIC_INIT; static int ssl_strings_inited = 0; static void ossl_init_load_ssl_strings(void) { -#ifdef OPENSSL_INIT_DEBUG + /* + * OPENSSL_NO_AUTOERRINIT is provided here to prevent at compile time + * pulling in all the error strings during static linking + */ +#if !defined(OPENSSL_NO_ERR) && !defined(OPENSSL_NO_AUTOERRINIT) +# ifdef OPENSSL_INIT_DEBUG fprintf(stderr, "OPENSSL_INIT: ossl_init_load_ssl_strings: " "ERR_load_SSL_strings()\n"); -#endif +# endif ERR_load_SSL_strings(); +#endif ssl_strings_inited = 1; } -- cgit v1.1