cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: FTP third party transfer (proxy) support.

From: Daniel Stenberg <daniel-curl_at_haxx.se>
Date: Tue, 18 May 2004 15:08:04 +0200 (CEST)

On Tue, 18 May 2004, Alexander Krasnostavsky wrote:

> I am going to add FTP proxy support to curl-7.11.2 code

Please consider basing any changes on a more recent CVS version. We have done
quite big internal changes since 7.11.2 so it might take some work to merge
changes done to 7.11.2 into the current 7.12 tree.

> and would like to see your comments for the following issues:
>
> * url: ftp://user:password@host/path#user:password@host/path
>
> Source#Target

I don't understand this. The CURLOPT_URL should be the source file to transfer
I take it, but then you need pretty much a whole second URL for the target,
won't you?

> * New options for FTP interface: CURLOPT_PROXYPREQUOTE,
> CURLOPT_PROXYPOSTQUOTE, CURLOPT_FTPPROXYPORT, CURLOPT_FTPPROXYLISTONLY
> * CURLOPT_PROXY, CURLOPT_PROXYUSERPWD should be used for FTP too.

Are you going to address "3rd party transfers" as well as ftp-proxying at the
same time? What are the objectives for CURLOPT_PROXYPREQUOTE,
CURLOPT_PROXYPOSTQUOTE and CURLOPT_FTPPROXYLISTONLY?

> * Is there a way to work with OpenSSL mode between remote hosts?

I haven't read up on 3rd party transfers and how they are setup and work, so I
really can't tell right now.

> * Please advice which structures should be changed to keep
> additional data.

For data unique to the ftp connection, there's a 'struct FTP' you could
extend.

> * Please advice which functions should be changed. Curl_perform() should be
> able to connect also to proxy host. Transfer() should not be called in proxy
> mode because the transfer done between the remote hosts without client
> intervention.

It'll be similar to how it behaves when asking for NOBODY today, as then it'll
skip the transfer. It is controlled by using the correct arguments in the call
to Curl_Transfer() which sets up variables before the Curl_perform() is
called.

> Currently, after direct changing of libcurl code, I succeeded to transfer
> file between two remote hosts using commands flow according to RFC 959.

Nice!

-- 
     Daniel Stenberg -- http://curl.haxx.se -- http://daniel.haxx.se
      Dedicated custom curl help for hire: http://haxx.se/curl.html
Received on 2004-05-18