[package]
edition = "2021"
rust-version = "1.76"
name = "strict-path"
version = "0.2.2"
authors = ["David Krasnitsky <dikaveman@gmail.com>"]
build = false
exclude = ["../demos/**"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Secure path handling for untrusted input. Prevents directory traversal, symlink escapes, and 19+ real-world CVE attack patterns."
homepage = "https://github.com/DK26/strict-path-rs"
documentation = "https://docs.rs/strict-path"
readme = "README.md"
keywords = [
"path",
"security",
"sandbox",
"sanitization",
"traversal",
]
categories = [
"filesystem",
"development-tools",
"web-programming::http-server",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/DK26/strict-path-rs"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
junctions = ["dep:junction"]
virtual-path = []
[lib]
name = "strict_path"
path = "src/lib.rs"
[[example]]
name = "app_path_integration"
path = "examples/app_path_integration.rs"
[[example]]
name = "dirs_integration"
path = "examples/dirs_integration.rs"
[[example]]
name = "marker_transformation"
path = "examples/marker_transformation.rs"
[[example]]
name = "path_boundary_one_liner"
path = "examples/path_boundary_one_liner.rs"
[[example]]
name = "tempfile_integration"
path = "examples/tempfile_integration.rs"
[[example]]
name = "user_virtual_root"
path = "examples/user_virtual_root.rs"
required-features = ["virtual-path"]
[[example]]
name = "vroot_one_liner"
path = "examples/vroot_one_liner.rs"
required-features = ["virtual-path"]
[dependencies.soft-canonicalize]
version = "0.5.6"
features = ["anchored"]
[dev-dependencies.app-path]
version = "1.1.2"
[dev-dependencies.dirs]
version = "6.0.0"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3.27.0"
default-features = false
[target."cfg(windows)".dependencies.dunce]
version = "1.0"
[target."cfg(windows)".dependencies.junction]
version = "1.4.2"
optional = true
[target."cfg(windows)".dev-dependencies.junction]
version = "1.4.2"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]