aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/resolv.rb4
-rw-r--r--test/resolv/test_addr.rb3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb
index dd0a9590c8..3ca0f01cfe 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -2462,7 +2462,7 @@ class Resolv
##
# IPv6 link local address format fe80:b:c:d:e:f:g:h%em1
Regex_8HexLinkLocal = /\A
- fe80
+ [Ff][Ee]80
(?::[0-9A-Fa-f]{1,4}){7}
%[0-9A-Za-z]+
\z/x
@@ -2471,7 +2471,7 @@ class Resolv
# Compressed IPv6 link local address format fe80::b%em1
Regex_CompressedHexLinkLocal = /\A
- fe80:
+ [Ff][Ee]80:
(?:
((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?) ::
((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)
diff --git a/test/resolv/test_addr.rb b/test/resolv/test_addr.rb
index e72d4ee013..62092676ba 100644
--- a/test/resolv/test_addr.rb
+++ b/test/resolv/test_addr.rb
@@ -25,6 +25,9 @@ class TestResolvAddr < Test::Unit::TestCase
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)
+ 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)
end
def test_valid_socket_ip_address_list