Skip to content

next/1337/20260509/v1#15344

Merged
victorjulien merged 11 commits intoOISF:mainfrom
victorjulien:next/1337/20260509/v1
May 9, 2026
Merged

next/1337/20260509/v1#15344
victorjulien merged 11 commits intoOISF:mainfrom
victorjulien:next/1337/20260509/v1

Conversation

spinaev and others added 11 commits May 9, 2026 04:17
when engine-analysis is turned off in suricata.yaml
and we run suricata with --engine-analysis
suricata will try to use data from de_ctx->ea wich is
free'd in SetupEngineAnalysis() because fp_analysis and
rule_analysis is turned off and will receive SIGSEGV
with something like:
0x00007ffff7b4ac7b in _IO_new_fclose (fp=0xad96ab1cf5b38042) at ./libio/iofclose.c:48

Ticket: 8505
When we got a bind without the first fragment flag, and did not
set any_frag in the signature, the signature always matched,
whatever the uuid value

Ticket: 8457
Provide Rust friendly callback registrations for flow init, update and finish events. These
callbacks are implemented as Rust closures.

Ticket: OISF#8446
Document for C and Rust, as the C documentation was missing.

Ticket: OISF#8446
Other parsers (SMB, POP3, ENIP) already raise a too_many_transactions
event when a flow exceeds its per-flow transaction limit. FTP had
the limit wired up through app-layer.protocols.ftp.max-tx but just
dropped the excess transaction on the floor with a "FTP does not set
events yet..." TODO, so no event was raised when the limit was
reached.

Add the FtpEventTooManyTransactions variant, a stock rule at
sid 2232002, and raise the event from FTPTransactionCreate when the
live-tx count goes past ftp_config_maxtx.

Issue: 8489
The first version of the event set done=true on state->curr_tx and
returned NULL when the limit hit. curr_tx is usually the active
command just received — marking it done mid-request throws off
response matching, and subsequent commands in the flow stop getting
logged.

SMB behavior is mirrored here:
Walk the tx list, find the oldest tx that isn't done, mark
it done and tag it with the event, then fall through and
create the new tx so the flow parsing continues. One stale tx gets
reaped per overflow so memory stays bounded.

Issue: 8489
Add missing FTP configuration value to suricata.yaml.in showing the
default value.

Issue: 8489
@victorjulien victorjulien requested review from a team, jasonish and jufajardini as code owners May 9, 2026 08:27
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 9, 2026

NOTE: This PR may contain new authors.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 9, 2026

Codecov Report

❌ Patch coverage is 24.05063% with 60 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.65%. Comparing base (8968b1c) to head (c48bb1b).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #15344      +/-   ##
==========================================
- Coverage   82.66%   82.65%   -0.02%     
==========================================
  Files         995      996       +1     
  Lines      271046   271111      +65     
==========================================
+ Hits       224069   224089      +20     
- Misses      46977    47022      +45     
Flag Coverage Δ
fuzzcorpus 61.02% <11.39%> (-0.04%) ⬇️
livemode 18.38% <0.00%> (-0.01%) ⬇️
netns 22.64% <0.00%> (+<0.01%) ⬆️
pcap 45.24% <0.00%> (+0.01%) ⬆️
suricata-verify 66.41% <24.05%> (+<0.01%) ⬆️
unittests 58.56% <0.00%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@suricata-qa
Copy link
Copy Markdown

Information: QA ran without warnings.

Pipeline = 31314

Copy link
Copy Markdown
Member

@inashivb inashivb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀

@victorjulien victorjulien merged commit c48bb1b into OISF:main May 9, 2026
61 checks passed
@victorjulien victorjulien deleted the next/1337/20260509/v1 branch May 9, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

7 participants