fix protocol matching in routing (#2540)

* remove invalid http2 sniffer

* do not set metadata protocol for http inbound

http inbound may have transport settings

* fix doh metadata protocol
This commit is contained in:
dyhkwong
2023-09-14 08:27:36 +08:00
committed by GitHub
parent 7dbd3802bb
commit 8de2f27043
3 changed files with 5 additions and 22 deletions
+1 -1
View File
@@ -231,7 +231,7 @@ func (s *DoHNameServer) sendQuery(ctx context.Context, domain string, clientIP n
}
dnsCtx = session.ContextWithContent(dnsCtx, &session.Content{
Protocol: "https",
Protocol: "tls",
SkipDNSResolve: true,
})
+3 -18
View File
@@ -11,25 +11,12 @@ import (
type version byte
const (
HTTP1 version = iota
HTTP2
)
type SniffHeader struct {
version version
host string
host string
}
func (h *SniffHeader) Protocol() string {
switch h.version {
case HTTP1:
return "http1"
case HTTP2:
return "http2"
default:
return "unknown"
}
return "http1"
}
func (h *SniffHeader) Domain() string {
@@ -62,9 +49,7 @@ func SniffHTTP(b []byte) (*SniffHeader, error) {
return nil, err
}
sh := &SniffHeader{
version: HTTP1,
}
sh := &SniffHeader{}
headers := bytes.Split(b, []byte{'\n'})
for i := 1; i < len(headers); i++ {
+1 -3
View File
@@ -242,9 +242,7 @@ func (s *Server) handlePlainHTTP(ctx context.Context, request *http.Request, wri
request.Header.Set("User-Agent", "")
}
content := &session.Content{
Protocol: "http/1.1",
}
content := &session.Content{}
content.SetAttribute(":method", strings.ToUpper(request.Method))
content.SetAttribute(":path", request.URL.Path)