diff options
-rw-r--r-- | lib/cgi.rb | 2 | ||||
-rw-r--r-- | lib/cgi/cookie.rb | 2 | ||||
-rw-r--r-- | test/cgi/test_cgi_cookie.rb | 11 | ||||
-rw-r--r-- | version.h | 8 |
4 files changed, 13 insertions, 10 deletions
diff --git a/lib/cgi.rb b/lib/cgi.rb index dda5eb1712..4cd6b3bd8e 100644 --- a/lib/cgi.rb +++ b/lib/cgi.rb @@ -288,7 +288,7 @@ # class CGI - VERSION = "0.3.5" + VERSION = "0.3.6" end require 'cgi/core' diff --git a/lib/cgi/cookie.rb b/lib/cgi/cookie.rb index 1a9c1a82c1..9498e2f9fa 100644 --- a/lib/cgi/cookie.rb +++ b/lib/cgi/cookie.rb @@ -42,7 +42,7 @@ class CGI TOKEN_RE = %r"\A[[!-~]&&[^()<>@,;:\\\"/?=\[\]{}]]+\z" PATH_VALUE_RE = %r"\A[[ -~]&&[^;]]*\z" - DOMAIN_VALUE_RE = %r"\A(?<label>(?!-)[-A-Za-z0-9]+(?<!-))(?:\.\g<label>)*\z" + DOMAIN_VALUE_RE = %r"\A\.?(?<label>(?!-)[-A-Za-z0-9]+(?<!-))(?:\.\g<label>)*\z" # Create a new CGI::Cookie object. # diff --git a/test/cgi/test_cgi_cookie.rb b/test/cgi/test_cgi_cookie.rb index e3ec4bea52..eadae45313 100644 --- a/test/cgi/test_cgi_cookie.rb +++ b/test/cgi/test_cgi_cookie.rb @@ -62,18 +62,21 @@ class CGICookieTest < Test::Unit::TestCase def test_cgi_cookie_new_with_domain h = {'name'=>'name1', 'value'=>'value1'} - cookie = CGI::Cookie.new('domain'=>'a.example.com', **h) + cookie = CGI::Cookie.new(h.merge('domain'=>'a.example.com')) assert_equal('a.example.com', cookie.domain) - cookie = CGI::Cookie.new('domain'=>'1.example.com', **h) + cookie = CGI::Cookie.new(h.merge('domain'=>'.example.com')) + assert_equal('.example.com', cookie.domain) + + cookie = CGI::Cookie.new(h.merge('domain'=>'1.example.com')) assert_equal('1.example.com', cookie.domain, 'enhanced by RFC 1123') assert_raise(ArgumentError) { - CGI::Cookie.new('domain'=>'-a.example.com', **h) + CGI::Cookie.new(h.merge('domain'=>'-a.example.com')) } assert_raise(ArgumentError) { - CGI::Cookie.new('domain'=>'a-.example.com', **h) + CGI::Cookie.new(h.merge('domain'=>'a-.example.com')) } end @@ -11,11 +11,11 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 4 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 188 +#define RUBY_PATCHLEVEL 189 -#define RUBY_RELEASE_YEAR 2022 -#define RUBY_RELEASE_MONTH 12 -#define RUBY_RELEASE_DAY 17 +#define RUBY_RELEASE_YEAR 2023 +#define RUBY_RELEASE_MONTH 2 +#define RUBY_RELEASE_DAY 23 #include "ruby/version.h" |