Fix handling of WOLFSSH_USERAUTH_REJECTED result from userAuthCb #829
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.
I noticed that if compile option NO_FAILURE_ON_REJECTED is not used,
then WOLFSSH_USERAUTH_REJECTED response from user authentication
callback (userAuthCb) do not appear to be handled properly (?) As this seems to prevent SSH server
(userAuthCb) from rejecting client connections.
If NO_FAILURE_ON_REJECTED is defined, then everything works ok, as "DoUserAuth" functions (DoUserAuthInforResponse(), DouserAuthRequestPassword(), DoUserAuthRequestPublicKey())
end up returning correct return value (WS_USER_AUTH_E).
But when NO_FAILURE_ON_REJECT is not defined, that causes authFailure getting set:
Which in turn results in the return value getting overridden little bit later by function call to SendUserAuthFailure():
I noticed that DoUserAuthRequestNone() doesn't seem to have this problem as it handles this differently, so I updated the other "DoUserAuth..." functions to work same way, and now connections get rejected also when NO_FAILURE_ON_REJECT is not used.
This patch updates the other functions to follow same logic as DoUserAuthRequestNone() already does. Not sure if this is necessary "correct" solution, but seems to solve my problem...