xref: /freebsd/lib/libpam/modules/pam_permit/pam_permit.c (revision 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
11642eb1aSMark Murray /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
35e53a4f9SPedro F. Giffuni  *
41642eb1aSMark Murray  * Copyright 2001 Mark R V Murray
51642eb1aSMark Murray  * All rights reserved.
61642eb1aSMark Murray  *
71642eb1aSMark Murray  * Redistribution and use in source and binary forms, with or without
81642eb1aSMark Murray  * modification, are permitted provided that the following conditions
91642eb1aSMark Murray  * are met:
101642eb1aSMark Murray  * 1. Redistributions of source code must retain the above copyright
111642eb1aSMark Murray  *    notice, this list of conditions and the following disclaimer.
121642eb1aSMark Murray  * 2. Redistributions in binary form must reproduce the above copyright
131642eb1aSMark Murray  *    notice, this list of conditions and the following disclaimer in the
141642eb1aSMark Murray  *    documentation and/or other materials provided with the distribution.
151642eb1aSMark Murray  *
161642eb1aSMark Murray  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
171642eb1aSMark Murray  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
181642eb1aSMark Murray  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
191642eb1aSMark Murray  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
201642eb1aSMark Murray  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
211642eb1aSMark Murray  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
221642eb1aSMark Murray  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
231642eb1aSMark Murray  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
241642eb1aSMark Murray  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
251642eb1aSMark Murray  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
261642eb1aSMark Murray  * SUCH DAMAGE.
271642eb1aSMark Murray  */
281642eb1aSMark Murray 
29ceaf33f5SMatthew Dillon #include <sys/cdefs.h>
30ceaf33f5SMatthew Dillon __FBSDID("$FreeBSD$");
31ceaf33f5SMatthew Dillon 
3204f71c53SDag-Erling Smørgrav #include <stddef.h>
330ae5018bSDag-Erling Smørgrav 
341642eb1aSMark Murray #define	PAM_SM_AUTH
351642eb1aSMark Murray #define	PAM_SM_ACCOUNT
361642eb1aSMark Murray #define	PAM_SM_SESSION
371642eb1aSMark Murray #define	PAM_SM_PASSWORD
381642eb1aSMark Murray 
398c66575dSDag-Erling Smørgrav #include <security/pam_appl.h>
401642eb1aSMark Murray #include <security/pam_modules.h>
411642eb1aSMark Murray 
421642eb1aSMark Murray PAM_EXTERN int
4324fe7ba0SDag-Erling Smørgrav pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
4424fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
451642eb1aSMark Murray {
461642eb1aSMark Murray 	const char *user;
4724fe7ba0SDag-Erling Smørgrav 	int r;
481642eb1aSMark Murray 
4924fe7ba0SDag-Erling Smørgrav 	if ((r = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS)
5024fe7ba0SDag-Erling Smørgrav 		return (r);
511642eb1aSMark Murray 
5224fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
531642eb1aSMark Murray }
541642eb1aSMark Murray 
551642eb1aSMark Murray PAM_EXTERN int
5624fe7ba0SDag-Erling Smørgrav pam_sm_setcred(pam_handle_t *pamh __unused, int flags __unused,
5724fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
581642eb1aSMark Murray {
591642eb1aSMark Murray 
6024fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
611642eb1aSMark Murray }
621642eb1aSMark Murray 
631642eb1aSMark Murray PAM_EXTERN int
6424fe7ba0SDag-Erling Smørgrav pam_sm_acct_mgmt(pam_handle_t *pamh __unused, int flags __unused,
6524fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
661642eb1aSMark Murray {
671642eb1aSMark Murray 
6824fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
691642eb1aSMark Murray }
701642eb1aSMark Murray 
711642eb1aSMark Murray PAM_EXTERN int
7224fe7ba0SDag-Erling Smørgrav pam_sm_chauthtok(pam_handle_t *pamh __unused, int flags __unused,
7324fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
741642eb1aSMark Murray {
751642eb1aSMark Murray 
7624fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
771642eb1aSMark Murray }
781642eb1aSMark Murray 
791642eb1aSMark Murray PAM_EXTERN int
8024fe7ba0SDag-Erling Smørgrav pam_sm_open_session(pam_handle_t *pamh __unused, int flags __unused,
8124fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
821642eb1aSMark Murray {
831642eb1aSMark Murray 
8424fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
851642eb1aSMark Murray }
861642eb1aSMark Murray 
871642eb1aSMark Murray PAM_EXTERN int
8824fe7ba0SDag-Erling Smørgrav pam_sm_close_session(pam_handle_t *pamh __unused, int flags __unused,
8924fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
901642eb1aSMark Murray {
911642eb1aSMark Murray 
9224fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
931642eb1aSMark Murray }
941642eb1aSMark Murray 
951642eb1aSMark Murray PAM_MODULE_ENTRY("pam_permit");
96