xref: /freebsd/contrib/unbound/doc/FEATURES (revision f44e67d120ad78ef7894241b519ee79fd190a16e)
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