openldap: fix STARTTLS

It was not working anymore since introduction of connection filters.

Also do not attempt to recover from a failing TLS negotiation with
CURLUSESSL_TRY.

Closes #12610
This commit is contained in:
Patrick Monnerat 2023-12-30 17:31:04 +01:00 committed by Daniel Stenberg
parent d16d18cf64
commit 4b6d44f6e9
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -793,10 +793,13 @@ static CURLcode oldap_connecting(struct Curl_easy *data, bool *done)
result = oldap_perform_bind(data, OLDAP_BIND);
break;
}
result = Curl_ssl_cfilter_add(data, conn, FIRSTSOCKET);
if(result)
break;
FALLTHROUGH();
case OLDAP_TLS:
result = oldap_ssl_connect(data, OLDAP_TLS);
if(result && data->set.use_ssl != CURLUSESSL_TRY)
if(result)
result = oldap_map_error(code, CURLE_USE_SSL_FAILED);
else if(ssl_installed(conn)) {
conn->bits.tls_upgraded = TRUE;