Project

General

Profile

Bug #15067

library/socket/socket/getnameinfo_spec.rb always errors with multiple IP addresses hostname

Added by usa (Usaku NAKAMURA) 8 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:88828]

Description

If the hostname is bind with multiple IP addresses, Socket.getnameinfo raises SocketError.
It's the spec of this method.

irb(main):001:0> require "socket"
=> true
irb(main):002:0> Socket.getnameinfo(['AF_INET', 21, 'multi'])
Traceback (most recent call last):
        3: from C:/opt/ruby/bin/irb.cmd:21:in `<main>'
        2: from (irb):2
        1: from (irb):2:in `getnameinfo'
SocketError (sockaddr resolved to multiple nodename)
irb(main):003:0> exit

So, this code always reports error on such host.

library/socket/socket/getnameinfo_spec.rb:110

      describe 'without custom flags' do
        it 'returns an Array containing the hostname and service name' do
          array = Socket.getnameinfo(@addr)  #<=== problem code
          array.should be_an_instance_of(Array)
          array[0].should include(@hostname)

Also available in: Atom PDF