1b7579f77SDag-Erling SmørgravUnbound Features 2b7579f77SDag-Erling Smørgrav 3b7579f77SDag-Erling Smørgrav(C) Copyright 2008, Wouter Wijngaards, NLnet Labs. 4b7579f77SDag-Erling Smørgrav 5b7579f77SDag-Erling Smørgrav 6b7579f77SDag-Erling SmørgravThis document describes the features and RFCs that unbound 7b7579f77SDag-Erling Smørgravadheres to, and which ones are decided to be out of scope. 8b7579f77SDag-Erling Smørgrav 9b7579f77SDag-Erling Smørgrav 10b7579f77SDag-Erling SmørgravBig Features 11b7579f77SDag-Erling Smørgrav------------ 12b7579f77SDag-Erling SmørgravRecursive service. 13b7579f77SDag-Erling SmørgravCaching service. 14b7579f77SDag-Erling SmørgravForwarding and stub zones. 15b7579f77SDag-Erling SmørgravVery limited authoritative service. 16b7579f77SDag-Erling SmørgravDNSSEC Validation options. 17b7579f77SDag-Erling SmørgravEDNS0, NSEC3, IPv6, DNAME, Unknown-RR-types. 18b7579f77SDag-Erling SmørgravRSASHA256, GOST, ECDSA, SHA384 DNSSEC algorithms. 19b7579f77SDag-Erling Smørgrav 20b7579f77SDag-Erling SmørgravDetails 21b7579f77SDag-Erling Smørgrav------- 22b7579f77SDag-Erling SmørgravProcessing support 23b7579f77SDag-Erling SmørgravRFC 1034-1035: as a recursive, caching server. Not authoritative. 24b7579f77SDag-Erling Smørgrav including CNAMEs, referrals, wildcards, classes, ... 25b7579f77SDag-Erling Smørgrav AAAA type, and IP6 dual stack support. 26b7579f77SDag-Erling Smørgrav type ANY queries are supported, class ANY queries are supported. 278ed2b524SDag-Erling SmørgravRFC 1123, 6.1 Requirements for DNS of internet hosts. 28b7579f77SDag-Erling SmørgravRFC 4033-4035: as a validating caching server (unbound daemon). 29b7579f77SDag-Erling Smørgrav as a validating stub (libunbound). 30b7579f77SDag-Erling SmørgravRFC 1918. 31b7579f77SDag-Erling SmørgravRFC 1995, 1996, 2136: not authoritative, so no AXFR, IXFR, NOTIFY or 32b7579f77SDag-Erling Smørgrav dynamic update services are appropriate. 33b7579f77SDag-Erling SmørgravRFC 2181: completely, including the trust model, keeping rrsets together. 34b7579f77SDag-Erling SmørgravRFC 2308: TTL directive, and the rest of the RFC too. 35b7579f77SDag-Erling SmørgravRFC 2671: EDNS0 support, default advertisement 4Kb size. 36b7579f77SDag-Erling SmørgravRFC 2672: DNAME support. 37b7579f77SDag-Erling SmørgravRFC 3597: Unknown RR type support. 38b7579f77SDag-Erling SmørgravRFC 4343: case insensitive handling of domain names. 39b7579f77SDag-Erling SmørgravRFC 4509: SHA256 DS hash. 40b7579f77SDag-Erling SmørgravRFC 4592: wildcards. 41b7579f77SDag-Erling SmørgravRFC 4697: No DNS Resolution Misbehavior. 42*f44e67d1SCy SchubertRFC 5001: DNS Name Server Identifier (NSID) Option 43b7579f77SDag-Erling SmørgravRFC 5011: update of trust anchors with timers. 44b7579f77SDag-Erling SmørgravRFC 5155: NSEC3, NSEC3PARAM types 45b7579f77SDag-Erling SmørgravRFC 5358: reflectors-are-evil: access control list for recursive 46b7579f77SDag-Erling Smørgrav service. In fact for all DNS service so cache snooping is halted. 47b7579f77SDag-Erling SmørgravRFC 5452: forgery resilience. all recommendations followed. 48b7579f77SDag-Erling SmørgravRFC 5702: RSASHA256 signature algorithm. 49b7579f77SDag-Erling SmørgravRFC 5933: GOST signature algorithm. 50b7579f77SDag-Erling SmørgravRFC 6303: default local zones. 51b7579f77SDag-Erling Smørgrav It is possible to block zones or return an address for localhost. 52b7579f77SDag-Erling Smørgrav This is a very limited authoritative service. Defaults as in draft. 53b7579f77SDag-Erling SmørgravRFC 6604: xNAME RCODE and status bits. 54b7579f77SDag-Erling SmørgravRFC 6605: ECDSA signature algorithm, SHA384 DS hash. 55b7579f77SDag-Erling Smørgrav 56b7579f77SDag-Erling Smørgravchroot and drop-root-privileges support, default enabled in config file. 57b7579f77SDag-Erling Smørgrav 58b7579f77SDag-Erling SmørgravAD bit in query can be used to request AD bit in response (w/o using DO bit). 59b7579f77SDag-Erling SmørgravCD bit in query can be used to request bogus data. 60b7579f77SDag-Erling SmørgravUDP and TCP service is provided downstream. 61b7579f77SDag-Erling SmørgravUDP and TCP are used to request from upstream servers. 62b7579f77SDag-Erling SmørgravSSL wrapped TCP service can be used upstream and provided downstream. 63b7579f77SDag-Erling SmørgravMultiple queries can be made over a TCP stream. 64b7579f77SDag-Erling Smørgrav 65b7579f77SDag-Erling SmørgravNo TSIG support at this time. 66b7579f77SDag-Erling SmørgravNo SIG0 support at this time. 67b7579f77SDag-Erling SmørgravNo dTLS support at this time. 68b7579f77SDag-Erling SmørgravThis is not a DNS statistics package, but some operationally useful 69b7579f77SDag-Erling Smørgravvalues are provided via unbound-control stats. 70b7579f77SDag-Erling SmørgravTXT RRs from the Chaos class (id.server, hostname.bind, ...) are supported. 71b7579f77SDag-Erling Smørgrav 72b7579f77SDag-Erling Smørgravdraft-0x20: implemented, use caps-for-id option to enable use. 73b7579f77SDag-Erling Smørgrav Also implements bitwise echo of the query to support downstream 0x20. 74b7579f77SDag-Erling Smørgravdraft-ietf-dnsop-resolver-priming(-00): can prime and can fallback to 75b7579f77SDag-Erling Smørgrav a safety belt list. 76b7579f77SDag-Erling Smørgravdraft-ietf-dnsop-dnssec-trust-anchor(-01): DS records can be configured 77b7579f77SDag-Erling Smørgrav as trust anchors. Also DNSKEYs are allowed, by the way. 78b7579f77SDag-Erling Smørgravdraft-ietf-dnsext-dnssec-bis-updates: supported. 79b7579f77SDag-Erling Smørgrav 80b7579f77SDag-Erling SmørgravRecord type syntax support, extensive, from lib ldns. 81b7579f77SDag-Erling SmørgravFor these types only syntax and parsing support is needed. 82b7579f77SDag-Erling SmørgravRFC 1034-1035: basic RR types. 83b7579f77SDag-Erling SmørgravRFC 1183: RP, AFSDB, X25, ISDN, RT 84b7579f77SDag-Erling SmørgravRFC 1706: NSAP 85b7579f77SDag-Erling SmørgravRFC 2535: KEY, SIG, NXT: treated as unknown data, syntax is parsed (obsolete). 86b7579f77SDag-Erling Smørgrav2163: PX 87b7579f77SDag-Erling SmørgravAAAA type 88b7579f77SDag-Erling Smørgrav1876: LOC type 89b7579f77SDag-Erling Smørgrav2782: SRV type 90b7579f77SDag-Erling Smørgrav2915: NAPTR type. 91b7579f77SDag-Erling Smørgrav2230: KX type. 92b7579f77SDag-Erling Smørgrav2538: CERT type. 93b7579f77SDag-Erling Smørgrav2672: DNAME type. 94b7579f77SDag-Erling SmørgravOPT type 95b7579f77SDag-Erling Smørgrav3123: APL 968ed2b524SDag-Erling Smørgrav3596: AAAA 97b7579f77SDag-Erling SmørgravSSHFP type 98b7579f77SDag-Erling Smørgrav4025: IPSECKEY 99b7579f77SDag-Erling Smørgrav4033-4035: DS, RRSIG, NSEC, DNSKEY 100b7579f77SDag-Erling Smørgrav4701: DHCID 101b7579f77SDag-Erling Smørgrav5155: NSEC3, NSEC3PARAM 102b7579f77SDag-Erling Smørgrav4408: SPF 10317d15b25SDag-Erling Smørgrav6944: DNSKEY algorithm status 104b7579f77SDag-Erling Smørgrav 105