Prevent overflow of pointer to labels.
Patch by Hannes Georg. [ruby-core:71248] [Bug #11632]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
The monotonic clock is preferred as it is guaranteed to be
continuous and not subject to jumps due to adjustments.
* lib/net/resolv.rb (request): use monotonic clock
* lib/net/http.rb (begin_transport, end_transport): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
In case a process encounters high-numbered FDs, this allows
consistent performance on systems with ppoll support.
[ruby-core:35572]
* ext/socket/lib/socket.rb (connect_nonblock): use IO#wait_writable
* lib/drb/drb.rb (DRB::DRbTCPSocket#alive?): use IO#wait_readable
* lib/webrick/httpserver.rb (run): ditto
* lib/resolv.rb (request): ditto for single socket case
[ruby-core:68943] [Feature #11081]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements
returned by Kernel#instance_variables are Symbols now.
[ruby-core:68128] [Bug #10857]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This allows "gem install /path/to/local.gem" to be successful
on a machine without a network connection.
[ruby-core:67411] [Bug #10712]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ASCII-8BIT before downcase. case insensivity of DNS labels doesn't
apply non-ASCII characters. [RFC 4343]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the
comparison should be case-insensitive as well.
[ruby-core:66498] [Bug #10550]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/resolv.rb (Resolv::DNS::Name): names with different dots
should be different.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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/trunk@48534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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
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
* 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
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
(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
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
(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