Commit 667fd9a6 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Song Ma helped me verify and extend a fix for doing FTP over a SOCKS4/5 proxy

parent 892a24f4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -6,6 +6,10 @@

                                  Changelog

Daniel S (1 July 2007)
- Song Ma helped me verify and extend a fix for doing FTP over a SOCKS4/5
  proxy.

Daniel S (27 June 2007)
- James Housley: Add two new options for the SFTP/SCP/FILE protocols:
  CURLOPT_NEW_FILE_PERMS and CURLOPT_NEW_DIRECTORY_PERMS. These control the
+2 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ This release includes the following bugfixes:
 o adjusted how libcurl treats HTTP 1.1 responses without content-lenth or
   chunked encoding
 o fixed the 10-at-a-time.c example
 o FTP over SOCKS proxy

This release includes the following known bugs:

@@ -35,6 +36,6 @@ New curl mirrors:
This release would not have looked like this without help, code, reports and
advice from friends like these:

 Robert Iakobashvili, James Housley, Günter Knauf, James Bursa
 Robert Iakobashvili, James Housley, Günter Knauf, James Bursa, Song Ma

        Thanks! (and sorry if I forgot to mention someone)
+6 −2
Original line number Diff line number Diff line
@@ -1610,7 +1610,9 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
        if(ptr) {
          newport = (unsigned short)(num & 0xffff);

          if (conn->bits.tunnel_proxy)
          if (conn->bits.tunnel_proxy ||
              data->set.proxytype == CURLPROXY_SOCKS5 ||
              data->set.proxytype == CURLPROXY_SOCKS4)
            /* 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);
@@ -1662,7 +1664,9 @@ 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)
      if (conn->bits.tunnel_proxy ||
          data->set.proxytype == CURLPROXY_SOCKS5 ||
          data->set.proxytype == CURLPROXY_SOCKS4)
        /* 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);