Repository navigation
Fix quicforward send buffer count in buffered mode - #6444
Duckki Oe (duckki) wants to merge 4 commits into
Conversation
a3673ee to
9c454dd
Compare
|
@microsoft-github-policy-service agree |
| COMMAND msquictest | ||
| WORKING_DIRECTORY ${QUIC_OUTPUT_DIR}) | ||
|
|
||
| add_executable(quicforward_send_test ForwarderSendTest.cpp) |
There was a problem hiding this comment.
This doesn't belong here.
If you want to add test for the forwarder sample, have them in a subfolder of the forwarder sample.
They do not belong in MsQuic product code.
There was a problem hiding this comment.
Moved it under src/tools/forwarder/test.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6444 +/- ##
==========================================
- Coverage 88.68% 87.90% -0.78%
==========================================
Files 60 60
Lines 19096 19096
==========================================
- Hits 16935 16787 -148
- Misses 2161 2309 +148 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
isn't that btw a case for MSRC instead of public PR? |
If you ever have doubts, please file an MSRC case and do not open an issue / PR on GitHub. |
Thanks for clarifying. I reported the same issue to MSRC on October 18 (case #166943), including a working PoC and root cause analysis. I only noticed this PR afterward. I'll follow up with MSRC about my earlier report and researcher credit |
There was a problem hiding this comment.
If adding unit tests for this sample code, please use gtest and add them to CI runs. Test code that doesn't run is not useful.
I don't think it is useful to add this test though: sample are already test/demonstration code.
There was a problem hiding this comment.
Ok, I just simplified to one-liner fix without test.
Description
Buffered
quicforwardreceives coalesce their input into one outgoing buffer.Use that outgoing descriptor count for
StreamSendinstead of the originalreceive count. Unbuffered forwarding retains the original count.
Testing
Added
quicforward_send_testundersrc/tools/forwarder/testfor a two-buffer receive.It checks the combined bytes and count in buffered mode, and the original
descriptors and count in unbuffered mode. It passes through CTest with
QUIC_BUILD_TEST=ONandQUIC_BUILD_TOOLS=ON, and in a direct ASan/UBSan run.A local 24 KiB forwarder probe also kept both modes live.
Documentation
No documentation changes.