]> git.sur5r.net Git - openldap/commitdiff
Fail if default context is already initialized
authorKurt Zeilenga <kurt@openldap.org>
Sun, 25 Apr 2004 04:37:19 +0000 (04:37 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sun, 25 Apr 2004 04:37:19 +0000 (04:37 +0000)
libraries/libldap/tls.c

index 391f342754811d9d3e214554fa8117a714565671..d80ada1df0545dc226197fab3ac8af68bb64b550 100644 (file)
@@ -157,8 +157,7 @@ ldap_pvt_tls_init( void )
 {
        static int tls_initialized = 0;
 
-       if ( tls_initialized ) return 0;
-       tls_initialized = 1;
+       if ( tls_initialized++ ) return 0;
 
 #ifdef HAVE_EBCDIC
        {
@@ -197,6 +196,21 @@ ldap_pvt_tls_init_def_ctx( void )
        char *certfile = tls_opt_certfile;
        char *keyfile = tls_opt_keyfile;
 
+       static int ctx_initialized = 0;
+
+       if ( ctx_initialized++ ) {
+#ifdef NEW_LOGGING
+               LDAP_LOG ( TRANSPORT, ERR, "ldap_pvt_tls_init_def_ctx: "
+                       "TLS default ctx already initialized.\n",
+                       0, 0, 0 );
+#else
+               Debug( LDAP_DEBUG_ANY,
+                  "TLS: default ctx already initialized.\n",
+                       0, 0, 0);
+#endif
+               return 1;
+       }
+
 #ifdef HAVE_EBCDIC
        /* This ASCII/EBCDIC handling is a real pain! */
        if ( ciphersuite ) {