[package]
name = "firewall"
version = "0.4.2"
edition = "2024"
authors = ["Jerome David <programingjd@gmail.com>"]
categories = ["web-programming::http-server"]
description = "Connection rejection abstraction"
keywords = ["firewall", "cidr", "cloudflare"]
license = "MIT"
repository = "https://github.com/programingjd/firewall"
include = [
"Cargo.toml", "src", "examples", "LICENSE", "README.md"
]
[dependencies.rustls]
optional = true
version = "0.23"
default-features = false
features = ["ring"]
[dependencies.openssl]
optional = true
version = "0.10"
default-features = false
features = ["vendored"]
[dependencies.tokio]
optional = true
version = "1.51"
default-features = false
features = ["net", "rt"]
[dependencies.tokio-rustls]
optional = true
version = "0.26"
default-features = false
features = ["ring"]
[dependencies.webpki-roots]
optional = true
version = "1.0"
default-features = false
features = []
[dependencies.read_until_slice]
optional = true
version = "0.1"
default-features = false
features = []
[dependencies.cidr]
optional = true
version = "0.3"
default-features = false
features = ["std"]
[dependencies.serde]
optional = true
version = "1.0"
default-features = false
features = ["std", "derive"]
[dependencies.serde_json]
optional = true
version = "1.0"
default-features = false
features = ["std"]
[features]
default = ["builder"]
builder = ["dep:cidr"]
rustls = ["dep:rustls"]
openssl = ["dep:openssl"]
cloudflare = ["builder", "dep:tokio", "dep:tokio-rustls", "dep:webpki-roots", "dep:read_until_slice"]
fastly = ["builder", "dep:tokio", "dep:tokio-rustls", "dep:webpki-roots", "dep:read_until_slice", "dep:serde", "dep:serde_json"]
github_webhook = ["builder", "dep:tokio", "dep:tokio-rustls", "dep:webpki-roots", "dep:read_until_slice", "dep:serde", "dep:serde_json"]
all = ["cloudflare", "github_webhook", "fastly", "rustls", "openssl"]
[dev-dependencies.tokio]
version = "1.51"
default-features = false
features = ["net", "io-util", "rt-multi-thread", "macros"]
[dev-dependencies.tokio-rustls]
version = "0.26"
default-features = false
features = ["ring", "tls12"]
[dev-dependencies.rcgen]
version = "0.14"
default-features = false
features = ["ring", "pem"]
[[example]]
name = "tokio_rustls"
required-features = ["rustls"]
[[example]]
name = "openssl"
required-features = ["openssl"]
[[example]]
name = "cloudflare"
required-features = ["cloudflare"]
[[example]]
name = "github_webhook"
required-features = ["github_webhook"]
[[example]]
name = "fastly"
required-features = ["fastly"]