1.\"-
2.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
3.\" Copyright (c) 2004-2007 Dag-Erling Smørgrav
4.\" All rights reserved.
5.\"
6.\" This software was developed for the FreeBSD Project by ThinkSec AS and
7.\" Network Associates Laboratories, the Security Research Division of
8.\" Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035
9.\" ("CBOSS"), as part of the DARPA CHATS research program.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\" 3. The name of the author may not be used to endorse or promote
20.\"    products derived from this software without specific prior written
21.\"    permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\" $P4$
36.\"
37.Dd December 21, 2007
38.Dt PAM_VPROMPT 3
39.Os
40.Sh NAME
41.Nm pam_vprompt
42.Nd call the conversation function
43.Sh LIBRARY
44.Lb libpam
45.Sh SYNOPSIS
46.In sys/types.h
47.In security/pam_appl.h
48.Ft "int"
49.Fn pam_vprompt "const pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap"
50.Sh DESCRIPTION
51The
52.Nm
53function constructs a string from the
54.Fa fmt
55and
56.Fa ap
57arguments using
58.Xr vsnprintf 3 ,
59and passes it to the given PAM context's
60conversation function.
61.Pp
62The
63.Fa style
64argument specifies the type of interaction requested, and
65must be one of the following:
66.Bl -tag -width 18n
67.It Dv PAM_PROMPT_ECHO_OFF
68Display the message and obtain the user's response without
69displaying it.
70.It Dv PAM_PROMPT_ECHO_ON
71Display the message and obtain the user's response.
72.It Dv PAM_ERROR_MSG
73Display the message as an error message, and do not wait
74for a response.
75.It Dv PAM_TEXT_INFO
76Display the message as an informational message, and do
77not wait for a response.
78.El
79.Pp
80A pointer to the response, or
81.Dv NULL
82if the conversation function did
83not return one, is stored in the location pointed to by the
84.Fa resp
85argument.
86.Pp
87The message and response should not exceed
88.Dv PAM_MAX_MSG_SIZE
89or
90.Dv PAM_MAX_RESP_SIZE ,
91respectively.
92If they do, they may be truncated.
93.Pp
94.Sh RETURN VALUES
95The
96.Nm
97function returns one of the following values:
98.Bl -tag -width 18n
99.It Bq Er PAM_BUF_ERR
100Memory buffer error.
101.It Bq Er PAM_CONV_ERR
102Conversation failure.
103.It Bq Er PAM_SYSTEM_ERR
104System error.
105.El
106.Sh SEE ALSO
107.Xr pam 3 ,
108.Xr pam_error 3 ,
109.Xr pam_info 3 ,
110.Xr pam_prompt 3 ,
111.Xr pam_strerror 3 ,
112.Xr pam_verror 3 ,
113.Xr pam_vinfo 3 ,
114.Xr vsnprintf 3
115.Sh STANDARDS
116The
117.Nm
118function is an OpenPAM extension.
119.Sh AUTHORS
120The
121.Nm
122function and this manual page were developed for the
123.Fx
124Project by ThinkSec AS and Network Associates Laboratories, the
125Security Research Division of Network Associates, Inc.\& under
126DARPA/SPAWAR contract N66001-01-C-8035
127.Pq Dq CBOSS ,
128as part of the DARPA CHATS research program.
129