diff options
author | Daniel Stenberg <daniel@haxx.se> | 2011-05-05 15:49:43 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2011-05-05 15:49:43 +0200 |
commit | e34131db783336aa17fa0aa664635867459b2a85 (patch) | |
tree | da9d24dbb53329dade737173e340618a509a8759 | |
parent | 335dfa793c239283b0003d3f10739051c10ecb13 (diff) |
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.
-rw-r--r-- | lib/ftp.c | 4 | ||||
-rw-r--r-- | lib/http.c | 8 | ||||
-rw-r--r-- | lib/imap.c | 10 | ||||
-rw-r--r-- | lib/ldap.c | 2 | ||||
-rw-r--r-- | lib/pop3.c | 4 | ||||
-rw-r--r-- | lib/smtp.c | 6 |
6 files changed, 12 insertions, 22 deletions
@@ -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; diff --git a/lib/http.c b/lib/http.c index f6b6a3e14..5759a7ff2 100644 --- a/lib/http.c +++ b/lib/http.c @@ -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) diff --git a/lib/imap.c b/lib/imap.c index 06135a309..a01da3eec 100644 --- a/lib/imap.c +++ b/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; diff --git a/lib/ldap.c b/lib/ldap.c index 69667fdf8..6733ef46b 100644 --- a/lib/ldap.c +++ b/lib/ldap.c @@ -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"); diff --git a/lib/pop3.c b/lib/pop3.c index 6d5afa876..f53661285 100644 --- a/lib/pop3.c +++ b/lib/pop3.c @@ -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; diff --git a/lib/smtp.c b/lib/smtp.c index 170c32dbb..e0e4216d3 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -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); |