15c1eca55SDag-Erling Smørgrav /*- 2856bb440SDag-Erling Smørgrav * Copyright (c) 2002 Networks Associates Technology, Inc. 35c1eca55SDag-Erling Smørgrav * All rights reserved. 45c1eca55SDag-Erling Smørgrav * 55c1eca55SDag-Erling Smørgrav * This software was developed for the FreeBSD Project by ThinkSec AS and 6ee02aaa9SDag-Erling Smørgrav * Network Associates Laboratories, the Security Research Division of 7ee02aaa9SDag-Erling Smørgrav * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 8ee02aaa9SDag-Erling Smørgrav * ("CBOSS"), as part of the DARPA CHATS research program. 95c1eca55SDag-Erling Smørgrav * 105c1eca55SDag-Erling Smørgrav * Redistribution and use in source and binary forms, with or without 115c1eca55SDag-Erling Smørgrav * modification, are permitted provided that the following conditions 125c1eca55SDag-Erling Smørgrav * are met: 135c1eca55SDag-Erling Smørgrav * 1. Redistributions of source code must retain the above copyright 145c1eca55SDag-Erling Smørgrav * notice, this list of conditions and the following disclaimer. 155c1eca55SDag-Erling Smørgrav * 2. Redistributions in binary form must reproduce the above copyright 165c1eca55SDag-Erling Smørgrav * notice, this list of conditions and the following disclaimer in the 175c1eca55SDag-Erling Smørgrav * documentation and/or other materials provided with the distribution. 185c1eca55SDag-Erling Smørgrav * 3. The name of the author may not be used to endorse or promote 195c1eca55SDag-Erling Smørgrav * products derived from this software without specific prior written 205c1eca55SDag-Erling Smørgrav * permission. 215c1eca55SDag-Erling Smørgrav * 225c1eca55SDag-Erling Smørgrav * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 235c1eca55SDag-Erling Smørgrav * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 245c1eca55SDag-Erling Smørgrav * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 255c1eca55SDag-Erling Smørgrav * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 265c1eca55SDag-Erling Smørgrav * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 275c1eca55SDag-Erling Smørgrav * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 285c1eca55SDag-Erling Smørgrav * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 295c1eca55SDag-Erling Smørgrav * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 305c1eca55SDag-Erling Smørgrav * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 315c1eca55SDag-Erling Smørgrav * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 325c1eca55SDag-Erling Smørgrav * SUCH DAMAGE. 335c1eca55SDag-Erling Smørgrav * 34ee02aaa9SDag-Erling Smørgrav * $P4: //depot/projects/openpam/include/security/pam_modules.h#8 $ 355c1eca55SDag-Erling Smørgrav */ 365c1eca55SDag-Erling Smørgrav 375c1eca55SDag-Erling Smørgrav #ifndef _PAM_MODULES_H_INCLUDED 385c1eca55SDag-Erling Smørgrav #define _PAM_MODULES_H_INCLUDED 395c1eca55SDag-Erling Smørgrav 405c1eca55SDag-Erling Smørgrav #include <security/pam_types.h> 415c1eca55SDag-Erling Smørgrav #include <security/pam_constants.h> 425c1eca55SDag-Erling Smørgrav #include <security/openpam.h> 435c1eca55SDag-Erling Smørgrav 445c1eca55SDag-Erling Smørgrav #ifdef __cplusplus 455c1eca55SDag-Erling Smørgrav extern "C" { 465c1eca55SDag-Erling Smørgrav #endif 475c1eca55SDag-Erling Smørgrav 485c1eca55SDag-Erling Smørgrav /* 495c1eca55SDag-Erling Smørgrav * XSSO 4.2.2, 6 505c1eca55SDag-Erling Smørgrav */ 515c1eca55SDag-Erling Smørgrav 52b825a3acSDag-Erling Smørgrav #if defined(PAM_SM_ACCOUNT) 535c1eca55SDag-Erling Smørgrav PAM_EXTERN int 545c1eca55SDag-Erling Smørgrav pam_sm_acct_mgmt(pam_handle_t *_pamh, 555c1eca55SDag-Erling Smørgrav int _flags, 565c1eca55SDag-Erling Smørgrav int _argc, 575c1eca55SDag-Erling Smørgrav const char **_argv); 58b825a3acSDag-Erling Smørgrav #endif 595c1eca55SDag-Erling Smørgrav 60b825a3acSDag-Erling Smørgrav #if defined(PAM_SM_AUTH) 615c1eca55SDag-Erling Smørgrav PAM_EXTERN int 625c1eca55SDag-Erling Smørgrav pam_sm_authenticate(pam_handle_t *_pamh, 635c1eca55SDag-Erling Smørgrav int _flags, 645c1eca55SDag-Erling Smørgrav int _argc, 655c1eca55SDag-Erling Smørgrav const char **_argv); 66b825a3acSDag-Erling Smørgrav #endif 675c1eca55SDag-Erling Smørgrav 68b825a3acSDag-Erling Smørgrav #if defined(PAM_SM_PASSWORD) 695c1eca55SDag-Erling Smørgrav PAM_EXTERN int 705c1eca55SDag-Erling Smørgrav pam_sm_chauthtok(pam_handle_t *_pamh, 715c1eca55SDag-Erling Smørgrav int _flags, 725c1eca55SDag-Erling Smørgrav int _argc, 735c1eca55SDag-Erling Smørgrav const char **_argv); 74b825a3acSDag-Erling Smørgrav #endif 755c1eca55SDag-Erling Smørgrav 76b825a3acSDag-Erling Smørgrav #if defined(PAM_SM_SESSION) 775c1eca55SDag-Erling Smørgrav PAM_EXTERN int 785c1eca55SDag-Erling Smørgrav pam_sm_close_session(pam_handle_t *_pamh, 795c1eca55SDag-Erling Smørgrav int _flags, 805c1eca55SDag-Erling Smørgrav int _args, 815c1eca55SDag-Erling Smørgrav const char **_argv); 82b825a3acSDag-Erling Smørgrav #endif 835c1eca55SDag-Erling Smørgrav 84b825a3acSDag-Erling Smørgrav #if defined(PAM_SM_SESSION) 855c1eca55SDag-Erling Smørgrav PAM_EXTERN int 865c1eca55SDag-Erling Smørgrav pam_sm_open_session(pam_handle_t *_pamh, 875c1eca55SDag-Erling Smørgrav int _flags, 885c1eca55SDag-Erling Smørgrav int _argc, 895c1eca55SDag-Erling Smørgrav const char **_argv); 90b825a3acSDag-Erling Smørgrav #endif 915c1eca55SDag-Erling Smørgrav 92b825a3acSDag-Erling Smørgrav #if defined(PAM_SM_AUTH) 935c1eca55SDag-Erling Smørgrav PAM_EXTERN int 945c1eca55SDag-Erling Smørgrav pam_sm_setcred(pam_handle_t *_pamh, 955c1eca55SDag-Erling Smørgrav int _flags, 965c1eca55SDag-Erling Smørgrav int _argc, 975c1eca55SDag-Erling Smørgrav const char **_argv); 98b825a3acSDag-Erling Smørgrav #endif 995c1eca55SDag-Erling Smørgrav 1005c1eca55SDag-Erling Smørgrav /* 1015c1eca55SDag-Erling Smørgrav * Single Sign-On extensions 1025c1eca55SDag-Erling Smørgrav */ 1035c1eca55SDag-Erling Smørgrav #if 0 1045c1eca55SDag-Erling Smørgrav PAM_EXTERN int 1055c1eca55SDag-Erling Smørgrav pam_sm_authenticate_secondary(pam_handle_t *_pamh, 1065c1eca55SDag-Erling Smørgrav char *_target_username, 1075c1eca55SDag-Erling Smørgrav char *_target_module_type, 1085c1eca55SDag-Erling Smørgrav char *_target_authn_domain, 1095c1eca55SDag-Erling Smørgrav char *_target_supp_data, 1105c1eca55SDag-Erling Smørgrav unsigned char *_target_module_authtok, 1115c1eca55SDag-Erling Smørgrav int _flags, 1125c1eca55SDag-Erling Smørgrav int _argc, 1135c1eca55SDag-Erling Smørgrav const char **_argv); 1145c1eca55SDag-Erling Smørgrav 1155c1eca55SDag-Erling Smørgrav PAM_EXTERN int 1165c1eca55SDag-Erling Smørgrav pam_sm_get_mapped_authtok(pam_handle_t *_pamh, 1175c1eca55SDag-Erling Smørgrav char *_target_module_username, 1185c1eca55SDag-Erling Smørgrav char *_target_module_type, 1195c1eca55SDag-Erling Smørgrav char *_target_authn_domain, 1205c1eca55SDag-Erling Smørgrav size_t *_target_authtok_len, 1215c1eca55SDag-Erling Smørgrav unsigned char **_target_module_authtok, 1225c1eca55SDag-Erling Smørgrav int _argc, 1235c1eca55SDag-Erling Smørgrav char *_argv); 1245c1eca55SDag-Erling Smørgrav 1255c1eca55SDag-Erling Smørgrav PAM_EXTERN int 1265c1eca55SDag-Erling Smørgrav pam_sm_get_mapped_username(pam_handle_t *_pamh, 1275c1eca55SDag-Erling Smørgrav char *_src_username, 1285c1eca55SDag-Erling Smørgrav char *_src_module_type, 1295c1eca55SDag-Erling Smørgrav char *_src_authn_domain, 1305c1eca55SDag-Erling Smørgrav char *_target_module_type, 1315c1eca55SDag-Erling Smørgrav char *_target_authn_domain, 1325c1eca55SDag-Erling Smørgrav char **_target_module_username, 1335c1eca55SDag-Erling Smørgrav int _argc, 1345c1eca55SDag-Erling Smørgrav const char **_argv); 1355c1eca55SDag-Erling Smørgrav 1365c1eca55SDag-Erling Smørgrav PAM_EXTERN int 1375c1eca55SDag-Erling Smørgrav pam_sm_set_mapped_authtok(pam_handle_t *_pamh, 1385c1eca55SDag-Erling Smørgrav char *_target_module_username, 1395c1eca55SDag-Erling Smørgrav size_t _target_authtok_len, 1405c1eca55SDag-Erling Smørgrav unsigned char *_target_module_authtok, 1415c1eca55SDag-Erling Smørgrav char *_target_module_type, 1425c1eca55SDag-Erling Smørgrav char *_target_authn_domain, 1435c1eca55SDag-Erling Smørgrav int _argc, 1445c1eca55SDag-Erling Smørgrav const char *_argv); 1455c1eca55SDag-Erling Smørgrav 1465c1eca55SDag-Erling Smørgrav PAM_EXTERN int 1475c1eca55SDag-Erling Smørgrav pam_sm_set_mapped_username(pam_handle_t *_pamh, 1485c1eca55SDag-Erling Smørgrav char *_target_module_username, 1495c1eca55SDag-Erling Smørgrav char *_target_module_type, 1505c1eca55SDag-Erling Smørgrav char *_target_authn_domain, 1515c1eca55SDag-Erling Smørgrav int _argc, 1525c1eca55SDag-Erling Smørgrav const char **_argv); 1535c1eca55SDag-Erling Smørgrav 1545c1eca55SDag-Erling Smørgrav #endif /* 0 */ 1555c1eca55SDag-Erling Smørgrav 1565c1eca55SDag-Erling Smørgrav #ifdef __cplusplus 1575c1eca55SDag-Erling Smørgrav } 1585c1eca55SDag-Erling Smørgrav #endif 1595c1eca55SDag-Erling Smørgrav 1605c1eca55SDag-Erling Smørgrav #endif 161