From: knu@... Date: 2017-10-23T01:12:11+00:00 Subject: [ruby-core:83513] [Ruby trunk Feature#3711] IPAddr must not make DNS lookups via IPSocket.getaddress Issue #3711 has been updated by knu (Akinori MUSHA). A few years later IPAddr was fixed so it does not call IPSocket.getaddress. ---------------------------------------- Feature #3711: IPAddr must not make DNS lookups via IPSocket.getaddress https://bugs.ruby-lang.org/issues/3711#change-67530 * Author: pk (Philipp Kempgen) * Status: Feedback * Priority: Normal * Assignee: knu (Akinori MUSHA) * Target version: next minor ---------------------------------------- =begin class MustNotCallError < NotImplementedError ; end class IpAddrNoResolvTestCase < Test::Unit::TestCase def setup() class << IPSocket alias original_getaddress getaddress def getaddress( host ) # DNS lookups are slow and totally unnecessary for IP addresses raise MustNotCallError.new( 'IPAddr.new() must not call IPSocket.getaddress()!' ) end end end def test_ipaddr_must_not_resolve_valid_ipv4_address assert_nothing_raised { IPAddr.new( '1.2.3.4', Socket::AF_INET ) } end def test_ipaddr_must_not_resolve_invalid_ipv4_style_address assert_raise( ArgumentError ) { IPAddr.new( '1.2.3.400', Socket::AF_INET ) } end def test_ipaddr_must_not_resolve_valid_ipv6_address assert_nothing_raised { IPAddr.new( '::', Socket::AF_INET6 ) } end def test_ipaddr_must_not_resolve_invalid_ipv6_style_address assert_raise( ArgumentError ) { IPAddr.new( '::1::', Socket::AF_INET6 ) } end end =end -- https://bugs.ruby-lang.org/ Unsubscribe: