From: hsbt@... Date: 2017-05-16T01:22:39+00:00 Subject: [ruby-core:81184] [Ruby trunk Bug#6696] [PATCH] ERB::Util.url_encode should not escape unreserved characters 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: