sctp icon indicating copy to clipboard operation
sctp copied to clipboard

Add RFC 9653 and fuzz tests

Open philipch07 opened this issue 4 months ago • 5 comments

Description

  • Adds support for RFC 9653.
  • Adds fuzz tests to validate the RFC 9653 core properties.

~~Requires #407 to be merged first. Merged!~~ This got reverted.

#442 reintroduces it, so this must be merged first.

Reference issue

A part of #124. Closes #405.

philipch07 avatar Oct 18 '25 22:10 philipch07

Codecov Report

:x: Patch coverage is 94.23077% with 3 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 83.76%. Comparing base (a69c6a2) to head (9d097a8).

Files with missing lines Patch % Lines
chunk_init.go 93.93% 1 Missing and 1 partial :warning:
param_zero_checksum.go 66.66% 0 Missing and 1 partial :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #406      +/-   ##
==========================================
- Coverage   83.84%   83.76%   -0.09%     
==========================================
  Files          51       51              
  Lines        3448     3486      +38     
==========================================
+ Hits         2891     2920      +29     
- Misses        417      424       +7     
- Partials      140      142       +2     
Flag Coverage Δ
go 83.76% <94.23%> (-0.09%) :arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

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

codecov[bot] avatar Oct 18 '25 22:10 codecov[bot]

Amazing! I think we can get this merged tonight.

can you break this into singular PRs? Just so I can learn/understand since you are fixing my mistakes :)

it will make it easier for others to maintain/learn

Sean-Der avatar Oct 18 '25 23:10 Sean-Der

Amazing! I think we can get this merged tonight.

can you break this into singular PRs? Just so I can learn/understand since you are fixing my mistakes :)

it will make it easier for others to maintain/learn

Yes, I can try! It may be a little difficult though since a lot of things got mixed together as I was working on it.

philipch07 avatar Oct 19 '25 00:10 philipch07

I created #407 from this PR; that one is purely focused on making packet.go conform to RFC 9260, along with some fuzz tests. This PR will have to be rebased after that one is merged, at which point the diffs will be cleaner. The resulting diffs should only be the RFC 9653 implementation along with some fuzz tests for it. Let me know if you think anything else can be broken down!

philipch07 avatar Oct 19 '25 03:10 philipch07

#407 has been merged so this PR is ready for review!

philipch07 avatar Oct 29 '25 21:10 philipch07

It's been a while and I seem to have broken something here, I'll fix this some time in the future. I'm pretty sure I need to cherry-pick my changes from reintroducing the packet changes since this pr changes those files, and then I need to carefully go over the tests again.

philipch07 avatar Dec 20 '25 02:12 philipch07