Article delegate-en <_A4890@delegate-en.ML_>
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[delegate-en/4890] [Reference:]  
Re: EPSV support in DeleGate
Tue, 24 Aug 2010     James

Thanks Yutaka,

I also noticed in the log of this post when you ftp to microsoft
delegate logs an EPSV command
https://www.delegate.org/mail-lists/delegate-en/4480?Refresh

Is the EPSV command from the client to Delegate and then DeleGate
passes the EPSV
to the origin server ?  If I have an EPSV capable client will the EPSV
request be passed to delegate and
then to the origin server ?

Thanks again for your help.


On 24 August 2010 00:40, Yutaka Sato wrote:
> Hi,
>
> In message on 08/23/10(20:15:46)
> you James wrote:
>  |I have an issue with the following setup
>  |
>  |client -> ftp -> DeleGate -> ftps -> Origin Server
>  |
>  |The Origin Server is behind a NAT router and the server does support
>  |EPSV.however Delegate doesn't seem to negotiate it.
>  |The PASV negotaition results in Delegate trying to connect to the
>  |RFC1918 address of the server rather
>  |than the public ip address.  Is there anyway to force Delegate to
>  |negotiate EPSV ?
>  |
>  |I noticed the doepsv option  to FTPCONF but I am not entirely sure how
>  |it works ?  Is it designed for this scenario ?
>
> It will be realized with the enclosed patch enabled with an option:
>
>  FTPCONF=doepsv:sv
>
> Cheers,
> Yutaka
> --
>  9 9   Yutaka Sato http://delegate.org/y.sato/
>  ( ~ )  National Institute of Advanced Industrial Science and Technology
> _<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
> Do the more with the less -- B. Fuller
>
> *** dist/src/delegate9.9.8-pre12/src/ftp.c      Sun Jun 13 21:03:52 2010
> --- ./src/ftp.c Mon Aug 23 23:33:03 2010
> ***************
> *** 72,77 ****
> --- 72,78 ----
>        int     fc_noxdcSV;     /* don't use XDC with server */
>        int     fc_noxdcCL;
>        int     fc_doepsvCL;
> +       int     fc_doepsvSV;    /* do EPSV with server */
>        int     fc_noepsvCL;
>        int     fc_nopasvSV;    /* don't use PASV with server */
>        int     fc_nopasvCL;
> ***************
> *** 391,396 ****
> --- 392,398 ----
>        }else
>        if( strcaseeq(what,"DOEPSV") ){
>                if( *val == 0 || strcaseeq(val,"cl") ) FCF.fc_doepsvCL = 1;
> +               if( *val == 0 || strcaseeq(val,"sv") ) FCF.fc_doepsvSV = 1;
>        }else
>        if( strcaseeq(what,"NOEPSV") ){
>                if( *val == 0 || strcaseeq(val,"cl") ) FCF.fc_noepsvCL = 1;
> ***************
> *** 3645,3650 ****
> --- 3647,3655 ----
>        int psock;
>        int timeout,stimeout;
>
> +       if( FCF.fc_doepsvSV ){
> +               put_serv(0,ts,"EPSV\r\n");
> +       }else
>        if( sock_isv6(ServSock(Conn,ts,"mkPASV")) ){
>                put_serv(0,ts,"EPSV\r\n");
>        }else
>



-- 
jac
  search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V