Skip to content

Simplify sshpam_query since we no longer have to handle accumulating messages into prompts now that non-prompts are handled with SSH2's info#629

Closed
daztucker wants to merge 2 commits intoopenssh:masterfrom
daztucker:master
Closed

Simplify sshpam_query since we no longer have to handle accumulating messages into prompts now that non-prompts are handled with SSH2's info#629
daztucker wants to merge 2 commits intoopenssh:masterfrom
daztucker:master

Conversation

@daztucker
Copy link
Copy Markdown
Contributor

No description provided.

3v1n0 and others added 2 commits February 15, 2026 13:58
SSH keyboard-interactive authentication method supports instructions but
sshd didn't show them until an user prompt was requested.

This is quite inconvenient for various PAM modules that need to notify
an user without requiring for their explicit input.

So, properly implement RFC4256 making instructions to be shown to users
when they are requested from PAM.

Closes: https://bugzilla.mindrot.org/show_bug.cgi?id=2876
With the previous commit, both prompts and info/error error messages are
returned to keyboard-interactive immedately and none are accumulated, so
there will never be any un-drained prompts.
*num = 0;
free(*info);
*info = msg; /* Steal the message */
msg = NULL;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this line is unnecessary, as we return immediately afterwards.

Otherwise ok

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, and I did have that removed at one point however the next step I want to do is to remove the while() loop and make sshpam_query a single entry, single exit function which frees whatever needs freeing on exit, and I'd just have to put this back.

@daztucker daztucker closed this Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants