Skip to content

Commit 02c341c

Browse files
committed
When parsing cookies, only decode the values
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent 1fbf663 commit 02c341c

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

lib/cgi/cookie.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ def self.parse(raw_cookie)
165165
raw_cookie.split(/;\s?/).each do |pairs|
166166
name, values = pairs.split('=',2)
167167
next unless name and values
168-
name = CGI.unescape(name)
169168
values ||= ""
170169
values = values.split('&').collect{|v| CGI.unescape(v,@@accept_charset) }
171170
if cookies.has_key?(name)

test/cgi/test_cgi_cookie.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,11 @@ def test_cgi_cookie_parse
101101
end
102102
end
103103

104+
def test_cgi_cookie_parse_not_decode_name
105+
cookie_str = "%66oo=baz;foo=bar"
106+
cookies = CGI::Cookie.parse(cookie_str)
107+
assert_equal({"%66oo" => ["baz"], "foo" => ["bar"]}, cookies)
108+
end
104109

105110
def test_cgi_cookie_arrayinterface
106111
cookie = CGI::Cookie.new('name1', 'a', 'b', 'c')

version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#define RUBY_VERSION "2.6.9"
22
#define RUBY_RELEASE_DATE "2021-11-24"
3-
#define RUBY_PATCHLEVEL 206
3+
#define RUBY_PATCHLEVEL 207
44

55
#define RUBY_RELEASE_YEAR 2021
66
#define RUBY_RELEASE_MONTH 11

0 commit comments

Comments
 (0)