update tun2socket & fix crash on tcp dns query
This commit is contained in:
3 files changed
+8
-6
No files matched your search
@@ -4,7 +4,7 @@ go 1.13
|
||||
|
||||
require (
|
||||
github.com/Dreamacro/clash v0.0.0 // local
|
||||
github.com/kr328/tun2socket v0.0.0-20200329121007-30f448e4366d // indirect
|
||||
github.com/kr328/tun2socket v0.0.0-20200329184923-76cc473668aa // indirect
|
||||
)
|
||||
|
||||
replace github.com/Dreamacro/clash => ./clash
|
||||
@@ -8,10 +8,7 @@ github.com/go-chi/render v1.0.1/go.mod h1:pq4Rr7HbnsdaeHagklXub+p6Wd16Af5l9koip1
|
||||
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr328/tun2socket v0.0.0-20200329072230-e1e678c554ba h1:pFZTPa+tZ/8kh4nL+JeUPyS3sY7OH5TCx75GDoVB/Qc=
|
||||
github.com/kr328/tun2socket v0.0.0-20200329072230-e1e678c554ba/go.mod h1:FWfSixjrLgtK+dHkDoN6lHMNhvER24gnjUZd/wt8Z9o=
|
||||
github.com/kr328/tun2socket v0.0.0-20200329121007-30f448e4366d h1:61CwLyFpxvrOH58EnYmTlI9rENhpPy/zf+DoSUg0RB4=
|
||||
github.com/kr328/tun2socket v0.0.0-20200329121007-30f448e4366d/go.mod h1:FWfSixjrLgtK+dHkDoN6lHMNhvER24gnjUZd/wt8Z9o=
|
||||
github.com/kr328/tun2socket v0.0.0-20200329184923-76cc473668aa/go.mod h1:FWfSixjrLgtK+dHkDoN6lHMNhvER24gnjUZd/wt8Z9o=
|
||||
github.com/miekg/dns v1.1.29/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
|
||||
github.com/oschwald/geoip2-golang v1.4.0/go.mod h1:8QwxJvRImBH+Zl6Aa6MaIcs5YdlZSTKtzmPGzQqi9ng=
|
||||
github.com/oschwald/maxminddb-golang v1.6.0/go.mod h1:DUJFucBg2cvqx42YmDa/+xHvb0elJtOm3o4aFQ/nb/w=
|
||||
|
||||
@@ -74,7 +74,12 @@ func hijackTCPDNS(conn net.Conn, endpoint *binding.Endpoint) bool {
|
||||
data := make([]byte, length)
|
||||
msg := &D.Msg{}
|
||||
|
||||
if err := msg.Unpack(data); err != nil {
|
||||
_, err := io.ReadFull(conn, data)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if err := msg.Unpack(data); err != nil || len(msg.Question) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user