OPENPAM_SUBST(3) | MidnightBSD Library Functions Manual | OPENPAM_SUBST(3) |
openpam_subst
—
substitute PAM item values in a string
#include
<sys/types.h>
#include <security/pam_appl.h>
#include
<security/openpam.h>
int
openpam_subst
(const
pam_handle_t *pamh, char
*buf, size_t
*bufsize, const char
*template);
The
openpam_subst
()
function expands a string, substituting PAM item values for all occurrences
of specific substitution codes. The template argument
points to the initial string. The result is stored in the buffer pointed to
by the buf argument; the bufsize
argument specifies the size of that buffer. The actual size of the resulting
string, including the terminating NUL character, is stored in the location
pointed to by the bufsize argument.
If buf is NULL, or if
the buffer is too small to hold the expanded string,
bufsize is updated to reflect the amount of space
required to hold the entire string, and
openpam_subst
()
returns PAM_TRY_AGAIN
.
If
openpam_subst
()
fails for any other reason, the bufsize argument is
untouched, but part of the buffer may still have been overwritten.
Substitution codes are introduced by a percent character and correspond to PAM items:
PAM_RHOST
item.PAM_HOST
item.PAM_SERVICE
item.PAM_TTY
item.PAM_RUSER
item.PAM_USER
item.The openpam_subst
() function returns one
of the following values:
PAM_SUCCESS
]PAM_BAD_ITEM
]PAM_TRY_AGAIN
]pam(3), pam_get_authtok(3), pam_get_item(3), pam_get_user(3), pam_strerror(3)
The openpam_subst
() function is an OpenPAM
extension.
The openpam_subst
() function and this
manual page were developed by Dag-Erling
Smørgrav
<des@des.no>.
February 24, 2019 | midnightbsd-3.1 |