Issue #10402 has been updated by Yui NARUSE.

Status changed from Assigned to Closed
% Done changed from 0 to 100

Applied in changeset r48244.

----------
* lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI):
  allow '[' and ']' for URI input (and escape). [Bug #10402]

* lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'.

----------------------------------------
Bug #10402: URI regression in 2.2.0-preview1 (bad URI(is not URI?): URI::InvalidURIError)
https://bugs.ruby-lang.org/issues/10402#change-49779

* Author: Juanito Fatas
* Status: Closed
* Priority: Normal
* Assignee: Yui NARUSE
* Category: lib
* Target version: current: 2.2.0
* ruby -v: ruby 2.2.0preview1 (2014-09-17 trunk 47616) [x86_64-darwin13]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
~~~
$ ruby -v -ruri -e "URI 'http://example.com/?a[]=b&a[]=c'"
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
~~~

~~~
$ ruby -v -ruri -e "URI 'http://example.com/?a[]=b&a[]=c'"
ruby 2.2.0preview1 (2014-09-17 trunk 47616) [x86_64-darwin13]
/Users/Juan/.rubies/ruby-2.2.0-preview1/lib/ruby/2.2.0/uri/rfc3986_parser.rb:47:in `split': bad URI(is not URI?): http://example.com/?a[]=b&a[]=c (URI::InvalidURIError)
	from /Users/Juan/.rubies/ruby-2.2.0-preview1/lib/ruby/2.2.0/uri/rfc3986_parser.rb:53:in `parse'
	from /Users/Juan/.rubies/ruby-2.2.0-preview1/lib/ruby/2.2.0/uri/common.rb:226:in `parse'
	from /Users/Juan/.rubies/ruby-2.2.0-preview1/lib/ruby/2.2.0/uri/common.rb:713:in `URI'
	from -e:1:in `<main>'
~~~

Found in [tarcieri/http gem's test](https://travis-ci.org/tarcieri/http/jobs/36837944).



-- 
https://bugs.ruby-lang.org/