merge r768: fix condition for using application-provided prompt

git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/branches/nooath@905 185d5e19-27fe-0310-9dcf-9bff6b9f3609
This commit is contained in:
Dag-Erling Smørgrav 2017-01-17 15:19:56 +00:00
parent c420e0ac6a
commit 4be13a4e6c
4 changed files with 12 additions and 8 deletions

View File

@ -43,6 +43,7 @@ ideas:
Mikhail Teterin <mi@aldan.algebra.com> Mikhail Teterin <mi@aldan.algebra.com>
Mikko Työläjärvi <mbsd@pacbell.net> Mikko Työläjärvi <mbsd@pacbell.net>
Nick Hibma <nick@van-laarhoven.org> Nick Hibma <nick@van-laarhoven.org>
Patrick Bihan-Faou <patrick-fbsd@mindstep.com>
Robert Watson <rwatson@freebsd.org> Robert Watson <rwatson@freebsd.org>
Ruslan Ermilov <ru@freebsd.org> Ruslan Ermilov <ru@freebsd.org>
Sebastian Krahmer <sebastian.krahmer@gmail.com> Sebastian Krahmer <sebastian.krahmer@gmail.com>

View File

@ -1,6 +1,6 @@
Copyright (c) 2002-2003 Networks Associates Technology, Inc. Copyright (c) 2002-2003 Networks Associates Technology, Inc.
Copyright (c) 2004-2012 Dag-Erling Smørgrav Copyright (c) 2004-2017 Dag-Erling Smørgrav
All rights reserved. All rights reserved.
This software was developed for the FreeBSD Project by ThinkSec AS and This software was developed for the FreeBSD Project by ThinkSec AS and

View File

@ -1,6 +1,6 @@
/*- /*-
* Copyright (c) 2002-2003 Networks Associates Technology, Inc. * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
* Copyright (c) 2004-2014 Dag-Erling Smørgrav * Copyright (c) 2004-2017 Dag-Erling Smørgrav
* All rights reserved. * All rights reserved.
* *
* This software was developed for the FreeBSD Project by ThinkSec AS and * This software was developed for the FreeBSD Project by ThinkSec AS and
@ -122,9 +122,11 @@ pam_get_authtok(pam_handle_t *pamh,
if ((promptp = openpam_get_option(pamh, prompt_option)) != NULL) if ((promptp = openpam_get_option(pamh, prompt_option)) != NULL)
prompt = promptp; prompt = promptp;
/* no prompt provided, see if there is one tucked away somewhere */ /* no prompt provided, see if there is one tucked away somewhere */
if (prompt == NULL) if (prompt == NULL) {
if (pam_get_item(pamh, pitem, &promptp) && promptp != NULL) r = pam_get_item(pamh, pitem, &promptp);
if (r == PAM_SUCCESS && promptp != NULL)
prompt = promptp; prompt = promptp;
}
/* fall back to hardcoded default */ /* fall back to hardcoded default */
if (prompt == NULL) if (prompt == NULL)
prompt = default_prompt; prompt = default_prompt;

View File

@ -1,6 +1,6 @@
/*- /*-
* Copyright (c) 2002-2003 Networks Associates Technology, Inc. * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
* Copyright (c) 2004-2011 Dag-Erling Smørgrav * Copyright (c) 2004-2017 Dag-Erling Smørgrav
* All rights reserved. * All rights reserved.
* *
* This software was developed for the FreeBSD Project by ThinkSec AS and * This software was developed for the FreeBSD Project by ThinkSec AS and
@ -78,10 +78,11 @@ pam_get_user(pam_handle_t *pamh,
if ((promptp = openpam_get_option(pamh, "user_prompt")) != NULL) if ((promptp = openpam_get_option(pamh, "user_prompt")) != NULL)
prompt = promptp; prompt = promptp;
/* no prompt provided, see if there is one tucked away somewhere */ /* no prompt provided, see if there is one tucked away somewhere */
if (prompt == NULL) if (prompt == NULL) {
if (pam_get_item(pamh, PAM_USER_PROMPT, &promptp) && r = pam_get_item(pamh, PAM_USER_PROMPT, &promptp);
promptp != NULL) if (r == PAM_SUCCESS && promptp != NULL)
prompt = promptp; prompt = promptp;
}
/* fall back to hardcoded default */ /* fall back to hardcoded default */
if (prompt == NULL) if (prompt == NULL)
prompt = user_prompt; prompt = user_prompt;