mirror of
https://github.com/curl/curl.git
synced 2026-07-23 06:17:16 +03:00
vtls: unify the error handling in ssl_cf_connect().
Check preference at first, then init peer and do connect. Also fixes CF_DATA_RESTORE. Closes #19196
This commit is contained in:
parent
28ebaf86ce
commit
6032b8f2a2
1 changed files with 9 additions and 6 deletions
|
|
@ -1365,6 +1365,15 @@ static CURLcode ssl_cf_connect(struct Curl_cfilter *cf,
|
|||
DEBUGASSERT(connssl);
|
||||
|
||||
*done = FALSE;
|
||||
|
||||
if(!connssl->prefs_checked) {
|
||||
if(!ssl_prefs_check(data)) {
|
||||
result = CURLE_SSL_CONNECT_ERROR;
|
||||
goto out;
|
||||
}
|
||||
connssl->prefs_checked = TRUE;
|
||||
}
|
||||
|
||||
if(!connssl->peer.hostname) {
|
||||
char tls_id[80];
|
||||
connssl->ssl_impl->version(tls_id, sizeof(tls_id) - 1);
|
||||
|
|
@ -1373,12 +1382,6 @@ static CURLcode ssl_cf_connect(struct Curl_cfilter *cf,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if(!connssl->prefs_checked) {
|
||||
if(!ssl_prefs_check(data))
|
||||
return CURLE_SSL_CONNECT_ERROR;
|
||||
connssl->prefs_checked = TRUE;
|
||||
}
|
||||
|
||||
result = connssl->ssl_impl->do_connect(cf, data, done);
|
||||
|
||||
if(!result && *done) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue