xref: /freebsd/lib/libpam/modules/pam_permit/pam_permit.c (revision 1d386b48a555f61cb7325543adbbb5c3f3407a66)
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>
3004f71c53SDag-Erling Smørgrav #include <stddef.h>
310ae5018bSDag-Erling Smørgrav 
321642eb1aSMark Murray #define	PAM_SM_AUTH
331642eb1aSMark Murray #define	PAM_SM_ACCOUNT
341642eb1aSMark Murray #define	PAM_SM_SESSION
351642eb1aSMark Murray #define	PAM_SM_PASSWORD
361642eb1aSMark Murray 
378c66575dSDag-Erling Smørgrav #include <security/pam_appl.h>
381642eb1aSMark Murray #include <security/pam_modules.h>
391642eb1aSMark Murray 
401642eb1aSMark Murray PAM_EXTERN int
pam_sm_authenticate(pam_handle_t * pamh,int flags __unused,int argc __unused,const char * argv[]__unused)4124fe7ba0SDag-Erling Smørgrav pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
4224fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
431642eb1aSMark Murray {
441642eb1aSMark Murray 	const char *user;
4524fe7ba0SDag-Erling Smørgrav 	int r;
461642eb1aSMark Murray 
4724fe7ba0SDag-Erling Smørgrav 	if ((r = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS)
4824fe7ba0SDag-Erling Smørgrav 		return (r);
491642eb1aSMark Murray 
5024fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
511642eb1aSMark Murray }
521642eb1aSMark Murray 
531642eb1aSMark Murray PAM_EXTERN int
pam_sm_setcred(pam_handle_t * pamh __unused,int flags __unused,int argc __unused,const char * argv[]__unused)5424fe7ba0SDag-Erling Smørgrav pam_sm_setcred(pam_handle_t *pamh __unused, int flags __unused,
5524fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
561642eb1aSMark Murray {
571642eb1aSMark Murray 
5824fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
591642eb1aSMark Murray }
601642eb1aSMark Murray 
611642eb1aSMark Murray PAM_EXTERN int
pam_sm_acct_mgmt(pam_handle_t * pamh __unused,int flags __unused,int argc __unused,const char * argv[]__unused)6224fe7ba0SDag-Erling Smørgrav pam_sm_acct_mgmt(pam_handle_t *pamh __unused, int flags __unused,
6324fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
641642eb1aSMark Murray {
651642eb1aSMark Murray 
6624fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
671642eb1aSMark Murray }
681642eb1aSMark Murray 
691642eb1aSMark Murray PAM_EXTERN int
pam_sm_chauthtok(pam_handle_t * pamh __unused,int flags __unused,int argc __unused,const char * argv[]__unused)7024fe7ba0SDag-Erling Smørgrav pam_sm_chauthtok(pam_handle_t *pamh __unused, int flags __unused,
7124fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
721642eb1aSMark Murray {
731642eb1aSMark Murray 
7424fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
751642eb1aSMark Murray }
761642eb1aSMark Murray 
771642eb1aSMark Murray PAM_EXTERN int
pam_sm_open_session(pam_handle_t * pamh __unused,int flags __unused,int argc __unused,const char * argv[]__unused)7824fe7ba0SDag-Erling Smørgrav pam_sm_open_session(pam_handle_t *pamh __unused, int flags __unused,
7924fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
801642eb1aSMark Murray {
811642eb1aSMark Murray 
8224fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
831642eb1aSMark Murray }
841642eb1aSMark Murray 
851642eb1aSMark Murray PAM_EXTERN int
pam_sm_close_session(pam_handle_t * pamh __unused,int flags __unused,int argc __unused,const char * argv[]__unused)8624fe7ba0SDag-Erling Smørgrav pam_sm_close_session(pam_handle_t *pamh __unused, int flags __unused,
8724fe7ba0SDag-Erling Smørgrav     int argc __unused, const char *argv[] __unused)
881642eb1aSMark Murray {
891642eb1aSMark Murray 
9024fe7ba0SDag-Erling Smørgrav 	return (PAM_SUCCESS);
911642eb1aSMark Murray }
921642eb1aSMark Murray 
931642eb1aSMark Murray PAM_MODULE_ENTRY("pam_permit");
94