Handle lowercase websocket upgrade headers

This commit is contained in:
Elias Renman
2026-06-25 16:30:44 +02:00
parent d9bfe141a3
commit e3d1049fd7

View File

@@ -69,6 +69,18 @@ diff --git a/internal/telebit/connwrap.go b/internal/telebit/connwrap.go
// isEncrypted returns true if peeking at net.Conn reveals that it is TLS-encrypted
func (c *ConnWrap) isEncrypted() bool {
if nil != c.encrypted {
diff --git a/internal/telebit/admin.go b/internal/telebit/admin.go
--- a/internal/telebit/admin.go
+++ b/internal/telebit/admin.go
@@ -223,7 +223,7 @@ func upgradeWebsocket(w http.ResponseWriter, r *http.Request) {
log.Println("websocket opening ", r.RemoteAddr, " ", r.Host)
w.Header().Set("Content-Type", "application/json")
- if "Upgrade" != r.Header.Get("Connection") && "WebSocket" != r.Header.Get("Upgrade") {
+ if "upgrade" != strings.ToLower(r.Header.Get("Connection")) && "websocket" != strings.ToLower(r.Header.Get("Upgrade")) {
w.Write(apiNotFoundContent)
return
}
diff --git a/internal/telebit/routemux.go b/internal/telebit/routemux.go
--- a/internal/telebit/routemux.go
+++ b/internal/telebit/routemux.go