зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1680613 - Enable network.dns.upgrade_with_https_rr and fix some tests r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D99078
This commit is contained in:
Родитель
229ea0d95c
Коммит
f005165f1b
|
@ -8839,7 +8839,7 @@
|
|||
# available.
|
||||
- name: network.dns.upgrade_with_https_rr
|
||||
type: RelaxedAtomicBool
|
||||
value: false
|
||||
value: @IS_EARLY_BETA_OR_EARLIER@
|
||||
mirror: always
|
||||
|
||||
# Whether to use HTTPS RR as AltSvc
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include "mozilla/net/NeckoChild.h"
|
||||
#include "mozilla/net/DNSListenerProxy.h"
|
||||
#include "mozilla/net/TRRServiceParent.h"
|
||||
#include "nsHostResolver.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "prsystem.h"
|
||||
#include "DNSResolverInfo.h"
|
||||
|
@ -94,6 +95,11 @@ nsresult ChildDNSService::AsyncResolveInternal(
|
|||
bool resolveDNSInSocketProcess = false;
|
||||
if (XRE_IsParentProcess() && nsIOService::UseSocketProcess()) {
|
||||
resolveDNSInSocketProcess = true;
|
||||
if (type != nsIDNSService::RESOLVE_TYPE_DEFAULT &&
|
||||
(mTRRServiceParent->Mode() != MODE_TRRFIRST &&
|
||||
mTRRServiceParent->Mode() != MODE_TRRONLY)) {
|
||||
return NS_ERROR_UNKNOWN_HOST;
|
||||
}
|
||||
}
|
||||
|
||||
if (mDisablePrefetch && (flags & RESOLVE_SPECULATE)) {
|
||||
|
|
|
@ -178,27 +178,3 @@ add_task(async function testTXTRecordPushPart2() {
|
|||
.getRecordsAsOneString();
|
||||
Assert.equal(answer, test_answer, "got correct answer");
|
||||
});
|
||||
|
||||
add_task(async function testHTTPSSVCResolve() {
|
||||
prefs.setCharPref(
|
||||
"network.trr.uri",
|
||||
"https://foo.example.com:" + h2Port + "/doh"
|
||||
);
|
||||
let listenerEsni = new DNSListener();
|
||||
let request = dns.asyncResolve(
|
||||
"httpssvc_esni.example.com",
|
||||
dns.RESOLVE_TYPE_HTTPSSVC,
|
||||
0,
|
||||
null, // resolverInfo
|
||||
listenerEsni,
|
||||
mainThread,
|
||||
defaultOriginAttributes
|
||||
);
|
||||
|
||||
let [inRequest, inRecord, inStatus] = await listenerEsni;
|
||||
Assert.equal(inRequest, request, "correct request was used");
|
||||
Assert.equal(inStatus, Cr.NS_OK, "status OK");
|
||||
let answer = inRecord.QueryInterface(Ci.nsIDNSHTTPSSVCRecord).records;
|
||||
let esni = answer[0].values[0].QueryInterface(Ci.nsISVCParamEchConfig);
|
||||
Assert.equal(esni.echconfig, "testytestystringstring", "got correct answer");
|
||||
});
|
||||
|
|
|
@ -53,24 +53,3 @@ add_task(async function testTXTResolve() {
|
|||
.getRecordsAsOneString();
|
||||
Assert.equal(answer, test_answer, "got correct answer");
|
||||
});
|
||||
|
||||
add_task(async function testHTTPSSVCResolve() {
|
||||
// use the h2 server as DOH provider
|
||||
let listenerEsni = new DNSListener();
|
||||
let request = dns.asyncResolve(
|
||||
"httpssvc_esni.example.com",
|
||||
dns.RESOLVE_TYPE_HTTPSSVC,
|
||||
0,
|
||||
null, // resolverInfo
|
||||
listenerEsni,
|
||||
mainThread,
|
||||
defaultOriginAttributes
|
||||
);
|
||||
|
||||
let [inRequest, inRecord, inStatus] = await listenerEsni;
|
||||
Assert.equal(inRequest, request, "correct request was used");
|
||||
Assert.equal(inStatus, Cr.NS_OK, "status OK");
|
||||
let answer = inRecord.QueryInterface(Ci.nsIDNSHTTPSSVCRecord).records;
|
||||
let esni = answer[0].values[0].QueryInterface(Ci.nsISVCParamEchConfig);
|
||||
Assert.equal(esni.echconfig, "testytestystringstring", "got correct answer");
|
||||
});
|
||||
|
|
|
@ -735,19 +735,6 @@ function handleRequest(req, res) {
|
|||
"hex"
|
||||
),
|
||||
});
|
||||
} else if (packet.questions[0].type == "HTTPS") {
|
||||
answers.push({
|
||||
name: packet.questions[0].name,
|
||||
type: packet.questions[0].type,
|
||||
ttl: 55,
|
||||
class: "IN",
|
||||
flush: false,
|
||||
data: {
|
||||
priority: 1,
|
||||
name: "some.domain.stuff.",
|
||||
values: [{ key: "echconfig", value: "testytestystringstring" }],
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
if (u.query.cnameloop) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче