The pam_set_data() and pam_get_data() functions allow PAM service modules to access and update module specific information as
needed. These functions should not be used by applications.
The pam_set_data() function stores module specific data within the PAM handle pamh. The module_data_name
argument uniquely identifies the data, and the data argument represents the actual data. The module_data_name argument should be unique across all services.
The cleanup function frees up any memory used by the data after it is no longer needed, and is invoked by pam_end(). The cleanup function takes as its arguments a pointer to the PAM handle, pamh, a pointer to the actual data, data,
and a status code, pam_end_status. The status code determines exactly what state information needs to be purged.
If pam_set_data() is called and module data already exists from a prior call to pam_set_data() under the same module_data_name, then
the existing data is replaced by the new data, and the existing cleanup function is replaced by the new cleanup
function.
The pam_get_data() function retrieves module-specific data stored in the PAM handle, pamh, identified by the unique name, module_data_name. The data argument is assigned the address of the requested data. The data retrieved by pam_get_data() should
not be modified or freed. The data will be released by pam_end().
|