diff options
author | djm <djm> | 2003-09-02 13:18:52 +0000 |
---|---|---|
committer | djm <djm> | 2003-09-02 13:18:52 +0000 |
commit | 4dd2eded87f60f5d7d80e4f3c38313f9352d5e09 (patch) | |
tree | 3230f38772238f33f91c1f9bcbaf7ce753e4f880 /auth-pam.c | |
parent | 9586bb0b7195f61b6a5a546ab7b4e1744b33a7f4 (diff) | |
download | openssh-4dd2eded87f60f5d7d80e4f3c38313f9352d5e09.tar.gz |
- (djm) Bug #423: reorder setting of PAM_TTY and calling of PAM session
management (now done in do_setusercontext). Largely from
michael_steffens AT hp.com
Diffstat (limited to 'auth-pam.c')
-rw-r--r-- | auth-pam.c | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -31,7 +31,7 @@ /* Based on $FreeBSD: src/crypto/openssh/auth2-pam-freebsd.c,v 1.11 2003/03/31 13:48:18 des Exp $ */ #include "includes.h" -RCSID("$Id: auth-pam.c,v 1.69 2003/09/02 13:12:06 djm Exp $"); +RCSID("$Id: auth-pam.c,v 1.70 2003/09/02 13:18:53 djm Exp $"); #ifdef USE_PAM #include <security/pam_appl.h> @@ -534,13 +534,23 @@ do_pam_account(void) } void -do_pam_session(const char *user, const char *tty) +do_pam_session(void) { sshpam_err = pam_set_item(sshpam_handle, PAM_CONV, (const void *)&null_conv); if (sshpam_err != PAM_SUCCESS) fatal("PAM: failed to set PAM_CONV: %s", pam_strerror(sshpam_handle, sshpam_err)); + sshpam_err = pam_open_session(sshpam_handle, 0); + if (sshpam_err != PAM_SUCCESS) + fatal("PAM: pam_open_session(): %s", + pam_strerror(sshpam_handle, sshpam_err)); + sshpam_session_open = 1; +} + +void +do_pam_set_tty(const char *tty) +{ if (tty != NULL) { debug("PAM: setting PAM_TTY to \"%s\"", tty); sshpam_err = pam_set_item(sshpam_handle, PAM_TTY, tty); @@ -548,11 +558,6 @@ do_pam_session(const char *user, const char *tty) fatal("PAM: failed to set PAM_TTY: %s", pam_strerror(sshpam_handle, sshpam_err)); } - sshpam_err = pam_open_session(sshpam_handle, 0); - if (sshpam_err != PAM_SUCCESS) - fatal("PAM: pam_open_session(): %s", - pam_strerror(sshpam_handle, sshpam_err)); - sshpam_session_open = 1; } void |