update tun2socket & fix crash on tcp dns query

This commit is contained in:
Kr328 committed 2020-03-30 13:09:36 +08:00
1 parent c8205d3f95
commit 5ea22cecad
3 files changed
+8 -6

No files matched your search

+1 -1
View File
@@ -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
+1 -4
View File
@@ -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=
+6 -1
View File
@@ -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
}