https://github.com/squiddy/dns-in-a-weekend
https://github.com/squiddy/dns-in-a-weekend
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/squiddy/dns-in-a-weekend
- Owner: squiddy
- Created: 2023-11-05T18:31:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-07T18:21:15.000Z (over 2 years ago)
- Last Synced: 2025-10-09T12:14:24.601Z (8 months ago)
- Language: Rust
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DNS in a weekend
Following https://implement-dns.wizardzines.com/
## Material I found useful
* https://datatracker.ietf.org/doc/html/rfc1035
* https://veykril.github.io/tlborm/introduction.html
## TODO
This is of course very far from complete, but these are the things I want to
look into in the future.
- [ ] support ipv6
- [ ] properly handle CNAMEs in `resolve`
- [X] split code into lib and binary
- [X] make this a DNS server
## Testing
### Server
Pretty straight forward when using `dig`. Because we do not support EDNS, dig
needs to be instructed not to send a EDNS query with `+noedns` like this:
$ dig @127.0.0.1 +noedns google.com IN A