Commit 605bbfc4 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Ingmar Runge enhanced libcurl's FTP engine to support the PRET command. This

  command is a special "hack" used by the drftpd server, but even though it is
  a custom extension I've deemed it fine to add to libcurl since this server
  seems to survive and people keep using it and want libcurl to support
  it. The new libcurl option is named CURLOPT_FTP_USE_PRET, and it is also
  usable from the curl tool with --ftp-pret. Using this option on a server
  that doesn't support this command will make libcurl fail.
parent 42d365f1
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -6,6 +6,20 @@

                                  Changelog

Daniel Stenberg (1 Jan 2010)
- Ingmar Runge enhanced libcurl's FTP engine to support the PRET command. This
  command is a special "hack" used by the drftpd server, but even though it is
  a custom extension I've deemed it fine to add to libcurl since this server
  seems to survive and people keep using it and want libcurl to support
  it. The new libcurl option is named CURLOPT_FTP_USE_PRET, and it is also
  usable from the curl tool with --ftp-pret. Using this option on a server
  that doesn't support this command will make libcurl fail.

  I added test cases 1107 and 1108 to verify the functionality.

  The PRET command is documented at
  http://www.drftpd.org/index.php/Distributed_PASV

Yang Tse (30 Dec 2009)
- Steven M. Schweda improved VMS build system, and Craig A. Berry helped
  with the patch and testing.
+4 −3
Original line number Diff line number Diff line
Curl and libcurl 7.20.0

 Public curl releases:         114
 Command line options:         134
 curl_easy_setopt() options:   165
 Command line options:         135
 curl_easy_setopt() options:   166
 Public functions in libcurl:  58
 Known libcurl bindings:       39
 Contributors:                 761
@@ -16,6 +16,7 @@ This release includes the following changes:
 o added support for IMAP, POP3 and SMTP transfers
 o added --mail-from and --mail-rcpt for SMTP
 o VMS build system enhancements
 o added support for the PRET ftp command

This release includes the following bugfixes:

@@ -50,6 +51,6 @@ advice from friends like these:
 Marco Maggi, Camille Moncelier, Claes Jakobsson, Kevin Baughman,
 Marc Kleine-Budde, Jad Chamcham, Bjorn Augustsson, David Byron,
 Markus Koetter, Chad Monroe, Martin Storsjo, Siegfried Gyuricsko,
 Jon Nelson, Julien Chaffraix, Renato Botelho, Peter Pentchev
 Jon Nelson, Julien Chaffraix, Renato Botelho, Peter Pentchev, Ingmar Runge

        Thanks! (and sorry if I forgot to mention someone)
+5 −0
Original line number Diff line number Diff line
@@ -461,6 +461,11 @@ will re-use the same IP address it already uses for the control
connection. (Added in 7.14.2)

This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
.IP "--ftp-pret"
(FTP) Tell curl to send a PRET command before PASV (and EPSV). Certain
FTP servers, mainly drftpd, require this non-standard command for
directory listings as well as up and downloads in PASV mode.
(Added in 7.20.x)
.IP "--ftp-ssl"
(FTP) Try to use SSL/TLS for the FTP connection.  Reverts to a non-secure
connection if the server doesn't support SSL/TLS.  See also
+6 −0
Original line number Diff line number Diff line
@@ -1160,6 +1160,12 @@ means that it will first attempt to use EPSV before using PASV, but if you
pass zero to this option, it will not try using EPSV, only plain PASV.

If the server is an IPv6 host, this option will have no effect as of 7.12.3.
.IP CURLOPT_FTP_USE_PRET
Pass a long. If the value is 1, it tells curl to send a PRET command
before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this
non-standard command for directory listings as well as up and downloads in
PASV mode. Has no effect when using the active FTP transfers mode.
(Added in 7.20.x)
.IP CURLOPT_FTP_CREATE_MISSING_DIRS
Pass a long. If the value is 1, curl will attempt to create any remote
directory that it fails to CWD into. CWD is the command that changes working
+4 −0
Original line number Diff line number Diff line
@@ -70,6 +70,10 @@ either a PASV or a EPSV command. The server is flawed.
.IP "CURLE_FTP_WEIRD_227_FORMAT (14)"
FTP servers return a 227-line as a response to a PASV command. If libcurl
fails to parse that line, this return code is passed back.
.IP "CURLE_FTP_PRET_FAILED (84)"
The FTP server does not understand the PRET command at all or does not
support the given argument. Be careful when using \fICURLOPT_CUSTOMREQUEST\fP,
a custom LIST command will be sent with PRET CMD before PASV as well.
.IP "CURLE_FTP_CANT_GET_HOST (15)"
An internal failure to lookup the host used for the new connection.
.IP "CURLE_FTP_COULDNT_SET_TYPE (17)"
Loading