Hickory DNS

Releases

v0.24.1

v0.24.1 Apr 18 2024 at 18:06 UTC

0.24.1

Fixed

Break when socket is unexpectedly shut down #2171 by dlon

Update docs.rs and generated docs to reference Hickory

v0.23.2 Oct 23 2023 at 15:56 UTC

0.23.2

Changed

  • (all) Added Hickory DNS notice to all library root docs

v0.24 Announcing Hickory DNS

v0.24.0 Oct 14 2023 at 01:42 UTC

0.24.0

NOTICE This project has been rebranded to Hickory DNS and has been moved to the https://github.com/hickory-dns/hickory-dns organization and repo, from 0.24.0 onward. This blog post explains the reasoning behind this move.

Changed

  • (proto) Make DnsHandle::send &self instead of &mut self #2018 by ibigbug
  • (all) Update dependencies (avoid vulnerability), optional TOML, remove unused dependencies #2028 by djc
  • (server) Privatize the Lexer API #2040 by djc
  • (server) Use consistent error type for read_system_conf() #2047 by djc
  • (server) Optimized shutdown_gracefully() #2041 by caobug

Added

  • (server) add register with rustls server config #2004 by yaotthaha
  • (all) Add webpki-roots and native-certs crate features #2005 by daxpedda
  • (bin) add run-example target to justfile to simply start trust-dns for manual testing #2020 by bluejekyll
  • (all) DoH3 support #1987 by daxpedda

Fixed

  • (bin) Add root certificates to the binary crate #2059 by daxpedda
  • (proto) proto/rr: do not deserialize ClientSubnets with invalid prefixes #2057 by 00xc
  • (resolver) Fix the resolver version warning in the workspace #2013 by bluejekyll
  • (proto) Forward serde-config feature to the proto crate #2019 by cetanu
  • (server) Prevent task reaping from blocking #2023 by lpraneis
  • (proto) Dont panic on nsec without dnssec #2025 by bluejekyll
  • (server) Spawn H2 Data frame processing into a separate task #2033 by yaroslavros
  • (proto) DoQ default configuration #2036 by daxpedda
  • (resolver) caching bug when CNAME leads to negative response #2053 by Clendenin

Removed

  • (resolver) Remove Copy from ResolverOpts #2029 by daxpedda

Rebranding of Trust-DNS to Hickory DNS notice

v0.23.1 Oct 13 2023 at 22:32 UTC

0.23.1

Changed

v0.23.0

v0.23.0 Aug 22 2023 at 16:32 UTC

0.23.0

Fixed

  • (resolver) Malformed label: -- when parsing resolv.conf #1985 by Jake-Shadle
  • (proto) Fix truncation for UDP #1975 by nmittler
  • (proto) avoid panicking in parse_time() #1964 by djc
  • (server) Merge up deny response in requests to server #1954 by djc
  • (proto) remove duplicate is_soa function #1948 by mattsse
  • (resolver) Fix minimal tokio version requirement #1931 by Gelbpunkt
  • (all) Fix bench errors in rust-analyzer #1777 by jeff-hiner
  • (all) Regenerate the test SSL certificates #1781 by ssinger
  • (all) Fix some spelling errors #1783 by nhurley3
  • (proto) proto: only allow ASCII characters in CAA key/value data #1796 by djc
  • (proto) [rfc8659] CAA RR Change references to RFC 6844 to 8659 #1798 by darnuria
  • (all) Fixed some clippy warning #1801 by darnuria
  • (all) Fix links to client documentation #1808 by clint-white
  • (all) fix cleanliness for 1.65 #1821 by bluejekyll
  • (proto) Fix stuck of dns over tls with clear text SNI #1826 by mokeyish
  • (all) Fix enabling only dns-over-* feature #1833 by NobodyXu
  • (proto) OpenSSL 3.0 compliant #1841 by HLFH
  • (server) FIX WIP: Zone Parser panics when hostname entry has a leading whitespace. #1842 by wuerges
  • (server) Fix $TTL not taken into account with wildcard from zonefile. #1850 by darnuria
  • (all) Some cargo clippy fix #1851 by darnuria
  • (all) Fix #1835 RUSTSEC-2021-0145 Update clap to 4.0.29. #1853 by darnuria
  • (docs) fix DNSSEC typo #1858 by HLFH
  • (all) clippy updates for Rust 1.66 #1862 by bluejekyll
  • (tests) ignore truncation for fuzz comparison #1872 by bluejekyll
  • (tests) fix fuzz build failure #1875 by manunio
  • (proto) docs: fix truncated rustdoc TODO on LowerName. #1897 by cpu
  • (tests) Fix: invalid benchmark #1900 by XOR-op
  • (proto) Fix panics in ClientSubnet conversions #1909 by djc
  • (tests) Fix fuzz build #1911 by manunio
  • (proto) Fix PTR.to_string() stack overflow #1912 by mokeyish
  • (proto) Fix audit upgrade openssl #1914 by mokeyish
  • (proto) Fix panic of unexpected close of UDP socket #1915 by mokeyish
  • (proto) Lazily reap finished connections in TokioHandle on spawn_bg #1917 by jeff-hiner

Changed

  • (resolver) fix(resolver): correct ttl from lru cache #1984 by iberryful
  • (ci) Use dtolnay/rust-toolchain #1993 by waywardmonkeys
  • (all) update the minimum required openssl version #1979 by bluejekyll
  • (bin) Print offending bind error in panic message #1971 by wprzytula
  • (resolver) Provider API Redesign #1938 by XOR-op
  • (all) create default rules for justfile (changed from cargo-make to justfiles) #1951 by bluejekyll
  • (all) Bump log to v0.4.18 #1949 by daxpedda
  • (proto) Make RData::read() API public #1945 by djc
  • (all) Replace lazy_static with once_cell #1944 by daxpedda
  • (resolver) Return Self from AsyncResolver::new() #1942 by daxpedda
  • (all) Use default-features = false for quinn #1941 by daxpedda
  • (all) remove the direct dependency to quinn-udp #1935 by zh-jq
  • (resolver) Order name servers by SRTT #1784 by nhurley3
  • (resolver) resolver: use errors' Display impl #1785 by hdhoang
  • (proto) NameIter use a u8 for start/end. #1787 by darnuria
  • (proto) name.rs use DomainNameTooLong in place of Message. #1788 by darnuria
  • (proto) Explicit test for label max len and use ProtoErrorKind. #1789 by darnuria
  • (cli) Port to clap4 #1791 by darnuria
  • (proto) Improve CAA rdata display #1794 by wuerges
  • (all) fix #1767 Update tracing-subscriber to 0.3.16 #1797 by darnuria
  • (proto) Simplify interface between BinEncoder and MaximalBuf #1802 by djc
  • (proto) proto: allow unrestricted length character length in SVCB param values #1806 by djc
  • (all) bump MSRV to 1.60 #1813 by bluejekyll
  • (all) Lazily reap finished tasks from inner_join_set #1818 by jeff-hiner
  • (proto) proto: upgrade to Quinn 0.9 #1822 by djc
  • (resolve) Preserve intermediates for TXT records #1828 by schultetwin1
  • (all) Feature gate tokio features on mdns crate #1831 by jxs
  • (test) python3-ply rather than python-ply #1846 by HLFH
  • (docs) Replace http: links with https: #1848 by msrd0
  • (docs) Make homepage link simpler for end users #1857 by HLFH
  • (resolver) Don't retry authoritative NOERROR with an empty set, from trusted resolvers #1861 by jeff-hiner
  • (server) authority: parse with default record class IN. #1874 by cpu
  • (resolver) API-breaking change: Deprecate ConnectionProvider with new RuntimeProvider #1876 by XOR-op
  • (proto) deps: upgrade Tokio 1.21.0 -> 1.24.1 #1877 by cpu
  • (proto) Move client code used by server code down into proto #1879 by djc
  • (proto) proto: clean up error logging #1881 by hawkw
  • (resolver) Make dns_hostname optional to disable verify #1907 by mokeyish
  • (all) Introduce central crate version management #1908 by mokeyish
  • (resolver) remove use of time in recursor and client #1918 by zh-jq

Removed

  • (server) remove named binary #1859 by HLFH
  • (docs) project: remove refs. to removed 'named' binary #1873 by cpu

