mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-30 21:55:31 +00:00
4f8b38c03b
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.
41 lines
1023 B
JavaScript
41 lines
1023 B
JavaScript
//
|
|
// Tests that calling asyncResolve with the RESOLVE_DISABLE_IPV4 flag doesn't
|
|
// return any IPv4 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 IPv6 address
|
|
dump(answer);
|
|
do_check_true(answer.indexOf(':') != -1);
|
|
} catch (e) {
|
|
break;
|
|
}
|
|
}
|
|
do_test_finished();
|
|
}
|
|
};
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
try {
|
|
dns.asyncResolve("example.org", Ci.nsIDNSService.RESOLVE_DISABLE_IPV4, listener, null);
|
|
} catch (e) {
|
|
dump(e);
|
|
do_check_true(false);
|
|
do_test_finished();
|
|
}
|
|
}
|