1*ade90846SJoerg Sonnenberger.\"- 2*ade90846SJoerg Sonnenberger.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc. 3*ade90846SJoerg Sonnenberger.\" All rights reserved. 4*ade90846SJoerg Sonnenberger.\" 5*ade90846SJoerg Sonnenberger.\" This software was developed for the FreeBSD Project by ThinkSec AS and 6*ade90846SJoerg Sonnenberger.\" Network Associates Laboratories, the Security Research Division of 7*ade90846SJoerg Sonnenberger.\" Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 8*ade90846SJoerg Sonnenberger.\" ("CBOSS"), as part of the DARPA CHATS research program. 9*ade90846SJoerg Sonnenberger.\" 10*ade90846SJoerg Sonnenberger.\" Redistribution and use in source and binary forms, with or without 11*ade90846SJoerg Sonnenberger.\" modification, are permitted provided that the following conditions 12*ade90846SJoerg Sonnenberger.\" are met: 13*ade90846SJoerg Sonnenberger.\" 1. Redistributions of source code must retain the above copyright 14*ade90846SJoerg Sonnenberger.\" notice, this list of conditions and the following disclaimer. 15*ade90846SJoerg Sonnenberger.\" 2. Redistributions in binary form must reproduce the above copyright 16*ade90846SJoerg Sonnenberger.\" notice, this list of conditions and the following disclaimer in the 17*ade90846SJoerg Sonnenberger.\" documentation and/or other materials provided with the distribution. 18*ade90846SJoerg Sonnenberger.\" 3. The name of the author may not be used to endorse or promote 19*ade90846SJoerg Sonnenberger.\" products derived from this software without specific prior written 20*ade90846SJoerg Sonnenberger.\" permission. 21*ade90846SJoerg Sonnenberger.\" 22*ade90846SJoerg Sonnenberger.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 23*ade90846SJoerg Sonnenberger.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*ade90846SJoerg Sonnenberger.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*ade90846SJoerg Sonnenberger.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 26*ade90846SJoerg Sonnenberger.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*ade90846SJoerg Sonnenberger.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*ade90846SJoerg Sonnenberger.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*ade90846SJoerg Sonnenberger.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*ade90846SJoerg Sonnenberger.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*ade90846SJoerg Sonnenberger.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*ade90846SJoerg Sonnenberger.\" SUCH DAMAGE. 33*ade90846SJoerg Sonnenberger.\" 34*ade90846SJoerg Sonnenberger.\" $P4$ 35*ade90846SJoerg Sonnenberger.\" 36*ade90846SJoerg Sonnenberger.Dd June 16, 2005 37*ade90846SJoerg Sonnenberger.Dt OPENPAM 3 38*ade90846SJoerg Sonnenberger.Os 39*ade90846SJoerg Sonnenberger.Sh NAME 40*ade90846SJoerg Sonnenberger.Nm openpam_borrow_cred , 41*ade90846SJoerg Sonnenberger.Nm openpam_free_data , 42*ade90846SJoerg Sonnenberger.Nm openpam_free_envlist , 43*ade90846SJoerg Sonnenberger.Nm openpam_get_option , 44*ade90846SJoerg Sonnenberger.Nm openpam_log , 45*ade90846SJoerg Sonnenberger.Nm openpam_nullconv , 46*ade90846SJoerg Sonnenberger.Nm openpam_readline , 47*ade90846SJoerg Sonnenberger.Nm openpam_restore_cred , 48*ade90846SJoerg Sonnenberger.Nm openpam_set_option , 49*ade90846SJoerg Sonnenberger.Nm openpam_ttyconv , 50*ade90846SJoerg Sonnenberger.Nm pam_error , 51*ade90846SJoerg Sonnenberger.Nm pam_get_authtok , 52*ade90846SJoerg Sonnenberger.Nm pam_info , 53*ade90846SJoerg Sonnenberger.Nm pam_prompt , 54*ade90846SJoerg Sonnenberger.Nm pam_setenv , 55*ade90846SJoerg Sonnenberger.Nm pam_verror , 56*ade90846SJoerg Sonnenberger.Nm pam_vinfo , 57*ade90846SJoerg Sonnenberger.Nm pam_vprompt 58*ade90846SJoerg Sonnenberger.Nd Pluggable Authentication Modules Library 59*ade90846SJoerg Sonnenberger.Sh LIBRARY 60*ade90846SJoerg Sonnenberger.Lb libpam 61*ade90846SJoerg Sonnenberger.Sh SYNOPSIS 62*ade90846SJoerg Sonnenberger.In security/openpam.h 63*ade90846SJoerg Sonnenberger.Ft "int" 64*ade90846SJoerg Sonnenberger.Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" 65*ade90846SJoerg Sonnenberger.Ft "void" 66*ade90846SJoerg Sonnenberger.Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" 67*ade90846SJoerg Sonnenberger.Ft "void" 68*ade90846SJoerg Sonnenberger.Fn openpam_free_envlist "char **envlist" 69*ade90846SJoerg Sonnenberger.Ft "const char *" 70*ade90846SJoerg Sonnenberger.Fn openpam_get_option "pam_handle_t *pamh" "const char *option" 71*ade90846SJoerg Sonnenberger.Ft "void" 72*ade90846SJoerg Sonnenberger.Fn openpam_log "int level" "const char *fmt" "..." 73*ade90846SJoerg Sonnenberger.Ft "int" 74*ade90846SJoerg Sonnenberger.Fn openpam_nullconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" 75*ade90846SJoerg Sonnenberger.Ft "char *" 76*ade90846SJoerg Sonnenberger.Fn openpam_readline "FILE *f" "int *lineno" "size_t *lenp" 77*ade90846SJoerg Sonnenberger.Ft "int" 78*ade90846SJoerg Sonnenberger.Fn openpam_restore_cred "pam_handle_t *pamh" 79*ade90846SJoerg Sonnenberger.Ft "int" 80*ade90846SJoerg Sonnenberger.Fn openpam_set_option "pam_handle_t *pamh" "const char *option" "const char *value" 81*ade90846SJoerg Sonnenberger.Ft "int" 82*ade90846SJoerg Sonnenberger.Fn openpam_ttyconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" 83*ade90846SJoerg Sonnenberger.Ft "int" 84*ade90846SJoerg Sonnenberger.Fn pam_error "pam_handle_t *pamh" "const char *fmt" "..." 85*ade90846SJoerg Sonnenberger.Ft "int" 86*ade90846SJoerg Sonnenberger.Fn pam_get_authtok "pam_handle_t *pamh" "int item" "const char **authtok" "const char *prompt" 87*ade90846SJoerg Sonnenberger.Ft "int" 88*ade90846SJoerg Sonnenberger.Fn pam_info "pam_handle_t *pamh" "const char *fmt" "..." 89*ade90846SJoerg Sonnenberger.Ft "int" 90*ade90846SJoerg Sonnenberger.Fn pam_prompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "..." 91*ade90846SJoerg Sonnenberger.Ft "int" 92*ade90846SJoerg Sonnenberger.Fn pam_setenv "pam_handle_t *pamh" "const char *name" "const char *value" "int overwrite" 93*ade90846SJoerg Sonnenberger.Ft "int" 94*ade90846SJoerg Sonnenberger.Fn pam_verror "pam_handle_t *pamh" "const char *fmt" "va_list ap" 95*ade90846SJoerg Sonnenberger.Ft "int" 96*ade90846SJoerg Sonnenberger.Fn pam_vinfo "pam_handle_t *pamh" "const char *fmt" "va_list ap" 97*ade90846SJoerg Sonnenberger.Ft "int" 98*ade90846SJoerg Sonnenberger.Fn pam_vprompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap" 99*ade90846SJoerg Sonnenberger.\" 100*ade90846SJoerg Sonnenberger.\" $P4: //depot/projects/openpam/doc/man/openpam.man#2 $ 101*ade90846SJoerg Sonnenberger.\" 102*ade90846SJoerg Sonnenberger.Sh DESCRIPTION 103*ade90846SJoerg SonnenbergerThese functions are OpenPAM extensions to the PAM API. 104*ade90846SJoerg SonnenbergerThose named 105*ade90846SJoerg Sonnenberger.Fn pam_* 106*ade90846SJoerg Sonnenbergerare, in the author's opinion, logical and necessary extensions to the 107*ade90846SJoerg Sonnenbergerstandard API, while those named 108*ade90846SJoerg Sonnenberger.Fn openpam_* 109*ade90846SJoerg Sonnenbergerare either simple convenience functions, or functions intimately tied 110*ade90846SJoerg Sonnenbergerto OpenPAM implementation details, and therefore not well suited to 111*ade90846SJoerg Sonnenbergerstandardization. 112*ade90846SJoerg Sonnenberger.Sh SEE ALSO 113*ade90846SJoerg Sonnenberger.Xr openpam_borrow_cred 3 , 114*ade90846SJoerg Sonnenberger.Xr openpam_free_data 3 , 115*ade90846SJoerg Sonnenberger.Xr openpam_free_envlist 3 , 116*ade90846SJoerg Sonnenberger.Xr openpam_get_option 3 , 117*ade90846SJoerg Sonnenberger.Xr openpam_log 3 , 118*ade90846SJoerg Sonnenberger.Xr openpam_nullconv 3 , 119*ade90846SJoerg Sonnenberger.Xr openpam_readline 3 , 120*ade90846SJoerg Sonnenberger.Xr openpam_restore_cred 3 , 121*ade90846SJoerg Sonnenberger.Xr openpam_set_option 3 , 122*ade90846SJoerg Sonnenberger.Xr openpam_ttyconv 3 , 123*ade90846SJoerg Sonnenberger.Xr pam_error 3 , 124*ade90846SJoerg Sonnenberger.Xr pam_get_authtok 3 , 125*ade90846SJoerg Sonnenberger.Xr pam_info 3 , 126*ade90846SJoerg Sonnenberger.Xr pam_prompt 3 , 127*ade90846SJoerg Sonnenberger.Xr pam_setenv 3 , 128*ade90846SJoerg Sonnenberger.Xr pam_verror 3 , 129*ade90846SJoerg Sonnenberger.Xr pam_vinfo 3 , 130*ade90846SJoerg Sonnenberger.Xr pam_vprompt 3 131*ade90846SJoerg Sonnenberger.Sh STANDARDS 132*ade90846SJoerg Sonnenberger.Rs 133*ade90846SJoerg Sonnenberger.%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" 134*ade90846SJoerg Sonnenberger.%D "June 1997" 135*ade90846SJoerg Sonnenberger.Re 136*ade90846SJoerg Sonnenberger.Sh AUTHORS 137*ade90846SJoerg SonnenbergerThe OpenPAM library and this manual page were developed for the 138*ade90846SJoerg Sonnenberger.Fx 139*ade90846SJoerg SonnenbergerProject by ThinkSec AS and Network Associates Laboratories, the 140*ade90846SJoerg SonnenbergerSecurity Research Division of Network Associates, Inc.& under 141*ade90846SJoerg SonnenbergerDARPA/SPAWAR contract N66001-01-C-8035 142*ade90846SJoerg Sonnenberger.Pq Dq CBOSS , 143*ade90846SJoerg Sonnenbergeras part of the DARPA CHATS research program. 144