pam_modules.h revision 94532
1139368Sobrien/*- 268349Sobrien * Copyright (c) 2002 Networks Associates Technology, Inc. 3139368Sobrien * All rights reserved. 4133359Sobrien * 5133359Sobrien * This software was developed for the FreeBSD Project by ThinkSec AS and 6133359Sobrien * NAI Labs, the Security Research Division of Network Associates, Inc. 7133359Sobrien * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the 868349Sobrien * DARPA CHATS research program. 9133359Sobrien * 10133359Sobrien * Redistribution and use in source and binary forms, with or without 11133359Sobrien * modification, are permitted provided that the following conditions 12133359Sobrien * are met: 1368349Sobrien * 1. Redistributions of source code must retain the above copyright 1468349Sobrien * notice, this list of conditions and the following disclaimer. 15103373Sobrien * 2. Redistributions in binary form must reproduce the above copyright 1668349Sobrien * notice, this list of conditions and the following disclaimer in the 1768349Sobrien * documentation and/or other materials provided with the distribution. 1868349Sobrien * 3. The name of the author may not be used to endorse or promote 1968349Sobrien * products derived from this software without specific prior written 2068349Sobrien * permission. 2168349Sobrien * 2268349Sobrien * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 2368349Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2468349Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2568349Sobrien * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 2668349Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2768349Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2868349Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2968349Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3084685Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3184685Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32103373Sobrien * SUCH DAMAGE. 3384685Sobrien * 3484685Sobrien * $P4: //depot/projects/openpam/include/security/pam_modules.h#7 $ 3584685Sobrien */ 3684685Sobrien 3784685Sobrien#ifndef _PAM_MODULES_H_INCLUDED 3884685Sobrien#define _PAM_MODULES_H_INCLUDED 39103373Sobrien 4084685Sobrien#include <security/pam_types.h> 4184685Sobrien#include <security/pam_constants.h> 4284685Sobrien#include <security/openpam.h> 4384685Sobrien 4484685Sobrien#ifdef __cplusplus 4584685Sobrienextern "C" { 4684685Sobrien#endif 4784685Sobrien 4884685Sobrien/* 4984685Sobrien * XSSO 4.2.2, 6 5084685Sobrien */ 51103373Sobrien 5284685Sobrien#if defined(PAM_SM_ACCOUNT) 5384685SobrienPAM_EXTERN int 5484685Sobrienpam_sm_acct_mgmt(pam_handle_t *_pamh, 5584685Sobrien int _flags, 5684685Sobrien int _argc, 5784685Sobrien const char **_argv); 5884685Sobrien#endif 5984685Sobrien 6084685Sobrien#if defined(PAM_SM_AUTH) 6184685SobrienPAM_EXTERN int 6284685Sobrienpam_sm_authenticate(pam_handle_t *_pamh, 6384685Sobrien int _flags, 6484685Sobrien int _argc, 6584685Sobrien const char **_argv); 6684685Sobrien#endif 6784685Sobrien 6884685Sobrien#if defined(PAM_SM_PASSWORD) 6984685SobrienPAM_EXTERN int 7084685Sobrienpam_sm_chauthtok(pam_handle_t *_pamh, 7184685Sobrien int _flags, 7284685Sobrien int _argc, 7384685Sobrien const char **_argv); 7484685Sobrien#endif 75103373Sobrien 76103373Sobrien#if defined(PAM_SM_SESSION) 77103373SobrienPAM_EXTERN int 78103373Sobrienpam_sm_close_session(pam_handle_t *_pamh, 79103373Sobrien int _flags, 80103373Sobrien int _args, 81103373Sobrien const char **_argv); 82103373Sobrien#endif 83103373Sobrien 84103373Sobrien#if defined(PAM_SM_SESSION) 85103373SobrienPAM_EXTERN int 8668349Sobrienpam_sm_open_session(pam_handle_t *_pamh, 87103373Sobrien int _flags, 8868349Sobrien int _argc, 8968349Sobrien const char **_argv); 9068349Sobrien#endif 91103373Sobrien 92103373Sobrien#if defined(PAM_SM_AUTH) 93103373SobrienPAM_EXTERN int 94103373Sobrienpam_sm_setcred(pam_handle_t *_pamh, 95103373Sobrien int _flags, 9668349Sobrien int _argc, 9768349Sobrien const char **_argv); 9868349Sobrien#endif 9968349Sobrien 10068349Sobrien/* 10168349Sobrien * Single Sign-On extensions 10268349Sobrien */ 10368349Sobrien#if 0 10468349SobrienPAM_EXTERN int 10568349Sobrienpam_sm_authenticate_secondary(pam_handle_t *_pamh, 10668349Sobrien char *_target_username, 10768349Sobrien char *_target_module_type, 10868349Sobrien char *_target_authn_domain, 109103373Sobrien char *_target_supp_data, 110103373Sobrien unsigned char *_target_module_authtok, 111103373Sobrien int _flags, 112103373Sobrien int _argc, 11368349Sobrien const char **_argv); 114103373Sobrien 11568349SobrienPAM_EXTERN int 11668349Sobrienpam_sm_get_mapped_authtok(pam_handle_t *_pamh, 11768349Sobrien char *_target_module_username, 11868349Sobrien char *_target_module_type, 11968349Sobrien char *_target_authn_domain, 12068349Sobrien size_t *_target_authtok_len, 12168349Sobrien unsigned char **_target_module_authtok, 12268349Sobrien int _argc, 12368349Sobrien char *_argv); 12468349Sobrien 12568349SobrienPAM_EXTERN int 12668349Sobrienpam_sm_get_mapped_username(pam_handle_t *_pamh, 12768349Sobrien char *_src_username, 12868349Sobrien char *_src_module_type, 12968349Sobrien char *_src_authn_domain, 13068349Sobrien char *_target_module_type, 13168349Sobrien char *_target_authn_domain, 13268349Sobrien char **_target_module_username, 133103373Sobrien int _argc, 134103373Sobrien const char **_argv); 135103373Sobrien 136103373SobrienPAM_EXTERN int 137103373Sobrienpam_sm_set_mapped_authtok(pam_handle_t *_pamh, 138103373Sobrien char *_target_module_username, 139103373Sobrien size_t _target_authtok_len, 140103373Sobrien unsigned char *_target_module_authtok, 14168349Sobrien char *_target_module_type, 14268349Sobrien char *_target_authn_domain, 14368349Sobrien int _argc, 14468349Sobrien const char *_argv); 14568349Sobrien 14668349SobrienPAM_EXTERN int 147103373Sobrienpam_sm_set_mapped_username(pam_handle_t *_pamh, 148103373Sobrien char *_target_module_username, 149103373Sobrien char *_target_module_type, 150103373Sobrien char *_target_authn_domain, 151103373Sobrien int _argc, 152103373Sobrien const char **_argv); 153103373Sobrien 154103373Sobrien#endif /* 0 */ 155103373Sobrien 156103373Sobrien#ifdef __cplusplus 157103373Sobrien} 158103373Sobrien#endif 159103373Sobrien 160103373Sobrien#endif 161103373Sobrien