mirror of https://github.com/OISF/suricata
detect: make the completion state final at the end state
eof is C > P, so an engine registered at a parser's completion state never becomes complete: there is no next state to enter. A firewall rule hooking such a state (e.g. tls:client_finished) stayed pending forever and was optimistically accepted. Treat progress == engine progress == tx end state as complete. This also finalizes the buffer engines' eof on completion-state buffers, so absent and bsize decisions now happen there, and it covers every parser whose engine progress equals its completion state (dns, ntp, quic, rdp-style two-state protocols), not only the firewall path that motivated the change. Ticket: #8944.pull/16368/head
parent
0e297d26ff
commit
59d08a717e
Loading…
Reference in New Issue