1ce77a8d6SDag-Erling Smørgrav.\" Generated from openpam_subst.c by gendoc.pl 2*3ba4c8c8SDag-Erling Smørgrav.Dd June 27, 2023 37f106882SDag-Erling Smørgrav.Dt OPENPAM_SUBST 3 47f106882SDag-Erling Smørgrav.Os 57f106882SDag-Erling Smørgrav.Sh NAME 67f106882SDag-Erling Smørgrav.Nm openpam_subst 77f106882SDag-Erling Smørgrav.Nd substitute PAM item values in a string 87f106882SDag-Erling Smørgrav.Sh SYNOPSIS 97f106882SDag-Erling Smørgrav.In sys/types.h 107f106882SDag-Erling Smørgrav.In security/pam_appl.h 117f106882SDag-Erling Smørgrav.In security/openpam.h 127f106882SDag-Erling Smørgrav.Ft "int" 137f106882SDag-Erling Smørgrav.Fn openpam_subst "const pam_handle_t *pamh" "char *buf" "size_t *bufsize" "const char *template" 147f106882SDag-Erling Smørgrav.Sh DESCRIPTION 157f106882SDag-Erling SmørgravThe 162f3ed619SDag-Erling Smørgrav.Fn openpam_subst 177f106882SDag-Erling Smørgravfunction expands a string, substituting PAM item 187f106882SDag-Erling Smørgravvalues for all occurrences of specific substitution codes. 197f106882SDag-Erling SmørgravThe 207f106882SDag-Erling Smørgrav.Fa template 217f106882SDag-Erling Smørgravargument points to the initial string. 227f106882SDag-Erling SmørgravThe result is stored in the buffer pointed to by the 237f106882SDag-Erling Smørgrav.Fa buf 247f106882SDag-Erling Smørgravargument; the 257f106882SDag-Erling Smørgrav.Fa bufsize 267f106882SDag-Erling Smørgravargument specifies the size of that buffer. 277f106882SDag-Erling SmørgravThe actual size of the resulting string, including the terminating NUL 287f106882SDag-Erling Smørgravcharacter, is stored in the location pointed to by the 297f106882SDag-Erling Smørgrav.Fa bufsize 307f106882SDag-Erling Smørgravargument. 317f106882SDag-Erling Smørgrav.Pp 327f106882SDag-Erling SmørgravIf 337f106882SDag-Erling Smørgrav.Fa buf 347f106882SDag-Erling Smørgravis NULL, or if the buffer is too small to hold the expanded 357f106882SDag-Erling Smørgravstring, 367f106882SDag-Erling Smørgrav.Fa bufsize 377f106882SDag-Erling Smørgravis updated to reflect the amount of space required to 387f106882SDag-Erling Smørgravhold the entire string, and 392f3ed619SDag-Erling Smørgrav.Fn openpam_subst 407f106882SDag-Erling Smørgravreturns 417f106882SDag-Erling Smørgrav.Dv PAM_TRY_AGAIN . 427f106882SDag-Erling Smørgrav.Pp 437f106882SDag-Erling SmørgravIf 442f3ed619SDag-Erling Smørgrav.Fn openpam_subst 457f106882SDag-Erling Smørgravfails for any other reason, the 467f106882SDag-Erling Smørgrav.Fa bufsize 477f106882SDag-Erling Smørgravargument is 487f106882SDag-Erling Smørgravuntouched, but part of the buffer may still have been overwritten. 497f106882SDag-Erling Smørgrav.Pp 507f106882SDag-Erling SmørgravSubstitution codes are introduced by a percent character and correspond 517f106882SDag-Erling Smørgravto PAM items: 527f106882SDag-Erling Smørgrav.Bl -tag -width 18n 537f106882SDag-Erling Smørgrav.It \&%H 547f106882SDag-Erling SmørgravReplaced by the current value of the 557f106882SDag-Erling Smørgrav.Dv PAM_RHOST 567f106882SDag-Erling Smørgravitem. 577f106882SDag-Erling Smørgrav.It \&%h 587f106882SDag-Erling SmørgravReplaced by the current value of the 597f106882SDag-Erling Smørgrav.Dv PAM_HOST 607f106882SDag-Erling Smørgravitem. 617f106882SDag-Erling Smørgrav.It \&%s 627f106882SDag-Erling SmørgravReplaced by the current value of the 637f106882SDag-Erling Smørgrav.Dv PAM_SERVICE 647f106882SDag-Erling Smørgravitem. 657f106882SDag-Erling Smørgrav.It \&%t 667f106882SDag-Erling SmørgravReplaced by the current value of the 677f106882SDag-Erling Smørgrav.Dv PAM_TTY 687f106882SDag-Erling Smørgravitem. 697f106882SDag-Erling Smørgrav.It \&%U 707f106882SDag-Erling SmørgravReplaced by the current value of the 717f106882SDag-Erling Smørgrav.Dv PAM_RUSER 727f106882SDag-Erling Smørgravitem. 737f106882SDag-Erling Smørgrav.It \&%u 747f106882SDag-Erling SmørgravReplaced by the current value of the 757f106882SDag-Erling Smørgrav.Dv PAM_USER 767f106882SDag-Erling Smørgravitem. 777f106882SDag-Erling Smørgrav.El 787f106882SDag-Erling Smørgrav.Sh RETURN VALUES 797f106882SDag-Erling SmørgravThe 802f3ed619SDag-Erling Smørgrav.Fn openpam_subst 817f106882SDag-Erling Smørgravfunction returns one of the following values: 827f106882SDag-Erling Smørgrav.Bl -tag -width 18n 8349e56509SDag-Erling Smørgrav.It Bq Er PAM_SUCCESS 8449e56509SDag-Erling SmørgravSuccess. 8549e56509SDag-Erling Smørgrav.It Bq Er PAM_BAD_ITEM 8649e56509SDag-Erling SmørgravUnrecognized or restricted item. 877f106882SDag-Erling Smørgrav.It Bq Er PAM_TRY_AGAIN 887f106882SDag-Erling SmørgravTry again. 897f106882SDag-Erling Smørgrav.El 907f106882SDag-Erling Smørgrav.Sh SEE ALSO 917f106882SDag-Erling Smørgrav.Xr pam 3 , 927f106882SDag-Erling Smørgrav.Xr pam_get_authtok 3 , 937f106882SDag-Erling Smørgrav.Xr pam_get_item 3 , 947f106882SDag-Erling Smørgrav.Xr pam_get_user 3 , 957f106882SDag-Erling Smørgrav.Xr pam_strerror 3 967f106882SDag-Erling Smørgrav.Sh STANDARDS 977f106882SDag-Erling SmørgravThe 982f3ed619SDag-Erling Smørgrav.Fn openpam_subst 997f106882SDag-Erling Smørgravfunction is an OpenPAM extension. 1007f106882SDag-Erling Smørgrav.Sh AUTHORS 1017f106882SDag-Erling SmørgravThe 1022f3ed619SDag-Erling Smørgrav.Fn openpam_subst 1032f3ed619SDag-Erling Smørgravfunction and this manual page were 1042f3ed619SDag-Erling Smørgravdeveloped by 105f3b0ac34SDag-Erling Smørgrav.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no . 106