pam_modules.h revision 302408
111499Sjkh/*- 211499Sjkh * Copyright (c) 2002-2003 Networks Associates Technology, Inc. 311499Sjkh * Copyright (c) 2004-2011 Dag-Erling Sm��rgrav 411499Sjkh * All rights reserved. 511499Sjkh * 611499Sjkh * This software was developed for the FreeBSD Project by ThinkSec AS and 716823Sjkh * Network Associates Laboratories, the Security Research Division of 811499Sjkh * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 911499Sjkh * ("CBOSS"), as part of the DARPA CHATS research program. 1011499Sjkh * 1111499Sjkh * Redistribution and use in source and binary forms, with or without 1211499Sjkh * modification, are permitted provided that the following conditions 1311499Sjkh * are met: 1411499Sjkh * 1. Redistributions of source code must retain the above copyright 1511499Sjkh * notice, this list of conditions and the following disclaimer. 1611499Sjkh * 2. Redistributions in binary form must reproduce the above copyright 1711499Sjkh * notice, this list of conditions and the following disclaimer in the 1811499Sjkh * documentation and/or other materials provided with the distribution. 1911499Sjkh * 3. The name of the author may not be used to endorse or promote 2011499Sjkh * products derived from this software without specific prior written 2111499Sjkh * permission. 2211499Sjkh * 2311499Sjkh * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 2411499Sjkh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2511499Sjkh * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2611499Sjkh * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 2711499Sjkh * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2811499Sjkh * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2911499Sjkh * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3011499Sjkh * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3111499Sjkh * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3211499Sjkh * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3311499Sjkh * SUCH DAMAGE. 3411499Sjkh * 3511499Sjkh * $Id: pam_modules.h 648 2013-03-05 17:54:27Z des $ 3611499Sjkh */ 3711499Sjkh 3811499Sjkh#ifndef SECURITY_PAM_MODULES_H_INCLUDED 3911499Sjkh#define SECURITY_PAM_MODULES_H_INCLUDED 4011499Sjkh 4115883Sjkh#include <security/pam_types.h> 4211499Sjkh#include <security/pam_constants.h> 4311499Sjkh#include <security/openpam.h> 4411499Sjkh 4511499Sjkh#ifdef __cplusplus 4611499Sjkhextern "C" { 4711650Sjkh#endif 4811650Sjkh 4911650Sjkh/* 5011650Sjkh * XSSO 4.2.2, 6 5111650Sjkh */ 5215242Sjkh 5314738Sjkh#if defined(PAM_SM_ACCOUNT) 5411650SjkhPAM_EXTERN int 5511650Sjkhpam_sm_acct_mgmt(pam_handle_t *_pamh, 5615788Sjkh int _flags, 5715788Sjkh int _argc, 5815788Sjkh const char **_argv); 5916688Sjkh#endif 6016688Sjkh 6115788Sjkh#if defined(PAM_SM_AUTH) 6216688SjkhPAM_EXTERN int 6316688Sjkhpam_sm_authenticate(pam_handle_t *_pamh, 6416688Sjkh int _flags, 6516688Sjkh int _argc, 6616688Sjkh const char **_argv); 6716688Sjkh#endif 6816688Sjkh 6915788Sjkh#if defined(PAM_SM_PASSWORD) 7015788SjkhPAM_EXTERN int 7115788Sjkhpam_sm_chauthtok(pam_handle_t *_pamh, 7215788Sjkh int _flags, 7315788Sjkh int _argc, 7415942Sjkh const char **_argv); 7515942Sjkh#endif 7615942Sjkh 7715942Sjkh#if defined(PAM_SM_SESSION) 7815942SjkhPAM_EXTERN int 7915942Sjkhpam_sm_close_session(pam_handle_t *_pamh, 8015942Sjkh int _flags, 8115942Sjkh int _args, 8215942Sjkh const char **_argv); 8311499Sjkh#endif 8411499Sjkh 8514738Sjkh#if defined(PAM_SM_SESSION) 8611499SjkhPAM_EXTERN int 8711499Sjkhpam_sm_open_session(pam_handle_t *_pamh, 8811718Sjkh int _flags, 8911499Sjkh int _argc, 9012232Sjkh const char **_argv); 9112232Sjkh#endif 9212232Sjkh 9312232Sjkh#if defined(PAM_SM_AUTH) 9415788SjkhPAM_EXTERN int 9515788Sjkhpam_sm_setcred(pam_handle_t *_pamh, 9615242Sjkh int _flags, 9711536Sjkh int _argc, 9811553Sjkh const char **_argv); 9911672Sjkh#endif 10015242Sjkh 10111553Sjkh/* 10211499Sjkh * Single Sign-On extensions 10314738Sjkh */ 10415467Sjkh#if 0 10512129SjkhPAM_EXTERN int 10612129Sjkhpam_sm_authenticate_secondary(pam_handle_t *_pamh, 10712129Sjkh char *_target_username, 10812129Sjkh char *_target_module_type, 10914670Sjkh char *_target_authn_domain, 11014670Sjkh char *_target_supp_data, 11112129Sjkh unsigned char *_target_module_authtok, 11212129Sjkh int _flags, 11316823Sjkh int _argc, 11416823Sjkh const char **_argv); 11516823Sjkh 11616823SjkhPAM_EXTERN int 11711553Sjkhpam_sm_get_mapped_authtok(pam_handle_t *_pamh, 11811499Sjkh char *_target_module_username, 11914670Sjkh char *_target_module_type, 12014670Sjkh char *_target_authn_domain, 12112184Sjkh size_t *_target_authtok_len, 12214738Sjkh unsigned char **_target_module_authtok, 12315942Sjkh int _argc, 12414670Sjkh char *_argv); 12514670Sjkh 12614670SjkhPAM_EXTERN int 12714670Sjkhpam_sm_get_mapped_username(pam_handle_t *_pamh, 12814670Sjkh char *_src_username, 12915419Sjkh char *_src_module_type, 13014670Sjkh char *_src_authn_domain, 13114670Sjkh char *_target_module_type, 13211499Sjkh char *_target_authn_domain, 13314670Sjkh char **_target_module_username, 13411499Sjkh int _argc, 13511672Sjkh const char **_argv); 13614670Sjkh 13715419SjkhPAM_EXTERN int 13815883Sjkhpam_sm_set_mapped_authtok(pam_handle_t *_pamh, 13914670Sjkh char *_target_module_username, 14015470Sjkh size_t _target_authtok_len, 14114670Sjkh unsigned char *_target_module_authtok, 14215883Sjkh char *_target_module_type, 14315883Sjkh char *_target_authn_domain, 14415942Sjkh int _argc, 14515883Sjkh const char *_argv); 14615242Sjkh 14714670SjkhPAM_EXTERN int 14815883Sjkhpam_sm_set_mapped_username(pam_handle_t *_pamh, 14915883Sjkh char *_target_module_username, 15015883Sjkh char *_target_module_type, 15115883Sjkh char *_target_authn_domain, 15215883Sjkh int _argc, 15315883Sjkh const char **_argv); 15415883Sjkh 15515883Sjkh#endif /* 0 */ 15615883Sjkh 15715883Sjkh#ifdef __cplusplus 15815883Sjkh} 15915883Sjkh#endif 16015883Sjkh 16115883Sjkh#endif /* !SECURITY_PAM_MODULES_H_INCLUDED */ 16215883Sjkh