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