Issue #6696 has been updated by hsbt (Hiroshi SHIBATA).

Assignee changed from seki (Masatoshi Seki) to k0kubun (Takashi Kokubun)

----------------------------------------
Bug #6696: [PATCH] ERB::Util.url_encode should not escape unreserved characters
https://bugs.ruby-lang.org/issues/6696#change-64837

* Author: madeofcode (Mark Dodwell)
* Status: Assigned
* Priority: Normal
* Assignee: k0kubun (Takashi Kokubun)
* Target version: next minor
* ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.2]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
ERB::Util.url_encode is escaping tilde (~) where it should not according to the RFC.

This fixes that behaviour so that it now correctly avoids escaping all unreserved characters as per RFC 3986, Section 2.3:
http://tools.ietf.org/html/rfc3986#section-2.3

Fwiw., this is also how the Perl implementation works:
http://search.cpan.org/dist/URI/URI/Escape.pm#DESCRIPTION

I opened this issue originally on Github, but I think it warrants further discussion, so re-opening here.

---Files--------------------------------
erb_util_url_encode_rfc_fix.patch (1.46 KB)


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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>