Fix documentation
This commit is contained in:
parent
b2fadde636
commit
14a8b3c2f2
|
@ -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)
|
||||
|
|
|
@ -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
4
xfr.go
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue