#dns-resolver #trust-dns #hyper #connector #default #dnssec #trust-dns-resolver

hyper-trust-dns

HTTP/HTTPS connectors for hyper that use trust-dns' DNS resolver

8 releases (4 breaking)

0.5.0 Sep 5, 2022
0.4.2 Apr 13, 2022
0.3.1 Dec 1, 2021
0.3.0 Nov 21, 2021
0.1.0 Oct 12, 2021

#4 in #trust-dns

Download history 804/week @ 2023-12-13 642/week @ 2023-12-20 706/week @ 2023-12-27 1096/week @ 2024-01-03 991/week @ 2024-01-10 1200/week @ 2024-01-17 1553/week @ 2024-01-24 2939/week @ 2024-01-31 3378/week @ 2024-02-07 2763/week @ 2024-02-14 2888/week @ 2024-02-21 3563/week @ 2024-02-28 3737/week @ 2024-03-06 2562/week @ 2024-03-13 1165/week @ 2024-03-20 564/week @ 2024-03-27

8,992 downloads per month
Used in 6 crates

MIT license

17KB
180 lines

hyper-trust-dns

This crate provides HTTP/HTTPS connectors for hyper that use the fast and advanced DNS resolver of trust-dns instead of the default threadpool implementation of hyper.

Usage

use hyper::Client;
use hyper_trust_dns::TrustDnsResolver;

let connector = TrustDnsResolver::default().into_rustls_native_https_connector();
let client: Client<_> = Client::builder().build(connector);

Types of connectors

There are 3 connectors:

The HTTP connector is always available, the other two can be enabled via the rustls-webpki (uses webpki roots)/rustls-native (uses OS cert store) and native-tls features respectably.

Trust-DNS options

The crate has other features that toggle functionality in trust-dns-resolver, namingly dns-over-openssl, dns-over-native-tls and dns-over-rustls for DNS-over-TLS, dns-over-https-rustls for DNS-over-HTTPS and dnssec-openssl and dnssec-ring for DNSSEC.

A note on DNSSEC

DNSSEC functionality was never actually used if enabled prior to version 0.5.0 of this crate. This has been changed since and might result in sudden, breaking behaviour due to trust-dns-resolver failing on unsigned records.

This behaviour will continue until DNSSEC is improved in trust-dns.

Dependencies

~9–25MB
~397K SLoC