Author: Steve Langasek Set the default value for client certificate checking with TLS/SSL in the per-context options, not in the "global" options which are in fact never used within slapd. Partially addresses Debian bug #462588. To be forwarded upstream. Index: servers/slapd/main.c =================================================================== --- servers/slapd/main.c (revision 1074) +++ servers/slapd/main.c (working copy) @@ -736,6 +736,13 @@ SERVICE_EXIT( ERROR_SERVICE_SPECIFIC_ERROR, 20 ); goto destroy; } + /* Library defaults to full certificate checking. This is correct when + * a client is verifying a server because all servers should have a + * valid cert. But few clients have valid certs, so we want our default + * to be no checking. The config file can override this as usual. + */ + rc = LDAP_OPT_X_TLS_NEVER; + (void) ldap_pvt_tls_set_option( slap_tls_ld, LDAP_OPT_X_TLS_REQUIRE_CERT, &rc ); #endif rc = slap_init( serverMode, serverName ); Index: servers/slapd/init.c =================================================================== --- servers/slapd/init.c (revision 1074) +++ servers/slapd/init.c (working copy) @@ -179,16 +179,6 @@ return 1; } -#ifdef HAVE_TLS - /* Library defaults to full certificate checking. This is correct when - * a client is verifying a server because all servers should have a - * valid cert. But few clients have valid certs, so we want our default - * to be no checking. The config file can override this as usual. - */ - rc = 0; - (void) ldap_pvt_tls_set_option( NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, &rc ); -#endif - if ( frontend_init() ) { slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY,