Skip to content

Releases: NLnetLabs/domain

0.7.2

02 Mar 10:43
25a7c60
Compare
Choose a tag to compare

New

  • Added a new method FoundSrvs::into_srvs that converts the value into an iterator over the found SRV records without resolving them further. (#174)

Bug Fixes

  • Fix trait bounds on FoundSrvs::into_stream to make it usable again. (#174)

0.7.1

06 Oct 19:06
Compare
Choose a tag to compare

New

  • Added a method flatten_into to record data types that converts a value with a parsed (and thus possibly compressed) domain name into a one with a normal domain name. (#151 by @xofyarg)

Other Changes

0.7.0

15 Sep 12:50
bccf089
Compare
Choose a tag to compare

Breaking Changes

  • The minimum supported Rust version is now 1.56.1. (#128)

  • The OctetsBuilder trait does not require AsRef<[u8]> and AsMut<[u8]> any more. These have been added as explicit trait bounds where needed. In return, Cow<[u8]> can now be used as an octets builder where AsMut<[u8]> is not needed. (#130).

  • The Display implementation for UncertainDname now ends an absolute name with a dot to match the behaviour of the FromStr implementation. (#116)

  • The salt and hash parameters of Nsec3 and Nsec3Param have been wrapped in newtypes. (#116)

  • Functions depending on the rand crate have been moved behind a new random feature as rand is not available on all systems, even with std support. The feature is, however, part of the default features.

    In particular, this means that Header::set_random_id, MessageBuilder::request_axfr, and opt::rfc7830::PaddingMode::Random are only available if the feature is enabled. (#117 by @Jezza)

  • resolv::Resolver::Query now has to be Send. This will allow the resolver to be used in async functions spawned onto a Tokio runtime.

    The stub resolver’s query struct is already Send, so no actual changes are necessary. However, because this changes the definition of the Resolver trait, this is a breaking change, anyway. (#125)

New

  • ``base::header::Flag` for easier working for the flags of a message header. (#109 by @tomaskrizek)
  • base::name::OwnedLabel now implements Clone and Copy as well as Display and Debug. (#112)
  • base::record::Record::into_owner_and_name allows decomposing a record into its two parts that aren’t Copy. (#114)
  • Initial support for SVCB and HTTPS record types. (#115 by @xofyarg)
  • Introduced Serde support for all relevant types. (#116)
  • The OctetsBuilder trait is now also implemented for mutable references of types that are octet builders and turn into themselves when frozen (i.e., OctetsBuilder::Octets = Self). (#121)
  • Support for [heapless::Vec<u8, N>] as an octets sequence via the new heapless feature. (#122 by @bugadani)
  • The parameter types for SVCB record data now also implement Eq (#135)

Bug Fixes

  • Correctly encode and decode the address in EDNS client subnet when the number of bits isn’t divisible by 8. (#101 and #102 by @xofyarg)
  • validate:
    • Check for the correct public key size instead of infering if from the RRSIG length. (#110 by @vavrusa)
    • Canonalize the security algorithm before evaluation to avoid missing algorithm provided via the unknown integer variant. (#127 by @vavrusa)
  • Support for no-std environments now actually works. (#117 by @Jezza)
  • Canonalize IANA types when scanning so that, e.g., CLASS3 becomes Class::Ch instead of Class::Int(3). (#127 by @vavrusa)
  • resolv: Fixed generation of the domain name to be used for reverse IPv6 lookups. (#131)

Other Changes

0.6.1

30 Mar 15:10
0a4c008
Compare
Choose a tag to compare

This release is a maintenance release only in order to show the complete documentation on docs.rs.


Other Changes

  • Enables all features when building for doc.rs. (#99)

0.6.0

22 Mar 10:03
6d0f956
Compare
Choose a tag to compare

Breaking Changes

  • The crate domain-resolv has been merged into this crate as the domain::resolv crate. It requires the resolv feature to be enabled. The sync feature from domain-resolv has been renamed to resolv-sync. (#74)
  • The trait domain::base::octets::IntoOctets has been merged into domain::base::octets::OctetsBuilder. It’s method into_octets is now available as freeze on OctetsBuilder. (#75)
  • Upgrade to tokio 1.0, bytes 1.0, and latest of other dependencies (#84 by @koivunej)

New

  • Support for extended errors defined in RFC 8914. (#79 by @xofyarg)
  • New traits domain::base::octets::OctetsFrom and OctetsInto to convert types that are generic over octets sequences between different octets sequences. (#77)

Bug Fixes

  • Fix domain name compressors when giving a root label only. (#76 by @vavrusa)
  • Fix OptIter not skipping over other options correctly. (#76 by @vavrusa)
  • Fix canonical comparison of TXT RDATA by taking the length labels into account. (#76 by @vavrusa)
  • Fix parser not rejecting malformed TXT RDATA. (#80 by @vavrusa)
  • Resolver: Host lookup now considers possibly separate CNAME chains for the responses to the A and AAAA queries. (#90 by [@varusa])

domain 0.5.3 & domain-resolv 0.5.1

25 Aug 12:50
ca3f788
Compare
Choose a tag to compare

domain 0.5.3

New

  • validate: enable 1024 bit RSASHA512 as supported algorithm.
    (#67, by @vavrusa)

Bug Fixes

  • Various minor fixes for building in no-std mode. (#72)

domain-resolv 0.5.1

New

  • The UDP payload size announced in a request can now be set as part of the
    server config. It defaults to 1232 octets for both IPv4 and IPv6. (#71)

Bug Fixes

  • The receive buffer size was smaller than the size advertised in a request,
    resulting to very long UDP responses being cut off. (#71)