2021-06-07 04:52:44 +00:00
|
|
|
[package]
|
|
|
|
name = "rocket-fuzz"
|
|
|
|
version = "0.0.0"
|
|
|
|
authors = ["Automatically generated"]
|
|
|
|
publish = false
|
2022-03-19 18:25:24 +00:00
|
|
|
edition = "2021"
|
2021-06-07 04:52:44 +00:00
|
|
|
|
|
|
|
[package.metadata]
|
|
|
|
cargo-fuzz = true
|
|
|
|
|
2024-05-20 18:39:14 +00:00
|
|
|
[lints.rust]
|
|
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(honggfuzz)', 'cfg(afl)'] }
|
|
|
|
|
2021-06-07 04:52:44 +00:00
|
|
|
[dependencies]
|
|
|
|
libfuzzer-sys = "0.4"
|
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 23:07:50 +00:00
|
|
|
arbitrary = { version = "1.3", features = ["derive"] }
|
|
|
|
|
|
|
|
[target.'cfg(afl)'.dependencies]
|
|
|
|
afl = "*"
|
|
|
|
|
|
|
|
[target.'cfg(honggfuzz)'.dependencies]
|
|
|
|
honggfuzz = "*"
|
2021-06-07 04:52:44 +00:00
|
|
|
|
|
|
|
[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
|
2023-04-07 01:57:49 +00:00
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
name = "uri-normalization"
|
|
|
|
path = "targets/uri-normalization.rs"
|
|
|
|
test = false
|
|
|
|
doc = false
|
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 23:07:50 +00:00
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
name = "collision-matching"
|
|
|
|
path = "targets/collision-matching.rs"
|
|
|
|
test = false
|
|
|
|
doc = false
|