From 31c5402b292a1c76268221f570952c450755fd60 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Tue, 1 Aug 2006 08:54:57 +0000 Subject: Relevant BUGIDs: BRC#196859 Purpose of commit: bugfix Commit summary: --------------- 2006-08-01 Thorsten Kukuk * 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 , [BRC#196859]. --- ChangeLog | 7 +++++++ libpam/Makefile.am | 2 +- libpam/pam_dispatch.c | 7 +++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 882996fc..de30b6a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-08-01 Thorsten Kukuk + + * 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 , [BRC#196859]. + 2006-07-28 Thorsten Kukuk * ABOUT-NLS: Upgrade to gettext-0.15. 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 * - * $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; -- cgit v1.2.3