IETF-SSH archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RE: I-D ACTION:draft-ietf-secsh-scp-sftp-ssh-uri-00.txt



Comments inline

> -----Original Message-----
> From: ietf-ssh-owner%NetBSD.org@localhost 
> [mailto:ietf-ssh-owner%NetBSD.org@localhost] On Behalf Of Darren J Moffat
> Sent: Wednesday, August 13, 2003 5:08 PM
> To: ietf-ssh%NetBSD.org@localhost
> Subject: Re: I-D ACTION:draft-ietf-secsh-scp-sftp-ssh-uri-00.txt
> 
> 
> On Thu, 14 Aug 2003, Simon Tatham wrote:
> 
> > (Unless you're mandating that the _server_ in the 'c:/' 
> case must be 
> > capable of throwing away a leading slash? But that seems like a 
> > requirement on server behaviour as well as URI format, 
> which is fairly 
> > serious remit creep...)
> 
> Keeping in mind that scp is really just the rcp protocol over 
> the SSH transport.  Since rcp is a historically a UNIX 
> protocol it doesn't (at least to me, but probably not to 
> everyone) seem unreasonable that a server providing access 
> via rcp should do the work of mapping UNIX style names to its 
> style.  Isn't that the case with '/' vs '\' on Windows anyway ?
> 

[Joe] URI syntax dictates the leading '/' and the use of '/' as a
separator in a hierarcical namespace. 

> How would one specify an scp URI that was accessing a 
> resource mounted from a remote Windows filesystem (IIRC 
> double slashes are required).
> 

[Joe] Okay, my brain hurts.

Scp://hostname/\\remotehostname\directory\file

> Bill Sommerfeld wrote:
> 
> > An alternative (which would confuse a different set of 
> people) would 
> > be to always eat the / after then hostname-part of the URL, so for 
> > unix systems, you'd see URL's like:
> 
> > scp://user@hostname/.login    (referring to the .login in 
> your home directory)
> > scp://user@hostname//etc/passwd
> 
> Given the user@ part that actually seems reasonable, and it 
> makes it similar to the following cli syntax for scp(1):
> 
> 	$ scp user@hostname:.login
> 	$ scp user@hostname:/etc/passwd
> 
> The double // requirement could be confusing in a case where 
> "userinfo@" isn't specified. For example:
> 
[Joe] The "//" is part of URL syntax and is required if we are using
hierarcical naming


>  scp://hostname/etc/passwd or scp://hostname//etc/passwd
> 
> Based on the behaviour of http I would personally have 
> expected these to be equivalent, however they wouldn't 
> necessarily be.  What is the username on the remote host when 
> "userinfo@" isn't specified (which is where the home 
> directory is inferred from).
> 
[Joe] There is madness in the method 

In general scp://hostname/etc/passwd means

cd etc (not /etc) 
get the file passwd

(this would probably get you the passwd file under the etc directory in
your home directory)

Scp://hostname//etc/passwd means 

cd 
cd etc 
Get the file passwd

(this would probably get you the passwd file under the etc directory in
your home directory)

Scp://hostname/%2Fetc/passwd means

cd /etc
Get the file passwd
(this would get you the file /etc/passwd, note that the '/' must be
escaped as %2F since it is a reserved character in hierarchical URLs)

This is detailed in
http://www.ietf.org/internet-drafts/draft-hoffkohn-rfc1738bis-00.txt
section 2.2.2.  I expect we need a similar description for SCP and SFTP.



> -- 
> Darren J Moffat
> 




Home | Main Index | Thread Index | Old Index