New
* Added `Deserialize` impl for the `base::net::nostd::Ipv6Addr` and fixed
the impl for `Ipv4Addr`. ([#413])
Bug fixes
* Fixed an incorrect feature gate that blocks compilation if only `"net"`
is enabled. ([#412])
* Added (all? most?) missing feature dependencies for all features.
* Fixed `Deserialize` impls for `ParsedName` and `ExtendedError` to compile
and work without `std`. ([#413])
This PR fixes issues that block building the "serde" feature without "std".
Specifically:
* Change the Serialize impls of ParsedName and ExtendedError to not build
strings first.
* Added a Deserialize impl to base::net:nostd::Ipv6Addr and fixed the impl
for Ipv4Addr.
- FIX: Abort a TCP connection if a fatal I/O error is detected when writing to the client, such as the client disconnected.
- FIX: Stop processing a response stream if the connection is shutting down or there is no space left in the response queue.
- Add a test that deliberately disconnects before the last response is received.
- Removed commented out code and fix some comments.
- Remove unnecessary ServiceError error variant.
- Fix a test bug whereby the test message bytes were accidentally offset by 2 meaning that the message header was wrongly perceived as having the QR bit set so requests were rejected as replies, never being handled and thus never having responses sent, which couldn't fail because the connection was closed... hence breaking the test.
- Reply with FORMERR if an OPT RR cannot be parsed.
- Don't reply with FORMERR if an edns-tcp-keepalive option is received via UDP, instead ignore it per RFC 7828 3.2.1.
- Only reserve space for an edns-tcp-keepalive option for TCP requests, not UDP requests.
- Always reserve space for an OPT RR in the response for any request that has an OPT RR, not just TCP requests.
- Disable TCP client retries in Stelline server tests otherwise a connection abort causes a retry which violates the test expectation.
This PR adds a few trait impls and documentation.
Specifically:
* Add blanket `SendRequest` and `SendRequestMulti` impls for boxes.
* Add `Display` impl to `tsig::Key`.
* Add an `as_any` method and `Clone` and `Debug` impls to various zonetree
types.
* Add `AsRef<dyn ZoneStore>` to `Zone`.
Add XFR middleware and:
- Fixes a bug where the incorrect owner name was passed to the zone walker callback.
- New `ixfr-client.rs` example.
- Updated `serve-zone.rs` example demonstrating TSIG authenticated XFR and NOTIFY middlewares.
- Additional From impls for CallResult.
- Renames ZoneDiff to InMemoryZoneDiff.
- Renames ZoneDiffBuilder to InMemoryZoneDiffBuilder.
- Introduces new ZoneDiff and related traits.
- Adds AnswerContent::first().