From 35690c5d4665f48a97dae0e462cbb8b89ea85b16 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 27 Nov 2020 10:38:16 +0700 Subject: [PATCH] disable key updates when using HTTP/3 to avoid breaking Chrome 87 --- http3/server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/http3/server.go b/http3/server.go index 414f92661..805b4e66b 100644 --- a/http3/server.go +++ b/http3/server.go @@ -7,6 +7,7 @@ import ( "errors" "fmt" "io" + "math" "net" "net/http" "runtime" @@ -22,6 +23,13 @@ import ( "github.com/marten-seemann/qpack" ) +func init() { + // Chrome compatibility mode: + // Chrome 87 doesn't support key updates (support was added in Chrome 88). + // Don't initiate key updates to avoid breaking large downloads. + handshake.KeyUpdateInterval = math.MaxUint64 +} + // allows mocking of quic.Listen and quic.ListenAddr var ( quicListen = quic.ListenEarly