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

Mike Jean fixed so that the second CONNECT when doing FTP over a HTTP proxy

actually used a new connection and not sent the second request on the first
socket!
parent e4d8cb4e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -8,6 +8,11 @@



Daniel (7 January 2006)
- Mike Jean fixed so that the second CONNECT when doing FTP over a HTTP proxy
  actually used a new connection and not sent the second request on the first
  socket!

Daniel (6 January 2006)
- Alexander Lazic made the buildconf run the buildconf in the ares dir if that
  is present instead of trying to mimic that script in curl's buildconf
+2 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ This release includes the following changes:

This release includes the following bugfixes:

 o FTP over HTTP proxy now sends the second CONNECT properly
 o numerous compiler warnings and build quirks for various compilers have
   been addressed
 o supports name and passwords up to 255 bytes long, embedded in URLs
@@ -29,6 +30,6 @@ This release would not have looked like this without help, code, reports and
advice from friends like these:

 Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan
 Fandrich, Alexander Lazic
 Fandrich, Alexander Lazic, Mike Jean
 
        Thanks! (and sorry if I forgot to mention someone)
+13 −8
Original line number Diff line number Diff line
@@ -845,8 +845,9 @@ send_buffer *add_buffer_init(void)
static
CURLcode add_buffer_send(send_buffer *in,
                         struct connectdata *conn,
                         long *bytes_written) /* add the number of sent
                         long *bytes_written, /* add the number of sent
                                                 bytes to this counter */
                         int socketindex)
{
  ssize_t amount;
  CURLcode res;
@@ -854,7 +855,11 @@ CURLcode add_buffer_send(send_buffer *in,
  size_t size;
  struct HTTP *http = conn->proto.http;
  size_t sendsize;
  curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
  curl_socket_t sockfd;

  curlassert(socketindex <= SECONDARYSOCKET);

  sockfd = conn->sock[socketindex];

  /* The looping below is required since we use non-blocking sockets, but due
     to the circumstances we will just loop and try again and again etc */
@@ -1166,7 +1171,7 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
        if(CURLE_OK == result)
          /* Now send off the request */
          result = add_buffer_send(req_buffer, conn,
                                   &data->info.request_size);
                                   &data->info.request_size, sockindex);
      }
      if(result)
        failf(data, "Failed sending CONNECT to proxy");
@@ -2032,7 +2037,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
          return result;

        result = add_buffer_send(req_buffer, conn,
                                 &data->info.request_size);
                                 &data->info.request_size, FIRSTSOCKET);
        if(result)
          failf(data, "Failed sending POST request");
        else
@@ -2097,7 +2102,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)

      /* fire away the whole request to the server */
      result = add_buffer_send(req_buffer, conn,
                               &data->info.request_size);
                               &data->info.request_size, FIRSTSOCKET);
      if(result)
        failf(data, "Failed sending POST request");
      else
@@ -2141,7 +2146,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)

      /* this sends the buffer and frees all the buffer resources */
      result = add_buffer_send(req_buffer, conn,
                               &data->info.request_size);
                               &data->info.request_size, FIRSTSOCKET);
      if(result)
        failf(data, "Failed sending PUT request");
      else
@@ -2263,7 +2268,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
      }
      /* issue the request */
      result = add_buffer_send(req_buffer, conn,
                               &data->info.request_size);
                               &data->info.request_size, FIRSTSOCKET);

      if(result)
        failf(data, "Failed sending HTTP POST request");
@@ -2280,7 +2285,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)

      /* issue the request */
      result = add_buffer_send(req_buffer, conn,
                               &data->info.request_size);
                               &data->info.request_size, FIRSTSOCKET);

      if(result)
        failf(data, "Failed sending HTTP request");