mirror of
https://github.com/wweir/sower.git
synced 2024-04-21 12:42:15 +00:00
fix DNS forword issue, inspired by skydns
This commit is contained in:
@@ -52,6 +52,9 @@ func (r *Router) ServeDNS(w dns.ResponseWriter, req *dns.Msg) {
|
||||
default:
|
||||
conn.Close()
|
||||
}
|
||||
|
||||
resp.Id = req.Id
|
||||
resp.Compress = true
|
||||
w.WriteMsg(resp)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -138,5 +138,5 @@ func (r *Router) ProxyHandle(conn net.Conn, domain string, port uint16) error {
|
||||
|
||||
func (r *Router) DirectHandle(conn net.Conn, addr string) error {
|
||||
dur, err := util.RelayTo(conn, addr)
|
||||
return errors.Wrapf(err, "direct relay to (%s), spend (%s)", addr, dur)
|
||||
return errors.Wrapf(err, "spend (%s)", dur)
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ func RelayTo(conn net.Conn, addr string) (dur time.Duration, err error) {
|
||||
start := time.Now()
|
||||
rc, err := net.DialTimeout("tcp", addr, 5*time.Second)
|
||||
if err != nil {
|
||||
return time.Since(start), errors.Wrapf(err, "dial %s", addr)
|
||||
return time.Since(start), errors.WithStack(err)
|
||||
}
|
||||
defer rc.Close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user