From: knu@...
Date: 2017-12-12T05:46:58+00:00
Subject: [ruby-core:84179] [Ruby trunk Bug#8352] URI squeezes a sequence of slashes in merging paths when it shouldn't
Issue #8352 has been updated by knu (Akinori MUSHA).
File 0001-Allow-empty-path-components-in-a-URI-Bug-8352.patch added
Assignee changed from akira (akira yamada) to naruse (Yui NARUSE)
Naruse-san, could you review the attached patch?
----------------------------------------
Bug #8352: URI squeezes a sequence of slashes in merging paths when it shouldn't
https://bugs.ruby-lang.org/issues/8352#change-68288
* Author: knu (Akinori MUSHA)
* Status: Open
* Priority: Normal
* Assignee: naruse (Yui NARUSE)
* Target version:
* ruby -v: ruby 2.1.0dev (2013-05-01 trunk 40540) [x86_64-freebsd9]
* Backport:
----------------------------------------
RFC 2396 (on which the library currently is based) or RFC 3986 says nothing about a sequence of slashes in the path part except for parsing rules when a URI (path) starts with two slashes.
It should be perfectly valid to have a slash right after another, and there is no reason to "normalize" a sequence of slashes into a single slash, which uri actually does in merging paths:
~~~
URI.parse('http://example.com/foo//bar/')+'.'
=> #
~~~
Fixing this may be as easy as changing the regexp in URI::Generic#split_path from %r{/+} to %r{/}, but I wonder how the impact of incompatibility it may introduce would be.
---Files--------------------------------
0001-Allow-empty-path-components-in-a-URI-Bug-8352.patch (2.3 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: