xref: /freebsd/contrib/openpam/doc/man/openpam_subst.3 (revision 3ba4c8c81a28de3e00ccf6d7f92c6f8e58bef456)
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