From e6a5f817d613dbd40cf2d19cd0705a1b4c377538 Mon Sep 17 00:00:00 2001 From: usa Date: Wed, 14 Jan 2015 06:55:00 +0000 Subject: merge revision(s) 48534: [Backport #10412] * lib/resolv.rb: fall back if canonicalization fails. Thanks Vit Ondruch for the patch! [ruby-core:65836] * test/resolv/test_dns.rb: test for patch git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@49245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ lib/resolv.rb | 4 ++++ test/resolv/test_dns.rb | 14 ++++++++++++++ version.h | 10 +++++----- win32/win32.c | 2 ++ 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1aea7c0968..8ea42388cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Jan 14 15:54:18 2015 Aaron Patterson + + * lib/resolv.rb: fall back if canonicalization fails. + Thanks Vit Ondruch for the patch! [ruby-core:65836] + + * test/resolv/test_dns.rb: test for patch + Fri Nov 28 16:43:20 2014 Eric Hodel * lib/net/http.rb: Do not attempt SSL session resumption when the diff --git a/lib/resolv.rb b/lib/resolv.rb index 53bfd54a11..a302d8a6af 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -1039,6 +1039,10 @@ class Resolv candidates = [] end candidates.concat(@search.map {|domain| Name.new(name.to_a + domain)}) + fname = Name.create("#{name}.") + if !candidates.include?(fname) + candidates << fname + end end return candidates end diff --git a/test/resolv/test_dns.rb b/test/resolv/test_dns.rb index 07396fb177..4d83d88a17 100644 --- a/test/resolv/test_dns.rb +++ b/test/resolv/test_dns.rb @@ -23,6 +23,20 @@ class TestResolvDNS < Test::Unit::TestCase end end + # [ruby-core:65836] + def test_resolve_with_2_ndots + conf = Resolv::DNS::Config.new :nameserver => ['127.0.0.1'], :ndots => 2 + assert conf.single? + + candidates = [] + conf.resolv('example.com') { |candidate, *args| + candidates << candidate + raise Resolv::DNS::Config::NXDomain + } + n = Resolv::DNS::Name.create 'example.com.' + assert_equal n, candidates.last + end + def test_query_ipv4_address begin OpenSSL diff --git a/version.h b/version.h index b1fc13278d..eeeee540c2 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.0.0" -#define RUBY_RELEASE_DATE "2014-11-28" -#define RUBY_PATCHLEVEL 606 +#define RUBY_RELEASE_DATE "2015-01-14" +#define RUBY_PATCHLEVEL 607 -#define RUBY_RELEASE_YEAR 2014 -#define RUBY_RELEASE_MONTH 11 -#define RUBY_RELEASE_DAY 28 +#define RUBY_RELEASE_YEAR 2015 +#define RUBY_RELEASE_MONTH 1 +#define RUBY_RELEASE_DAY 14 #include "ruby/version.h" diff --git a/win32/win32.c b/win32/win32.c index f85d4ec9d1..a7cbbbb377 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -1399,6 +1399,8 @@ insert(const char *path, VALUE vinfo, void *enc) return 0; } +/* License: RubArtistic or GPL */ + /* License: Artistic or GPL */ static NtCmdLineElement ** cmdglob(NtCmdLineElement *patt, NtCmdLineElement **tail) -- cgit v1.2.3