Added

  • (server) Graceful Shutdown of Server #1869 by theduke
  • (resolver) Add Google DoT and DoH to ResolverConfig #1989 by daxpedda
  • (server) Adding graceful shutdown to server #1977 by nmittler
  • (all) add an html coverage report for local review of coverage data #1959 by bluejekyll
  • (resolver) Add the possibility to shuffle NameServers #1920 by Edu4rdSHL
  • (resolver) add test for connecting DoH with pure IP Address #1936 by mokeyish
  • (resolver) add NameServerConfigGroup::from_ips_quic #1929 by zh-jq
  • (resolve) Add --reverse, --file and --interval to util/resolve #1807 by cunha
  • (client) TSIG documenting client tsig code + update rfc link #1810 by darnuria
  • (client) Create dedicated Errors types for Tsig error case #1811 by darnuria
  • (all) Also declare MSRV in Cargo.toml #1820 by glts
  • (proto) Add wireformat buffer to DnsResponse #1855 by mattias-p #1885 by cpu
  • (client) client: rm zone parse optional class arg.
  • (proto) Implement EDNS Client Subnet ECS reading and writing #1906 by mokeyish

v0.22.1 - Deny response requests on the server

v0.22.1 Jun 1 2023 at 17:15 UTC

0.22.1

Fixed

  • (server) drop response messages #1952 by @djc

v0.22.0 -- Experimental Recursor and the Dns CLI

v0.22.0 Sep 2 2022 at 14:40 UTC

0.22.0

Removed

  • (deps) don't pull in env_logger if we aren't actually a binary #1701 by @Noah-Kennedy

Added

  • (resolver) Add option to use a provided name server order #1766 by @nhurley3
  • (proto) Add invalid utf8 output test for TXT::fmt. #1755 by @darnuria
  • (proto) Support 0-RTT in DNS over QUIC #1716 by @msoxzw
  • (recursor) new A Trust DNS based Recursor!!! #1710 by @bluejekyll
  • (resolver) Allow customizing the static hosts configuration #1705 by @fantix
  • (proto/server) Support loading pkcs#1 private key as well #1704 by @lisongmin
  • (util) Trust dns client cli (like dig) #1680 by @bluejekyll

Fixed

  • (proto) Only retry UDP socket bind if it returned EADDRINUSE #1761 by @peterthejohnston
  • (all) Add necessary conditional compilation cfgs #1752 by @trevor-crypto
  • (server) Populate name_pointers correctly via MessageResponseBuilder request #1744 by @jeff-hiner
  • (resolver) Do not fail parse_resolv_conf on invalid hostname #1740 by @schultetwin1
  • (all) doc: Fix warnings reported by cargo doc #1737 by @wiktor-k
  • (proto) Use u16::*_be_bytes represent length field (fixes DoQ) #1715 by @msoxzw
  • (proto) Prevent invalid 0-length labels via from_raw_bytes #1700 by @jonasbb
  • (proto/server) Drop UDP packets on send failure #1696 by @jeff-hiner
  • (all) removed .max(0), unnecessary with u32's #1691 by @bluejekyll
  • (server) sanitize all addresses received by the server before attempting any r… #1690 by @bluejekyll
  • (server) Remove forced (unecessary) Mutex from handler #1679 by @jeff-hiner
  • (proto) Fix SvcParamKey::Unknown parsing #1678 by @jeff-hiner

Changed

  • (all) Minimum Rust Version now 1.59 #1771 by @bluejekyll
  • (client) Parser panic to result #1758 by @darnuria
  • (client) Avoid 3 unwrap() call inc Parser::flush_record. #1757 by @darnuria
  • (client) Cleanup lex #1756 by @darnuria
  • (resovler) Make maximum request depth configurable #1749 by @wiktor-k
  • (server) Clean up ForwardAuthority api #1748 by @chotchki
  • (resolver) Relax mut requirements for resolver.clear_cache() and add cache flushing example #1747 by @dns2utf8
  • (resolver) Lookup access Records list directly #1746 by @izissise
  • (proto) Pass DnsRequestOptions to DNSSEC validating routines #1742 by @wiktor-k
  • (proto) Increase the maximum request depth to 26 #1736 by @wiktor-k
  • (server) Mark ForwardLookup as public #1729 by @chotchki
  • (all) upgrade windows openssl version to 1_1_1p #1728 by @bluejekyll
  • (all) Converted to tracing from log #1706 by @erikh and @bluejekyll
  • (server) Move logger setup code into binary #1703 by @djc
  • (proto) ignore errors when disconnected #1695 by @edevil
  • (server) RequestInfo derives Clone trait. #1693 by @humb1t
  • (proto/server) make doq transport settings more consistent with RFC #1682 by @bluejekyll
  • (all) Included githubactions in the dependabot config #1681 by @naveensrinivasan
  • (proto) deprecated edns methods on request and replaced with extensions and better scemantics #1675 by @leshow

