[Cyberduck-trac] [Cyberduck] #10542: Make Host Parsing RFC3986 compliant

Cyberduck trac at cyberduck.io
Fri Jan 11 09:43:54 UTC 2019


#10542: Make Host Parsing RFC3986 compliant
--------------------+-----------------------
 Reporter:  jmalek  |         Owner:  jmalek
     Type:  defect  |        Status:  new
 Priority:  normal  |     Milestone:  7.0
Component:  core    |       Version:  6.8.3
 Severity:  normal  |    Resolution:
 Keywords:          |  Architecture:
 Platform:          |
--------------------+-----------------------
Changes (by jmalek):

 * version:   => 6.8.3


Old description:

> Host Parsing in Cyberduck is currently not compliant to RFC3986.
>
> This affects Cyberduck CLI most as URL handling is not consistent here
> and often violates the standard.
>
> Things that have been discussed:
>
> * Profiles with no default hostname must use `scheme://host` for URL
> * Profiles with default hostname may use `scheme://host` for URL, but are
> allowed to use `scheme:/path` (absolute path) or `scheme:path` (relative
> path to default path (if existent)) for URL
> * URL may include user information even if URI is path absolute or path
> relative (`scheme:user at path` `scheme:/user at path`)
> * Omitting third slash in `scheme://host` always uses default path (if
> existent) otherwise fails (`scheme://host/` should be used if no default
> path exists)
> * Special case is profile with no configurable (but default) hostname, no
> (but default) path where URL may look like `scheme:`.
>
> For handling backwards compatibility if a protocol is not host
> configurable but has a default hostname and user tries to enter
> `scheme://path` this will not throw an error but handle this URL as
> `scheme:/path`.

New description:

 Host Parsing in Cyberduck is currently not compliant to RFC3986.

 This affects Cyberduck CLI most as URL handling is not consistent here and
 often violates the standard.

 Things that have been discussed:

 * Profiles with no default hostname must use `scheme://host` for URL
 * Profiles with default hostname may use `scheme://host` for URL, but are
 allowed to use `scheme:/path` (absolute path) or `scheme:path` (relative
 path to default path (if existent)) for URL
 * URL may include user information even if URI is path relative
 (`scheme:user at path`)
 * Omitting third slash in `scheme://host` always uses default path (if
 existent) otherwise fails (`scheme://host/` should be used if no default
 path exists)
 * Special case is profile with no configurable (but default) hostname, no
 (but default) path where URL may look like `scheme:`.

 For handling backwards compatibility if a protocol is not host
 configurable but has a default hostname and user tries to enter
 `scheme://path` this will not throw an error but handle this URL as
 `scheme:/path`.

--

--
Ticket URL: <https://trac.cyberduck.io/ticket/10542#comment:1>
Cyberduck <https://cyberduck.io>
Libre FTP, SFTP, WebDAV, S3 & OpenStack Swift browser for Mac and Windows


More information about the Cyberduck-trac mailing list