From: Howard Chu Date: Fri, 30 Aug 2013 19:18:55 +0000 (-0700) Subject: ITS#7676,7677 don't leak libldap err codes X-Git-Tag: OPENLDAP_REL_ENG_2_4_40~184 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0947ca782f4d4aec57b900413b9245a669d235f5;p=openldap ITS#7676,7677 don't leak libldap err codes --- diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 81d8695eda..5d785fbd1f 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -3792,6 +3792,7 @@ config_tls_cleanup(ConfigArgs *c) { int opt = 1; ldap_pvt_tls_ctx_free( slap_tls_ctx ); + slap_tls_ctx = NULL; /* Force new ctx to be created */ rc = ldap_pvt_tls_set_option( slap_tls_ld, LDAP_OPT_X_TLS_NEWCTX, &opt ); @@ -3800,6 +3801,11 @@ config_tls_cleanup(ConfigArgs *c) { ldap_pvt_tls_get_option( slap_tls_ld, LDAP_OPT_X_TLS_CTX, &slap_tls_ctx ); /* This is a no-op if it's already loaded */ load_extop( &slap_EXOP_START_TLS, 0, starttls_extop ); + } else { + if ( rc == LDAP_NOT_SUPPORTED ) + rc = LDAP_UNWILLING_TO_PERFORM; + else + rc = LDAP_OTHER; } } return rc;