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

Fixed FTP_SKIP_PASV_IP and FTP_USE_EPSV to "do right" when used on FTP thru

HTTP proxy.
parent 31c7aa0b
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -7,9 +7,13 @@
                                  Changelog

Daniel (12 January 2006)
- Michael Jahn fixed PROXYTUNNEL to work fine when you do ftp through a proxy.
  It would previously overwrite internal memory and cause unpredicted
  behaviour!
- Michael Jahn:

  Fixed FTP_SKIP_PASV_IP and FTP_USE_EPSV to "do right" when used on FTP thru
  HTTP proxy.

  Fixed PROXYTUNNEL to work fine when you do ftp through a proxy.  It would
  previously overwrite internal memory and cause unpredicted behaviour!

Daniel (11 January 2006)
- I decided to document the "secret option" here now, as I've received *NO*
+3 −0
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_SKIP_PASV_IP and FTP_USE_EPSV when doing FTP over HTTP proxy
 o Doing a second request with FTP on the same bath path, would make libcurl
   confuse what current working directory it had
 o FTP over HTTP proxy now sends the second CONNECT properly
@@ -28,6 +29,8 @@ Other curl-related news since the previous public release:
 o http://curl.hkmirror.org/ is a new curl web mirror in Hong Kong
 o http://curl.storemypix.com/ is a new curl web mirror in Germany
 o http://curl.s-lines.net/ is a new curl web mirror in Japan
 o TclCurl 0.15.1 was released:
   http://personal1.iddeo.es/andresgarci/tclcurl/english/

This release would not have looked like this without help, code, reports and
advice from friends like these:
+13 −3
Original line number Diff line number Diff line
@@ -1543,6 +1543,11 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
        if(ptr) {
          newport = num;

          if (conn->bits.tunnel_proxy)
            /* proxy tunnel -> use other host info because ip_addr_str is the
               proxy address not the ftp host */
            snprintf(newhost, sizeof(newhost), "%s", conn->host.name);
          else
            /* use the same IP we are already connected to */
            snprintf(newhost, NEWHOST_BUFSIZE, "%s", conn->ip_addr_str);
        }
@@ -1590,6 +1595,11 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
      infof(data, "Skips %d.%d.%d.%d for data connection, uses %s instead\n",
            ip[0], ip[1], ip[2], ip[3],
            conn->ip_addr_str);
      if (conn->bits.tunnel_proxy)
        /* proxy tunnel -> use other host info because ip_addr_str is the
           proxy address not the ftp host */
        snprintf(newhost, sizeof(newhost), "%s", conn->host.name);
      else
        snprintf(newhost, sizeof(newhost), "%s", conn->ip_addr_str);
    }
    else