Skip to content

channel: enforce remaining receive window - #1518

Open
sankalpsthakur wants to merge 2 commits into
mscdex:masterfrom
sankalpsthakur:fix/enforce-channel-receive-window
Open

sankalpsthakur wants to merge 2 commits into
mscdex:masterfrom
sankalpsthakur:fix/enforce-channel-receive-window

Conversation

@sankalpsthakur

@sankalpsthakur sankalpsthakur commented Sep 7, 2026 •

Copy link
Copy Markdown

Fixes #1505. Original report by afldl.

Reject channel data exceeding the remaining receive window before subtracting its length or buffering it. Cover client stdout, client stderr and server-side data; preserve the existing behavior of ignoring data when credit is zero.

Bounded regressions cover exact-credit acceptance and over-credit rejection across window sizes 0/1/4 and payload sizes 0/1/4/5. They failed on untouched upstream and pass with this change. npm run lint passes.

Full npm test is not green on macOS with Node.js 22.23.2: old-OpenSSH RSA integration exits 255, also reproduced upstream with OpenSSH 10.3, and userauth encountered a localhost timeout. Optional native crypto is absent; unsupported arcfour is skipped.

AI tools assisted with implementation, tests and this description.

also flushes writes still waiting on window credit before a deferred close after end(), fixes #1508

@sankalpsthakur

Copy link
Copy Markdown
Author

Hi, gentle ping on this when someone has a moment. Happy to adjust anything. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant