Commit e34131db authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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.
parent 335dfa79
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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;
+4 −4
Original line number Diff line number Diff line
@@ -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)
+3 −7
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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");
+1 −3
Original line number Diff line number Diff line
@@ -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;
Loading