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