]> andersk Git - openssh.git/blobdiff - auth2.c
- (dtucker) [auth-pam.c auth.h auth2-none.c auth2.c monitor.c monitor_wrap.c]
[openssh.git] / auth2.c
diff --git a/auth2.c b/auth2.c
index a8c8bd283c2669fbb7e71d341382c479285fc7d3..57e6db46b72eae330f4e96aa957edeb884df215e 100644 (file)
--- a/auth2.c
+++ b/auth2.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth2.c,v 1.106 2004/07/21 10:33:31 djm Exp $");
+RCSID("$OpenBSD: auth2.c,v 1.107 2004/07/28 09:40:29 markus Exp $");
 
 #include "ssh2.h"
 #include "xmalloc.h"
@@ -35,6 +35,7 @@ RCSID("$OpenBSD: auth2.c,v 1.106 2004/07/21 10:33:31 djm Exp $");
 #include "dispatch.h"
 #include "pathnames.h"
 #include "monitor_wrap.h"
+#include "buffer.h"
 
 #ifdef GSSAPI
 #include "ssh-gss.h"
@@ -44,6 +45,7 @@ RCSID("$OpenBSD: auth2.c,v 1.106 2004/07/21 10:33:31 djm Exp $");
 extern ServerOptions options;
 extern u_char *session_id2;
 extern u_int session_id2_len;
+extern Buffer loginmsg;
 
 /* methods */
 
@@ -159,7 +161,7 @@ input_userauth_request(int type, u_int32_t seq, void *ctxt)
                                PRIVSEP(start_pam(authctxt));
 #endif
                } else {
-                       logit("input_userauth_request: illegal user %s", user);
+                       logit("input_userauth_request: invalid user %s", user);
                        authctxt->pw = fakepw();
 #ifdef USE_PAM
                        if (options.use_pam)
@@ -216,8 +218,17 @@ userauth_finish(Authctxt *authctxt, int authenticated, char *method)
                authenticated = 0;
 
 #ifdef USE_PAM
-       if (options.use_pam && authenticated && !PRIVSEP(do_pam_account()))
-               authenticated = 0;
+       if (options.use_pam && authenticated) {
+               if (!PRIVSEP(do_pam_account())) {
+                       authenticated = 0;
+                       /* if PAM returned a message, send it to the user */
+                       if (buffer_len(&loginmsg) > 0) {
+                               buffer_append(&loginmsg, "\0", 1);
+                               userauth_send_banner(buffer_ptr(&loginmsg));
+                               buffer_clear(&loginmsg);
+                       }
+               }
+       }
 #endif
 
 #ifdef _UNICOS
This page took 0.027957 seconds and 4 git commands to generate.