[package]
edition = "2024"
name = "toe-beans"
version = "0.9.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DHCP library, client, and server"
homepage = "https://black-cat.us/toe-beans/toe-beans.html"
readme = "README.md"
keywords = [
"dhcp",
"dhcpv4",
"network",
]
categories = [
"network-programming",
"parser-implementations",
"encoding",
]
license = "LGPL-2.0-only"
repository = "https://codeberg.org/black-cat/toe-beans"
[features]
benchmark = []
default = [
"v4_client",
"v4_server",
"disable_trace",
]
disable_log = [
"log/max_level_off",
"log/release_max_level_off",
]
disable_trace = ["log/release_max_level_debug"]
integration = []
v4_client = [
"dep:rand",
"dep:clap",
]
v4_server = [
"dep:ip_network",
"dep:serde",
"dep:toml",
"dep:clap",
"dep:inherface",
]
[lib]
name = "toe_beans"
path = "src/lib.rs"
[[bin]]
name = "client"
path = "src/bin/client.rs"
required-features = ["v4_client"]
[[bin]]
name = "server"
path = "src/bin/server.rs"
required-features = ["v4_server"]
[[test]]
name = "integration"
path = "tests/integration.rs"
[[bench]]
name = "decode"
path = "benches/decode.rs"
harness = false
required-features = ["disable_log"]
[[bench]]
name = "encode"
path = "benches/encode.rs"
harness = false
required-features = ["disable_log"]
[[bench]]
name = "leases"
path = "benches/leases.rs"
harness = false
required-features = ["disable_log"]
[dependencies.clap]
version = "4.5.8"
features = ["derive"]
optional = true
[dependencies.env_logger]
version = "0.11.0"
default-features = false
[dependencies.inherface]
version = "0.2.0"
features = ["ipv4"]
optional = true
default-features = false
[dependencies.ip_network]
version = "0.4.1"
features = ["serde"]
optional = true
[dependencies.log]
version = "0.4"
[dependencies.mac_address]
version = "1.1.8"
features = ["serde"]
[dependencies.rand]
version = "0.9.0"
optional = true
[dependencies.serde]
version = "1.0.192"
features = ["derive"]
optional = true
[dependencies.toml]
version = "0.9"
optional = true
[dev-dependencies.criterion]
version = "0.7.0"
features = ["cargo_bench_support"]
[dev-dependencies.rand]
version = "0.9.0"
[lints.clippy]
module_inception = "allow"
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unsafe_code = "forbid"