diff options
author | Darren Tucker <dtucker@zip.com.au> | 2004-09-11 23:07:03 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2004-09-11 23:07:03 +1000 |
commit | 77fc29eeb382974ae063227c249ee3b98646e38a (patch) | |
tree | fba14efc7adf195758fc0e556c88d8fcc772919c /auth2-none.c | |
parent | 4765679649c51a83e5ceb3d0c1e51e33db251f27 (diff) |
- (dtucker) [auth-pam.c auth.h auth2-none.c auth2.c monitor.c monitor_wrap.c]
Bug #892: Send messages from failing PAM account modules to the client via
SSH2_MSG_USERAUTH_BANNER messages. Note that this will not happen with
SSH2 kbdint authentication, which need to be dealt with separately. ok djm@
Diffstat (limited to 'auth2-none.c')
-rw-r--r-- | auth2-none.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/auth2-none.c b/auth2-none.c index 787458da..1c30a320 100644 --- a/auth2-none.c +++ b/auth2-none.c @@ -74,6 +74,19 @@ auth2_read_banner(void) return (banner); } +void +userauth_send_banner(const char *msg) +{ + if (datafellows & SSH_BUG_BANNER) + return; + + packet_start(SSH2_MSG_USERAUTH_BANNER); + packet_put_cstring(msg); + packet_put_cstring(""); /* language, unused */ + packet_send(); + debug("%s: sent", __func__); +} + static void userauth_banner(void) { @@ -84,12 +97,8 @@ userauth_banner(void) if ((banner = PRIVSEP(auth2_read_banner())) == NULL) goto done; + userauth_send_banner(banner); - packet_start(SSH2_MSG_USERAUTH_BANNER); - packet_put_cstring(banner); - packet_put_cstring(""); /* language, unused */ - packet_send(); - debug("userauth_banner: sent"); done: if (banner) xfree(banner); |