PAM_VPROMPT(3)

PAM_VPROMPT(3) | Library Functions Manual | PAM_VPROMPT(3)

# NAME

`pam_vprompt` —
call the conversation function

# SYNOPSIS

`#include <sys/types.h>`
`#include <security/pam_appl.h>`

int
`pam_vprompt`(const pam_handle_t *pamh, int style, char **resp, const char *fmt, va_list ap);

# DESCRIPTION

The `pam_vprompt`() function constructs a string from the fmt and ap arguments using vsnprintf(3), and passes it to the given PAM context's conversation function.

The style argument specifies the type of interaction requested, and must be one of the following:

`PAM_PROMPT_ECHO_OFF`
  Display the message and obtain the user's response without displaying it.
`PAM_PROMPT_ECHO_ON`
  Display the message and obtain the user's response.
`PAM_ERROR_MSG`
  Display the message as an error message, and do not wait for a response.
`PAM_TEXT_INFO`
  Display the message as an informational message, and do not wait for a response.

A pointer to the response, or `NULL` if the conversation function did not return one, is stored in the location pointed to by the resp argument.

The message and response should not exceed `PAM_MAX_MSG_SIZE` or `PAM_MAX_RESP_SIZE`, respectively. If they do, they may be truncated.

# RETURN VALUES

The `pam_vprompt`() function returns one of the following values:

[`PAM_SUCCESS`]
  Success.
[`PAM_BUF_ERR`]
  Memory buffer error.
[`PAM_CONV_ERR`]
  Conversation failure.
[`PAM_SYSTEM_ERR`]
  System error.

# SEE ALSO

pam(3), pam_error(3), pam_info(3), pam_prompt(3), pam_strerror(3), pam_verror(3), pam_vinfo(3), vsnprintf(3)

# STANDARDS

The `pam_vprompt`() function is an OpenPAM extension.

# AUTHORS

The `pam_vprompt`() function and this manual page were developed for the FreeBSD Project by ThinkSec AS and Network Associates Laboratories, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 (“CBOSS”), as part of the DARPA CHATS research program.

The OpenPAM library is maintained by Dag-Erling Smørgrav <des@des.no>.

April 30, 2017 | NetBSD 9.5