summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-27 17:21:43 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-02-27 17:21:43 +0000
commit02dcfb7873ba818f1e51de2e30708ae6dba90024 (patch)
tree2155ab88953d0a46e299a0b886b5a25565e6ca84
parent13112e53367035c28600baf4ac416cadb5e60759 (diff)
downloadruby-02dcfb7873ba818f1e51de2e30708ae6dba90024.tar.gz
merge revision(s) r49071,r49072,r49073,r49078: [Backport #10550]
* lib/resolv.rb (Resolv::DNS::Name): names with different dots should be different. * lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the comparison should be case-insensitive as well. [ruby-core:66498] [Bug #10550] * lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str objects. Label#Str#== is case-insensitive. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog16
-rw-r--r--lib/resolv.rb3
-rw-r--r--test/resolv/test_dns.rb13
-rw-r--r--version.h6
4 files changed, 34 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e7eb3ab77..f9c6239e69 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+Sat Feb 28 02:13:17 2015 Tanaka Akira <akr@fsij.org>
+
+ * lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str
+ objects. Label#Str#== is case-insensitive.
+
+Sat Feb 28 02:13:17 2015 Ben Miller <bmiller@rackspace.com>
+
+ * lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the
+ comparison should be case-insensitive as well.
+ [ruby-core:66498] [Bug #10550]
+
+Sat Feb 28 02:13:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/resolv.rb (Resolv::DNS::Name): names with different dots
+ should be different.
+
Thu Feb 19 19:14:34 2015 NARUSE, Yui <naruse@ruby-lang.org>
* lib/net/http/response.rb (Net::HTTPResponse): require one or more
diff --git a/lib/resolv.rb b/lib/resolv.rb
index 1d2c3f7899..55aa9638ba 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -1240,7 +1240,8 @@ class Resolv
def ==(other) # :nodoc:
return false unless Name === other
- return @labels.join == other.to_a.join && @absolute == other.absolute?
+ return false unless @absolute == other.absolute?
+ return @labels == other.to_a
end
alias eql? == # :nodoc:
diff --git a/test/resolv/test_dns.rb b/test/resolv/test_dns.rb
index 4d83d88a17..e91d127f35 100644
--- a/test/resolv/test_dns.rb
+++ b/test/resolv/test_dns.rb
@@ -175,4 +175,17 @@ class TestResolvDNS < Test::Unit::TestCase
end
end
end
+
+ def test_dots_diffences
+ name1 = Resolv::DNS::Name.create("example.org")
+ name2 = Resolv::DNS::Name.create("ex.ampl.eo.rg")
+ assert_not_equal(name1, name2, "different dots")
+ end
+
+ def test_case_insensitive_name
+ bug10550 = '[ruby-core:66498] [Bug #10550]'
+ lower = Resolv::DNS::Name.create("ruby-lang.org")
+ upper = Resolv::DNS::Name.create("Ruby-Lang.org")
+ assert_equal(lower, upper, bug10550)
+ end
end
diff --git a/version.h b/version.h
index 693da97b14..507800ef72 100644
--- a/version.h
+++ b/version.h
@@ -1,10 +1,10 @@
#define RUBY_VERSION "2.1.5"
-#define RUBY_RELEASE_DATE "2015-02-19"
-#define RUBY_PATCHLEVEL 299
+#define RUBY_RELEASE_DATE "2015-02-28"
+#define RUBY_PATCHLEVEL 300
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 2
-#define RUBY_RELEASE_DAY 19
+#define RUBY_RELEASE_DAY 28
#include "ruby/version.h"