From: Graham Leggett Date: Thu, 20 Jan 2005 08:15:46 +0000 (+0000) Subject: Fix a problem where SSL was started twice when no client certificates were X-Git-Tag: 2.1.3~126 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd8d0204f7cc9cb00d32d13a21e7ccf9ea6eb85e;p=thirdparty%2Fapache%2Fhttpd.git Fix a problem where SSL was started twice when no client certificates were specified. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@125733 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index 53435dcf802..55f8b007bd5 100644 --- a/modules/ldap/util_ldap.c +++ b/modules/ldap/util_ldap.c @@ -310,14 +310,17 @@ LDAP_DECLARE(int) util_ldap_connection_open(request_rec *r, } /* switch on SSL/TLS */ - apr_ldap_set_option(ldc->pool, ldc->ldap, - APR_LDAP_OPT_TLS, &ldc->secure, &(result)); - if (LDAP_SUCCESS != result->rc) { - ldap_unbind_s(ldc->ldap); - ldc->ldap = NULL; - ldc->bound = 0; - ldc->reason = result->reason; - return(result->rc); + if (!apr_is_empty_array(ldc->client_certs)) { + + apr_ldap_set_option(ldc->pool, ldc->ldap, + APR_LDAP_OPT_TLS, &ldc->secure, &(result)); + if (LDAP_SUCCESS != result->rc) { + ldap_unbind_s(ldc->ldap); + ldc->ldap = NULL; + ldc->bound = 0; + ldc->reason = result->reason; + return(result->rc); + } } /* Set the alias dereferencing option */