commit - 598b53e1e47686b8c47241b874109f3b70c5f2d1
commit + ed53ec5febe195955fd7f0bf9befeec804bf3b52
blob - 668d6c3ac27c5a8ebd08e80cfaa5aed11f0868a6
blob + 3df79839d172a29ad3cc80439a6b0383ee0260f8
--- server.go
+++ server.go
// does not set a Handler.
var DefaultHandler = Refuse
-// FormatError replies to the message with a Format Error message.
-func FormatError(w ResponseWriter, msg *dnsmessage.Message) {
+func respError(w ResponseWriter, msg *dnsmessage.Message, rcode dnsmessage.RCode) {
w.WriteMsg(dnsmessage.Message{
Header: dnsmessage.Header{
ID: msg.Header.ID,
Response: true,
RecursionDesired: msg.Header.RecursionDesired,
- RCode: dnsmessage.RCodeFormatError,
+ RCode: rcode,
},
Questions: msg.Questions,
})
}
+// FormatError replies to the message with a Format Error message.
+func FormatError(w ResponseWriter, msg *dnsmessage.Message) {
+ respError(w, msg, dnsmessage.RCodeFormatError)
+}
+
// ServerFailure replies to the message with a Server Failure (SERVFAIL) message.
func ServerFailure(w ResponseWriter, msg *dnsmessage.Message) {
- w.WriteMsg(dnsmessage.Message{
- Header: dnsmessage.Header{
- ID: msg.Header.ID,
- Response: true,
- RecursionDesired: msg.Header.RecursionDesired,
- RCode: dnsmessage.RCodeServerFailure,
- },
- Questions: msg.Questions,
- })
+ respError(w, msg, dnsmessage.RCodeServerFailure)
}
// NotImplemented replies to the message with a Format Error message.
func NotImplemented(w ResponseWriter, msg *dnsmessage.Message) {
- w.WriteMsg(dnsmessage.Message{
- Header: dnsmessage.Header{
- ID: msg.Header.ID,
- Response: true,
- RecursionDesired: msg.Header.RecursionDesired,
- RCode: dnsmessage.RCodeNotImplemented,
- },
- Questions: msg.Questions,
- })
+ respError(w, msg, dnsmessage.RCodeNotImplemented)
}
// Refuse replies to the message with a Refused message.
func Refuse(w ResponseWriter, msg *dnsmessage.Message) {
- w.WriteMsg(dnsmessage.Message{
- Header: dnsmessage.Header{
- ID: msg.Header.ID,
- Response: true,
- RecursionDesired: msg.Header.RecursionDesired,
- RCode: dnsmessage.RCodeRefused,
- },
- Questions: msg.Questions,
- })
+ respError(w, msg, dnsmessage.RCodeRefused)
}
// NameError replies to the message with a Name error (NXDOMAIN) message.