Breaking changes
- FIX: Use base 16 per RFC 4034 for the DS digest, not base 64. (#423)
- FIX: NSEC3 salt strings should only be accepted if within the salt size limit. (#431)
- Stricter RFC 1035 compliance by default in the
Zonefile
parser. ([#477]) - Rename {DigestAlg, Nsec3HashAlg, SecAlg, ZonemdAlg} to {DigestAlgorithm, Nsec3HashAlgorithm, SecurityAlgorithm, ZonemdAlgorithm}
New
- Added
HashCompressor
, an unlimited name compressor that uses a hash map rather than a tree. (#396) - Changed
fmt::Display
forHINFO
records to a show a quoted string. (#421) - Added support for
NAPTR
record type. (#427 by @weilence) - Added initial fuzz testing support for some types via a new
arbitrary
feature (not enabled by default). (#441) - Added
StubResolver::add_connection()
to allow adding a connection to the running resolver. In combination withResolvConf::new()
this can also be used to control the connections made when testing code that uses the stub resolver. (#440) - Added
ZonefileFmt
trait for printing records as zonefiles. (#379, #446, #463)
Bug fixes
- NSEC records should include themselves in the generated bitmap. (#417)
- Trailing double quote wrongly preserved when parsing record data. (#470, #472)
- Don't error with unexpected end of entry for RFC 3597 RDATA of length zero. (#475)
Unstable features
-
New unstable feature
unstable-crypto
that enable cryptography support for features that do not rely on secret keys. This feature needs either or both of the featuresring
andopenssl
(#416) -
New unstable feature
unstable-crypto-sign
that enable cryptography support including features that rely on secret keys. This feature needs either or both of the featuresring
andopenssl
(#416) -
New unstable feature
unstable-client-cache
that enable the client transport cache. The reason is that the client cache uses themoka
crate. -
New unstable feature
unstable-new
that introduces a new API for all of domain (currently only withbase
,rdata
, andedns
modules). Also see the associated blog post. -
unstable-server-transport
- The trait
SingleService
which is a simplified service trait for requests that should generate a single response (#353). - The trait
ComposeReply
and an implementation of the trait (ReplyMessage
) to assist in capturing EDNS(0) options that should be included in a response message (#353). - Adapters to implement
Service
forSingleService
and to implementSingleService
forSendRequest
(#353). - Conversion of a
Request
to aRequestMessage
(#353). - A sample query router, called
QnameRouter
, that routes requests based on the QNAME field in the request (#353).
- The trait
-
unstable-client-transport
- introduce timeout option in multi_stream (#424).
- improve probing in redundant (#424).
- restructure configuration for multi_stream and redundant (#424).
- introduce a load balancer client transport. This transport tries to distribute requests equally over upstream transports (#425).
- the client cache now has it's own feature
unstable-client-cache
.
-
unstable-sign
- add key lifecycle management (#459).
- add support for adding NSEC3 records when signing.
- add support for ZONEMD.
-
unstable-validator
- The
validate
crate is moved todnssec::validator::base
. - The
validator
crate is moved todnssec::validator
.
- The
Other changes