diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2020-05-09 08:00:00 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-05-09 08:00:00 +0000 |
commit | 28903b11794f0b8509b2c791360219dbeb41f54e (patch) | |
tree | 01000b923fc6806402e9e0771a9bb5be37c8069f /modules/pam_setquota | |
parent | 385f8fbd1ce9b8950c02dff94f5e89df7e77a752 (diff) | |
download | pam-28903b11794f0b8509b2c791360219dbeb41f54e.tar.gz pam-28903b11794f0b8509b2c791360219dbeb41f54e.tar.bz2 pam-28903b11794f0b8509b2c791360219dbeb41f54e.zip |
pam_setquota: fix return value when the user is unknown
Following the bad example in pam_mkhomedir module, from the very
beginning pam_setquota module used to return PAM_CRED_INSUFFICIENT
when pam_modutil_getpwnam() returned an error. Fix this now
by changing the return value to PAM_USER_UNKNOWN.
* modules/pam_setquota/pam_setquota.c (pam_sm_open_session): Return
PAM_USER_UNKNOWN instead of PAM_CRED_INSUFFICIENT.
* modules/pam_setquota/pam_setquota.8.xml (PAM_CRED_INSUFFICIENT):
Replace with PAM_USER_UNKNOWN.
Diffstat (limited to 'modules/pam_setquota')
-rw-r--r-- | modules/pam_setquota/pam_setquota.8.xml | 2 | ||||
-rw-r--r-- | modules/pam_setquota/pam_setquota.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/modules/pam_setquota/pam_setquota.8.xml b/modules/pam_setquota/pam_setquota.8.xml index 45c8653e..bb878e8c 100644 --- a/modules/pam_setquota/pam_setquota.8.xml +++ b/modules/pam_setquota/pam_setquota.8.xml @@ -218,7 +218,7 @@ </varlistentry> <varlistentry> - <term>PAM_CRED_INSUFFICIENT</term> + <term>PAM_USER_UNKNOWN</term> <listitem> <para> The user was not found. diff --git a/modules/pam_setquota/pam_setquota.c b/modules/pam_setquota/pam_setquota.c index 43c76d66..9c05862a 100644 --- a/modules/pam_setquota/pam_setquota.c +++ b/modules/pam_setquota/pam_setquota.c @@ -227,7 +227,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, /* Get the password entry */ pwd = pam_modutil_getpwnam(pamh, user); if (pwd == NULL) { - return PAM_CRED_INSUFFICIENT; + pam_syslog(pamh, LOG_NOTICE, "user unknown"); + return PAM_USER_UNKNOWN; } /* Check if we should not set quotas for user */ |