1ce77a8d6SDag-Erling Smørgrav.\" Generated by gendoc.pl 2*45538173SDag-Erling Smørgrav.Dd May 31, 2025 3ee02aaa9SDag-Erling Smørgrav.Dt OPENPAM 3 4ee02aaa9SDag-Erling Smørgrav.Os 5ee02aaa9SDag-Erling Smørgrav.Sh NAME 6f3b0ac34SDag-Erling Smørgrav.Nm openpam_borrow_cred , 7f3b0ac34SDag-Erling Smørgrav.Nm openpam_free_data , 8f3b0ac34SDag-Erling Smørgrav.Nm openpam_free_envlist , 9f3b0ac34SDag-Erling Smørgrav.Nm openpam_get_feature , 10f3b0ac34SDag-Erling Smørgrav.Nm openpam_get_option , 11f3b0ac34SDag-Erling Smørgrav.Nm openpam_log , 12f3b0ac34SDag-Erling Smørgrav.Nm openpam_nullconv , 13f3b0ac34SDag-Erling Smørgrav.Nm openpam_readline , 14f3b0ac34SDag-Erling Smørgrav.Nm openpam_readlinev , 15f3b0ac34SDag-Erling Smørgrav.Nm openpam_readword , 16f3b0ac34SDag-Erling Smørgrav.Nm openpam_restore_cred , 17f3b0ac34SDag-Erling Smørgrav.Nm openpam_set_feature , 18f3b0ac34SDag-Erling Smørgrav.Nm openpam_set_option , 19f3b0ac34SDag-Erling Smørgrav.Nm openpam_straddch , 20f3b0ac34SDag-Erling Smørgrav.Nm openpam_subst , 21f3b0ac34SDag-Erling Smørgrav.Nm openpam_ttyconv , 22f3b0ac34SDag-Erling Smørgrav.Nm pam_error , 23f3b0ac34SDag-Erling Smørgrav.Nm pam_get_authtok , 24f3b0ac34SDag-Erling Smørgrav.Nm pam_info , 25f3b0ac34SDag-Erling Smørgrav.Nm pam_prompt , 26f3b0ac34SDag-Erling Smørgrav.Nm pam_setenv , 27f3b0ac34SDag-Erling Smørgrav.Nm pam_verror , 28f3b0ac34SDag-Erling Smørgrav.Nm pam_vinfo , 29f3b0ac34SDag-Erling Smørgrav.Nm pam_vprompt 30ee02aaa9SDag-Erling Smørgrav.Nd Pluggable Authentication Modules Library 31ee02aaa9SDag-Erling Smørgrav.Sh LIBRARY 32ee02aaa9SDag-Erling Smørgrav.Lb libpam 33ee02aaa9SDag-Erling Smørgrav.Sh SYNOPSIS 34ee02aaa9SDag-Erling Smørgrav.In security/openpam.h 35f3b0ac34SDag-Erling Smørgrav.Ft "int" 36f3b0ac34SDag-Erling Smørgrav.Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" 37f3b0ac34SDag-Erling Smørgrav.Ft "void" 38f3b0ac34SDag-Erling Smørgrav.Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" 39f3b0ac34SDag-Erling Smørgrav.Ft "void" 40f3b0ac34SDag-Erling Smørgrav.Fn openpam_free_envlist "char **envlist" 41f3b0ac34SDag-Erling Smørgrav.Ft "int" 42f3b0ac34SDag-Erling Smørgrav.Fn openpam_get_feature "int feature" "int *onoff" 43f3b0ac34SDag-Erling Smørgrav.Ft "const char *" 44f3b0ac34SDag-Erling Smørgrav.Fn openpam_get_option "pam_handle_t *pamh" "const char *option" 45f3b0ac34SDag-Erling Smørgrav.Ft "void" 46f3b0ac34SDag-Erling Smørgrav.Fn openpam_log "int level" "const char *fmt" "..." 47f3b0ac34SDag-Erling Smørgrav.Ft "int" 48f3b0ac34SDag-Erling Smørgrav.Fn openpam_nullconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" 49f3b0ac34SDag-Erling Smørgrav.Ft "char *" 50f3b0ac34SDag-Erling Smørgrav.Fn openpam_readline "FILE *f" "int *lineno" "size_t *lenp" 51f3b0ac34SDag-Erling Smørgrav.Ft "char **" 52f3b0ac34SDag-Erling Smørgrav.Fn openpam_readlinev "FILE *f" "int *lineno" "int *lenp" 53f3b0ac34SDag-Erling Smørgrav.Ft "char *" 54f3b0ac34SDag-Erling Smørgrav.Fn openpam_readword "FILE *f" "int *lineno" "size_t *lenp" 55f3b0ac34SDag-Erling Smørgrav.Ft "int" 56f3b0ac34SDag-Erling Smørgrav.Fn openpam_restore_cred "pam_handle_t *pamh" 57f3b0ac34SDag-Erling Smørgrav.Ft "int" 58f3b0ac34SDag-Erling Smørgrav.Fn openpam_set_feature "int feature" "int onoff" 59f3b0ac34SDag-Erling Smørgrav.Ft "int" 60f3b0ac34SDag-Erling Smørgrav.Fn openpam_set_option "pam_handle_t *pamh" "const char *option" "const char *value" 61f3b0ac34SDag-Erling Smørgrav.Ft "int" 62f3b0ac34SDag-Erling Smørgrav.Fn openpam_straddch "char **str" "size_t *size" "size_t *len" "int ch" 63f3b0ac34SDag-Erling Smørgrav.Ft "int" 64f3b0ac34SDag-Erling Smørgrav.Fn openpam_subst "const pam_handle_t *pamh" "char *buf" "size_t *bufsize" "const char *template" 65f3b0ac34SDag-Erling Smørgrav.Ft "int" 66f3b0ac34SDag-Erling Smørgrav.Fn openpam_ttyconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" 67f3b0ac34SDag-Erling Smørgrav.Ft "int" 68f3b0ac34SDag-Erling Smørgrav.Fn pam_error "const pam_handle_t *pamh" "const char *fmt" "..." 69f3b0ac34SDag-Erling Smørgrav.Ft "int" 70f3b0ac34SDag-Erling Smørgrav.Fn pam_get_authtok "pam_handle_t *pamh" "int item" "const char **authtok" "const char *prompt" 71f3b0ac34SDag-Erling Smørgrav.Ft "int" 72f3b0ac34SDag-Erling Smørgrav.Fn pam_info "const pam_handle_t *pamh" "const char *fmt" "..." 73f3b0ac34SDag-Erling Smørgrav.Ft "int" 74f3b0ac34SDag-Erling Smørgrav.Fn pam_prompt "const pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "..." 75f3b0ac34SDag-Erling Smørgrav.Ft "int" 76f3b0ac34SDag-Erling Smørgrav.Fn pam_setenv "pam_handle_t *pamh" "const char *name" "const char *value" "int overwrite" 77f3b0ac34SDag-Erling Smørgrav.Ft "int" 78f3b0ac34SDag-Erling Smørgrav.Fn pam_verror "const pam_handle_t *pamh" "const char *fmt" "va_list ap" 79f3b0ac34SDag-Erling Smørgrav.Ft "int" 80f3b0ac34SDag-Erling Smørgrav.Fn pam_vinfo "const pam_handle_t *pamh" "const char *fmt" "va_list ap" 81f3b0ac34SDag-Erling Smørgrav.Ft "int" 82f3b0ac34SDag-Erling Smørgrav.Fn pam_vprompt "const pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap" 83ee02aaa9SDag-Erling Smørgrav.Sh DESCRIPTION 84b33ab329SDag-Erling SmørgravThese functions are OpenPAM extensions to the PAM API. 85b33ab329SDag-Erling SmørgravThose named 86ee02aaa9SDag-Erling Smørgrav.Fn pam_* 87ee02aaa9SDag-Erling Smørgravare, in the author's opinion, logical and necessary extensions to the 88ee02aaa9SDag-Erling Smørgravstandard API, while those named 89ee02aaa9SDag-Erling Smørgrav.Fn openpam_* 90ee02aaa9SDag-Erling Smørgravare either simple convenience functions, or functions intimately tied 91ee02aaa9SDag-Erling Smørgravto OpenPAM implementation details, and therefore not well suited to 92ee02aaa9SDag-Erling Smørgravstandardization. 93ee02aaa9SDag-Erling Smørgrav.Sh SEE ALSO 94f3b0ac34SDag-Erling Smørgrav.Xr openpam_borrow_cred 3 , 95f3b0ac34SDag-Erling Smørgrav.Xr openpam_free_data 3 , 96f3b0ac34SDag-Erling Smørgrav.Xr openpam_free_envlist 3 , 97f3b0ac34SDag-Erling Smørgrav.Xr openpam_get_feature 3 , 98f3b0ac34SDag-Erling Smørgrav.Xr openpam_get_option 3 , 99f3b0ac34SDag-Erling Smørgrav.Xr openpam_log 3 , 100f3b0ac34SDag-Erling Smørgrav.Xr openpam_nullconv 3 , 101f3b0ac34SDag-Erling Smørgrav.Xr openpam_readline 3 , 102f3b0ac34SDag-Erling Smørgrav.Xr openpam_readlinev 3 , 103f3b0ac34SDag-Erling Smørgrav.Xr openpam_readword 3 , 104f3b0ac34SDag-Erling Smørgrav.Xr openpam_restore_cred 3 , 105f3b0ac34SDag-Erling Smørgrav.Xr openpam_set_feature 3 , 106f3b0ac34SDag-Erling Smørgrav.Xr openpam_set_option 3 , 107f3b0ac34SDag-Erling Smørgrav.Xr openpam_straddch 3 , 108f3b0ac34SDag-Erling Smørgrav.Xr openpam_subst 3 , 109f3b0ac34SDag-Erling Smørgrav.Xr openpam_ttyconv 3 , 110f3b0ac34SDag-Erling Smørgrav.Xr pam_error 3 , 111f3b0ac34SDag-Erling Smørgrav.Xr pam_get_authtok 3 , 112f3b0ac34SDag-Erling Smørgrav.Xr pam_info 3 , 113f3b0ac34SDag-Erling Smørgrav.Xr pam_prompt 3 , 114f3b0ac34SDag-Erling Smørgrav.Xr pam_setenv 3 , 115f3b0ac34SDag-Erling Smørgrav.Xr pam_verror 3 , 116f3b0ac34SDag-Erling Smørgrav.Xr pam_vinfo 3 , 117f3b0ac34SDag-Erling Smørgrav.Xr pam_vprompt 3 118ee02aaa9SDag-Erling Smørgrav.Sh STANDARDS 119ee02aaa9SDag-Erling Smørgrav.Rs 120ee02aaa9SDag-Erling Smørgrav.%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" 121ee02aaa9SDag-Erling Smørgrav.%D "June 1997" 122ee02aaa9SDag-Erling Smørgrav.Re 123ee02aaa9SDag-Erling Smørgrav.Sh AUTHORS 124ee02aaa9SDag-Erling SmørgravThe OpenPAM library and this manual page were developed for the 125ca236e63SDag-Erling Smørgrav.Fx 126ca236e63SDag-Erling SmørgravProject by ThinkSec AS and Network Associates Laboratories, the 1279bc006deSDag-Erling SmørgravSecurity Research Division of Network Associates, Inc.\& under 128ee02aaa9SDag-Erling SmørgravDARPA/SPAWAR contract N66001-01-C-8035 129ee02aaa9SDag-Erling Smørgrav.Pq Dq CBOSS , 130ee02aaa9SDag-Erling Smørgravas part of the DARPA CHATS research program. 1312f3ed619SDag-Erling Smørgrav.Pp 1322f3ed619SDag-Erling SmørgravThe OpenPAM library is maintained by 133*45538173SDag-Erling Smørgrav.An Dag-Erling Sm\(/orgrav Aq Mt des@des.dev . 134