diff options
author | Holger Weiss <hweiss@users.sourceforge.net> | 2007-06-01 22:57:31 +0000 |
---|---|---|
committer | Holger Weiss <hweiss@users.sourceforge.net> | 2007-06-01 22:57:31 +0000 |
commit | f71de78952ff36860e1a4a423d3d3f03c4714488 (patch) | |
tree | 97127da30fe8da25d344bb8d556bca6bb9640dfb /plugins/sslutils.c | |
parent | f747b865aa23e31c94ef350ab601485fea1a1a7e (diff) | |
download | monitoring-plugins-f71de78952ff36860e1a4a423d3d3f03c4714488.tar.gz |
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
Diffstat (limited to 'plugins/sslutils.c')
-rw-r--r-- | plugins/sslutils.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/plugins/sslutils.c b/plugins/sslutils.c index 84a1c8fc..8d2e93c7 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; } |