Cargo Features

[dependencies]
rustdns = { version = "0.4.0", default-features = false, features = ["clients", "doh", "json", "tcp", "udp", "zones", "http_deps"] }
default = clients, zones

These default features are set whenever rustdns is added without default-features = false somewhere in the dependency tree.

clients default = doh, json, tcp, udp

Enable the DNS client

doh clients = base64, http_deps

DNS over HTTPS (DoH) client (rfc8484).

Affects clients::doh, rustdns::clients

json clients = http_deps, serde, serde_json

DNS over HTTPS JSON client

Affects clients::json, rustdns::clients

tcp clients

DNS over TCP client

Affects clients::tcp, rustdns::clients

udp clients

DNS over UDP client

Affects rustdns::clients

zones default = pest, pest_consume, pest_derive

Enable the Zone Parser

http_deps doh? json? = http, hyper, hyper-alpn, mime, url

A private feature for common http dependencies.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

http http_deps?

Enables http ^0.2.5

Used for the web clients

url http_deps?
hyper http_deps?

Enables hyper ^0.14.16

hyper-alpn http_deps?

Enables hyper-alpn ^0.3.0

mime http_deps?
base64 doh?

Enables base64 ^0.13.0

Needed for DNS over HTTP (DoH)

serde json?

Enables serde

Needed for DNS over HTTP Json

serde_json json?
pest zones

Enables pest

Needed for Zone file parsing

pest_consume zones
pest_derive zones