diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2010-05-13 16:31:52 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2010-05-13 16:31:52 +0000 |
commit | 4967079c33f5f32489affd2d6fb790e8842e1b05 (patch) | |
tree | 02738e1e9d33a43a52106b7a1e1084e45246e19e | |
parent | f6f4a45e817ead6779af00109a17dbd4935d535d (diff) |
also use PAM username instead of one from context for session open and close
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1103 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r-- | pam/pam.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -249,13 +249,14 @@ static int nslcd_request_authz(struct pld_ctx *ctx,const char *username, } /* do a session nslcd request (open or close) */ -static int nslcd_request_sess(struct pld_ctx *ctx,int action,const char *service, +static int nslcd_request_sess(struct pld_ctx *ctx,int action, + const char *username,const char *service, const char *tty, const char *rhost, const char *ruser) { PAM_REQUEST(action, /* write the request parameters */ - WRITE_STRING(fp,ctx->user); + WRITE_STRING(fp,username); WRITE_STRING(fp,ctx->dn); WRITE_STRING(fp,service); WRITE_STRING(fp,tty); @@ -483,7 +484,7 @@ static int pam_sm_session(pam_handle_t *pamh,int flags,int argc, pam_get_item(pamh,PAM_RHOST,(const void **)&rhost); pam_get_item(pamh,PAM_RUSER,(const void **)&ruser); /* do the nslcd request */ - rc=nslcd_request_sess(ctx,action,service,tty,rhost,ruser); + rc=nslcd_request_sess(ctx,action,username,service,tty,rhost,ruser); if ((rc==PAM_AUTHINFO_UNAVAIL)&&cfg.ignore_authinfo_unavail) rc=PAM_IGNORE; else if ((rc==PAM_USER_UNKNOWN)&&cfg.ignore_unknown_user) |