dnsbox 0.0.2

High-performance, zero-copy DNS message parsing and building for requests and responses, with broad RFC extension coverage.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"