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