commit eae17b82d73b94f6d30f2f9b8467a471dc8ebd7b
parent 160944c54a1c35cd9455dd9ad5e34746c103102d
Author: Atila Butkovits <abutkovits@mozilla.com>
Date: Fri, 17 Oct 2025 12:40:28 +0300
Revert "Bug 1994648 - Run current HTTP/2 tests with HTTP/3 proxy, r=necko-reviewers,valentin" for causing failures at test_http2_with_http3_proxy.js.
This reverts commit 11f7ea81cf048c290e5b97c2950d8cb9c6bd94e4.
Diffstat:
6 files changed, 59 insertions(+), 457 deletions(-)
diff --git a/netwerk/protocol/http/Http2Stream.cpp b/netwerk/protocol/http/Http2Stream.cpp
@@ -33,12 +33,6 @@ Http2Stream::Http2Stream(nsAHttpTransaction* httpTransaction,
Http2Stream::~Http2Stream() {}
void Http2Stream::CloseStream(nsresult reason) {
- if (reason == NS_ERROR_NET_RESET) {
- // If we got NS_ERROR_NET_RESET, the transaction will be retried. Keep the
- // Alt-Svc in the connection info. Dropping it could trigger an
- // unintended proxy connection fallback.
- mTransaction->DoNotRemoveAltSvc();
- }
mTransaction->Close(reason);
mSession = nullptr;
mClosed = true;
diff --git a/netwerk/protocol/http/Http3Session.cpp b/netwerk/protocol/http/Http3Session.cpp
@@ -2163,7 +2163,9 @@ void Http3Session::CloseStreamInternal(Http3StreamBase* aStream,
// Close(NS_OK) implies that the NeqoHttp3Conn will be closed, so we can only
// do this when there is no Http3Steeam, WebTransportSession and
// WebTransportStream.
- if ((mShouldClose || mGoawayReceived) && HasNoActiveStreams()) {
+ if ((mShouldClose || mGoawayReceived) &&
+ (!mStreamTransactionHash.Count() && mWebTransportSessions.IsEmpty() &&
+ mWebTransportStreams.IsEmpty() && mTunnelStreams.IsEmpty())) {
MOZ_ASSERT(!IsClosing());
Close(NS_OK);
}
@@ -2238,7 +2240,7 @@ void Http3Session::DontReuse() {
}
mShouldClose = true;
- if (HasNoActiveStreams()) {
+ if (!mStreamTransactionHash.Count()) {
// This is a temporary workaround and should be fixed properly in Happy
// Eyeballs project. We should not exclude this domain if
// Http3Session::DontReuse is called from
diff --git a/netwerk/protocol/http/Http3Session.h b/netwerk/protocol/http/Http3Session.h
@@ -470,12 +470,6 @@ class Http3Session final : public Http3SessionBase,
// are exchanged.
void FinishNegotiation(ExtendedConnectKind aKind, bool aSuccess);
- inline bool HasNoActiveStreams() const {
- return mStreamTransactionHash.Count() == 0 &&
- mWebTransportSessions.IsEmpty() && mWebTransportStreams.IsEmpty() &&
- mTunnelStreams.IsEmpty();
- }
-
nsTArray<RefPtr<Http3StreamBase>> mWebTransportSessions;
nsTArray<RefPtr<Http3StreamBase>> mWebTransportStreams;
nsTArray<RefPtr<Http3StreamBase>> mTunnelStreams;
diff --git a/netwerk/test/unit/http2_test_common.js b/netwerk/test/unit/http2_test_common.js
@@ -64,14 +64,6 @@ Http2CheckListener.prototype = {
}
Assert.ok(request instanceof Ci.nsIHttpChannel);
- if (this.noResponseStatus) {
- Assert.throws(
- () => request.responseStatus,
- /NS_ERROR_NOT_AVAILABLE/,
- "getting response status should throw"
- );
- return;
- }
Assert.equal(request.requestSucceeded, this.shouldSucceed);
if (this.shouldSucceed) {
Assert.equal(request.responseStatus, 200);
@@ -322,8 +314,8 @@ async function test_http2_blocking_download(serverPort) {
}
// Make sure we make a HTTP2 connection and both us and the server mark it as such
-async function test_http2_basic(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/`);
+async function test_http2_basic(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/`);
var p = new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
@@ -332,12 +324,9 @@ async function test_http2_basic(serverPort, origin = "localhost") {
return p;
}
-async function test_http2_basic_unblocked_dep(
- serverPort,
- origin = "localhost"
-) {
+async function test_http2_basic_unblocked_dep(serverPort) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/basic_unblocked_dep`
+ `https://localhost:${serverPort}/basic_unblocked_dep`
);
var cos = chan.QueryInterface(Ci.nsIClassOfService);
cos.addClassFlags(Ci.nsIClassOfService.Unblocked);
@@ -349,8 +338,8 @@ async function test_http2_basic_unblocked_dep(
}
// make sure we don't use h2 when disallowed
-async function test_http2_nospdy(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/`);
+async function test_http2_nospdy(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/`);
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
@@ -373,10 +362,10 @@ function checkXhr(xhr, finish) {
}
// Fires off an XHR request over h2
-async function test_http2_xhr(serverPort, origin = "localhost") {
+async function test_http2_xhr(serverPort) {
return new Promise(resolve => {
var req = new XMLHttpRequest();
- req.open("GET", `https://${origin}:${serverPort}/`, true);
+ req.open("GET", `https://localhost:${serverPort}/`, true);
req.addEventListener("readystatechange", function () {
checkXhr(req, resolve);
});
@@ -412,11 +401,7 @@ Http2ConcurrentListener.prototype.onStopRequest = function (request) {
}
};
-async function test_http2_concurrent(
- concurrent_channels,
- serverPort,
- origin = "localhost"
-) {
+async function test_http2_concurrent(concurrent_channels, serverPort) {
var p = new Promise(resolve => {
var concurrent_listener = new Http2ConcurrentListener();
concurrent_listener.finish = resolve;
@@ -428,7 +413,7 @@ async function test_http2_concurrent(
for (var i = 0; i < concurrent_listener.target; i++) {
concurrent_channels[i] = makeHTTPChannel(
- `https://${origin}:${serverPort}/750ms`
+ `https://localhost:${serverPort}/750ms`
);
concurrent_channels[i].loadFlags = Ci.nsIRequest.LOAD_BYPASS_CACHE;
concurrent_channels[i].asyncOpen(concurrent_listener);
@@ -437,11 +422,7 @@ async function test_http2_concurrent(
return p;
}
-async function test_http2_concurrent_post(
- concurrent_channels,
- serverPort,
- origin = "localhost"
-) {
+async function test_http2_concurrent_post(concurrent_channels, serverPort) {
return new Promise(resolve => {
var concurrent_listener = new Http2ConcurrentListener();
concurrent_listener.finish = resolve;
@@ -454,7 +435,7 @@ async function test_http2_concurrent_post(
for (var i = 0; i < concurrent_listener.target; i++) {
concurrent_channels[i] = makeHTTPChannel(
- `https://${origin}:${serverPort}/750msPost`
+ `https://localhost:${serverPort}/750msPost`
);
concurrent_channels[i].loadFlags = Ci.nsIRequest.LOAD_BYPASS_CACHE;
var stream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(
@@ -492,8 +473,8 @@ async function test_http2_multiplex(serverPort) {
}
// Test to make sure we gateway non-standard headers properly
-async function test_http2_header(serverPort, origin = "localhost") {
- let chan = makeHTTPChannel(`https://${origin}:${serverPort}/header`);
+async function test_http2_header(serverPort) {
+ let chan = makeHTTPChannel(`https://localhost:${serverPort}/header`);
let hvalue = "Headers are fun";
chan.setRequestHeader("X-Test-Header", hvalue, false);
return new Promise(resolve => {
@@ -508,26 +489,22 @@ async function test_http2_header(serverPort, origin = "localhost") {
}
// Test to make sure headers with invalid characters in the name are rejected
-async function test_http2_invalid_response_header(
- serverPort,
- invalid_kind,
- origin = "localhost"
-) {
+async function test_http2_invalid_response_header(serverPort, invalid_kind) {
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
listener.shouldSucceed = false;
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/invalid_response_header/${invalid_kind}`
+ `https://localhost:${serverPort}/invalid_response_header/${invalid_kind}`
);
chan.asyncOpen(listener);
});
}
// Test to make sure cookies are split into separate fields before compression
-async function test_http2_cookie_crumbling(serverPort, origin = "localhost") {
+async function test_http2_cookie_crumbling(serverPort) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/cookie_crumbling`
+ `https://localhost:${serverPort}/cookie_crumbling`
);
var cookiesSent = ["a=b", "c=d01234567890123456789", "e=f"].sort();
chan.setRequestHeader("Cookie", cookiesSent.join("; "), false);
@@ -555,8 +532,8 @@ async function test_http2_cookie_crumbling(serverPort, origin = "localhost") {
// this is a basic test where the server sends a simple document with 2 header
// blocks. bug 1027364
-async function test_http2_doubleheader(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/doubleheader`);
+async function test_http2_doubleheader(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/doubleheader`);
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
@@ -565,8 +542,8 @@ async function test_http2_doubleheader(serverPort, origin = "localhost") {
}
// Make sure we handle GETs that cover more than 2 frames properly
-async function test_http2_big(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/big`);
+async function test_http2_big(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/big`);
return new Promise(resolve => {
var listener = new Http2BigListener();
listener.finish = resolve;
@@ -574,8 +551,8 @@ async function test_http2_big(serverPort, origin = "localhost") {
});
}
-async function test_http2_huge_suspended(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/huge`);
+async function test_http2_huge_suspended(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/huge`);
return new Promise(resolve => {
var listener = new Http2HugeSuspendedListener();
listener.finish = resolve;
@@ -601,8 +578,8 @@ function do_post(content, chan, listener, method) {
}
// Make sure we can do a simple POST
-async function test_http2_post(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/post`);
+async function test_http2_post(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/post`);
var p = new Promise(resolve => {
var listener = new Http2PostListener(md5s[0]);
listener.finish = resolve;
@@ -611,8 +588,8 @@ async function test_http2_post(serverPort, origin = "localhost") {
return p;
}
-async function test_http2_empty_post(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/post`);
+async function test_http2_empty_post(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/post`);
var p = new Promise(resolve => {
var listener = new Http2PostListener("0");
listener.finish = resolve;
@@ -622,8 +599,8 @@ async function test_http2_empty_post(serverPort, origin = "localhost") {
}
// Make sure we can do a simple PATCH
-async function test_http2_patch(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/patch`);
+async function test_http2_patch(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/patch`);
return new Promise(resolve => {
var listener = new Http2PostListener(md5s[0]);
listener.finish = resolve;
@@ -632,8 +609,8 @@ async function test_http2_patch(serverPort, origin = "localhost") {
}
// Make sure we can do a POST that covers more than 2 frames
-async function test_http2_post_big(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/post`);
+async function test_http2_post_big(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/post`);
return new Promise(resolve => {
var listener = new Http2PostListener(md5s[1]);
listener.finish = resolve;
@@ -787,13 +764,13 @@ WrongSuiteListener.prototype.onStopRequest = function (request, status) {
// test that we use h1 without the mandatory cipher suite available when
// offering at most tls1.2
-async function test_http2_wrongsuite_tls12(serverPort, origin = "localhost") {
+async function test_http2_wrongsuite_tls12(serverPort) {
Services.prefs.setBoolPref(
"security.ssl3.ecdhe_rsa_aes_128_gcm_sha256",
false
);
Services.prefs.setIntPref("security.tls.version.max", 3);
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/wrongsuite`);
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/wrongsuite`);
chan.loadFlags =
Ci.nsIRequest.LOAD_FRESH_CONNECTION |
Ci.nsIChannel.LOAD_INITIAL_DOCUMENT_URI;
@@ -806,12 +783,12 @@ async function test_http2_wrongsuite_tls12(serverPort, origin = "localhost") {
// test that we use h2 when offering tls1.3 or higher regardless of if the
// mandatory cipher suite is available
-async function test_http2_wrongsuite_tls13(serverPort, origin = "localhost") {
+async function test_http2_wrongsuite_tls13(serverPort) {
Services.prefs.setBoolPref(
"security.ssl3.ecdhe_rsa_aes_128_gcm_sha256",
false
);
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/wrongsuite`);
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/wrongsuite`);
chan.loadFlags =
Ci.nsIRequest.LOAD_FRESH_CONNECTION |
Ci.nsIChannel.LOAD_INITIAL_DOCUMENT_URI;
@@ -823,9 +800,9 @@ async function test_http2_wrongsuite_tls13(serverPort, origin = "localhost") {
});
}
-async function test_http2_h11required_stream(serverPort, origin = "localhost") {
+async function test_http2_h11required_stream(serverPort) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/h11required_stream`
+ `https://localhost:${serverPort}/h11required_stream`
);
return new Promise(resolve => {
var listener = new Http2CheckListener();
@@ -852,12 +829,9 @@ H11RequiredSessionListener.prototype.onStopRequest = function (request) {
this.finish({ httpProxyConnectResponseCode });
};
-async function test_http2_h11required_session(
- serverPort,
- origin = "localhost"
-) {
+async function test_http2_h11required_session(serverPort) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/h11required_session`
+ `https://localhost:${serverPort}/h11required_session`
);
return new Promise(resolve => {
var listener = new H11RequiredSessionListener();
@@ -867,8 +841,8 @@ async function test_http2_h11required_session(
});
}
-async function test_http2_retry_rst(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/rstonce`);
+async function test_http2_retry_rst(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/rstonce`);
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
@@ -878,18 +852,16 @@ async function test_http2_retry_rst(serverPort, origin = "localhost") {
async function test_http2_continuations_over_max_response_limit(
loadGroup,
- serverPort,
- origin = "localhost"
+ serverPort
) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/hugecontinuedheaders?size=385`
+ `https://localhost:${serverPort}/hugecontinuedheaders?size=385`
);
chan.loadGroup = loadGroup;
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
listener.shouldSucceed = false;
- listener.noResponseStatus = true;
chan.asyncOpen(listener);
});
}
@@ -920,7 +892,7 @@ Http2IllegalHpackListener.prototype.shouldGoAway = false;
Http2IllegalHpackListener.prototype.onStopRequest = function () {
var chan = makeHTTPChannel(
- `https://${this.origin}:${this.serverPort}/illegalhpack_validate`
+ `https://localhost:${this.serverPort}/illegalhpack_validate`
);
var listener = new Http2IllegalHpackValidationListener();
listener.finish = this.finish;
@@ -928,42 +900,36 @@ Http2IllegalHpackListener.prototype.onStopRequest = function () {
chan.asyncOpen(listener);
};
-async function test_http2_illegalhpacksoft(serverPort, origin = "localhost") {
+async function test_http2_illegalhpacksoft(serverPort) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/illegalhpacksoft`
+ `https://localhost:${serverPort}/illegalhpacksoft`
);
return new Promise(resolve => {
var listener = new Http2IllegalHpackListener();
listener.finish = resolve;
listener.serverPort = serverPort;
- listener.origin = origin;
listener.shouldGoAway = false;
listener.shouldSucceed = false;
chan.asyncOpen(listener);
});
}
-async function test_http2_illegalhpackhard(serverPort, origin = "localhost") {
+async function test_http2_illegalhpackhard(serverPort) {
var chan = makeHTTPChannel(
- `https://${origin}:${serverPort}/illegalhpackhard`
+ `https://localhost:${serverPort}/illegalhpackhard`
);
return new Promise(resolve => {
var listener = new Http2IllegalHpackListener();
listener.finish = resolve;
listener.serverPort = serverPort;
- listener.origin = origin;
listener.shouldGoAway = true;
listener.shouldSucceed = false;
chan.asyncOpen(listener);
});
}
-async function test_http2_folded_header(
- loadGroup,
- serverPort,
- origin = "localhost"
-) {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/foldedheader`);
+async function test_http2_folded_header(loadGroup, serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/foldedheader`);
chan.loadGroup = loadGroup;
return new Promise(resolve => {
var listener = new Http2CheckListener();
@@ -973,8 +939,8 @@ async function test_http2_folded_header(
});
}
-async function test_http2_empty_data(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/emptydata`);
+async function test_http2_empty_data(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/emptydata`);
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
@@ -982,8 +948,8 @@ async function test_http2_empty_data(serverPort, origin = "localhost") {
});
}
-async function test_http2_status_phrase(serverPort, origin = "localhost") {
- var chan = makeHTTPChannel(`https://${origin}:${serverPort}/statusphrase`);
+async function test_http2_status_phrase(serverPort) {
+ var chan = makeHTTPChannel(`https://localhost:${serverPort}/statusphrase`);
return new Promise(resolve => {
var listener = new Http2CheckListener();
listener.finish = resolve;
diff --git a/netwerk/test/unit/test_http2_with_http3_proxy.js b/netwerk/test/unit/test_http2_with_http3_proxy.js
@@ -1,344 +0,0 @@
-// test HTTP/2 with a HTTP/3 prooxy
-
-"use strict";
-
-/* import-globals-from http2_test_common.js */
-
-const { Http3ProxyFilter, NodeHTTP2ProxyServer } = ChromeUtils.importESModule(
- "resource://testing-common/NodeServer.sys.mjs"
-);
-
-let concurrent_channels = [];
-let loadGroup;
-let serverPort;
-let pps = Cc["@mozilla.org/network/protocol-proxy-service;1"].getService();
-let proxyHost;
-let proxyPort;
-let proxyFilter;
-
-add_setup(async function setup() {
- serverPort = Services.env.get("MOZHTTP2_PORT");
- Assert.notEqual(serverPort, null);
- dump("using port " + serverPort + "\n");
-
- // Set to allow the cert presented by our H2 server
- do_get_profile();
-
- let certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(
- Ci.nsIX509CertDB
- );
- addCertFromFile(certdb, "http2-ca.pem", "CTu,u,u");
- addCertFromFile(certdb, "proxy-ca.pem", "CTu,u,u");
-
- Services.prefs.setBoolPref("network.proxy.allow_hijacking_localhost", true);
- Services.prefs.setBoolPref("network.http.http3.enable", true);
- Services.prefs.setBoolPref("network.http.http2.enabled", true);
- Services.prefs.setBoolPref("network.http.altsvc.enabled", true);
- Services.prefs.setBoolPref("network.http.altsvc.oe", true);
- Services.prefs.setCharPref(
- "network.dns.localDomains",
- "foo.example.com, alt1.example.com, bar.example.com"
- );
- Services.prefs.setBoolPref(
- "network.cookieJarSettings.unblocked_for_testing",
- true
- );
-
- loadGroup = Cc["@mozilla.org/network/load-group;1"].createInstance(
- Ci.nsILoadGroup
- );
-
- Services.prefs.setStringPref(
- "services.settings.server",
- `data:,#remote-settings-dummy/v1`
- );
-
- proxyHost = "alt1.example.com";
- proxyPort = (await create_masque_proxy_server()).masqueProxyPort;
- Assert.notEqual(proxyPort, null);
- Assert.notEqual(proxyPort, "");
- proxyFilter = new Http3ProxyFilter(
- proxyHost,
- proxyPort,
- 0,
- "/.well-known/masque/udp/{target_host}/{target_port}/",
- ""
- );
- pps.registerFilter(proxyFilter, 10);
-
- let h2Proxy = new NodeHTTP2ProxyServer();
- await h2Proxy.startWithoutProxyFilter(proxyPort);
- Assert.equal(proxyPort, h2Proxy.port());
-
- registerCleanupFunction(async () => {
- Services.prefs.clearUserPref("network.http.http3.enable");
- Services.prefs.clearUserPref("network.dns.localDomains");
- Services.prefs.clearUserPref("network.proxy.allow_hijacking_localhost");
- Services.prefs.clearUserPref("network.http.altsvc.oe");
- Services.prefs.clearUserPref(
- "network.http.http3.alt-svc-mapping-for-testing"
- );
- await h2Proxy.stop();
- pps.unregisterFilter(proxyFilter);
- });
-});
-
-// hack - the header test resets the multiplex object on the server,
-// so make sure header is always run before the multiplex test.
-//
-// make sure post_big runs first to test race condition in restarting
-// a stalled stream when a SETTINGS frame arrives
-add_task(async function do_test_http2_post_big() {
- const { httpProxyConnectResponseCode } = await test_http2_post_big(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_basic() {
- const { httpProxyConnectResponseCode } = await test_http2_basic(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_concurrent() {
- const { httpProxyConnectResponseCode } = await test_http2_concurrent(
- concurrent_channels,
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_concurrent_post() {
- const { httpProxyConnectResponseCode } = await test_http2_concurrent_post(
- concurrent_channels,
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_basic_unblocked_dep() {
- const { httpProxyConnectResponseCode } = await test_http2_basic_unblocked_dep(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_doubleheader() {
- const { httpProxyConnectResponseCode } = await test_http2_doubleheader(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_xhr() {
- await test_http2_xhr(serverPort, "foo.example.com");
-});
-
-add_task(async function do_test_http2_header() {
- const { httpProxyConnectResponseCode } = await test_http2_header(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_invalid_response_header_name_spaces() {
- const { httpProxyConnectResponseCode } =
- await test_http2_invalid_response_header(
- serverPort,
- "name_spaces",
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(
- async function do_test_http2_invalid_response_header_value_line_feed() {
- const { httpProxyConnectResponseCode } =
- await test_http2_invalid_response_header(
- serverPort,
- "value_line_feed",
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
- }
-);
-
-add_task(
- async function do_test_http2_invalid_response_header_value_carriage_return() {
- const { httpProxyConnectResponseCode } =
- await test_http2_invalid_response_header(
- serverPort,
- "value_carriage_return",
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
- }
-);
-
-add_task(async function do_test_http2_invalid_response_header_value_null() {
- const { httpProxyConnectResponseCode } =
- await test_http2_invalid_response_header(
- serverPort,
- "value_null",
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_cookie_crumbling() {
- const { httpProxyConnectResponseCode } = await test_http2_cookie_crumbling(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_multiplex() {
- var values = await test_http2_multiplex(serverPort, "foo.example.com");
- Assert.equal(values[0].httpProxyConnectResponseCode, 200);
- Assert.equal(values[1].httpProxyConnectResponseCode, 200);
- Assert.notEqual(values[0].streamID, values[1].streamID);
-});
-
-add_task(async function do_test_http2_big() {
- const { httpProxyConnectResponseCode } = await test_http2_big(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_huge_suspended() {
- const { httpProxyConnectResponseCode } = await test_http2_huge_suspended(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_post() {
- const { httpProxyConnectResponseCode } = await test_http2_post(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_empty_post() {
- const { httpProxyConnectResponseCode } = await test_http2_empty_post(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_patch() {
- const { httpProxyConnectResponseCode } = await test_http2_patch(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_blocking_download() {
- const { httpProxyConnectResponseCode } = await test_http2_blocking_download(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_illegalhpacksoft() {
- const { httpProxyConnectResponseCode } = await test_http2_illegalhpacksoft(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_illegalhpackhard() {
- const { httpProxyConnectResponseCode } = await test_http2_illegalhpackhard(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_folded_header() {
- const { httpProxyConnectResponseCode } = await test_http2_folded_header(
- loadGroup,
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_empty_data() {
- const { httpProxyConnectResponseCode } = await test_http2_empty_data(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_status_phrase() {
- const { httpProxyConnectResponseCode } = await test_http2_status_phrase(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_h11required_stream() {
- // Add new tests above here - best to add new tests before h1
- // streams get too involved
- // These next two must always come in this order
- const { httpProxyConnectResponseCode } = await test_http2_h11required_stream(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_h11required_session() {
- const { httpProxyConnectResponseCode } = await test_http2_h11required_session(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_retry_rst() {
- const { httpProxyConnectResponseCode } = await test_http2_retry_rst(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_wrongsuite_tls13() {
- const { httpProxyConnectResponseCode } = await test_http2_wrongsuite_tls13(
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
-
-add_task(async function do_test_http2_continuations_over_max_response_limit() {
- const { httpProxyConnectResponseCode } =
- await test_http2_continuations_over_max_response_limit(
- loadGroup,
- serverPort,
- "foo.example.com"
- );
- Assert.equal(httpProxyConnectResponseCode, 200);
-});
diff --git a/netwerk/test/unit/xpcshell.toml b/netwerk/test/unit/xpcshell.toml
@@ -709,16 +709,6 @@ skip-if = ["os == 'android'"]
run-sequentially = ["true"] # node server exceptions dont replay well
head = "head_channels.js head_cache.js head_cookies.js head_trr.js head_http3.js http2_test_common.js"
-["test_http2_with_http3_proxy.js"]
-run-sequentially = ["true"] # node server exceptions dont replay well
-head = "head_channels.js head_cache.js head_cookies.js head_trr.js head_http3.js http2_test_common.js"
-skip-if = [
- "os == 'android' && os_version == '14' && processor == 'x86_64'", # Bug 1982955
- "os == 'win' && os_version == '10.2009' && processor == 'x86_64'", # Bug 1807931
- "os == 'win' && os_version == '11.26100' && processor == 'x86'", # Bug 1807931
- "os == 'win' && os_version == '11.26100' && processor == 'x86_64' && msix", # Bug 1807931
-]
-
["test_http3.js"]
head = "head_cookies.js head_channels.js head_cache.js head_http3.js http3_common.js"
run-sequentially = ["true"] # http3server