Bugs item #2055, was opened at 2005-06-24 18:03
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=2055&group_id=426

Category: Standard Library
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: mathew ! (meta)
Assigned to: Nobody (None)
Summary: URI::FTP handles path incorrectly as per RFC 1738

Initial Comment:
RFC 1738 specifically states that the path for an FTP URI does not include the / which separates the URI path from the URI host. Example:

    ftp://ftp.example.com/pub/ruby

The above URI indicates that the client should connect to ftp.example.com then cd pub/ruby from the initial login directory, *not* cd /pub/ruby.

Similarly, for an absolute FTP path such as cd /foo/bar, the leading / must be escaped as %2F.

In other words, FTP URIs are interpreted differently from generic URIs (RFC2396). Currently the standard library treats them the same as generic URIs, so the path returned from parsing an FTP URI is wrong, and valid paths passed to build() result in errors.

I've fixed the standard library code to adhere to RFC1738 for FTP URIs, and also improved the documentation. I can provide diffs from the CVS sources, and I'll upload the fixed lib/uri/ftp.rb.

I've got extra documentation for the rest of the URI library too, but I'm not sure where to upload it to?

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=2055&group_id=426