mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
4a1d5074f3
nsHostResolver::ThreadFunc should not override addressFamily with PR_AF_UNSPEC for IPv6 since GetAddrInfo.cpp::GetAddrInfo() can handle PR_AF_INET6. _GetAddrInfo_Portable does this before calling PR_GetAddrInfoByName and creates the AddrInfo with a disableIPv4 flag if necessary.
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
//
|
|
// Tests that calling asyncResolve with the RESOLVE_DISABLE_IPV6 flag doesn't
|
|
// return any IPv6 addresses.
|
|
//
|
|
|
|
var dns = Cc["@mozilla.org/network/dns-service;1"].getService(Ci.nsIDNSService);
|
|
var ioService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
|
|
|
|
var listener = {
|
|
onLookupComplete: function(inRequest, inRecord, inStatus) {
|
|
if (inStatus != Cr.NS_OK) {
|
|
do_check_eq(inStatus, Cr.NS_ERROR_UNKNOWN_HOST);
|
|
do_test_finished();
|
|
return;
|
|
}
|
|
|
|
while (true) {
|
|
try {
|
|
var answer = inRecord.getNextAddrAsString();
|
|
// If there is an answer it should be an IPv4 address
|
|
dump(answer);
|
|
do_check_true(answer.indexOf(':') == -1);
|
|
do_check_true(answer.indexOf('.') != -1);
|
|
} catch (e) {
|
|
break;
|
|
}
|
|
}
|
|
do_test_finished();
|
|
}
|
|
};
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
try {
|
|
dns.asyncResolve("example.com", Ci.nsIDNSService.RESOLVE_DISABLE_IPV6, listener, null);
|
|
} catch (e) {
|
|
dump(e);
|
|
do_check_true(false);
|
|
do_test_finished();
|
|
}
|
|
}
|