Commit 36a76380 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

CONNECT: close proxy connections that fail to CONNECT

This is usually due to failed auth. There's no point in us keeping such
a connection alive since it shouldn't be re-used anyway.

Bug: http://curl.haxx.se/bug/view.cgi?id=1381
Reported-by: Marcel Raad
parent 26036188
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -554,11 +554,17 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
      conn->bits.proxy_connect_closed = TRUE;
      infof(data, "Connect me again please\n");
    }
    else if(data->req.newurl) {
    else {
      if(data->req.newurl) {
        /* this won't be used anymore for the CONNECT so free it now */
        free(data->req.newurl);
        data->req.newurl = NULL;
      }
      /* failure, close this connection to avoid re-use */
      connclose(conn, "proxy CONNECT failure");
      Curl_closesocket(conn, conn->sock[sockindex]);
      conn->sock[sockindex] = CURL_SOCKET_BAD;
    }

    /* to back to init state */
    conn->tunnel_state[sockindex] = TUNNEL_INIT;