Article delegate-en/1897 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A1895@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: IIS username with slash / character problem for ftp delegated
19 Sep 2002 07:41:37 GMT feedback@delegate.org (Yutaka Sato)


On 09/19/02(04:37) you David Xu <pm4dqbdyi-4mytk2x5fvzr.ml@ml.delegate.org> wrote
in <_A1895@delegate-en.ML_>
 |Recently I got a FTP proxy problem for IIS username with slash (/).
 |One of our client has MS IIS with ftp server enabled. Their ftp userID is
 |domain ID,thus has this format: xxxx/xxxx.
 |The xxxx before forward slash (/) is their domain, after is username.
 |My Gauntlet proxy works fine with it, but I want to see if delegated works
 |so I will replace it.
 |
 |On my workstation behind proxy, I typed:
 |ftp proxyserver
 |domainxxxx/userxxxx@serverxxxx

Since DeleGate scans a username following the syntax when it appears
in FTP URL, like ftp://user@host/path, "/" has been recognized as the
beginning of "/path" part.
The enclosed patch will let FTP-DeleGate recognize "/" appeared before "@"
in USER command as the part of username.  It will also cope with such
username appeared in URL like "ftp://domain%2Fuser@host/path" when a
HTTP proxy passed the username part as is.

Cheers,
Yutaka
--
  @ @ Yutaka Sato <y.sato@delegate.org> http://www.delegate.org/y.sato/
 ( - ) National Institute of Advanced Industrial Science and Technology (AIST)
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller

*** ../delegate8.0.2/src/ftp.c	Mon Sep 16 07:40:35 2002
--- ftp.c	Thu Sep 19 16:16:09 2002
***************
*** 2102,2110 ****
--- 2102,2112 ----
  				islocal = FS->fs_islocal;
  		}
  		if( strcasecmp(com,"USER") == 0 ){
+ 			url_escapeX(arg,arg,sizeof(arg),"/?",":@");
  			xp = scan_userpassX(arg,&ident);
  			wordScan(ident.i_user,cuser);
  			textScan(ident.i_pass,cpass);
+ 			nonxalpha_unescape(cuser,cuser,1);
  			if( *xp == '@' ){
  				xp++;
  				change_server(Conn,FS,fc,tc,com,xp,cuser,cpass,FS->fs_TYPE);

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