Provided by: libsocket-getaddrinfo-perl_0.22-5_all bug

NAME

       "Socket::GetAddrInfo::Emul" - Pure Perl emulation of "getaddrinfo" and "getnameinfo" using IPv4-only
       legacy resolvers

DESCRIPTION

       "Socket::GetAddrInfo" attempts to provide the "getaddrinfo" and "getnameinfo" functions by some XS code
       that calls the real functions in libc. If for some reason this cannot be done; either there is no C
       compiler, or libc does not provide these functions, then they will be emulated using the legacy resolvers
       "gethostbyname", etc... These emulations are not a complete replacement of the real functions, because
       they only support IPv4 (the "AF_INET" socket family). In this case, the following restrictions will
       apply.

   getaddrinfo
       •   If  the  "family"  hint  is  supplied,  it must be "AF_INET". Any other value will result in an error
           thrown by "croak".

       •   The only supported  "flags"  hint  values  are  "AI_PASSIVE",  "AI_CANONNAME",  "AI_NUMERICSERV"  and
           "AI_NUMERICHOST".

           The  flags  "AI_V4MAPPED"  and "AI_ALL" are recognised but ignored, as they do not apply to "AF_INET"
           lookups.  Since this function only returns "AF_INET" addresses, it does not need to probe the  system
           for configured addresses in other families, so the "AI_ADDRCONFIG" flag is also ignored.

           Note  that "AI_NUMERICSERV" is an extension not defined by RFC 2553, but is provided by most OSes. It
           is possible (though unlikely) that  even  the  native  XS  implementation  does  not  recognise  this
           constant.

   getnameinfo
       •   If  the  sockaddr  family  of  $addr  is  anything other than "AF_INET", an error will be thrown with
           "croak".

       •   The only supported $flags values are "NI_NUMERICHOST", "NI_NUMERICSERV",  "NI_NOFQDN",  "NI_NAMEREQD"
           and "NI_DGRAM".

IDN SUPPORT

       This  pure-perl emulation provides the IDN constants such as "AI_IDN" and "NI_IDN", but the "getaddrinfo"
       and "getnameinfo" functions will croak if passed these flags. This should allow a program  to  probe  for
       their support, and fall back to some other behaviour instead.

AUTHOR

       Paul Evans <leonerd@leonerd.org.uk>

perl v5.36.0                                       2022-10-13                     Socket::GetAddrInfo::Emul(3pm)