Commit graph

63 commits

Author SHA1 Message Date
usa
3941326541 merge revision(s) 44880: [Backport #9477]
* lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on
	  socket creation.
	  Reported by Bjoern Rennhak.  [ruby-core:60442] [Bug #9477]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14 06:56:54 +00:00
usa
d4fa125941 merge revision(s) 44884: [Backport #9498]
* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise
	  DecodeError if no data before the limit.
	  Reported by Will Bryant.  [ruby-core:60557] [Bug #9498]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14 06:55:15 +00:00
usa
73176ef939 merge revision(s) 44642: [Backport #9093]
* lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated
	  string.
	  Patch by Ryan Brunner.  [ruby-core:58220] [Bug #9093]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14 06:26:06 +00:00
usa
888372e595 merge revision(s) 44312,44318,44321: [Backport #9273]
* lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not
	  consider encodings in hosts file.  [ruby-core:59239] [Bug #9273]

	* lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-29 04:30:54 +00:00
drbrain
cc48da67d8 * lib/resolv.rb: Hide private method and state-tracking constants from
RDoc.  Patch by Mark Turner.  [Ruby 1.9 - Feature #4691]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-13 17:52:01 +00:00
akr
0ebec8cf72 * resolv.rb (Resolv::DNS): use the same DNS server when retry using TCP.
reported by Julian Mehnle.  [ruby-core:32970]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 09:03:26 +00:00
akr
2bb96458e7 * lib/resolv.rb: retry via TCP if UDP reply is truncated.
fixed by Julian Mehnle.  [ruby-core:32407]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-29 21:01:53 +00:00
akr
7011534ea8 * lib/resolv.rb (Resolv::DNS::Requester#request): rescue ECONNRESET
for Windows.  reported by U.Nakamura.  [ruby-dev:41477]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-31 12:51:13 +00:00
akr
089d2ddda4 * lib/resolv.rb (Resolv::DNS::Requester#request): rescue ECONNREFUSED.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 00:06:17 +00:00
akr
20a6e94e47 * lib/resolv.rb (Resolv::IPv4::Regex): make it only accept 0 to 255.
[ruby-core:29501]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-18 09:09:46 +00:00
akr
aba5263254 * lib/resolv.rb: fix [ruby-core:28320] reported by Paul Clegg.
(Resolv::DNS::Requester#request): raise ResolvTimeout
  consistently for timeout.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-24 13:44:08 +00:00
akr
d3004ccff3 * lib/resolv.rb: fix [ruby-core:28144].
(Resolv::DNS#make_requester): pass nameserver_port to
  UnconnectedUDP.new.
  (Resolv::DNS.bind_random_port): change the is_ipv6 argument to
  bind_host.
  (Resolv::DNS::Requester#initialize): change instance variable to
  store multiple sockets.
  (Resolv::DNS::Requester#request): pass readable sockets to
  recv_reply.
  (Resolv::DNS::Requester#close): close all sockets.
  (Resolv::DNS::Requester::UnconnectedUDP#initialize): allocate
  a socket for each address family of name servers.
  (Resolv::DNS::Requester::UnconnectedUDP#recv_reply): read from the
  passwd readable socket.
  (Resolv::DNS::Requester::UnconnectedUDP#sender): use appropriate
  socket for the target nameserver.
  (Resolv::DNS::Requester::ConnectedUDP): follow the instance variable
  change.
  (Resolv::DNS::Requester::TCP#sender): ditto.
  (Resolv::DNS::Config#nameserver_port): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-11 01:29:38 +00:00
nobu
926fd9a939 * lib/resolv.rb (Resolv::Config.default_config_hash): return an
empty hash when resolv.conf is not available.  [ruby-core:27620]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-19 11:00:33 +00:00
nobu
5961543218 * lib/resolv.rb (Resolv::DNS::Config#lazy_initialize): fixed the
defaults of nameserver and port.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-19 10:58:28 +00:00
akr
2a26264064 rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-02 18:10:47 +00:00
akr
50b8893d56 * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#inspect):
implemented.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-02 16:31:00 +00:00
akr
1dc1bf28ab * lib/resolv.rb (Resolv::DNS#initialize): new option :nameserver_port.
(Resolv::DNS#each_resource): pass port number.
  (Resolv::DNS#make_requester): ditto.
  (Resolv::DNS::Config#lazy_initialize): initialize @nameserver_port
  instead of @nameserver.
  (Resolv::DNS::Config#single?): return port number addition to the
  nameserver.
  (Resolv::DNS::Config#generate_timeouts): use @nameserver_port.
  (Resolv::DNS::Config#resolv): yield port number.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-02 07:03:24 +00:00
akr
2ea82d336d * lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP): disable
reverse lookup.
  (Resolv::DNS::Requester::UnconnectedUDP): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-09 12:17:38 +00:00
akr
230411caa2 * lib/resolv.rb (Resolv::DNS.bind_random_port): bind to "::" for IPv6.
(Resolv::DNS::ConnectedUDP#initialize): specify is_ipv6 argument of
  bind_random_port.
  [ruby-core:25970]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-06 15:31:22 +00:00
nobu
2478f1caaf * lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded
platform names.

* lib/resolv.rb (Resolv::Hosts::DefaultFileName),
  (Resolv::DNS::Config.default_config_hash): tries win32/resolv on
  mswin64 too.

* lib/rubygems/specification.rb (Gem::Specification#ruby_code):
  aded mswin64.

* lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command):
  spawn is better to start a process in background.

* ext/extmk.rb: uses FNM_SYSCASE.

* instruby.rb: installs win32.h on mswin64 platform.
  [ruby-core:21722]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-01 23:12:52 +00:00
akr
14605ab0ad fix rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-31 13:42:18 +00:00
akr
c109d8ab9f * lib/resolv.rb (Resolv::DNS#each_address): don't query IPv6 address
if the host has no global IPv6 address.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-31 13:40:05 +00:00
akr
f3d95cce97 trailing spaces removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-14 15:18:53 +00:00
akr
2577fa6dcc * lib/resolv.rb: randomize source port and transaction id.
CVE-2008-1447.

* lib/resolv-replace.rb (UDPSocket#bind): don't resolv host if host is
  "".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-08 01:58:40 +00:00
matz
e6c1752137 * lib/rdoc.rb: massive spelling correction patch from Evan Farrar
<evanfarrar at gmail.com> in [ruby-doc:1382] applied.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-04 09:37:38 +00:00
nobu
29b538fa71 * lib/resolv.rb (Resolv::Config.default_config_hash): requires
win32/resolv to use Win32::Resolv.  [ruby-dev:34138]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 16:55:54 +00:00
nobu
439089327a * lib/resolv.rb (Resolv::Hosts): should not use win32/resolv on cygwin.
[ruby-dev:29945], [ruby-dev:34095]

* lib/win32/registry.rb (Win32::Registry.expand_environ): try upcased
  name too for cygwin.  [ruby-dev:29945]

* lib/win32/resolv.rb (Win32::Resolv.get_hosts_path): use expand_path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-21 12:27:00 +00:00
naruse
2435067f6c * lib/resolv.rb (Reolv::DNS#each_address): get A record and then AAAA
record. [ruby-dev:32925]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-05 15:53:35 +00:00
naruse
727d85c0e3 * lib/resolv.rb (Resolv::DNS#each_address): now returns IPv6 address.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-28 07:38:56 +00:00
naruse
7ae8e804ed * lib/resolv.rb (Resolv::DNS::Name.==): fix for other is array of
Resolv::DNS::Label::Str.

* lib/resolv.rb (Resolv::DNS::MessageEncoder#put_label): String#string
  is not defined, so replace to_s.

* lib/resolv.rb (Resolv::IPv6#to_name): ip6.int is obsoleted by ip6.arpa.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-26 13:50:31 +00:00
matz
8b5942801d * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_string):
affected by str[0] returns 1 char string.  [ruby-dev:29223]

* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_labels):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-08 10:29:02 +00:00
akr
8afbf5cc03 * lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP#initialize):
Use AF_INET6 for nameservers containing colons.
patch by Stephan Maka.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-07 02:56:06 +00:00
matz
f816b8b167 * lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler):
qualify the access for Config constant.  [ruby-dev:28338]

* lib/resolv.rb (Resolv::DNS::Resource::IN::A): qualify
  ClassValue.  [ruby-dev:28338]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-20 00:15:36 +00:00
akr
e710ced659 * lib/resolv.rb (Resolv::DNS::Resource#ttl): new attribute.
(Resolv::DNS::Resource#==): ignore @ttl.
  (Resolv::DNS::Resource#hash): ditto.
  (Resolv::DNS::Message::MessageDecoder#get_rr): save TTL in a
  Resource object.
  based on [ruby-core:5190] by Eric Hodel.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-15 15:32:46 +00:00
ryan
eec9b911bb Added Eric Hodel's rdoc to resolv.rb and added file to .document
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-09 22:47:35 +00:00
akr
9bdb4b4b08 * lib/resolv.rb (Resolv::DNS::Name#subdomain_of?): new method.
(Resolv::DNS::Name#inspect): ditto.
  Suggested by Sam Roberts.  [ruby-talk:129086]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-07 15:24:09 +00:00
akr
8971dafa8d * lib/resolv.rb (Resolv::DNS::Resource::TXT): multiple strings was not
handled.
  (Resolv::DNS::Resource::TXT#strings): new method to return all
  strings.
  (Resolv::DNS::Message::MessageEncoder#put_string_list): new method.
  (Resolv::DNS::Message::MessageDecoder#get_string_list): ditto.
  based on [ruby-talk:129732] by Sam Roberts.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-05 18:31:20 +00:00
akr
02d0c9e75c example modified a bit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-29 05:22:35 +00:00
akr
a0b39cf64f * lib/resolv.rb (Resolv::DNS::Resource::IN::SRV): Added RFC2782 SRV
resource record for specifying location of services.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-29 05:14:11 +00:00
akr
68f5e2361a * lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf):
parse options line for ndots option.
  (Resolv::Hosts#lazy_initialize): return self.
  (Resolv::DNS#lazy_initialize): ditto.
  (Resolv::DNS::Config#lazy_initialize): ditto.
  Suggested by Sam Roberts.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-28 08:18:59 +00:00
akr
78f31c7be6 * lib/resolv.rb (Resolv::DNS::Config.resolv): don't raise ResolvError.
reported by Sam Roberts.  [ruby-talk:127133]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-21 11:11:44 +00:00
akr
01c6a1f8ff * lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf): ignore
domain and search directive without an argument.
  reported by Sam Roberts.  [ruby-talk:126781]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-18 16:29:23 +00:00
usa
30c0611f97 * lib/resolv.rb (Config.default_config_hash): when multiple domains
are set, Win32::Resolv.get_resolv_info returns Array.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-23 03:44:32 +00:00
akr
fbb8f1964a * lib/resolv.rb (Resolv::DNS::Config): make it configurable without
external file such as /etc/resolv.conf.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-12 08:44:11 +00:00
akr
f2f93023c8 * lib/resolv.rb: don't use Regexp#source to embed regexps.
[ruby-dev:23432]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-23 05:22:25 +00:00
matz
919f456de8 * exception message clean-up by Ian Macdonald <ian@caliban.org>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-29 07:54:38 +00:00
matz
8ef5da3be1 consistent parentheses in assignment RHS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 17:47:19 +00:00
usa
7871b3b32a * ext/Win32API/lib/win32/resolv.rb: added.
* lib/resolv.rb: support Win32 platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 01:03:28 +00:00
akr
808e9289e6 * lib/resolv.rb (Resolv::DNS::Resource#hash): use XOR to accumulate
hash value.

* lib/tsort.rb (TSort#each_strongly_connected_component): don't use
  block argument.
  (each_strongly_connected_component_from): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-21 21:14:08 +00:00
nobu
29cef5f795 use Object#class instead of deprecated Object#type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 16:45:35 +00:00