Fix DoChannelRequest and add a unit test#942
Merged
ejohnstown merged 1 commit intowolfSSL:masterfrom Apr 21, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR aligns DoChannelRequest() with RFC 4254 §5.4 by rejecting SSH_MSG_CHANNEL_REQUEST messages whose request type is unrecognized, and adds a unit test to validate the success/failure reply behavior.
Changes:
- Reject unknown channel request types by sending
CHANNEL_FAILUREwhenwantReplyis set. - Expose
DoChannelRequest()via aWOLFSSH_TEST_INTERNALtest wrapper. - Add a unit test that exercises known vs unknown request types and inspects the outgoing reply.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
src/internal.c |
Reject unknown channel request types and add a test-only wrapper for DoChannelRequest(). |
wolfssh/internal.h |
Declare the new wolfSSH_TestDoChannelRequest() test hook. |
tests/unit.c |
Add a unit test that validates CHANNEL_SUCCESS vs CHANNEL_FAILURE replies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ejohnstown
approved these changes
Apr 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR fixes DoChannelRequest() so that this rejects SSH_MSG_CHANNEL_REQUEST with an unrecognized type as defined in RFC 4254 section 5.4.
Also, new unit test is added to exercise the code path.