128 Commits

Author SHA1 Message Date
akr
db537c5181 * lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which
security.mac.portacl.port_high is changed.
  See mac_portacl(4) for details.
  Reported by Jakub Szafranski.  [ruby-core:60917] [Bug #9544]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-22 17:38:57 +00:00
akr
f01b5e217b * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#get_labels):
Make it iterative.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 07:35:24 +00:00
akr
5323328f0c * lib/resolv.rb: Don't set CLOEXEC flag explicitly. (Ruby set it by
default.)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 06:42:28 +00:00
akr
25a89ac0ac * 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/trunk@44884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 06:29:54 +00:00
akr
688606d2d9 * 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/trunk@44880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-07 15:03:34 +00:00
akr
e86a90420d * 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/trunk@44642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-18 14:01:43 +00:00
nobu
1ffbe07e17 resolv.rb: no encodings
* 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/trunk@44312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-21 03:37:26 +00:00
a_matsuda
ba672b6de1 * lib/resolv.rb: Fix typo in an error message
s/postive/positive/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-12 06:17:31 +00:00
nobu
0712483fdd resolv.rb: workaround for recent Rubygems
* lib/resolv.rb (Resolv::Hosts): get rid of load error in require
  which causes recent Rubygems to build all extension libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-18 08:03:32 +00:00
zzak
c366a99cc5 * lib/cgi.rb: [DOC] Capitalize "Ruby" in documentation [Fixes GH-341]
Patch by Dave Worth https://github.com/ruby/ruby/pull/341
* lib/webrick.rb: ditto
* lib/scanf.rb: ditto
* lib/xmlrpc/config.rb: ditto
* lib/resolv.rb: ditto
* lib/e2mmap.rb: ditto
* lib/fileutils.rb: ditto
* lib/mkmf.rb: ditto
* lib/cgi/session.rb: ditto
* lib/yaml.rb: ditto
* lib/erb.rb: ditto
* lib/irb.rb: ditto
* lib/tracer.rb: ditto
* lib/net/http.rb: ditto
* ext/syslog/lib/syslog/logger.rb: ditto
* sample/pty/expect_sample.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-18 13:50:32 +00:00
akr
672490d08c * lib/resolv.rb (MDNSOneShot#sender): Delete an unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-07 01:42:18 +00:00
akr
c4d8cc4eae * lib/resolv.rb: Support LOC resources.
[ruby-core:23361] [Feature #1436] by JB Smith.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 14:52:48 +00:00
akr
9791353555 * lib/resolv.rb: Add one-shot multicast DNS support.
[ruby-core:53387] [Feature #8089] by Eric Hodel.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 14:32:34 +00:00
akr
4c1e97226f * lib/resolv.rb (Resolv::DNS.fetch_resource): New method to obtain
full result.
  [ruby-dev:43587] [Feature #4788] proposed by Makoto Kishimoto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 13:16:36 +00:00
akr
dc5b184b1f * lib/resolv.rb (bind_random_port): Rescue EACCES for SunOS.
bind() on SunOS for port 2049 (nfs) and 4045 (lockd) causes
  EACCES with unprivileged process.  cf. PRIV_SYS_NFS in privileges(5)
  [ruby-core:48064] [Bug #7183] reported by Frank Meier.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 14:55:36 +00:00
akr
80466df690 * lib/resolv.rb: Test Windows platform by detecting LoadError when
require 'win32/resolv' suggested by Nobuyoshi Nakada [ruby-core:53389].
  [ruby-core:53388] [Feature #8090] Reported by Charles Nutter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-28 14:11:35 +00:00
akr
6533f070ba * lib/resolv.rb (Resolv::DNS): retry IO.select for premature wakeup.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 12:03:49 +00:00
akr
931226061b * lib/resolv.rb: fix a exception name in previous patch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-22 08:47:13 +00:00
akr
16f4ecbc8c * lib/resolv.rb: make timeout configurable for DNS query.
patch by Eric Wong.  [ruby-core:38533] [Feature #5100]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-22 08:46:12 +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