v0.21.2 -- Mostly correctness fixes to 0.21

v0.21.2 Mar 30 2022 at 17:55 UTC

0.21.2

Added

  • (proto) add PartialEq+Hash derives, #1661 by @leshow

Fixed

  • (server) fix panic when tcp connect goes away before handling, #1668
  • (server) crates/server, InMemoryStore: Use a RwLock instead of a Mutex to manage inner storage, #1665 by @erikh
  • (all) fix audit regex failure, #1658
  • (resolver) Stop searching for additional records when encountering a name already seen, #1657 by @Mossop
  • (proto) fix time txt parsing in SOA records, #1656

Removed

  • (all) remove old crates (the ones moved into proto, tag v0.21.1 can get if needed for crates.io), #1655

Changed

  • (resolver) keep any address records included in the response to an NS query, #1672 by @db48x
  • (resolver) force forwarder to preserve_intermediates, #1660 by @vlmutolo
  • (resolver) make constructors for AsyncResolver with custom providers public, #1654 by @Noah-Kennedy

v0.21.1

v0.21.1 Feb 28 2022 at 04:00 UTC

0.21.1

Fixed

  • (util) fixed feature build issue in resolve #1649

v0.21.0

v0.21.0 Feb 26 2022 at 15:33 UTC

0.21.0

Added

  • (client) Parse DS records (@kmkaplan) #1635
  • (fuzz) Added fuzzing configuration (@saethlin) #1626
  • (resolver) Add resolver.clear_cache() sync and async (dns2utf8) #1611
  • (proto) Add CDS/CDNSKEY records from RFC7344 (frelon) #1595
  • (resolver) Configuration of outbound bind address for resolver (@surban) #1586
  • (proto) Add CSYNC record from RFC7477 (@frelon) #1583
  • (proto) trust_dns_proto::rr::Record now serializable (@mvforell) #1536
  • (client) new zone_transfer method for AXFR and IXFR use cases, client only (@trinity-1686a) #1478
  • (client) Flag for use_edns configuration on AsyncClient (@astro) #1492
  • (client) support for TSIG authentication (@trinity-1686a) #1459

Changed

  • (util) openssl is no longer default enabled in trust-dns-utils, bins marked as required as necessary #1644
  • (proto) deprecate outdated dnssec algorithms #1640
  • (server) pass RequestInfo into Authority on search #1620
  • (proto) SSHFP: Ed448 is assigned algorithm 6 in RFC 8709 #1604
  • (resolver) Do not retry the same name server on a negative response (@peterthejohnston) #1589
  • (all) with-backtrace feature renamed to backtrace (@pinkisemils) #1577
  • (resolver) TCP for truncated message responses, but not for other failures on responses (switch for old behavior try_tcp_on_error) ( @peterthejohnston) #1562
  • (server) Multiple queries in a message will always result in a FormError now #1554
  • (server) ServerFuture and other Catalog related API changes #1554
  • (server) By default, the server will now only log a single log line based for a given request (debug will be needed for more details) #1554
  • (server) ResponseHandler now must return a ResponseInfo to allow for more consistent logging #1554
  • (resolver) Correct behavior around trust_nx_responses (@peterthejohnston) #1556
  • (server) ResponseHandler trait is now async_trait, requires all impls to be annotated with #[async_trait] #1550
  • (server) Authority impls required to be internally modifiable and Send + Sync #1550
  • (server) Most Authority methods changes to async fn rather than returning custom Future impls #1550
  • (server) Authority trait is now async_trait, requires all impls to be annotated with #[async_trait] #1550
  • (proto) Header now stores ResponseCode instead of just u8 #1537
  • (client) improved async client example documentation (@ErwanDL) #1539
  • (resolver) on REFUSED (and other negative) response(s), fall back to other nameservers (@peterthejohnston) #1513 #1526
  • (client) the feature dnssec is no longer enabled by default, use dnssec-ring or dnssec-openssl #1506
  • (server) dnssec functions of Authority moved into DnsSecAuthority #1506
  • (all) Most public enum types are now marked #[non_exaustive] #1426
  • (resolver) DnsRequestOptions and ResolverOpts now #[non_exaustive] #1426
  • (proto) all I/O Streams now use BufDnsStreamHandle rather than generic DnsStreamHandle #1433
  • (proto) DnsResponse response now contains only a single Response #1433
  • (proto) Name::append_name and Name::append_domain now properly fallible when name is too long #1448
  • (resolver) special handling of the onion. TLD added to static resolution with negative responses (@trinity-1686a) #1479
  • (proto) internal Futures converted to Streams to support multiple responses, e.g. AXFR (@trinity-1686a) #1478
  • (proto) renamed Signer to SigSigner to differentiate from TSigner #1498

