Dont answer responses even in test code
This commit is contained in:
parent
0d36c44a8e
commit
04f2bf449a
|
@ -32,6 +32,9 @@ func (s *server) ResponderUDP(c *net.UDPConn, a net.Addr, in []byte) {
|
|||
// NXdomain 'n stuff
|
||||
println("Unpacking failed")
|
||||
}
|
||||
if inmsg.Hdr.Response == true {
|
||||
return // Don't answer responses
|
||||
}
|
||||
m := new(dns.Msg)
|
||||
m.MsgHdr.Id = inmsg.MsgHdr.Id
|
||||
m.MsgHdr.Authoritative = true
|
||||
|
@ -63,7 +66,15 @@ func (s *server) ResponderUDP(c *net.UDPConn, a net.Addr, in []byte) {
|
|||
}
|
||||
|
||||
func (s *server) ResponderTCP(c *net.TCPConn, in []byte) {
|
||||
return
|
||||
inmsg := new(dns.Msg)
|
||||
if !inmsg.Unpack(in) {
|
||||
// NXdomain 'n stuff
|
||||
println("Unpacking failed")
|
||||
}
|
||||
if inmsg.Hdr.Response == true {
|
||||
return // Don't answer responses
|
||||
}
|
||||
return // we are lazy and don't support tcp
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
|
|
@ -25,6 +25,9 @@ func (s *server) ResponderUDP(c *net.UDPConn, a net.Addr, in []byte) {
|
|||
// NXdomain 'n stuff
|
||||
println("Unpacking failed")
|
||||
}
|
||||
if inmsg.MsgHdr.Response == true {
|
||||
return // don't answer responses
|
||||
}
|
||||
m := new(dns.Msg)
|
||||
m.MsgHdr.Id = inmsg.MsgHdr.Id
|
||||
m.MsgHdr.Response = true
|
||||
|
|
|
@ -36,6 +36,11 @@ func createpkg(id uint16, tcp bool, remove net.Addr) []byte {
|
|||
func (s *myserv) ResponderUDP(c *net.UDPConn, a net.Addr, in []byte) {
|
||||
inmsg := new(dns.Msg)
|
||||
inmsg.Unpack(in)
|
||||
if inmsg.MsgHdr.Response == true {
|
||||
// Uh... answering to an response??
|
||||
// dont think so
|
||||
return
|
||||
}
|
||||
out := createpkg(inmsg.MsgHdr.Id, false, a)
|
||||
SendUDP(out, c, a)
|
||||
// Meta.QLen/RLen/QueryStart/QueryEnd can be filled in at
|
||||
|
@ -45,6 +50,11 @@ func (s *myserv) ResponderUDP(c *net.UDPConn, a net.Addr, in []byte) {
|
|||
func (s *myserv) ResponderTCP(c *net.TCPConn, in []byte) {
|
||||
inmsg := new(dns.Msg)
|
||||
inmsg.Unpack(in)
|
||||
if inmsg.MsgHdr.Response == true {
|
||||
// Uh... answering to an response??
|
||||
// dont think so
|
||||
return
|
||||
}
|
||||
out := createpkg(inmsg.MsgHdr.Id, true, c.RemoteAddr())
|
||||
SendTCP(out, c)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue