File tree Expand file tree Collapse file tree 2 files changed +13
-4
lines changed Expand file tree Collapse file tree 2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -267,8 +267,9 @@ The following flags can be passed as hints to `dns.lookup`.
267
267
of addresses supported by the current system. For example, IPv4 addresses
268
268
are only returned if the current system has at least one IPv4 address
269
269
configured. Loopback addresses are not considered.
270
- - ` dns.V4MAPPED ` : If the IPv6 family was specified, but no IPv6 addresses
271
- were found, then return IPv4 mapped IPv6 addresses.
270
+ - ` dns.V4MAPPED ` : If the IPv6 family was specified, but no IPv6 addresses were
271
+ found, then return IPv4 mapped IPv6 addresses. Note that it is not supported
272
+ on some operating systems (e.g FreeBSD 10.1).
272
273
273
274
## Implementation considerations
274
275
Original file line number Diff line number Diff line change @@ -937,8 +937,16 @@ function lookupAndConnect(self, options) {
937
937
hints : 0
938
938
} ;
939
939
940
- if ( dnsopts . family !== 4 && dnsopts . family !== 6 )
941
- dnsopts . hints = dns . ADDRCONFIG | dns . V4MAPPED ;
940
+ if ( dnsopts . family !== 4 && dnsopts . family !== 6 ) {
941
+ dnsopts . hints = dns . ADDRCONFIG ;
942
+ // The AI_V4MAPPED hint is not supported on FreeBSD, and getaddrinfo
943
+ // returns EAI_BADFLAGS. However, it seems to be supported on most other
944
+ // systems. See
945
+ // http://lists.freebsd.org/pipermail/freebsd-bugs/2008-February/028260.html
946
+ // for more information on the lack of support for FreeBSD.
947
+ if ( process . platform !== 'freebsd' )
948
+ dnsopts . hints |= dns . V4MAPPED ;
949
+ }
942
950
943
951
debug ( 'connect: find host ' + host ) ;
944
952
debug ( 'connect: dns options ' + dnsopts ) ;
You can’t perform that action at this time.
0 commit comments