A bad recursive DNS resolver
$ ./badrr example.com
v0.5
Why not?
I wanted to learn more about how the low-level details of DNS work, so here is my journey.
- Process errors (correctly).
- Don't crash when a response contains garbage.
- Check all parameters of the response for consistency.
- Cache things (properly).
- Enable EDNS support for UDP responses longer than 512 bytes.