Commits
- Commit:
355f00a27e0b5415caa88c3b59f61dfa4fa42279
- From:
- Oliver Lowe <o@olowe.co>
- Date:
Update godoc link to working host
- Commit:
08629ce995314c6ed4761911338d6f02a5d3b484
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: consistent doc format
- Commit:
32fb5e1b072c805eea80c9150f648d849edc963a
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: upgrade golang.org/x/net to stable release
- Commit:
b35d6340d594a820bb31e3beb1a2446b89a0d8da
- From:
- Oliver Lowe <o@olowe.co>
- Date:
Correct godoc links
- Commit:
8960d9d808cecb41ae6bf023cec57c0e133c77c6
- From:
- Oliver Lowe <o@olowe.co>
- Date:
ignore built recursor binary
- Commit:
32888e323dda0ea3d9a7112643732358d57509e3
- From:
- Oliver Lowe <o@olowe.co>
- Date:
minor doc typos
- Commit:
ed53ec5febe195955fd7f0bf9befeec804bf3b52
- From:
- Oliver Lowe <o@olowe.co>
- Date:
server: dedupe WriteMsg logic on error msg responses
- Commit:
598b53e1e47686b8c47241b874109f3b70c5f2d1
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: add Handlers for common server responses
this takes more stuff out of cmd/recursor that could be used by other
servers.
While here reject even more qtypes from recursive resolution
- Commit:
f62764615c3e0fa8465b5bdf32fd067841e9fb91
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns_test: add example dns.Handler
- Commit:
60703b621feba1f8aff3879589ef37a0b466801a
- From:
- Oliver Lowe <o@olowe.co>
- Date:
cmd/recursor: return error when no more servers to ask
So we eturn SERVFAIL correctly to clients, the same way that
Cloudflare, quad9 et al. do.
- Commit:
2cf560f78905b6f035e5eb06dfeae712d2346370
- From:
- Oliver Lowe <o@olowe.co>
- Date:
cmd/recursor: test resolving a wrongly delegated domain
- Commit:
769cb642185672c6028e5169628823cbdffcf718
- From:
- Oliver Lowe <o@olowe.co>
- Date:
cmd/recursor: only filter matching RRs for cache when needed
- Commit:
590fd1b7ff6f75bd5afaea2e2db06d8063841c17
- From:
- Oliver Lowe <o@olowe.co>
- Date:
cmd/recursor: comments on caching records
With an explanation of why we lookup before we insert into the cache
- Commit:
b141f1193309066d69c8a1759da0d6cf4d6d60b7
- From:
- Oliver Lowe <o@olowe.co>
- Date:
gofmt
- Commit:
9ecb07389b456761ee8a4e23e62be9f58b030937
- From:
- Oliver Lowe <o@olowe.co>
- Date:
doc: tutorial with the even simpler Ask function
that is the simplest operation, not Exchange (anymore)!
- Commit:
dc137f704dec33e5b5ab4cdb9548bb3b0d5bee3d
- From:
- Oliver Lowe <o@olowe.co>
- Date:
cmd/recursor: bail out on query loop
Pretty easy fix: just keep track of where we're up to each time we
call resolve().
Fixes: https://todo.sr.ht/~otl/dns/4
- Commit:
d5834ac9c24e2b94ddd01468976b08de9bb90ce8
- From:
- Oliver Lowe <o@olowe.co>
- Date:
cmd/recursor: rewrite cache and recursor algorithm
Now we only ever send queries to nameservers, not just things we
happen to find in the additional section of a reply.
This change also does caching more nicely; cache any records that we
get from nameservers. Authoritative answers get priority.
Fixes: https://todo.sr.ht/~otl/dns/4
- Commit:
16fb0dea8a6bd2b750ffd7f706401125f18d222a
- From:
- Oliver Lowe <o@olowe.co>
- Date:
recursor: set more correct header bits in response
This is what quad9 and google's dns resolver do
- Commit:
a7c06b85bf15297629c13f8aae6cf51c828119b2
- From:
- Oliver Lowe <o@olowe.co>
- Date:
recursor: actually, move recursive stuff back to cmd
it's too specific to the implementation of a recursive resolver.
More stuff will be added there later I reckon.
- Commit:
2c109646ee0be071d39acc68f8cda66157d37582
- From:
- Oliver Lowe <o@olowe.co>
- Date:
recursor: reject more invalid messages
- Commit:
7e5b66014d8e51608b3c909ab643e1f91f12b8db
- From:
- Oliver Lowe <o@olowe.co>
- Date:
More tests
- Commit:
20fd186cb05aed778db0ee7d84c3e413e3ad68fe
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: error on receiving random messages
Caller can handle the error appropriately I reckon...
- Commit:
521607802a026aae130395eb147b81d480b94e34
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: Separate sending messages from sending bytes
That made it easy to then let us ResponseWriter to implement io.Writer
- Commit:
554ced8329b2f5a7abf40a2131cf5e869c1e17d4
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: cleaner error handling on send packet
- Commit:
a5e7854c436639d68f9ccb98f3168d94cdd5eb0b
- From:
- Oliver Lowe <o@olowe.co>
- Date:
dns: Move recursive resolution functions into package
They seem generic enough to be in the package rather than in the
server implementation - ignoring the cache, of course!