This commit is contained in:
Miek Gieben 2012-08-31 10:13:21 +02:00
parent a0e3423d8e
commit 9242855153
2 changed files with 10 additions and 10 deletions

View File

@ -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()
} }
} }

View File

@ -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)