mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
SSL: check for SSL, not specific protocols
Code cleanup to check less for protocols and more for the specific relevant feature. Like if SSL is required.
This commit is contained in:
parent
335dfa793c
commit
e34131db78
@ -2946,10 +2946,8 @@ static CURLcode ftp_connect(struct connectdata *conn,
|
||||
return result;
|
||||
}
|
||||
|
||||
if(conn->handler->protocol & CURLPROTO_FTPS) {
|
||||
if(conn->handler->flags & PROTOPT_SSL) {
|
||||
/* BLOCKING */
|
||||
/* FTPS is simply ftp with SSL for the control channel */
|
||||
/* now, perform the SSL initialization for this socket */
|
||||
result = Curl_ssl_connect(conn, FIRSTSOCKET);
|
||||
if(result)
|
||||
return result;
|
||||
|
@ -1013,7 +1013,7 @@ CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
|
||||
return res;
|
||||
}
|
||||
|
||||
if(conn->handler->protocol & CURLPROTO_HTTPS) {
|
||||
if(conn->handler->flags & PROTOPT_SSL) {
|
||||
/* We never send more than CURL_MAX_WRITE_SIZE bytes in one single chunk
|
||||
when we speak HTTPS, as if only a fraction of it is sent now, this data
|
||||
needs to fit into the normal read-callback buffer later on and that
|
||||
@ -1292,7 +1292,7 @@ CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
|
||||
}
|
||||
#endif /* CURL_DISABLE_PROXY */
|
||||
|
||||
if(conn->given->protocol & CURLPROTO_HTTPS) {
|
||||
if(conn->given->flags & PROTOPT_SSL) {
|
||||
/* perform SSL initialization */
|
||||
if(data->state.used_interface == Curl_if_multi) {
|
||||
result = https_connecting(conn, done);
|
||||
@ -1331,7 +1331,7 @@ static int http_getsock_do(struct connectdata *conn,
|
||||
static CURLcode https_connecting(struct connectdata *conn, bool *done)
|
||||
{
|
||||
CURLcode result;
|
||||
DEBUGASSERT((conn) && (conn->handler->protocol & CURLPROTO_HTTPS));
|
||||
DEBUGASSERT((conn) && (conn->handler->flags & PROTOPT_SSL));
|
||||
|
||||
/* perform SSL initialization for this socket */
|
||||
result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, done);
|
||||
@ -1349,7 +1349,7 @@ static int https_getsock(struct connectdata *conn,
|
||||
curl_socket_t *socks,
|
||||
int numsocks)
|
||||
{
|
||||
if(conn->handler->protocol & CURLPROTO_HTTPS) {
|
||||
if(conn->handler->flags & PROTOPT_SSL) {
|
||||
struct ssl_connect_data *connssl = &conn->ssl[FIRSTSOCKET];
|
||||
|
||||
if(!numsocks)
|
||||
|
10
lib/imap.c
10
lib/imap.c
@ -629,12 +629,10 @@ static CURLcode imap_multi_statemach(struct connectdata *conn,
|
||||
struct imap_conn *imapc = &conn->proto.imapc;
|
||||
CURLcode result;
|
||||
|
||||
if((conn->handler->protocol & CURLPROTO_IMAPS) && !imapc->ssldone) {
|
||||
if((conn->handler->flags & PROTOPT_SSL) && !imapc->ssldone)
|
||||
result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, &imapc->ssldone);
|
||||
}
|
||||
else {
|
||||
else
|
||||
result = Curl_pp_multi_statemach(&imapc->pp);
|
||||
}
|
||||
|
||||
*done = (bool)(imapc->state == IMAP_STOP);
|
||||
|
||||
@ -744,11 +742,9 @@ static CURLcode imap_connect(struct connectdata *conn,
|
||||
return result;
|
||||
}
|
||||
|
||||
if((conn->handler->protocol & CURLPROTO_IMAPS) &&
|
||||
if((conn->handler->flags & PROTOPT_SSL) &&
|
||||
data->state.used_interface != Curl_if_multi) {
|
||||
/* BLOCKING */
|
||||
/* IMAPS is simply imap with SSL for the control channel */
|
||||
/* now, perform the SSL initialization for this socket */
|
||||
result = Curl_ssl_connect(conn, FIRSTSOCKET);
|
||||
if(result)
|
||||
return result;
|
||||
|
@ -206,7 +206,7 @@ static CURLcode Curl_ldap(struct connectdata *conn, bool *done)
|
||||
}
|
||||
|
||||
/* Get the URL scheme ( either ldap or ldaps ) */
|
||||
if(conn->given->protocol & CURLPROTO_LDAPS)
|
||||
if(conn->given->flags & PROTOPT_SSL)
|
||||
ldap_ssl = 1;
|
||||
infof(data, "LDAP local: trying to establish %s connection\n",
|
||||
ldap_ssl ? "encrypted" : "cleartext");
|
||||
|
@ -676,10 +676,8 @@ static CURLcode pop3_connect(struct connectdata *conn,
|
||||
return result;
|
||||
}
|
||||
|
||||
if(conn->handler->protocol & CURLPROTO_POP3S) {
|
||||
if(conn->handler->flags & PROTOPT_SSL) {
|
||||
/* BLOCKING */
|
||||
/* POP3S is simply pop3 with SSL for the control channel */
|
||||
/* now, perform the SSL initialization for this socket */
|
||||
result = Curl_ssl_connect(conn, FIRSTSOCKET);
|
||||
if(result)
|
||||
return result;
|
||||
|
@ -1027,12 +1027,10 @@ static CURLcode smtp_multi_statemach(struct connectdata *conn,
|
||||
struct smtp_conn *smtpc = &conn->proto.smtpc;
|
||||
CURLcode result;
|
||||
|
||||
if((conn->handler->protocol & CURLPROTO_SMTPS) && !smtpc->ssldone) {
|
||||
if((conn->handler->flags & PROTOPT_SSL) && !smtpc->ssldone)
|
||||
result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, &smtpc->ssldone);
|
||||
}
|
||||
else {
|
||||
else
|
||||
result = Curl_pp_multi_statemach(&smtpc->pp);
|
||||
}
|
||||
|
||||
*done = (bool)(smtpc->state == SMTP_STOP);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user