fix rest
This commit is contained in:
parent
a0e3423d8e
commit
9242855153
|
@ -126,13 +126,13 @@ func TestPack(t *testing.T) {
|
||||||
x.Answer = make([]RR, 1)
|
x.Answer = make([]RR, 1)
|
||||||
x.Answer[0], err = NewRR(rr[0])
|
x.Answer[0], err = NewRR(rr[0])
|
||||||
if _, ok := x.Pack(); ok {
|
if _, ok := x.Pack(); ok {
|
||||||
t.Log("Packing failed")
|
t.Log("Packing should fail")
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
x.Question = make([]Question, 1)
|
x.Question = make([]Question, 1)
|
||||||
x.Question[0] = Question{";sd#eddddséâèµââ
â¥âxzztsestxssweewwsssstx@s@Zåµe@cn.pool.ntp.org.", TypeA, ClassINET}
|
x.Question[0] = Question{";sd#eddddséâèµââ
â¥âxzztsestxssweewwsssstx@s@Zåµe@cn.pool.ntp.org.", TypeA, ClassINET}
|
||||||
if _, ok := x.Pack(); !ok {
|
if _, ok := x.Pack(); ok {
|
||||||
t.Log("Packing failed")
|
t.Log("Packing should fail")
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
14
server.go
14
server.go
|
@ -191,7 +191,7 @@ func (srv *Server) ListenAndServe() error {
|
||||||
if e != nil {
|
if e != nil {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
return srv.ServeTCP(l)
|
return srv.serveTCP(l)
|
||||||
case "udp", "udp4", "udp6":
|
case "udp", "udp4", "udp6":
|
||||||
a, e := net.ResolveUDPAddr(srv.Net, addr)
|
a, e := net.ResolveUDPAddr(srv.Net, addr)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
|
@ -201,14 +201,14 @@ func (srv *Server) ListenAndServe() error {
|
||||||
if e != nil {
|
if e != nil {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
return srv.ServeUDP(l)
|
return srv.serveUDP(l)
|
||||||
}
|
}
|
||||||
return &Error{Err: "bad network"}
|
return &Error{Err: "bad network"}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ServeTCP starts a TCP listener for the server.
|
// serveTCP starts a TCP listener for the server.
|
||||||
// Each request is handled in a seperate goroutine.
|
// Each request is handled in a seperate goroutine.
|
||||||
func (srv *Server) ServeTCP(l *net.TCPListener) error {
|
func (srv *Server) serveTCP(l *net.TCPListener) error {
|
||||||
defer l.Close()
|
defer l.Close()
|
||||||
handler := srv.Handler
|
handler := srv.Handler
|
||||||
if handler == nil {
|
if handler == nil {
|
||||||
|
@ -259,9 +259,9 @@ forever:
|
||||||
panic("dns: not reached")
|
panic("dns: not reached")
|
||||||
}
|
}
|
||||||
|
|
||||||
// ServeUDP starts a UDP listener for the server.
|
// serveUDP starts a UDP listener for the server.
|
||||||
// Each request is handled in a seperate goroutine.
|
// Each request is handled in a seperate goroutine.
|
||||||
func (srv *Server) ServeUDP(l *net.UDPConn) error {
|
func (srv *Server) serveUDP(l *net.UDPConn) error {
|
||||||
defer l.Close()
|
defer l.Close()
|
||||||
handler := srv.Handler
|
handler := srv.Handler
|
||||||
if handler == nil {
|
if handler == nil {
|
||||||
|
@ -321,7 +321,7 @@ func (c *conn) close() {
|
||||||
func (c *conn) serve() {
|
func (c *conn) serve() {
|
||||||
// for block to make it easy to break out to close the tcp connection
|
// for block to make it easy to break out to close the tcp connection
|
||||||
for {
|
for {
|
||||||
// Request has been read in ServeUDP or ServeTCP
|
// Request has been read in serveUDP or serveTCP
|
||||||
w := new(response)
|
w := new(response)
|
||||||
w.conn = c
|
w.conn = c
|
||||||
req := new(Msg)
|
req := new(Msg)
|
||||||
|
|
Loading…
Reference in New Issue