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