[前][次][番号順一覧][スレッド一覧]

ruby-changes:70826

From: Jeremy <ko1@a...>
Date: Wed, 12 Jan 2022 10:50:23 +0900 (JST)
Subject: [ruby-changes:70826] d494a16ac5 (master): [ruby/resolv] Support more characters in link local addresses

https://git.ruby-lang.org/ruby.git/commit/?id=d494a16ac5

From d494a16ac5d39544b1a5b317414f27f90678a3a5 Mon Sep 17 00:00:00 2001
From: Jeremy Evans <code@j...>
Date: Sat, 9 Jan 2021 12:14:23 -0800
Subject: [ruby/resolv] Support more characters in link local addresses

Implements [Feature #17524]

https://github.com/ruby/resolv/commit/993a1a374f
---
 lib/resolv.rb            | 4 ++--
 test/resolv/test_addr.rb | 4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/resolv.rb b/lib/resolv.rb
index b69c7045ca9..61c9c7d5cf1 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -2464,7 +2464,7 @@ class Resolv https://github.com/ruby/ruby/blob/trunk/lib/resolv.rb#L2464
     Regex_8HexLinkLocal = /\A
       [Ff][Ee]80
       (?::[0-9A-Fa-f]{1,4}){7}
-      %[0-9A-Za-z]+
+      %[-0-9A-Za-z._~]+
       \z/x
 
     ##
@@ -2478,7 +2478,7 @@ class Resolv https://github.com/ruby/ruby/blob/trunk/lib/resolv.rb#L2478
         |
         :((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)
       )?
-      :[0-9A-Fa-f]{1,4}%[0-9A-Za-z.]+
+      :[0-9A-Fa-f]{1,4}%[-0-9A-Za-z._~]+
       \z/x
 
     ##
diff --git a/test/resolv/test_addr.rb b/test/resolv/test_addr.rb
index 62092676bae..f701c31d3e5 100644
--- a/test/resolv/test_addr.rb
+++ b/test/resolv/test_addr.rb
@@ -28,6 +28,10 @@ class TestResolvAddr < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/resolv/test_addr.rb#L28
     assert_match(Resolv::IPv6::Regex, "FE80:2:3:4:5:6:7:8%EM1", bug17112)
     assert_match(Resolv::IPv6::Regex, "FE80::20D:3AFF:FE7D:9760%ETH0", bug17112)
     assert_match(Resolv::IPv6::Regex, "FE80::1%EM1", bug17112)
+
+    bug17524 = "[ruby-core:101992]"
+    assert_match(Resolv::IPv6::Regex, "FE80::20D:3AFF:FE7D:9760%ruby_3.0.0-1", bug17524)
+    assert_match(Resolv::IPv6::Regex, "fe80::1%ruby_3.0.0-1", bug17524)
   end
 
   def test_valid_socket_ip_address_list
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]