All together now

Responder renamed to server and folded back into the
main dns package
This commit is contained in:
Miek Gieben 2011-02-08 21:26:40 +01:00
parent 7adcf8b240
commit ea180d5051
2 changed files with 4 additions and 21 deletions

View File

@ -18,7 +18,7 @@ GOFILES=\
nsec3.go\ nsec3.go\
resolver.go\ resolver.go\
config.go\ config.go\
responder.go server.go
# y.go\ # y.go\
include $(GOROOT)/src/Make.pkg include $(GOROOT)/src/Make.pkg
@ -26,14 +26,6 @@ include $(GOROOT)/src/Make.pkg
#y.go: dns.y #y.go: dns.y
# goyacc dns.y # goyacc dns.y
all: package
gomake -C responder package
dnstest:
gotest
gomake -C responder test
_examples: _examples:
gomake -C _examples gomake -C _examples

View File

@ -20,22 +20,13 @@
// var m *myserv // var m *myserv
// ch :=make(chan bool) // ch :=make(chan bool)
// go s.NewResponder(m, ch) // start the responder // go s.NewResponder(m, ch) // start the responder
package responder package dns
import ( import (
"os" "os"
"net" "net"
"dns"
) )
type msg struct {
udp *net.UDPConn // udp conn
tcp *net.TCPConn // tcp conn
addr net.Addr // remote address
msg []byte // raw dns message
err os.Error // any errors
}
// Every nameserver implements the Hander interface. It defines // Every nameserver implements the Hander interface. It defines
// the kind of nameserver // the kind of nameserver
type Handler interface { type Handler interface {
@ -56,7 +47,7 @@ func ServeUDP(l *net.UDPConn, handler Handler) os.Error {
// handler == DefaultServer // handler == DefaultServer
} }
for { for {
m := make([]byte, dns.DefaultMsgSize) // TODO(mg) out of this loop? m := make([]byte, DefaultMsgSize) // TODO(mg) out of this loop?
n, radd, err := l.ReadFromUDP(m) n, radd, err := l.ReadFromUDP(m)
if err != nil { if err != nil {
return err return err
@ -84,7 +75,7 @@ func ServeTCP(l *net.TCPListener, handler Handler) os.Error {
} }
length := uint16(b[0])<<8 | uint16(b[1]) length := uint16(b[0])<<8 | uint16(b[1])
if length == 0 { if length == 0 {
return &dns.Error{Error: "received nil msg length"} return &Error{Error: "received nil msg length"}
} }
m := make([]byte, length) m := make([]byte, length)