login(1) follows /etc/hushlogin and ~/.hushlogin to enable silent
mode, but it's not propagated to PAM now. Note that login(1) from
shadow-utils uses PAM_SILENT too.
Addresses: https://github.com/linux-pam/linux-pam/issues/233
Addresses: https://github.com/karelzak/util-linux/issues/1059
Signed-off-by: Karel Zak <kzak@redhat.com>
if (is_pam_failure(rc))
loginpam_err(pamh, rc);
- rc = pam_open_session(pamh, 0);
+ rc = pam_open_session(pamh, cxt->quiet ? PAM_SILENT : 0);
if (is_pam_failure(rc)) {
pam_setcred(cxt->pamh, PAM_DELETE_CRED);
loginpam_err(pamh, rc);
sleepexit(EXIT_FAILURE);
}
+ cxt.quiet = get_hushlogin_status(pwd, 1);
+
/*
* Open PAM session (after successful authentication and account check).
*/
endpwent();
- cxt.quiet = get_hushlogin_status(pwd, 1);
-
log_utmp(&cxt);
log_audit(&cxt, 1);
log_lastlog(&cxt);