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

# NAME

`pam_getenvlist` — returns a list of all the PAM environment variables

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

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

June 27, 2023 | NetBSD 11.0