[package]
edition = "2024"
rust-version = "1.89"
name = "dnsbox"
version = "0.0.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance, zero-copy DNS message parsing and building for requests and responses, with broad RFC extension coverage."
documentation = "https://docs.rs/dnsbox"
readme = "README.md"
keywords = [
"dns",
"parser",
"protocol",
"no_std",
"zero-copy",
]
categories = [
"network-programming",
"parser-implementations",
"encoding",
"no-std",
]
license = "MIT"
repository = "https://github.com/KarpelesLab/dnsbox"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = ["serde?/alloc"]
cookie-siphash = [
"dep:purecrypto",
"purecrypto/mac",
]
default = ["std"]
dnssec = [
"alloc",
"dnssec-digest",
"purecrypto/alloc",
"purecrypto/rsa",
"purecrypto/ec",
]
dnssec-digest = [
"dep:purecrypto",
"purecrypto/hash",
]
serde = ["dep:serde"]
std = ["alloc"]
tsig = [
"dep:purecrypto",
"purecrypto/hash",
]
[lib]
name = "dnsbox"
path = "src/lib.rs"
[[test]]
name = "api"
path = "tests/api.rs"
[[test]]
name = "builder_truncation"
path = "tests/builder_truncation.rs"
[[test]]
name = "captures"
path = "tests/captures.rs"
[[test]]
name = "corpus"
path = "tests/corpus.rs"
[[test]]
name = "denial_properties"
path = "tests/denial_properties.rs"
[[test]]
name = "dig_display"
path = "tests/dig_display.rs"
[[test]]
name = "dnssec_captures"
path = "tests/dnssec_captures.rs"
[[test]]
name = "edns"
path = "tests/edns.rs"
[[test]]
name = "fuzz_regressions"
path = "tests/fuzz_regressions.rs"
[[test]]
name = "no_alloc"
path = "tests/no_alloc.rs"
[[test]]
name = "proptest_roundtrip"
path = "tests/proptest_roundtrip.rs"
[[test]]
name = "rdata_b"
path = "tests/rdata_b.rs"
[[test]]
name = "rdata_batch_a"
path = "tests/rdata_batch_a.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[[test]]
name = "sig0_named"
path = "tests/sig0_named.rs"
[[test]]
name = "svcb_captures"
path = "tests/svcb_captures.rs"
[[test]]
name = "tsig_named"
path = "tests/tsig_named.rs"
[[test]]
name = "update_named"
path = "tests/update_named.rs"
[[test]]
name = "xfr_named"
path = "tests/xfr_named.rs"
[[test]]
name = "zone_dnssec_text"
path = "tests/zone_dnssec_text.rs"
[[test]]
name = "zone_text_b"
path = "tests/zone_text_b.rs"
[[test]]
name = "zonetext_a"
path = "tests/zonetext_a.rs"
[dependencies.purecrypto]
version = "0.9"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.200"
features = ["derive"]
optional = true
default-features = false
[dev-dependencies.assert_no_alloc]
version = "1.1"
features = [
"warn_debug",
"warn_release",
]
default-features = false
[dev-dependencies.proptest]
version = "1.5"
features = ["std"]
default-features = false
[dev-dependencies.purecrypto]
version = "0.9"
features = [
"hash",
"ec",
"rsa",
"alloc",
]
default-features = false
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.serde_test]
version = "1"
[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"