/*
* Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
*
* This file is licensed under AGPL-3.0-or-later, see NOTICE and LICENSE for
* more information.
*/
package dns
import (
"log"
"github.com/miekg/dns"
)
func parseQuery(m *dns.Msg, r *dns.Msg) {
for _, q := range m.Question {
switch q.Qtype {
case dns.TypeA:
handleARecord(&q, m, r)
}
}
}
func handleARecord(q *dns.Question, m *dns.Msg, r *dns.Msg) {
log.Printf("[felu/dns] Query for '%s'", q.Name)
// fetch from db here
// if found do this:
//m.Answer = append(m.Answer, &dns,A{
// Hdr: dns.RR_Header{ Name: q.Name, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 60 },
// A: net.ParseIP(THEIPGOTTENFROMDBLOLOLOLO)
//}
// else, do this:
m.SetRcode(r, dns.RcodeNameError)
}