From cd8d0204f7cc9cb00d32d13a21e7ccf9ea6eb85e Mon Sep 17 00:00:00 2001 From: Graham Leggett Date: Thu, 20 Jan 2005 08:15:46 +0000 Subject: [PATCH] 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 --- modules/ldap/util_ldap.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index 53435dcf80..55f8b007bd 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 */ -- 2.50.1