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