/*
-tofuproxy -- flexible HTTP proxy, TLS terminator, X.509 certificates
- manager, WARC/Gemini browser
-Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
+tofuproxy -- flexible HTTP/HTTPS proxy, TLS terminator, X.509 TOFU
+ manager, WARC/geminispace browser
+Copyright (C) 2021-2022 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
"fmt"
"log"
"net/http"
- "strings"
"time"
+
+ ttls "go.stargrave.org/tofuproxy/tls"
)
var (
req.Proto,
http.StatusOK, http.StatusText(http.StatusOK),
)))
- host := strings.Split(req.Host, ":")[0]
+ host, _, _ := ttls.SplitHostPort(req.Host)
hostCertsM.Lock()
keypair, ok := hostCerts[host]
if !ok || !keypair.cert.NotAfter.After(time.Now().Add(time.Hour)) {