Backed out 2 changesets (bug 1666711, bug 1666249) for causing failures at test_trr_additional_section.js. CLOSED TREE

Backed out changeset a802f1c429bc (bug 1666711)
Backed out changeset da73031913b7 (bug 1666249)
This commit is contained in:
Butkovits Atila 2020-09-23 11:49:14 +03:00
Родитель 227392af30
Коммит 499dcd036b
9 изменённых файлов: 54 добавлений и 67 удалений

Просмотреть файл

@ -199,10 +199,6 @@ class AddrInfo {
mInfo->mAddresses = std::move(addresses);
}
void SetCanonicalHostname(const nsACString& aCname) {
mInfo->mCanonicalName = aCname;
}
already_AddRefed<AddrInfo> Finish() { return mInfo.forget(); }
private:

Просмотреть файл

@ -1520,7 +1520,6 @@ nsresult TRR::ReturnData(nsIChannel* aChannel) {
new AddrInfo(mHost, mType, nsTArray<NetAddr>(), mDNS.mTtl));
auto builder = ai->Build();
builder.SetAddresses(std::move(mDNS.mAddresses));
builder.SetCanonicalHostname(mCname);
// Set timings.
nsCOMPtr<nsITimedChannel> timedChan = do_QueryInterface(aChannel);

Просмотреть файл