Removed

  • (all) removed structopt dependency #1644
  • (all) removed chrono dependency #1569
  • (client) Remove AsyncClientConnect and AsyncSecureClientConnect (future impls) in favor of async constructors (@ErwanDL) #1541
  • (proto) removed RecordType::DNSSEC and moved all variants of DNSSECRecordType into RecordType #1506
  • (proto) removed BufStreamHandle and StreamHandle #1433
  • (response) disabled mdns to work on a new solution #1433

Fixed

  • (proto) fix CAA .to_string() crash and format (@hartshorne) #1631
  • (proto) fix DoubleEndedIterator impl for Name #1639
  • (client) Fix AsyncClient::clone always setting use_edns (@ecton) #1598
  • (resolver) Use stream connections if datagram connections are not available (@pinkisemils) #1592
  • (server) Release resources when a server future is dropped (@pinkisemils) #1587
  • (proto) Panic when name exceeds maximal domain name length during display #1447

v0.21.0-alpha.5, fix truncated response usage

v0.21.0-alpha.5 Feb 8 2022 at 15:33 UTC

0.21.0 (unreleased)

Added

  • (fuzz) Added fuzzing configuration (@saethlin) #1626
  • (resolver) Add resolver.clear_cache() sync and async (dns2utf8) #1611
  • (proto) Add CDS/CDNSKEY records from RFC7344 (frelon) #1595
  • (resolver) Configuration of outbound bind address for resolver (@surban) #1586
  • (proto) Add CSYNC record from RFC7477 (@frelon) #1583
  • (proto) trust_dns_proto::rr::Record now serializable (@mvforell) #1536
  • (client) new zone_transfer method for AXFR and IXFR use cases, client only (@trinity-1686a) #1478
  • (client) Flag for use_edns configuration on AsyncClient (@astro) #1492
  • (client) support for TSIG authentication (@trinity-1686a) #1459

Changed

  • (server) pass RequestInfo into Authority on search #1620
  • (proto) SSHFP: Ed448 is assigned algorithm 6 in RFC 8709 #1604
  • (resolver) Do not retry the same name server on a negative response (@peterthejohnston) #1589
  • (all) with-backtrace feature renamed to backtrace (@pinkisemils) #1577
  • (resolver) TCP for truncated message responses, but not for other failures on responses (switch for old behavior try_tcp_on_error) ( @peterthejohnston) #1562
  • (server) Multiple queries in a message will always result in a FormError now #1554
  • (server) ServerFuture and other Catalog related API changes #1554
  • (server) By default, the server will now only log a single log line based for a given request (debug will be needed for more details) #1554
  • (server) ResponseHandler now must return a ResponseInfo to allow for more consistent logging #1554
  • (resolver) Correct behavior around trust_nx_responses (@peterthejohnston) #1556
  • (server) ResponseHandler trait is now async_trait, requires all impls to be annotated with #[async_trait] #1550
  • (server) Authority impls required to be internally modifiable and Send + Sync #1550
  • (server) Most Authority methods changes to async fn rather than returning custom Future impls #1550
  • (server) Authority trait is now async_trait, requires all impls to be annotated with #[async_trait] #1550
  • (proto) Header now stores ResponseCode instead of just u8 #1537
  • (client) improved async client example documentation (@ErwanDL) #1539
  • (resolver) on REFUSED (and other negative) response(s), fall back to other nameservers (@peterthejohnston) #1513 #1526
  • (client) the feature dnssec is no longer enabled by default, use dnssec-ring or dnssec-openssl #1506
  • (server) dnssec functions of Authority moved into DnsSecAuthority #1506
  • (all) Most public enum types are now marked #[non_exaustive] #1426
  • (resolver) DnsRequestOptions and ResolverOpts now #[non_exaustive] #1426
  • (proto) all I/O Streams now use BufDnsStreamHandle rather than generic DnsStreamHandle #1433
  • (proto) DnsResponse response now contains only a single Response #1433
  • (proto) Name::append_name and Name::append_domain now properly fallible when name is too long #1448
  • (resolver) special handling of the onion. TLD added to static resolution with negative responses (@trinity-1686a) #1479
  • (proto) internal Futures converted to Streams to support multiple responses, e.g. AXFR (@trinity-1686a) #1478
  • (proto) renamed Signer to SigSigner to differentiate from TSigner #1498

