You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suricata/rust
Jeff Lucovsky 7bc883ef93 detect/transforms: disqualify variable-key transforms from prefilter
A transform that derives its key material from a runtime byte_extract or
byte_math variable cannot have its buffer precomputed at load time, so the
content of that buffer is unusable as a fast_pattern. Add the engine
plumbing to recognise such transforms and keep them out of prefilter/MPM.

SignatureInitData gains a var_transform flag. RetrieveFPForSig bails out
for any signature that sets it, so the signature falls back to full
inspection rather than contributing an MPM pattern that can't be built
ahead of time.

New helpers support a transform consuming a variable:

- SCSignatureSetVarTransform() raises the disqualification flag.
- SCDetectByteVarResolve() resolves a byte_extract or byte_math variable
  by name to its runtime slot, and for a byte_extract reports its natural
  key width (a byte_math result has none).
- SCDetectEngineThreadCtxGetByteVar() reads a byte_* variable's runtime
  value from the thread context.

The helpers are declared in detect-engine-buffer.h so the bindgen run
picks them up; the Rust bindings are regenerated to match.

Issue: 7847
3 months ago
..
.cargo
…
derive rust/ffi: move AppLayerEvent to ffi 6 months ago
ffi rust/ffi: specify sys crate dependency version 4 months ago
htp http1: limit the number of compression bombs per flow 4 months ago
src doh2: do not enable parser if http2 is disabled 4 months ago
suricatactl rust: limit clap verson to 4.5.57 8 months ago
suricatasc rust: pin unicode-segmentation crate to 1.12.0 7 months ago
sys detect/transforms: disqualify variable-key transforms from prefilter 3 months ago
.gitignore
…
Cargo.lock.in psl: update to latest version 4 months ago
Cargo.toml.in rust: feature debug in main crate enables feature debug in ffi 5 months ago
Makefile.am rust: build depends on ffi/Cargo.toml.in 5 months ago
cbindgen.toml http2: split transaction state machines 4 months ago
rustfmt.toml
…