]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/init.c
Assume TLS is properly configured if any one of
[openldap] / libraries / libldap / init.c
index 81938ec9ad12784931fd6f66fc3c9d869204bab8..613bd93c57152bf35df9241e1ee82a5a69d63a3d 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2005 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,9 @@
 #include <ac/ctype.h>
 #include <ac/time.h>
 
+#ifdef HAVE_LIMITS_H
 #include <limits.h>
+#endif
 
 #include "ldap-int.h"
 #include "ldap_defaults.h"
@@ -98,12 +100,17 @@ static const struct ol_attribute {
        {0, ATTR_TLS,   "TLS_REQCERT",          NULL,   LDAP_OPT_X_TLS_REQUIRE_CERT},
        {0, ATTR_TLS,   "TLS_RANDFILE",         NULL,   LDAP_OPT_X_TLS_RANDOM_FILE},
        {0, ATTR_TLS,   "TLS_CIPHER_SUITE",     NULL,   LDAP_OPT_X_TLS_CIPHER_SUITE},
+
+#ifdef HAVE_OPENSSL_CRL
+       {0, ATTR_TLS,   "TLS_CRLCHECK",         NULL,   LDAP_OPT_X_TLS_CRLCHECK},
+#endif
+        
 #endif
 
        {0, ATTR_NONE,          NULL,           NULL,   0}
 };
 
-#define MAX_LDAP_ATTR_LEN  sizeof("TLS_CACERTDIR")
+#define MAX_LDAP_ATTR_LEN  sizeof("TLS_CIPHER_SUITE")
 #define MAX_LDAP_ENV_PREFIX_LEN 8
 
 static void openldap_ldap_init_w_conf(
@@ -390,6 +397,9 @@ ldap_int_destroy_global_options(void)
 {
        struct ldapoptions *gopts = LDAP_INT_GLOBAL_OPT();
 
+       if ( gopts == NULL )
+               return;
+
        gopts->ldo_valid = LDAP_UNINITIALIZED;
 
        if ( gopts->ldo_defludp ) {
@@ -459,6 +469,11 @@ void ldap_int_initialize_global_options( struct ldapoptions *gopts, int *dbglvl
                SASL_SEC_NOPLAINTEXT | SASL_SEC_NOANONYMOUS;
 #endif
 
+#ifdef HAVE_TLS
+       gopts->ldo_tls_connect_cb = NULL;
+       gopts->ldo_tls_connect_arg = NULL;
+#endif
+
        gopts->ldo_valid = LDAP_INITIALIZED;
        return;
 }