Removed

  • (all) removed chrono dependency #1569
  • (client) Remove AsyncClientConnect and AsyncSecureClientConnect (future impls) in favor of async constructors (@ErwanDL) #1541
  • (proto) removed RecordType::DNSSEC and moved all variants of DNSSECRecordType into RecordType #1506
  • (proto) removed BufStreamHandle and StreamHandle #1433
  • (response) disabled mdns to work on a new solution #1433

Fixed

  • (clien) Fix AsyncClient::clone always setting use_edns (ecton) #1598
  • (resolver) Use stream connections if datagram connections are not available (@pinkisemils) #1592
  • (server) Release resources when a server future is dropped (@pinkisemils) #1587
  • (proto) Panic when name exceeds maximal domain name length during display #1447

v0.20.4, update tokio and remove audit failures

v0.20.4 Feb 2 2022 at 05:14 UTC

0.20.4

Fixed

  • (all) updated tokio dependencies to 1.16 #1623
  • (all) removed audit chrono due to rustsec audit failure (backport) #1623

Changed

  • (all) Increased MSRV to 1.51

v0.20.3 with fix for Windows build

v0.20.3 May 15 2021 at 21:07 UTC

0.20.3

Fixed

  • (resolver) Fix Windows build without system-config feature (@stephank) #1481

Fix panic in SVCB

v0.20.2 Apr 20 2021 at 20:21 UTC

0.20.2

Fixed

  • (proto) Panic on bad length in SVCB for record length #1465

Name parsing improvements

v0.20.1 Mar 16 2021 at 02:11 UTC

0.20.1

Added

  • (proto) HINFO record type support (@vlad20012) #1361
  • (proto) proto: add into_parts methods (@leshow) #1397
  • (proto) new HTTPS and SVCB record types #1402
  • (resolver) predefined Quad9 HTTPS resolver configuration (@zonyitoo) #1413

Fixed

  • (proto) Don't kill a DnsExchangeBackground if a receiver is gone (see #1276) (@djc) #1356
  • (proto) Take the current header truncated bit into account (@ilaidlaw) #1384

Changed

  • (async-std-resolver) Re-export AsyncStdConnection(Provider) (@romanb) #1354
  • (proto) Mutate edns & remove edns options (@leshow) #1363
  • (proto) Change Edns set_* to -> &mut Self (@leshow) #1369
  • (resolver) Enable RuntimeProvider in DoT implementations (@chengyuhui) #1373
  • (proto) Optimize name parsing (@saethlin) #1388
  • (proto) Remove a lot of bounds checks in BinDecoder by tracking position with a second slice (@saethlin) #1399
  • (proto) Make errors/error reporting more lightweight (@saethlin) #1409

Make backtrace optional (back port from 0.20)

v0.19.7 Mar 10 2021 at 01:57 UTC

0.19.7

Changed

  • make backtrace an optional dependency, backported from 0.20 (@jmagnuson) #1387

v0.20.0 with Tokio 1.0 support

v0.20.0 Dec 29 2020 at 21:37 UTC

0.20.0

