diff --git a/lib/dns.js b/lib/dns.js index 0a6e84a435da02..cb36430ee32814 100644 --- a/lib/dns.js +++ b/lib/dns.js @@ -106,6 +106,11 @@ exports.lookup = function lookup(hostname, options, callback) { hints !== (exports.ADDRCONFIG | exports.V4MAPPED)) { throw new TypeError('invalid argument: hints must use valid flags'); } + + // FIXME(indutny): V4MAPPED on FreeBSD results in EAI_BADFLAGS, because + // the libc does not support it + if (process.platform === 'freebsd' && family !== 6) + hints &= ~exports.V4MAPPED; } else { family = options >>> 0; }