Rocket/core/lib/fuzz/Cargo.toml
Sergio Benitez 908a918e8b Fuzz to validate routing collision safety.
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.
2023-04-07 20:27:56 -07:00

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