mirror of git://anongit.mindrot.org/openssh.git
- Fix PAM account and session being called multiple times. Problem
reported by Adrian Baugh <adrian@merlin.keble.ox.ac.uk>
This commit is contained in:
parent
3bc14dde05
commit
eabf3417bc
|
@ -2,6 +2,8 @@
|
|||
- sshd Redhat init script patch from Jim Knoble <jmknoble@pobox.com>
|
||||
fixes compatability with 4.x and 5.x
|
||||
- Fixed default SSH_ASKPASS
|
||||
- Fix PAM account and session being called multiple times. Problem
|
||||
reported by Adrian Baugh <adrian@merlin.keble.ox.ac.uk>
|
||||
|
||||
19991204
|
||||
- Small cleanup of PAM code in sshd.c
|
||||
|
|
27
sshd.c
27
sshd.c
|
@ -11,7 +11,7 @@
|
|||
*/
|
||||
|
||||
#include "includes.h"
|
||||
RCSID("$Id: sshd.c,v 1.33 1999/12/04 09:24:48 damien Exp $");
|
||||
RCSID("$Id: sshd.c,v 1.34 1999/12/07 03:56:27 damien Exp $");
|
||||
|
||||
#include "xmalloc.h"
|
||||
#include "rsa.h"
|
||||
|
@ -1551,7 +1551,14 @@ do_authloop(struct passwd * pw)
|
|||
get_remote_port(),
|
||||
user);
|
||||
|
||||
#ifdef HAVE_LIBPAM
|
||||
#ifndef HAVE_LIBPAM
|
||||
if (authenticated)
|
||||
return;
|
||||
|
||||
if (attempt > AUTH_FAIL_MAX)
|
||||
packet_disconnect(AUTH_FAIL_MSG, pw->pw_name);
|
||||
#else /* HAVE_LIBPAM */
|
||||
if (authenticated) {
|
||||
do_pam_account_and_session(pw->pw_name, client_user);
|
||||
|
||||
/* Clean up */
|
||||
|
@ -1562,13 +1569,23 @@ do_authloop(struct passwd * pw)
|
|||
memset(password, 0, strlen(password));
|
||||
xfree(password);
|
||||
}
|
||||
#endif /* HAVE_LIBPAM */
|
||||
|
||||
if (authenticated)
|
||||
return;
|
||||
}
|
||||
|
||||
if (attempt > AUTH_FAIL_MAX) {
|
||||
/* Clean up */
|
||||
if (client_user != NULL)
|
||||
xfree(client_user);
|
||||
|
||||
if (password != NULL) {
|
||||
memset(password, 0, strlen(password));
|
||||
xfree(password);
|
||||
}
|
||||
|
||||
if (attempt > AUTH_FAIL_MAX)
|
||||
packet_disconnect(AUTH_FAIL_MSG, pw->pw_name);
|
||||
}
|
||||
#endif /* HAVE_LIBPAM */
|
||||
|
||||
/* Send a message indicating that the authentication attempt failed. */
|
||||
packet_start(SSH_SMSG_FAILURE);
|
||||
|
|
Loading…
Reference in New Issue