From f71de78952ff36860e1a4a423d3d3f03c4714488 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Fri, 1 Jun 2007 22:57:31 +0000 Subject: Call the SSL library initialization functions only once (not for every SSL connection). git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1726 f882894a-f735-0410-b71e-b25c423dba1c diff --git a/plugins/sslutils.c b/plugins/sslutils.c index 84a1c8f..8d2e93c 100644 --- a/plugins/sslutils.c +++ b/plugins/sslutils.c @@ -38,15 +38,17 @@ #ifdef HAVE_SSL static SSL_CTX *c=NULL; static SSL *s=NULL; +static int initialized=0; int np_net_ssl_init (int sd){ - SSL_METHOD *m=NULL; - /* Initialize SSL context */ - SSLeay_add_ssl_algorithms (); - m = SSLv23_client_method (); - SSL_load_error_strings (); - OpenSSL_add_all_algorithms(); - if ((c = SSL_CTX_new (m)) == NULL) { + if (!initialized) { + /* Initialize SSL context */ + SSLeay_add_ssl_algorithms (); + SSL_load_error_strings (); + OpenSSL_add_all_algorithms (); + initialized = 1; + } + if ((c = SSL_CTX_new (SSLv23_client_method ())) == NULL) { printf ("%s\n", _("CRITICAL - Cannot create SSL context.")); return STATE_CRITICAL; } -- cgit v0.10-9-g596f