summaryrefslogtreecommitdiff
path: root/libpam
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@thkukuk.de>2006-08-01 08:54:57 +0000
committerThorsten Kukuk <kukuk@thkukuk.de>2006-08-01 08:54:57 +0000
commit31c5402b292a1c76268221f570952c450755fd60 (patch)
tree673e90ea018cbaff6ecb5e4bd59da1f654104dbe /libpam
parentb3adab54cacbe37e75406e2434b51b3ec0e82438 (diff)
Relevant BUGIDs: BRC#196859
Purpose of commit: bugfix Commit summary: --------------- 2006-08-01 Thorsten Kukuk <kukuk@thkukuk.de> * libpam/Makefile.am: Bump patchlevel of libpam. * libpam/pam_dispatch.c (_pam_dispatch_aux): If [return=die] or [return=bad] is used, don't return PAM_IGNORE. Based on patch by Tomas Mraz <t8m@centrum.cz>, [BRC#196859].
Diffstat (limited to 'libpam')
-rw-r--r--libpam/Makefile.am2
-rw-r--r--libpam/pam_dispatch.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/libpam/Makefile.am b/libpam/Makefile.am
index 05d41971..3c816936 100644
--- a/libpam/Makefile.am
+++ b/libpam/Makefile.am
@@ -20,7 +20,7 @@ include_HEADERS = $(addprefix include/security/, _pam_compat.h _pam_macros.h _pa
noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h \
pam_modutil_private.h pam_static_modules.h
-libpam_la_LDFLAGS = -no-undefined -version-info 81:4:81 @LIBAUDIT@
+libpam_la_LDFLAGS = -no-undefined -version-info 81:5:81 @LIBAUDIT@
if STATIC_MODULES
libpam_la_LDFLAGS += `ls ../modules/pam_*/*.lo` \
@LIBDB@ @LIBCRYPT@ @LIBNSL@ @LIBCRACK@ -lutil
diff --git a/libpam/pam_dispatch.c b/libpam/pam_dispatch.c
index 65c3cbc9..ab032d74 100644
--- a/libpam/pam_dispatch.c
+++ b/libpam/pam_dispatch.c
@@ -3,7 +3,6 @@
/*
* Copyright (c) 1998, 2005 Andrew G. Morgan <morgan@kernel.org>
*
- * $Id$
*/
#include "pam_private.h"
@@ -209,7 +208,11 @@ static int _pam_dispatch_aux(pam_handle_t *pamh, int flags, struct handler *h,
#endif /* PAM_FAIL_NOW_ON */
if ( impression != _PAM_NEGATIVE ) {
impression = _PAM_NEGATIVE;
- status = retval;
+ /* Don't return with PAM_IGNORE as status */
+ if ( retval == PAM_IGNORE )
+ status = PAM_MUST_FAIL_CODE;
+ else
+ status = retval;
}
if ( action == _PAM_ACTION_DIE ) {
goto decision_made;