PAM_GETENVLIST(3) Library Functions Manual PAM_GETENVLIST(3)

pam_getenvlistreturns a list of all the PAM environment variables

Pluggable Authentication Module Library (libpam, -lpam)

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

char **
pam_getenvlist(pam_handle_t *pamh);

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;

The pam_getenvlist function returns NULL on failure.

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

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

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 macOS 15.2