Disable QUIC by default
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
DataHoarder 2022-01-18 09:57:23 +01:00
parent 36cf69c1f5
commit f73903d216

View file

@ -772,6 +772,8 @@ func main() {
debugOption := flag.Bool("debug", false, "Output debug information.")
http3Option := flag.Bool("http3", false, "Enable HTTP/3")
signatureCacheLimitOption := flag.Int("siglimit", 4096, "Maximum number of lingering valid signature cache results.")
flag.Parse()
@ -916,42 +918,45 @@ func main() {
}
}(&wg)
wg.Add(1)
go func(wg *sync.WaitGroup) {
defer wg.Done()
if *http3Option {
server := &http3.Server{
Server: &http.Server{
Addr: *listenAddress,
TLSConfig: &tls.Config{
GetCertificate: func(info *tls.ClientHelloInfo) (*tls.Certificate, error) {
if isSNIAllowed(info.ServerName) {
return &serverCertificate, nil
}
return &bogusCertificate, nil
wg.Add(1)
go func(wg *sync.WaitGroup) {
defer wg.Done()
server := &http3.Server{
Server: &http.Server{
Addr: *listenAddress,
TLSConfig: &tls.Config{
GetCertificate: func(info *tls.ClientHelloInfo) (*tls.Certificate, error) {
if isSNIAllowed(info.ServerName) {
return &serverCertificate, nil
}
return &bogusCertificate, nil
},
},
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if debugOutput {
log.Print("Received HTTP/3 request")
}
handle(NewRequestContextFromHttp(w, r))
}),
},
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if debugOutput {
log.Print("Received HTTP/3 request")
}
handle(NewRequestContextFromHttp(w, r))
}),
},
}
}
h := http.Header{}
server.SetQuicHeaders(h)
extraHeadersMutex.Lock()
extraHeaders["Alt-Svc"] = h.Get("Alt-Svc")
extraHeadersMutex.Unlock()
h := http.Header{}
server.SetQuicHeaders(h)
extraHeadersMutex.Lock()
extraHeaders["Alt-Svc"] = h.Get("Alt-Svc")
extraHeadersMutex.Unlock()
log.Printf("Serving UDP on %s", *listenAddress)
err = server.ListenAndServe()
if err != nil {
log.Panic(err)
}
}(&wg)
log.Printf("Serving UDP on %s", *listenAddress)
err = server.ListenAndServe()
if err != nil {
log.Panic(err)
}
}(&wg)
}
wg.Wait()
}