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
Victor Julien a28b68af08 nfs: take the chunk promise and the record tail from the record
The queue-limit work computed the record tail and the chunk promise from
the declared size, and added a count or a data length to it. A padded or
segmented record therefore left a promise armed past the end of its
record: a continuation could run on into the next RPC, an input that
carries only record slack grew the out-of-order queue and truncated a
file whose queued data fits, and the backstop walked the transactions of
a call that holds no file transaction at all.

Take the promise from the record itself, with record_tail(): what its
marker claims minus what the parser holds. Keep its two halves apart:
the stream side is the record tail, the queue side is the file data the
tracker still misses, so a continuation queues no more than its own
bytes. A pad a record carries is inside its claim, so the tail drains
it; it is neither file data nor fill. Release a promise whose
transaction is gone instead of consuming toward the claim, run the
backstop only when the call carries data and the state holds a file
transaction, and count a chunk only for input that carries file data. A
consume past the end of an input is now a debug assertion, with the
advance clamped to the input.

Ticket: #9263.
24 hours ago
..
.cargo rust: rename .cargo/config to .cargo/config.toml 2 years ago
derive rust: inherit common package metadata from workspace 5 days ago
ffi rust: keep the ffi logger out of the test binary 24 hours ago
htp rust: hoist nom 8 dependency into workspace 5 days ago
src nfs: take the chunk promise and the record tail from the record 24 hours ago
suricatactl rust: hoist regex dependency into workspace 5 days ago
suricatasc rust: hoist serde_json dependency into workspace 5 days ago
sys rust: inherit common package metadata from workspace 5 days ago
.gitignore rust: rename .cargo/config to .cargo/config.toml 2 years ago
Cargo.lock.in rust: update clipboard-win 4 days ago
Cargo.toml.in rust: hoist nom 8 dependency into workspace 5 days ago
Makefile.am rust/derive: add Makefile for Cargo.toml regeneration 5 days ago
cbindgen.toml http2: split transaction state machines 4 months ago
rustfmt.toml rustfmt: replace deprecated fn_args_layout with fn_params_layout 3 years ago