11642eb1aSMark Murray /*- 21642eb1aSMark Murray * Copyright 2001 Mark R V Murray 31642eb1aSMark Murray * All rights reserved. 41642eb1aSMark Murray * 51642eb1aSMark Murray * Redistribution and use in source and binary forms, with or without 61642eb1aSMark Murray * modification, are permitted provided that the following conditions 71642eb1aSMark Murray * are met: 81642eb1aSMark Murray * 1. Redistributions of source code must retain the above copyright 91642eb1aSMark Murray * notice, this list of conditions and the following disclaimer. 101642eb1aSMark Murray * 2. Redistributions in binary form must reproduce the above copyright 111642eb1aSMark Murray * notice, this list of conditions and the following disclaimer in the 121642eb1aSMark Murray * documentation and/or other materials provided with the distribution. 131642eb1aSMark Murray * 141642eb1aSMark Murray * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 151642eb1aSMark Murray * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 161642eb1aSMark Murray * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 171642eb1aSMark Murray * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 181642eb1aSMark Murray * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 191642eb1aSMark Murray * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 201642eb1aSMark Murray * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 211642eb1aSMark Murray * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 221642eb1aSMark Murray * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 231642eb1aSMark Murray * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 241642eb1aSMark Murray * SUCH DAMAGE. 251642eb1aSMark Murray */ 261642eb1aSMark Murray 27ceaf33f5SMatthew Dillon #include <sys/cdefs.h> 28ceaf33f5SMatthew Dillon __FBSDID("$FreeBSD$"); 29ceaf33f5SMatthew Dillon 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 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 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 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 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 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 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