hickory-dns/README.md

66 lines
2.0 KiB
Markdown
Raw Normal View History

2015-08-22 18:53:07 +00:00
# trust-dns [![Build Status](https://travis-ci.org/bluejekyll/trust-dns.svg?branch=master)](https://travis-ci.org/bluejekyll/trust-dns)
2015-08-22 00:29:00 +00:00
A Rust based DNS client and server, built to be safe and secure from the
ground up.
2015-08-14 23:28:01 +00:00
# Goals
- Build a safe and secure DNS server and client with modern features.
2015-10-17 22:33:13 +00:00
- No panics, all code is guarded
2015-08-22 00:29:00 +00:00
- Use only safe Rust, and avoid all panics with proper Error handling
- Use only stable Rust
2015-08-14 23:28:01 +00:00
- Protect against DDOS attacks (to a degree)
2015-10-17 22:33:13 +00:00
- Support options for Global Load Balancing functions
- Make it dead simple to operate
2015-08-14 23:28:01 +00:00
# Status:
2015-10-17 22:33:13 +00:00
WARNING!!! Under active development!
2015-08-22 00:29:00 +00:00
2015-10-17 22:33:13 +00:00
The client now supports timeouts (thanks mio!). Currently hardcoded to 5 seconds,
I'll make this configurable if people ask for that, but this allows me to move on.
2015-08-14 23:28:01 +00:00
2015-10-17 22:33:13 +00:00
The server code is complete, the daemon currently only supports IPv4. Master file
parsing is complete and supported.
2015-08-22 00:29:00 +00:00
2015-10-17 22:33:13 +00:00
## RFC's implemented
2015-09-17 21:13:01 +00:00
2015-10-17 22:33:13 +00:00
- RFC 1035: Base DNS spec (partial, caching not yet supported)
https://tools.ietf.org/html/rfc1035
- RFC 3596: IPv6
https://tools.ietf.org/html/rfc3596
- RFC 2136: Dynamic Update
https://tools.ietf.org/html/rfc2136
## RFC's in progress or not yet implemented
- RFC 1995: Incremental Zone Transfer
https://tools.ietf.org/html/rfc1995
- RFC 1996: Notify slaves of update
https://tools.ietf.org/html/rfc1996
- RFC 2782: Service location
https://tools.ietf.org/html/rfc2782
- RFC 3007: Secure Dynamic Update
https://tools.ietf.org/html/rfc3007
- RFC 6891: Extension Mechanisms for DNS
https://tools.ietf.org/html/rfc6891
- RFC 4034: DNSSEC Resource Records
https://tools.ietf.org/html/rfc4034
- DNSCrypt
https://dnscrypt.org/
- Dynamic DNS Update Leases
https://tools.ietf.org/html/draft-sekar-dns-ul-01
- DNS Long-Lived Queries
http://tools.ietf.org/html/draft-sekar-dns-llq-01
# Usage
TBD
2015-08-14 23:28:01 +00:00
# FAQ
- Why are you building another DNS server?
Because I've gotten tired of seeing the security advisories out there for BIND.
Using Rust semantics it should be possible to develop a high performance and
safe DNS Server that is more resilient to attacks.