Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Host Parsing RFC3986 compliant #10542

Closed
cyberduck opened this issue Nov 20, 2018 · 0 comments
Closed

Make Host Parsing RFC3986 compliant #10542

cyberduck opened this issue Nov 20, 2018 · 0 comments

Comments

@cyberduck
Copy link
Collaborator

@cyberduck cyberduck commented Nov 20, 2018

@AliveDevil created the issue

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.

@cyberduck cyberduck closed this Feb 15, 2019
@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants