Skip to content

Dcerpc is fragmented/v3 - #16027

Open
inashivb wants to merge 3 commits into
OISF:mainfrom
inashivb:dcerpc-is_fragmented/v3
Open

Dcerpc is fragmented/v3#16027
inashivb wants to merge 3 commits into
OISF:mainfrom
inashivb:dcerpc-is_fragmented/v3

Conversation

@inashivb

Copy link
Copy Markdown
Member

Previous PR: #15956

Changes since v1:

  • rebased on top of latest main
  • added support for smb/dcerpc

Link to ticket: https://redmine.openinfosecfoundation.org/issues/8736

SV_BRANCH=OISF/suricata-verify#3278

To allow matches with dcerpc.flags keyword later on. DCERPC/TCP exposes
a u8 as PFC flags in its header however, DCERPC/UDP stores two sets of
flags flags1 and flags2 in its header. Hence, the field is kept u16 to
accommodate for both.
This keyword accepts a boolean value and issues a check against the
header flags in a respective direction per transaction to check if
the current PDU is fragmented or not.
The classification criteria is very clear for UDP: flags 0x04 have to be
set on the PDU explicitly marking it fragmented.
The classification criteria for TCP is a bit ambiguous in the RFC but
with the current implementation in Suricata only honoring the types
REQUEST, BIND, ALTER_CONTEXT, following criteria is used.

PFC_FIRST_FRAG && PFC_LAST_FRAG set => it's a complete PDU; unfragmented
fragmented otherwise.

ref: https://pubs.opengroup.org/onlinepubs/9629399/chap12.htm

Feature 8736
@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.38095% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.01%. Comparing base (bc4c064) to head (8e5289d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #16027      +/-   ##
==========================================
- Coverage   83.04%   83.01%   -0.03%     
==========================================
  Files        1002     1002              
  Lines      276722   276827     +105     
==========================================
+ Hits       229794   229811      +17     
- Misses      46928    47016      +88     
Flag Coverage Δ
fuzzcorpus 61.58% <20.95%> (-0.14%) ⬇️
livemode 18.50% <10.47%> (+0.02%) ⬆️
netns 22.88% <10.47%> (-0.04%) ⬇️
pcap 45.40% <20.00%> (-0.06%) ⬇️
suricata-verify 67.10% <92.38%> (-0.02%) ⬇️
unittests 58.46% <14.28%> (-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 = 32977

@inashivb
inashivb marked this pull request as ready for review August 14, 2026 04:58
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.

2 participants