mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-12-22 01:57:12 -05:00
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:
parent
7dbd3802bb
commit
8de2f27043
@ -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,
|
||||
})
|
||||
|
||||
|
@ -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++ {
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user