PAM_GET_ITEM(3)

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

# NAME

pam_get_item — get PAM information

# LIBRARY

Pluggable Authentication Module Library (libpam, -lpam)

# 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_SYMBOL_ERR]
  Invalid symbol.
[PAM_SYSTEM_ERR]
  System error.

# 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.

December 18, 2011 | NetBSD 5.99