@ -83,16 +83,21 @@ function trr_clear_prefs() {
/// This class sends a DNS query and can be awaited as a promise to get the
/// response.
class TRRDNSListener {
constructor(name, options = {}) {
constructor(
name,
expectedAnswer,
expectedSuccess = true,
delay,
trrServer = "",
expectEarlyFail = false
) {
this.name = name;
this.options = options;
this.expectedAnswer = options.expectedAnswer ?? undefined;
this.expectedSuccess = options.expectedSuccess ?? true;
this.delay = options.delay;
this.expectedAnswer = expectedAnswer;
this.expectedSuccess = expectedSuccess;
this.delay = delay;
this.promise = new Promise(resolve => {
this.resolve = resolve;
});
let trrServer = options.trrServer || "";
const dns = Cc["@mozilla.org/network/dns-service;1"].getService(
Ci.nsIDNSService
@ -108,15 +113,15 @@ class TRRDNSListener {
this.request = dns.asyncResolve(
name,
Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT,
this.options.flags || 0,
0,
resolverInfo,
this,
currentThread,
{} // defaultOriginAttributes
);
Assert.ok(!options.expectEarlyFail);
Assert.ok(!expectEarlyFail);
} catch (e) {
Assert.ok(options.expectEarlyFail);
Assert.ok(expectEarlyFail);
this.resolve([e]);
}
}

Просмотреть файл

@ -73,8 +73,8 @@ add_task(async function test_parse_additional_section() {
]
);
await new TRRDNSListener("something.foo", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("else.foo", { expectedAnswer: "2.3.4.5" });
await new TRRDNSListener("something.foo", "1.2.3.4");
await new TRRDNSListener("else.foo", "2.3.4.5");
await trrServer.registerDoHAnswers(
"a.foo",
@ -108,14 +108,14 @@ add_task(async function test_parse_additional_section() {
},
]);
let req1 = new TRRDNSListener("a.foo", { expectedAnswer: "1.2.3.4" });
let req1 = new TRRDNSListener("a.foo", "1.2.3.4");
// A request for b.foo will be in progress by the time we parse the additional
// record. To keep things simple we don't end up saving the record, instead
// we wait for the in-progress request to complete.
// This check is also racy - if the response for a.foo completes before we make
// this request, we'll put the other IP in the cache. But that is very unlikely.
let req2 = new TRRDNSListener("b.foo", { expectedAnswer: "3.4.5.6" });
let req2 = new TRRDNSListener("b.foo", "3.4.5.6");
await Promise.all([req1, req2]);
@ -143,8 +143,8 @@ add_task(async function test_parse_additional_section() {
]
);
await new TRRDNSListener("xyz.foo", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("abc.foo", { expectedAnswer: "::1:2:3:4" });
await new TRRDNSListener("xyz.foo", "1.2.3.4");
await new TRRDNSListener("abc.foo", "::1:2:3:4");
// IPv6 additional
await trrServer.registerDoHAnswers(
@ -170,8 +170,8 @@ add_task(async function test_parse_additional_section() {
]
);
await new TRRDNSListener("ipv6.foo", { expectedAnswer: "2001::a:b:c:d" });
await new TRRDNSListener("def.foo", { expectedAnswer: "::a:b:c:d" });
await new TRRDNSListener("ipv6.foo", "2001::a:b:c:d");
await new TRRDNSListener("def.foo", "::a:b:c:d");
// IPv6 additional
await trrServer.registerDoHAnswers(
@ -197,8 +197,8 @@ add_task(async function test_parse_additional_section() {
]
);
await new TRRDNSListener("ipv6b.foo", { expectedAnswer: "2001::a:b:c:d" });
await new TRRDNSListener("qqqq.foo", { expectedAnswer: "9.8.7.6" });
await new TRRDNSListener("ipv6b.foo", "2001::a:b:c:d");
await new TRRDNSListener("qqqq.foo", "9.8.7.6");
// Multiple IPs and multiple additional records
await trrServer.registerDoHAnswers(
@ -249,7 +249,7 @@ add_task(async function test_parse_additional_section() {
let [inRequest, inRecord, inStatus] = await new TRRDNSListener(
"multiple.foo",
{ expectedAnswer: "9.9.9.9" }
"9.9.9.9"
);
let IPs = [];
inRecord.QueryInterface(Ci.nsIDNSAddrRecord);
@ -260,9 +260,11 @@ add_task(async function test_parse_additional_section() {
equal(IPs.length, 1);
equal(IPs[0], "9.9.9.9");
IPs = [];
[inRequest, inRecord, inStatus] = await new TRRDNSListener("yuiop.foo", {
expectedSuccess: false,
});
[inRequest, inRecord, inStatus] = await new TRRDNSListener(
"yuiop.foo",
undefined,
false
);
inRecord.QueryInterface(Ci.nsIDNSAddrRecord);
inRecord.rewind();
while (inRecord.hasMore()) {

Просмотреть файл

@ -92,7 +92,7 @@ add_task(async function test_trr_casing() {
data: "1.2.3.4",
},
]);
await new TRRDNSListener("a.example.com", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("a.example.com", "1.2.3.4");
await trrServer.registerDoHAnswers("a.test.com", "A", [
{
@ -123,7 +123,7 @@ add_task(async function test_trr_casing() {
data: "8.8.8.8",
},
]);
await new TRRDNSListener("a.test.com", { expectedAnswer: "8.8.8.8" });
await new TRRDNSListener("a.test.com", "8.8.8.8");
await trrServer.registerDoHAnswers("CAPITAL.COM", "A", [
{
@ -134,8 +134,8 @@ add_task(async function test_trr_casing() {
data: "2.2.2.2",
},
]);
await new TRRDNSListener("CAPITAL.COM", { expectedAnswer: "2.2.2.2" });
await new TRRDNSListener("CAPITAL.COM.", { expectedAnswer: "2.2.2.2" });
await new TRRDNSListener("CAPITAL.COM", "2.2.2.2");
await new TRRDNSListener("CAPITAL.COM.", "2.2.2.2");
await trrServer.stop();
});

Просмотреть файл

@ -78,14 +78,7 @@ add_task(async function test_follow_cnames_same_response() {
data: "1.2.3.4",
},
]);
let [inRequest, inRecord, inStatus] = await new TRRDNSListener(
"something.foo",
{
expectedAnswer: "1.2.3.4",
flags: Ci.nsIDNSService.RESOLVE_CANONICAL_NAME,
}
);
equal(inRecord.QueryInterface(Ci.nsIDNSAddrRecord).canonicalName, "xyz.foo");
await new TRRDNSListener("something.foo", "1.2.3.4");
await trrServer.registerDoHAnswers("a.foo", "A", [
{
@ -105,7 +98,7 @@ add_task(async function test_follow_cnames_same_response() {
data: "2.3.4.5",
},
]);
await new TRRDNSListener("a.foo", { expectedAnswer: "2.3.4.5" });
await new TRRDNSListener("a.foo", "2.3.4.5");
await trrServer.stop();
});

Просмотреть файл

@ -61,7 +61,7 @@ add_task(async function test_extended_error_bogus() {
},
]);
await new TRRDNSListener("something.foo", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("something.foo", "1.2.3.4");
await trrServer.registerDoHAnswers(
"a.foo",
@ -84,9 +84,7 @@ add_task(async function test_extended_error_bogus() {
);
// Check that we don't fall back to DNS
let [, , inStatus] = await new TRRDNSListener("a.foo", {
expectedSuccess: false,
});
let [, , inStatus] = await new TRRDNSListener("a.foo", undefined, false);
Assert.ok(
!Components.isSuccessCode(inStatus),
`${inStatus} should be an error code`
@ -115,9 +113,7 @@ add_task(async function test_extended_error_filtered() {
);
// Check that we don't fall back to DNS
let [, , inStatus] = await new TRRDNSListener("b.foo", {
expectedSuccess: false,
});
let [, , inStatus] = await new TRRDNSListener("b.foo", undefined, false);
Assert.ok(
!Components.isSuccessCode(inStatus),
`${inStatus} should be an error code`
@ -146,7 +142,7 @@ add_task(async function test_extended_error_not_ready() {
);
// For this code it's OK to fallback
await new TRRDNSListener("c.foo", { expectedAnswer: "127.0.0.1" });
await new TRRDNSListener("c.foo", "127.0.0.1");
});
add_task(async function ipv6_answer_and_delayed_ipv4_error() {
@ -183,7 +179,7 @@ add_task(async function ipv6_answer_and_delayed_ipv4_error() {
);
// Check that we don't fall back to DNS
await new TRRDNSListener("delay1.com", { expectedAnswer: "::a:b:c:d" });
await new TRRDNSListener("delay1.com", "::a:b:c:d");
});
add_task(async function ipv4_error_and_delayed_ipv6_answer() {
@ -225,7 +221,7 @@ add_task(async function ipv4_error_and_delayed_ipv6_answer() {
);
// Check that we don't fall back to DNS
await new TRRDNSListener("delay2.com", { expectedAnswer: "::a:b:c:d" });
await new TRRDNSListener("delay2.com", "::a:b:c:d");
});
add_task(async function ipv4_answer_and_delayed_ipv6_error() {
@ -262,7 +258,7 @@ add_task(async function ipv4_answer_and_delayed_ipv6_error() {
);
// Check that we don't fall back to DNS
await new TRRDNSListener("delay3.com", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("delay3.com", "1.2.3.4");
});
add_task(async function delayed_ipv4_answer_and_ipv6_error() {
@ -304,5 +300,5 @@ add_task(async function delayed_ipv4_answer_and_ipv6_error() {
);
// Check that we don't fall back to DNS
await new TRRDNSListener("delay4.com", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("delay4.com", "1.2.3.4");
});

Просмотреть файл

@ -248,7 +248,7 @@ add_task(async function test_aliasform() {
},
]);
await new TRRDNSListener("test.com", { expectedAnswer: "1.2.3.4" });
await new TRRDNSListener("test.com", "1.2.3.4");
// Test a chain of HTTPSSVC AliasForm and CNAMEs
await trrServer.registerDoHAnswers("x.com", "A", [
@ -297,7 +297,7 @@ add_task(async function test_aliasform() {
},
]);
await new TRRDNSListener("x.com", { expectedAnswer: "4.3.2.1" });
await new TRRDNSListener("x.com", "4.3.2.1");
// We get a ServiceForm instead of a A answer, CNAME or AliasForm
await trrServer.registerDoHAnswers("no-ip-host.com", "A", [
@ -321,9 +321,11 @@ add_task(async function test_aliasform() {
},
]);
let [, , inStatus] = await new TRRDNSListener("no-ip-host.com", {
expectedSuccess: false,
});
let [, , inStatus] = await new TRRDNSListener(
"no-ip-host.com",
undefined,
false
);
Assert.ok(
!Components.isSuccessCode(inStatus),
`${inStatus} should be an error code`
@ -354,9 +356,7 @@ add_task(async function test_aliasform() {
},
]);
[, , inStatus] = await new TRRDNSListener("loop.com", {
expectedSuccess: false,
});
[, , inStatus] = await new TRRDNSListener("loop.com", undefined, false);
Assert.ok(
!Components.isSuccessCode(inStatus),
`${inStatus} should be an error code`
@ -377,9 +377,7 @@ add_task(async function test_aliasform() {
},
]);
[, , inStatus] = await new TRRDNSListener("empty.com", {
expectedSuccess: false,
});
[, , inStatus] = await new TRRDNSListener("empty.com", undefined, false);
Assert.ok(
!Components.isSuccessCode(inStatus),
`${inStatus} should be an error code`

Просмотреть файл

@ -85,9 +85,7 @@ add_task(async function test_add_nat64_prefix_to_trr() {
data: "1.2.3.4",
},
]);
let [, inRecord] = await new TRRDNSListener("xyz.foo", {
expectedSuccess: false,
});
let [, inRecord] = await new TRRDNSListener("xyz.foo", undefined, false);
inRecord.QueryInterface(Ci.nsIDNSAddrRecord);
inRecord.getNextAddrAsString();