Actions
Bug #10619
closedURI::HTTP#query= behavior changed for 2396 uris
Description
Hi,
r48244 changed the behavior of the query method on uri objects generated by the 2396 parser. Here is a test to demonstrate the change:
require 'test/unit'
require 'uri'
module URI
class TestRFC2396 < Test::Unit::TestCase
def test_query_on_parse
parser = URI::RFC2396_Parser.new
uri = parser.parse "http://www.example.com/parse?location[]=1"
assert_equal 'location[]=1', uri.query
end
end
end
This test passed before r48244. I've attached a patch that fixes it and maintains the fix for Bug #10402
Files
Updated by naruse (Yui NARUSE) over 10 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r48934.
- lib/uri/generic.rb (URI::Generic#query=): don't escape []^
on both rfc2396 and rfc3986. [Bug #10619]
Updated by nagachika (Tomoyuki Chikanaga) over 10 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED
Updated by naruse (Yui NARUSE) over 10 years ago
- Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
ruby_2_2 r48950 merged revision(s) 48934.
Updated by jimpo (Jim Posen) almost 10 years ago
In r48934, why were both the RFC 2396 and RFC 3986 parsers changed to allow unescaped square brackets? The RFC 3986 spec does not allow square brackets. In @tenderlove's attached patch, [ and ] are still escaped when the RFC 3986 parser is used.
Also, the RFC 3986 parser accepts URIs with a % that is not followed by hex digits, which should be forbidden.
Updated by naruse (Yui NARUSE) about 9 years ago
- Related to Bug #12235: URI.encode issue with square brackets added
Actions
Like0
Like0Like0Like0Like0Like0