From f71de78952ff36860e1a4a423d3d3f03c4714488 Mon Sep 17 00:00:00 2001
From: Holger Weiss <hweiss@users.sourceforge.net>
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

