refused handler added

This commit is contained in:
Miek Gieben 2011-04-03 13:43:46 +02:00
parent 16be743198
commit 0241a65caa
1 changed files with 10 additions and 11 deletions

View File

@ -78,20 +78,20 @@ func (f HandlerFunc) ServeDNS(w ResponseWriter, r *Msg) {
// Helper handlers
// Error replies to the request with the specified error msg TODO(mg)
/*
func Error(w ResponseWriter) { }
func NotFound(w ResponseWriter, r *Msg) {
func NotFoundHandler() Handler { return HandlerFunc(NotFound) }
*/
func Refused(w ResponseWriter, r *Msg) {
m := new(Msg)
m.SetReply(r)
m.MsgHdr.Rcode = RcodeRefused
buf, _ := m.Pack()
w.Write(buf)
}
// RefusedHandler return a REFUSED answer
func RefusedHandler() Handler { return HandlerFunc(Refused) }
func ListenAndServe(addr string, network string, handler Handler) os.Error {
server := &Server{Addr: addr, Network: network, Handler: handler}
return server.ListenAndServe()
}
func zoneMatch(pattern, zone string) bool {
@ -135,8 +135,7 @@ func (mux *ServeMux) HandleFunc(pattern string, handler func(ResponseWriter, *Ms
func (mux *ServeMux) ServeDNS(w ResponseWriter, request *Msg) {
h := mux.match(request.Question[0].Name)
if h == nil {
panic("No hander found")
// h = NotFoundHandler()
h = RefusedHandler()
}
h.ServeDNS(w, request)
}