Changed

  • (all) upgraded to Tokio 1.0 (@messense) #1330 (0.3 updates in #1262)
  • (proto) Add serde support for the RecordType in the proto crate (@LEXUGE) #1319
  • (https) dns_hostname args all are Arc<str> rather than Arc<String>, use Arc::from
  • (proto) Set TCP_NODELAY when building a TCP connection (@djc) #1249
  • (all) BREAKING The UdpSocket trait has grown an associated Time type.
  • (all) BREAKING The Connect trait has lost its Transport associated type, instead relying on the Self type.
  • (all) BREAKING Introduced a new DnsTcpStream trait, which is now a bound for implementing the Connect trait.
  • (resolver) BREAKING Move CachingClient from lookup_state to caching_client module
  • (resolver) BREAKING Move ResolverOpts::distrust_nx_responses to NameServerConfig::trust_nx_responses (@djc) #1212
  • (proto) data-encoding is now a required dependency #1208
  • (all) minimum rustc version now 1.45
  • (resolver) For all NxDomain and NoError/NoData responses, ResolveErrorKind::NoRecordsFound will be returned #1197
  • (server) Support for lowercase DNSClass and RecordType fields in zonefiles (@zhanif3) #1186
  • (resolver) Make EDNS optional for resolvers (@CtrlZvi) #1173
  • (all) Fully support ring for all DNSSEC operations. #1145
  • (all) No more master (branch, moved to main) slave, in honor of Juneteenth #1141
  • (all) Minimize futures dependencies (@JohnTitor) #1109
  • (proto) increases the UDP buffer size from 2048 to 4096 to allow larger payloads (@DevQps) #1096
  • (resolver) use IntoName trait on synchronous resolver interface (@krisztian-kovacs) #1095
  • (resolver) BREAKING removed async for AsyncResolver::new (@balboah) #1077 #1056
  • (server) BREAKING removed Runtime from ServerFuture::register_socket (@LucioFranco) #1088 #1087
  • (proto) Breaking Adjust the return value from ResponseCode::high from u16 to u8 #1202

Fixed

  • (client) Support reading the root hints file (@mattias-p) #1261
  • (resolver) Fix Glue records resolving (@wavenator) #1188
  • (resolver) Only fall back on TCP if cons are available (@lukaspustina) #1181
  • (proto) fix empty option at end of edns (@jonasbb) #1143, #744
  • (resolver) Return REFUSED instead of NXDOMAIN when server is not an authority (@AnIrishDuck) #1137
  • (resolver) forwarder: return NXDomain on e.is_nx_domain() (@balboah) #1123
  • (resolver) Regards NXDomain and NoError empty responses as errors (continues searching for records), #1086 #933

Added

  • (util) new Add resolve.rs as CLI for trust-dns-resolver #1208
  • (proto) Added proper zone display to all RData as an impl of Display #1208
  • (proto) xfer::dns_response::NegativeType and DnsResponse::negative_type to classify negative response type #1197
  • (proto) DnsResponse::contains_answer to determine if a response message has data related to the query #1197
  • (proto) RecordType::is_soa and RecordType::is_ns to easily check for these types #1197
  • (proto) Message::all_sections to allow iteration over all Records in all sections in a Message #1197
  • (proto) Message::take_queries to remove from a Message without requiring clone #1197
  • (proto) DnsHandle::Error associated type to support generic errors across trust-dns libraries #1197
  • (resolver) Add support for tlsa RRs in trust_dns_resolver (@smutt) #1189
  • (resolver) Support pointer ending label compression (@jacoblin1994) #1182
  • (proto) Keep OS error information on io::Error (@brunowonka) #1163
  • (proto) Support mDNS cache-flush bit (@fluxxu) #1144
  • (proto) Allow creating TXT Rdata with binary data (@bltavares) #1125
  • (proto) Add mutable access to Message fields (@leshow) #1118
  • (proto) Add Name.parse_ptr_name, to IP address (@Mygod) #1107
  • (resolver) Allow HTTPS to be generic over Runtime (@balboah) #1077 #1074

0.19.6: Update resolv-conf to 0.7

0.19.6 Nov 13 2020 at 18:53 UTC

0.19.6

Fixed

  • bump resolv-conf from 0.6.0 to 0.7.0, fixes system resolv.conf parse issue (@wg) #1285