aboutsummaryrefslogtreecommitdiff
path: root/request/request.go
diff options
context:
space:
mode:
Diffstat (limited to 'request/request.go')
-rw-r--r--request/request.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/request/request.go b/request/request.go
index 0ce341a1b..0bca1a405 100644
--- a/request/request.go
+++ b/request/request.go
@@ -361,6 +361,24 @@ func (r *Request) Clear() {
r.name = ""
}
+// Match checks if the reply matches the qname and qtype from the request, it returns
+// false when they don't match.
+func (r *Request) Match(reply *dns.Msg) bool {
+ if len(reply.Question) != 1 {
+ return false
+ }
+
+ if strings.ToLower(reply.Question[0].Name) != r.Name() {
+ return false
+ }
+
+ if reply.Question[0].Qtype != r.QType() {
+ return false
+ }
+
+ return true
+}
+
const (
// TODO(miek): make this less awkward.
doTrue = 1