mirror of
https://github.com/rwf2/Rocket.git
synced 2025-01-09 03:02:45 +00:00
908a918e8b
The fuzzing target introduced in this commit attemps to assert "collision safety". Formally, this is the property that: matches(request, route) := request is matched to route collides(route1, route2) := there is a a collision between routes forall requests req. !exist routes r1, r2 s.t. matches(req, r1) AND matches(req, r2) AND not collides(r1, r2) Alternatively: forall requests req, routes r1, r2. matches(req, r1) AND matches(req, r2) => collides(r1, r2) The target was run for 20 CPU hours without failure.
51 lines
841 B
TOML
51 lines
841 B
TOML
[package]
|
|
name = "rocket-fuzz"
|
|
version = "0.0.0"
|
|
authors = ["Automatically generated"]
|
|
publish = false
|
|
edition = "2021"
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[dependencies]
|
|
libfuzzer-sys = "0.4"
|
|
arbitrary = { version = "1.3", features = ["derive"] }
|
|
|
|
[target.'cfg(afl)'.dependencies]
|
|
afl = "*"
|
|
|
|
[target.'cfg(honggfuzz)'.dependencies]
|
|
honggfuzz = "*"
|
|
|
|
[dependencies.rocket]
|
|
path = ".."
|
|
|
|
# Prevent this from interfering with workspaces
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[[bin]]
|
|
name = "uri-parsing"
|
|
path = "targets/uri-parsing.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "uri-roundtrip"
|
|
path = "targets/uri-roundtrip.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "uri-normalization"
|
|
path = "targets/uri-normalization.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "collision-matching"
|
|
path = "targets/collision-matching.rs"
|
|
test = false
|
|
doc = false
|