pam_deny.c revision 81469
150276Speter/*- 250276Speter * Copyright 2001 Mark R V Murray 350276Speter * All rights reserved. 462449Speter * 550276Speter * Redistribution and use in source and binary forms, with or without 662449Speter * modification, are permitted provided that the following conditions 762449Speter * are met: 862449Speter * 1. Redistributions of source code must retain the above copyright 962449Speter * notice, this list of conditions and the following disclaimer. 1062449Speter * 2. Redistributions in binary form must reproduce the above copyright 1162449Speter * notice, this list of conditions and the following disclaimer in the 1262449Speter * documentation and/or other materials provided with the distribution. 1362449Speter * 1462449Speter * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1562449Speter * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1662449Speter * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1762449Speter * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1850276Speter * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1950276Speter * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2050276Speter * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2150276Speter * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2250276Speter * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2362449Speter * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2462449Speter * SUCH DAMAGE. 2550276Speter * 2650276Speter * $FreeBSD: head/lib/libpam/modules/pam_deny/pam_deny.c 81469 2001-08-10 19:02:21Z markm $ 2750276Speter */ 2850276Speter 2950276Speter#define PAM_SM_AUTH 3050276Speter#define PAM_SM_ACCOUNT 3150276Speter#define PAM_SM_SESSION 3250276Speter#define PAM_SM_PASSWORD 3350276Speter 3450276Speter#include <security/pam_modules.h> 3550276Speter#include "pam_mod_misc.h" 3650276Speter 3750276SpeterPAM_EXTERN int 3850276Speterpam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) 3950276Speter{ 4050276Speter struct options options; 4150276Speter 4250276Speter pam_std_option(&options, NULL, argc, argv); 4350276Speter 4462449Speter PAM_LOG("Options processed"); 4550276Speter 4650276Speter PAM_VERBOSE_ERROR("Unconditional deny"); 4750276Speter 4850276Speter PAM_RETURN(PAM_AUTH_ERR); 4950276Speter} 5050276Speter 5150276SpeterPAM_EXTERN int 5250276Speterpam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) 5350276Speter{ 5450276Speter struct options options; 5550276Speter 5650276Speter pam_std_option(&options, NULL, argc, argv); 5750276Speter 5850276Speter PAM_LOG("Options processed"); 5950276Speter 6050276Speter PAM_VERBOSE_ERROR("Unconditional deny"); 6150276Speter 6250276Speter PAM_RETURN(PAM_CRED_UNAVAIL); 6350276Speter} 6450276Speter 6550276SpeterPAM_EXTERN int 6650276Speterpam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc ,const char **argv) 6750276Speter{ 6850276Speter struct options options; 6950276Speter 7050276Speter pam_std_option(&options, NULL, argc, argv); 7150276Speter 7250276Speter PAM_LOG("Options processed"); 7350276Speter 7450276Speter PAM_VERBOSE_ERROR("Unconditional deny"); 7550276Speter 7650276Speter PAM_RETURN(PAM_ACCT_EXPIRED); 7750276Speter} 7850276Speter 7950276SpeterPAM_EXTERN int 8050276Speterpam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv) 8150276Speter{ 8250276Speter struct options options; 8350276Speter 8450276Speter pam_std_option(&options, NULL, argc, argv); 8550276Speter 8650276Speter PAM_LOG("Options processed"); 8750276Speter 8850276Speter PAM_VERBOSE_ERROR("Unconditional deny"); 8950276Speter 9050276Speter PAM_RETURN(PAM_PERM_DENIED); 9150276Speter} 9250276Speter 9350276SpeterPAM_EXTERN int 9450276Speterpam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv) 9550276Speter{ 9650276Speter struct options options; 9750276Speter 9850276Speter pam_std_option(&options, NULL, argc, argv); 9950276Speter 10050276Speter PAM_LOG("Options processed"); 10150276Speter 10250276Speter PAM_VERBOSE_ERROR("Unconditional deny"); 10350276Speter 10450276Speter PAM_RETURN(PAM_SESSION_ERR); 10550276Speter} 10650276Speter 10750276SpeterPAM_EXTERN int 10850276Speterpam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv) 10950276Speter{ 11050276Speter struct options options; 11150276Speter 112166124Srafan pam_std_option(&options, NULL, argc, argv); 11350276Speter 11450276Speter PAM_LOG("Options processed"); 11550276Speter 11650276Speter PAM_VERBOSE_ERROR("Unconditional deny"); 11750276Speter 118166124Srafan PAM_RETURN(PAM_SESSION_ERR); 11950276Speter} 12050276Speter 121166124SrafanPAM_MODULE_ENTRY("pam_deny"); 12250276Speter