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

# NAME

pam_getenvlist — returns a list of all the PAM environment variables

# LIBRARY

Pluggable Authentication Module Library (libpam, -lpam)

# SYNOPSIS

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

char **
pam_getenvlist(pam_handle_t *pamh);

# DESCRIPTION

The pam_getenvlist function returns a copy of the given PAM context's environment list as a pointer to an array of strings. The last element in the array is NULL. The pointer is suitable for assignment to environ.

The array and the strings it lists are allocated using malloc(3), and should be released using free(3) after use:

        char **envlist, **env;

        envlist = environ;
        environ = pam_getenvlist(pamh);
        /* do something nifty */
        for (env = environ; *env != NULL; env++)
            free(*env);
        free(environ);
        environ = envlist;

# RETURN VALUES

The pam_getenvlist function returns NULL on failure.

# SEE ALSO

free(3), malloc(3), pam(3), pam_getenv(3), pam_putenv(3), pam_setenv(3), environ(7)

# STANDARDS

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

# AUTHORS

The pam_getenvlist 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 21, 2007 | NetBSD 5.99