Fix documentation

This commit is contained in:
Miek Gieben 2012-08-28 19:53:21 +02:00
parent b2fadde636
commit 14a8b3c2f2
3 changed files with 6 additions and 4 deletions

View File

@ -91,6 +91,8 @@ func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
3600)`)
c <- &dns.XfrToken{RR: []dns.RR{soa, t, rr, soa}}
close(c)
w.Hijack()
w.Close()
return
case dns.TypeTXT:
m.Answer = append(m.Answer, t)

View File

@ -43,12 +43,12 @@ type conn struct {
request []byte // bytes read
_UDP *net.UDPConn // i/o connection if UDP was used
_TCP *net.TCPConn // i/o connection if TCP was used
hijacked bool // connection has been hijacked by hander TODO(mg)
tsigSecret map[string]string // the tsig secrets
}
type response struct {
conn *conn
hijacked bool // connection has been hijacked by handler
req *Msg
tsigStatus error
tsigTimersOnly bool
@ -336,7 +336,7 @@ func (c *conn) serve() {
}
w.req = req
c.handler.ServeDNS(w, w.req) // this does the writing back to the client
if c.hijacked {
if w.hijacked {
// client takes care of the connection, i.e. calls Close()
return
}

4
xfr.go
View File

@ -156,6 +156,7 @@ func checkXfrSOA(in *Msg, first bool) bool {
// c := make(chan *XfrToken)
// var e *error
// err := XfrSend(w, q, c, e)
// w.Hijack()
// for _, rrset := range rrsets { // rrset is a []RR
// c <- &{XfrToken{RR: rrset}
// if e != nil {
@ -163,6 +164,7 @@ func checkXfrSOA(in *Msg, first bool) bool {
// break
// }
// }
// w.Close()
func XfrSend(w ResponseWriter, q *Msg, c chan *XfrToken, e *error) error {
switch q.Question[0].Qtype {
case TypeAXFR, TypeIXFR:
@ -181,7 +183,6 @@ func axfrSend(w ResponseWriter, req *Msg, c chan *XfrToken, e *error) {
rep.MsgHdr.Authoritative = true
for x := range c {
println("got some", len(x.RR))
// assume it fits
rep.Answer = append(rep.Answer, x.RR...)
println(rep.String())
@ -192,5 +193,4 @@ func axfrSend(w ResponseWriter, req *Msg, c chan *XfrToken, e *error) {
w.TsigTimersOnly(true)
rep.Answer = nil
}
w.Close() // Hijack
}