Cyberduck Mountain Duck CLI

#10542 closed enhancement (fixed)

Make Host Parsing RFC3986 compliant

Reported by: jmalek Owned by: jmalek
Priority: normal Milestone: 6.9.3
Component: core Version: 6.8.3
Severity: normal Keywords:
Cc: Architecture:

Description (last modified by jmalek)

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@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. Additionally scheme://user@path is parsed as scheme:user@/path.

Change History (4)

comment:1 Changed on Jan 11, 2019 at 9:43:53 AM by jmalek

  • Description modified (diff)
  • Version set to 6.8.3

comment:2 Changed on Jan 13, 2019 at 8:56:01 PM by dkocher

  • Type changed from defect to enhancement

comment:3 Changed on Jan 15, 2019 at 9:26:03 AM by jmalek

  • Description modified (diff)

comment:4 Changed on Feb 15, 2019 at 3:32:42 PM by dkocher

  • Milestone changed from 7.0 to 6.9.3
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.