Commit graph

14 commits

Author SHA1 Message Date
Miek Gieben
4e3c82bec5 CNAMEs targets should be in answer section.
A target of a cname must be put in the answer section. Fix this and add
a AAAA test for quad-AAAA CNAME responses.

Fixes #125
2016-04-16 17:55:11 +01:00
Miek Gieben
e294c95582 middleware/file: Support delegations (#124)
Return a delegation when seeing one while traversing the tree in
search of an answer.

Put the SOA and NS record in the zone.Apex as these are to be handled
somewhat special.

Lowercase record on insert to make compares easier. This lowercases
all RR that have domain names in their rdata as well.
2016-04-16 16:16:52 +01:00
Miek Gieben
2adbdf34d9 Use qname/qtype for lookups
Drop the use of dns.RR when in fact the only thing we use is the name

and type of the RR. Cleans up a bunch of stuff and also stops the weird

making of dns.RRs just for a lookup. Should safe some memory as well.



Fixes: #66
2016-04-02 17:49:13 +01:00
Miek Gieben
9b21646954 empty non-terminal support
When looking for a name in tree, return wether we got to a longer one -

if so we had an ent. Add tests + dnssec tests and refactor the tests as

well a bit.
2016-04-02 16:56:16 +01:00
Miek Gieben
09c94fa443 Positive wildcare replies
Reply to queries when you have a wildcard in the zone. This works
for DNS and DNSSEC. Thing missing is NODATA responses for that specific
wildcard.

Add wildcard_test.go as well.
2016-03-31 21:47:44 +01:00
Miek Gieben
3591e2a6aa Add nameerror proof 2016-03-30 20:47:38 +01:00
Miek Gieben
bf6d90600b add closest encloser stuff 2016-03-30 16:45:02 +00:00
Miek Gieben
9ba31ceb87 Think about wildcards 2016-03-30 13:26:51 +00:00
Miek Gieben
ec69798ca2 Add the nsecs for nxdomain 2016-03-30 13:26:51 +00:00
Miek Gieben
b67ecb3e55 More nameerror stuff 2016-03-30 13:26:51 +00:00
Miek Gieben
4be4d92ccb Fix positive replies 2016-03-30 13:25:45 +00:00
Miek Gieben
547a4ab2a8 More stuff 2016-03-30 13:25:45 +00:00
Miek Gieben
48f7d55f27 Get positive dnssec stuff going 2016-03-30 13:25:45 +00:00
Miek Gieben
5387c162c9 Implement a DNS zone
Full implementation, DNS (and in the future DNSSEC). Returns answer in a
hopefully standards compliant way.
Testing with my miek.nl zone are included as well.
This should correctly handle nodata, nxdomain and cnames.
2016-03-28 10:15:05 +01:00