From the very beginning pam_succeed_if used to override the default
prompt used by pam_get_user() with "login: ". Fix this now.
* modules/pam_succeed_if/pam_succeed_if.c (pam_sm_authenticate): Do not
request PAM_USER_PROMPT item, invoke pam_get_user() with the default
prompt.
---
modules/pam_succeed_if/pam_succeed_if.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/modules/pam_succeed_if/pam_succeed_if.c
b/modules/pam_succeed_if/pam_succeed_if.c
index f33e6097..82de4f33 100644
--- a/modules/pam_succeed_if/pam_succeed_if.c
+++ b/modules/pam_succeed_if/pam_succeed_if.c
@@ -463,19 +463,12 @@ int
pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
int argc, const char **argv)
{
- const void *prompt;
const char *user;
struct passwd *pwd = NULL;
int ret, i, count, use_uid, debug;
const char *left, *right, *qual;
int quiet_fail, quiet_succ, audit;
- /* Get the user prompt. */
- ret = pam_get_item(pamh, PAM_USER_PROMPT, &prompt);
- if ((ret != PAM_SUCCESS) || (prompt == NULL) || (strlen(prompt) == 0)) {
- prompt = "login: ";
- }
-
quiet_fail = 0;
quiet_succ = 0;
audit = 0;
@@ -513,7 +506,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
user = pwd->pw_name;
} else {
/* Get the user's name. */
- ret = pam_get_user(pamh, &user, prompt);
+ ret = pam_get_user(pamh, &user, NULL);
if ((ret != PAM_SUCCESS) || (user == NULL)) {
pam_syslog(pamh, LOG_ERR,
"error retrieving user name: %s",
--
ldv