PAM_GET_ITEM(3)

PAM_GET_ITEM(3) | Library Functions Manual | PAM_GET_ITEM(3)

# NAME

`pam_get_item` —
get PAM information

# SYNOPSIS

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

int
`pam_get_item`(const pam_handle_t *pamh, int item_type, const void **item);

# DESCRIPTION

The `pam_get_item`() function stores a pointer to the item specified by the item_type argument in the location pointed to by the item argument. The item is retrieved from the PAM context specified by the pamh argument. If `pam_get_item`() fails, the item argument is untouched.

The following item types are recognized:

`PAM_SERVICE`
  The name of the requesting service.
`PAM_USER`
  The name of the user the application is trying to authenticate.
`PAM_TTY`
  The name of the current terminal.
`PAM_RHOST`
  The name of the applicant's host.
`PAM_CONV`
  A struct pam_conv describing the current conversation function.
`PAM_AUTHTOK`
  The current authentication token.
`PAM_OLDAUTHTOK`
  The expired authentication token.
`PAM_RUSER`
  The name of the applicant.
`PAM_USER_PROMPT`
  The prompt to use when asking the applicant for a user name to authenticate as.
`PAM_AUTHTOK_PROMPT`
  The prompt to use when asking the applicant for an authentication token.
`PAM_OLDAUTHTOK_PROMPT`
  The prompt to use when asking the applicant for an expired authentication token prior to changing it.
`PAM_HOST`
  The name of the host the application runs on.
`PAM_SOCKADDR`
  The sockaddr_storage of the applicants's host.
`PAM_NUSER`
  The “nested” user if this is a login on top of a previous one.

See pam_start(3) for a description of struct pam_conv.

# RETURN VALUES

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

[`PAM_SUCCESS`]
  Success.
[`PAM_BAD_ITEM`]
  Unrecognized or restricted item.

# SEE ALSO

pam(3), pam_set_item(3), pam_start(3), pam_strerror(3)

# STANDARDS

X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules, June 1997.

# AUTHORS

The `pam_get_item`() 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.0