Section (3) pam_getenvlist

Linux manual pages Section 3  


pam_getenvlist — getting the PAM environment


#include <security/pam_appl.h>
char **pam_getenvlist( pam_handle_t *pamh);


The pam_getenvlist function returns a complete copy of the PAM environment as associated with the handle pamh. The PAM environment variables represent the contents of the regular environment variables of the authenticated user when service is granted.

The format of the memory is a malloc()_zsingle_quotesz_d array of char pointers, the last element of which is set to NULL. Each of the non-NULL entries in this array point to a NUL terminated and malloc()_zsingle_quotesz_d char string of the form: name=value.

It should be noted that this memory will never be free()_zsingle_quotesz_d by libpam. Once obtained by a call to pam_getenvlist, it is the responsibility of the calling application to free() this memory.

It is by design, and not a coincidence, that the format and contents of the returned array matches that required for the third argument of the execle(3) function call.


The pam_getenvlist function returns NULL on failure.


pam_start(3), pam_getenv(3), pam_putenv(3), pam(8)

See Linux-PAM copyright notice for more information.