Index: head/contrib/openpam/HISTORY =================================================================== --- head/contrib/openpam/HISTORY (revision 95908) +++ head/contrib/openpam/HISTORY (revision 95909) @@ -1,131 +1,155 @@ ============================================================================ +OpenPAM Cinnamon 2002-05-02 + + - ENHANCE: Add a null conversation function, openpam_nullconv(). + + - BUGFIX: Various markup bugs in the documentation. + + - BUGFIX: Document . + + - BUGFIX: Duplicate expansion of openpam_log() macro arguments. + + - ENHANCE: Restructure the policy-loading code and align our use of + the "other" policy with Solaris and Linux-PAM. + + - ENHANCE: Log dlopen() and dlsym() failures. + + - ENHANCE: In openpam_ttyconv(), emit a newline after error and info + messages unless the message contains one already. + + - BUGFIX: In pam_vprompt(), initialize the response pointer to NULL + so we can detect whether the conversation function touched it. +============================================================================ OpenPAM Cineraria 2002-04-14 + - BUGFIX: Fix confusion between token and prompt in + pam_get_authtok(3). + - ENHANCE: Improved documentation. - ENHANCE: Adopt the same preprocessor tricks that were used in FreeBSD's version of Linux-PAM to simplify static linking without requiring dummy primitives. - - ENHANCE: move the policy-loading code out of pam_start.c. + - ENHANCE: Move the policy-loading code out of pam_start.c. - BUGFIX: Fix typo in one of the versions of the openpam_log macro. - ENHANCE: Add versioning macros. ============================================================================ OpenPAM Cinchona 2002-04-08 - ENHANCE: Improved documentation for several API functions. - BUGFIX: Fix bug in pam_set_data() that would result in corruption of the module data list. - BUGFIX: Allocate the correct amount of memory for the environment list in pam_putenv(). - ENHANCE: Change pam_get_authtok()'s prototype so the caller can specify what token it wants. Also introduce PAM_OLDAUTHTOK_PROMPT. - BUGFIX: Plug memory leak in pam_get_user() / pam_get_authtok(), and reduce differences between these very similar functions. - ENHANCE: Check flags carefully in pam_authenticate() and pam_chauthtok(). - BUGFIX: Fix bugs in portability code; libpam now builds on NetBSD. - ENHANCE: In pam_get_authtok(), if PAM_OLDAUTHTOK is set, we're asked for PAM_AUTHTOK, and we have to prompt the user, prompt her twice and compare the responses. - ENHANCE: Add openpam_{borrow,restore}_cred(), for temporarily switching to user credentials. - ENHANCE: Add openpam_free_data(), a generic cleanup function for pam_set_data() consumers. ============================================================================ OpenPAM Centaury 2002-03-14 - BUGFIX: Add missing #include to openpam_log.c. - BUGFIX: s/PAM_REINITIALISE_CRED/PAM_REINITIALIZE_CRED/. XSSO uses the former, but Solaris and Linux-PAM use the latter. - BUGFIX: The dynamic loader and the module cache contained a number of bugs which would cause a segmentation fault if pam_start(3) was called again after pam_end(3), as happens in login(1), xdm(1) etc. after a failed login. - BUGFIX: Refer to a module by the name used in the policy file, even if the module that was actually loaded was versioned. - ENHANCE: Suppress debugging logs, unless compiled with -DDEBUG. ============================================================================ OpenPAM Celandine 2002-03-05 - BUGFIX: PAM_TRY_AGAIN is a valid return value for pam_chauthtok(). - BUGFIX: Run passwd chain twice, first with the PAM_PRELIM_CHECK flag set, then with the PAM_UPDATE_AUTHTOK flag set. - BUGFIX: Failure of a "sufficient" module should not terminate the passwd chain if the PAM_PRELIM_CHECK flag is set. - BUGFIX: Clear PAM_AUTHTOK after running the service modules. - ENHANCE: Prevent applications from specifying the PAM_PRELIM_CHECK or PAM_UPDATE_AUTHTOK flags themselves. - BUGFIX: openpam_set_option() did not support changing the value of an existing option. - ENHANCE: Add support for module versioning. OpenPAM will prefer a module with the same version number as the library itself to one with no version number at all. ============================================================================ OpenPAM Cantaloupe 2002-02-22 - BUGFIX: The proper use of PAM_SYMBOL_ERR is to indicate an invalid argument to pam_[gs]et_item(3), not to indicate dlsym(3) failures. - ENHANCE: Add in-line documentation in most source files, and a Perl script that generates mdoc code from that. - BUGFIX: The environment list was not properly NULL-terminated. - ENHANCE: Allow the PAM_AUTHTOK_PROMPT item to override the prompt specified by the module. - BUGFIX: PAM_NUM_ITEMS was set too low. It has been moved to pam_constants.h to avoid it going stale again. - ENHANCE: Move all code related to static modules into a separate file. - ENHANCE: openpam_ttyconv() now masks most signals while prompting the user, and supports setting a timeout (which defaults to off). - BUGFIX: Some manual pages referenced XSSO even though they documented OpenPAM-specific functions. - ENHANCE: Added openpam_get_option() and openpam_set_option(). - ENHANCE: openpam_get_authtok() now respects the echo_pass, try_first_pass, and use_first_pass options. ============================================================================ OpenPAM Caliopsis 2002-02-13 Fixed a number of bugs in the previous release, including: - a number of bugs in and related to pam_[gs]et_item(3) - off-by-one bug in pam_start.c would trim last character off certain configuration lines - incorrect ordering of an array in openpam_load.c would cause service module functions to get mixed up - missing 'continue' in openpam_dispatch.c caused successes to be counted as failures ============================================================================ OpenPAM Calamite 2002-02-09 First (beta) release. ============================================================================ -$P4: //depot/projects/openpam/HISTORY#9 $ +$P4: //depot/projects/openpam/HISTORY#11 $ Index: head/contrib/openpam/MANIFEST =================================================================== --- head/contrib/openpam/MANIFEST (revision 95908) +++ head/contrib/openpam/MANIFEST (revision 95909) @@ -1,125 +1,126 @@ # -# $P4: //depot/projects/openpam/MANIFEST#7 $ +# $P4: //depot/projects/openpam/MANIFEST#8 $ # CREDITS HISTORY INSTALL LICENSE MANIFEST Makefile README RELNOTES bin/Makefile bin/su/Makefile bin/su/su.c doc/Makefile doc/man/Makefile doc/man/openpam_borrow_cred.3 doc/man/openpam_free_data.3 doc/man/openpam_get_option.3 doc/man/openpam_log.3 doc/man/openpam_restore_cred.3 doc/man/openpam_set_option.3 doc/man/openpam_ttyconv.3 doc/man/pam.3 doc/man/pam_acct_mgmt.3 doc/man/pam_authenticate.3 doc/man/pam_chauthtok.3 doc/man/pam_close_session.3 doc/man/pam_end.3 doc/man/pam_error.3 doc/man/pam_get_authtok.3 doc/man/pam_get_data.3 doc/man/pam_get_item.3 doc/man/pam_get_user.3 doc/man/pam_getenv.3 doc/man/pam_getenvlist.3 doc/man/pam_info.3 doc/man/pam_open_session.3 doc/man/pam_prompt.3 doc/man/pam_putenv.3 doc/man/pam_set_data.3 doc/man/pam_set_item.3 doc/man/pam_setcred.3 doc/man/pam_setenv.3 doc/man/pam_sm_acct_mgmt.3 doc/man/pam_sm_authenticate.3 doc/man/pam_sm_chauthtok.3 doc/man/pam_sm_close_session.3 doc/man/pam_sm_open_session.3 doc/man/pam_sm_setcred.3 doc/man/pam_start.3 doc/man/pam_strerror.3 doc/man/pam_verror.3 doc/man/pam_vinfo.3 doc/man/pam_vprompt.3 include/security/openpam.h include/security/openpam_version.h include/security/pam_appl.h include/security/pam_constants.h include/security/pam_modules.h include/security/pam_types.h lib/Makefile lib/openpam_borrow_cred.c lib/openpam_configure.c lib/openpam_dispatch.c lib/openpam_dynamic.c lib/openpam_findenv.c lib/openpam_free_data.c lib/openpam_get_option.c lib/openpam_impl.h lib/openpam_load.c lib/openpam_log.c +lib/openpam_nullconv.c lib/openpam_restore_cred.c lib/openpam_set_option.c lib/openpam_static.c lib/openpam_ttyconv.c lib/pam_acct_mgmt.c lib/pam_authenticate.c lib/pam_authenticate_secondary.c lib/pam_chauthtok.c lib/pam_close_session.c lib/pam_end.c lib/pam_error.c lib/pam_get_authtok.c lib/pam_get_data.c lib/pam_get_item.c lib/pam_get_mapped_authtok.c lib/pam_get_mapped_username.c lib/pam_get_user.c lib/pam_getenv.c lib/pam_getenvlist.c lib/pam_info.c lib/pam_open_session.c lib/pam_prompt.c lib/pam_putenv.c lib/pam_set_data.c lib/pam_set_item.c lib/pam_set_mapped_authtok.c lib/pam_set_mapped_username.c lib/pam_setcred.c lib/pam_setenv.c lib/pam_sm_acct_mgmt.c lib/pam_sm_authenticate.c lib/pam_sm_authenticate_secondary.c lib/pam_sm_chauthtok.c lib/pam_sm_close_session.c lib/pam_sm_get_mapped_authtok.c lib/pam_sm_get_mapped_username.c lib/pam_sm_open_session.c lib/pam_sm_set_mapped_authtok.c lib/pam_sm_set_mapped_username.c lib/pam_sm_setcred.c lib/pam_start.c lib/pam_strerror.c lib/pam_verror.c lib/pam_vinfo.c lib/pam_vprompt.c misc/gendoc.pl modules/Makefile modules/pam_deny/Makefile modules/pam_deny/pam_deny.c modules/pam_dummy/Makefile modules/pam_dummy/pam_dummy.c modules/pam_permit/Makefile modules/pam_permit/pam_permit.c Index: head/contrib/openpam/RELNOTES =================================================================== --- head/contrib/openpam/RELNOTES (revision 95908) +++ head/contrib/openpam/RELNOTES (revision 95909) @@ -1,18 +1,18 @@ - Release notes for OpenPAM Cineraria - =================================== + Release notes for OpenPAM Cinnamon + ================================== The library itself is complete. Documentation exists in the form of man pages for the library functions, though a few pages are still incomplete. -This release is incorporated into FreeBSD-CURRENT as of 2002-04-14. +This release is incorporated into FreeBSD-CURRENT as of 2002-05-02. It has also been successfully built on NetBSD, and should build with minimal or no changes on OpenBSD. It has not been tested on any other OS. Known issues: - The documentation is still incomplete. -$P4: //depot/projects/openpam/RELNOTES#9 $ +$P4: //depot/projects/openpam/RELNOTES#10 $ Index: head/contrib/openpam/doc/man/openpam_borrow_cred.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_borrow_cred.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_borrow_cred.3 (revision 95909) @@ -1,89 +1,90 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_borrow_cred.3#2 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_borrow_cred.3#4 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_BORROW_CRED 3 .Os .Sh NAME .Nm openpam_borrow_cred .Nd temporarily borrow user credentials .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft int .Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" .Sh DESCRIPTION The .Nm function saves the current credentials and switches to those of the user specified by its .Va pwd argument. The affected credentials are the effective UID, the effective GID, and the group access list. The original credentials can be restored using .Xr openpam_restore_cred 3 . .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr openpam_restore_cred 3 , .Xr pam 3 , .Xr pam_strerror 3 , .Xr setegid 3 , .Xr seteuid 3 , .Xr setgroups 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/openpam_free_data.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_free_data.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_free_data.3 (revision 95909) @@ -1,72 +1,73 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_free_data.3#2 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_free_data.3#4 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_FREE_DATA 3 .Os .Sh NAME .Nm openpam_free_data .Nd generic cleanup function .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft void .Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" .Sh DESCRIPTION The .Nm is a cleanup function suitable for passing to .Xr pam_set_data 3 . It simply releases the data by passing its .Va data argument to .Xr free 3 . .Sh SEE ALSO .Xr free 3 , .Xr pam 3 , .Xr pam_set_data 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/openpam_get_option.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_get_option.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_get_option.3 (revision 95909) @@ -1,74 +1,75 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_get_option.3#6 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_get_option.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_GET_OPTION 3 .Os .Sh NAME .Nm openpam_get_option .Nd returns the value of a module option .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft const char * .Fn openpam_get_option "pam_handle_t *pamh" "const char *option" .Sh DESCRIPTION The .Nm function returns the value of the specified option in the context of the currently executing service module, or .Dv NULL if the option is not set or no module is currently executing. .Sh RETURN VALUES The .Nm function returns .Dv NULL on failure. .Sh SEE ALSO .Xr pam 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/openpam_log.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_log.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_log.3 (revision 95909) @@ -1,63 +1,64 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_log.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_log.3#9 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_LOG 3 .Os .Sh NAME .Nm openpam_log .Nd it). Do the next best thing .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft void .Fn openpam_log "int level" "const char *fmt" "..." .Sh DESCRIPTION No description available. .Sh SEE ALSO .Xr pam 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/openpam_restore_cred.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_restore_cred.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_restore_cred.3 (revision 95909) @@ -1,82 +1,83 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_restore_cred.3#2 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_restore_cred.3#4 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_RESTORE_CRED 3 .Os .Sh NAME .Nm openpam_restore_cred .Nd restore credentials .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft int .Fn openpam_restore_cred "pam_handle_t *pamh" .Sh DESCRIPTION The .Nm function restores the credentials saved by .Xr openpam_borrow_cred 3 . .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_NO_MODULE_DATA Module data not found. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr openpam_borrow_cred 3 , .Xr pam 3 , .Xr pam_strerror 3 , .Xr setegid 3 , .Xr seteuid 3 , .Xr setgroups 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/openpam_set_option.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_set_option.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_set_option.3 (revision 95909) @@ -1,77 +1,78 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_set_option.3#6 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_set_option.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_SET_OPTION 3 .Os .Sh NAME .Nm openpam_set_option .Nd sets the value of a module option .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft int .Fn openpam_set_option "pam_handle_t *pamh" "const char *option" "const char *value" .Sh DESCRIPTION The .Nm function sets the specified option in the context of the currently executing service module. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_strerror 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/openpam_ttyconv.3 =================================================================== --- head/contrib/openpam/doc/man/openpam_ttyconv.3 (revision 95908) +++ head/contrib/openpam/doc/man/openpam_ttyconv.3 (revision 95909) @@ -1,76 +1,77 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_ttyconv.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_ttyconv.3#9 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt OPENPAM_TTYCONV 3 .Os .Sh NAME .Nm openpam_ttyconv .Nd simple tty-based conversation function .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h +.In security/openpam.h .Ft int .Fn openpam_ttyconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" .Sh DESCRIPTION No description available. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_strerror 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam.3 =================================================================== --- head/contrib/openpam/doc/man/pam.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam.3 (revision 95909) @@ -1,237 +1,237 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam.3#13 $ +.\" $P4: //depot/projects/openpam/doc/man/pam.3#14 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM 3 .Os .Sh NAME .Nm openpam_borrow_cred , .Nm openpam_free_data , .Nm openpam_restore_cred , .Nm pam_acct_mgmt , .Nm pam_authenticate , .Nm pam_chauthtok , .Nm pam_close_session , .Nm pam_end , .Nm pam_error , .Nm pam_get_authtok , .Nm pam_get_data , .Nm pam_get_item , .Nm pam_get_user , .Nm pam_getenv , .Nm pam_getenvlist , .Nm pam_info , .Nm pam_open_session , .Nm pam_prompt , .Nm pam_putenv , .Nm pam_set_data , .Nm pam_set_item , .Nm pam_setcred , .Nm pam_setenv , .Nm pam_start , .Nm pam_strerror , .Nm pam_verror , .Nm pam_vinfo , .Nm pam_vprompt .Nd Pluggable Authentication Modules Library .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" .Ft void .Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" .Ft int .Fn openpam_restore_cred "pam_handle_t *pamh" .Ft int .Fn pam_acct_mgmt "pam_handle_t *pamh" "int flags" .Ft int .Fn pam_authenticate "pam_handle_t *pamh" "int flags" .Ft int .Fn pam_chauthtok "pam_handle_t *pamh" "int flags" .Ft int .Fn pam_close_session "pam_handle_t *pamh" "int flags" .Ft int .Fn pam_end "pam_handle_t *pamh" "int status" .Ft int .Fn pam_error "pam_handle_t *pamh" "const char *fmt" "..." .Ft int .Fn pam_get_authtok "pam_handle_t *pamh" "int item" "const char **authtok" "const char *prompt" .Ft int .Fn pam_get_data "pam_handle_t *pamh" "const char *module_data_name" "const void **data" .Ft int .Fn pam_get_item "pam_handle_t *pamh" "int item_type" "const void **item" .Ft int .Fn pam_get_user "pam_handle_t *pamh" "const char **user" "const char *prompt" .Ft char * .Fn pam_getenv "pam_handle_t *pamh" "const char *name" .Ft char ** .Fn pam_getenvlist "pam_handle_t *pamh" .Ft int .Fn pam_info "pam_handle_t *pamh" "const char *fmt" "..." .Ft int .Fn pam_open_session "pam_handle_t *pamh" "int flags" .Ft int .Fn pam_prompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "..." .Ft int .Fn pam_putenv "pam_handle_t *pamh" "const char *namevalue" .Ft int .Fn pam_set_data "pam_handle_t *pamh" "const char *module_data_name" "void *data" "void (*cleanup)(pam_handle_t *pamh, void *data, int pam_end_status)" .Ft int .Fn pam_set_item "pam_handle_t *pamh" "int item_type" "const void *item" .Ft int .Fn pam_setcred "pam_handle_t *pamh" "int flags" .Ft int .Fn pam_setenv "pam_handle_t *pamh" "const char *name" "const char *value" "int overwrite" .Ft int .Fn pam_start "const char *service" "const char *user" "const struct pam_conv *pam_conv" "pam_handle_t **pamh" .Ft const char * .Fn pam_strerror "pam_handle_t *pamh" "int error_number" .Ft int .Fn pam_verror "pam_handle_t *pamh" "const char *fmt" "va_list ap" .Ft int .Fn pam_vinfo "pam_handle_t *pamh" "const char *fmt" "va_list ap" .Ft int .Fn pam_vprompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap" .Sh DESCRIPTION .Sh RETURN VALUES The following return codes are defined in the .In security/pam_constants.h header: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_ACCT_EXPIRED User accound has expired. .It Bq Er PAM_AUTHINFO_UNAVAIL Authentication information is unavailable. .It Bq Er PAM_AUTHTOK_DISABLE_AGING Authentication token aging disabled. .It Bq Er PAM_AUTHTOK_ERR Authentication token failure. .It Bq Er PAM_AUTHTOK_EXPIRED Password has expired. .It Bq Er PAM_AUTHTOK_LOCK_BUSY Authentication token lock busy. .It Bq Er PAM_AUTHTOK_RECOVERY_ERR Failed to recover old authentication token. .It Bq Er PAM_AUTH_ERR Authentication error. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_CRED_ERR Failed to set user credentials. .It Bq Er PAM_CRED_EXPIRED User credentials have expired. .It Bq Er PAM_CRED_INSUFFICIENT Insufficient credentials. .It Bq Er PAM_CRED_UNAVAIL Failed to retrieve user credentials. .It Bq Er PAM_DOMAIN_UNKNOWN Unknown authentication domain. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_MAXTRIES Maximum number of tries exceeded. .It Bq Er PAM_MODULE_UNKNOWN Unknown module type. .It Bq Er PAM_NEW_AUTHTOK_REQD New authentication token required. .It Bq Er PAM_NO_MODULE_DATA Module data not found. .It Bq Er PAM_OPEN_ERR Failed to load module. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. .It Bq Er PAM_SUCCESS Success. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_TRY_AGAIN Try again. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr openpam_borrow_cred 3 , .Xr openpam_free_data 3 , .Xr openpam_restore_cred 3 , .Xr pam_acct_mgmt 3 , .Xr pam_authenticate 3 , .Xr pam_chauthtok 3 , .Xr pam_close_session 3 , .Xr pam_end 3 , .Xr pam_error 3 , .Xr pam_get_authtok 3 , .Xr pam_get_data 3 , .Xr pam_get_item 3 , .Xr pam_get_user 3 , .Xr pam_getenv 3 , .Xr pam_getenvlist 3 , .Xr pam_info 3 , .Xr pam_open_session 3 , .Xr pam_prompt 3 , .Xr pam_putenv 3 , .Xr pam_set_data 3 , .Xr pam_set_item 3 , .Xr pam_setcred 3 , .Xr pam_setenv 3 , .Xr pam_start 3 , .Xr pam_strerror 3 , .Xr pam_verror 3 , .Xr pam_vinfo 3 , .Xr pam_vprompt 3 , .Xr pam.conf 5 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The OpenPAM library and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_acct_mgmt.3 =================================================================== --- head/contrib/openpam/doc/man/pam_acct_mgmt.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_acct_mgmt.3 (revision 95909) @@ -1,110 +1,110 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_acct_mgmt.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_acct_mgmt.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_ACCT_MGMT 3 .Os .Sh NAME .Nm pam_acct_mgmt .Nd perform PAM account validation procedures .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_acct_mgmt "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION The .Nm function verifies and enforces account restrictions after the user has been authenticated. .Pp The .Va flags argument is the binary or of zero or more of the following values: .Bl -tag -width 18n .It Dv PAM_SILENT Do not emit any messages. .It Dv PAM_DISALLOW_NULL_AUTHTOK Fail if the user's authentication token is null. .El If any other bits are set, .Xr pam_authenticate 3 will return .Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_ACCT_EXPIRED User accound has expired. .It Bq Er PAM_AUTH_ERR Authentication error. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_NEW_AUTHTOK_REQD New authentication token required. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_authenticate 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_authenticate.3 =================================================================== --- head/contrib/openpam/doc/man/pam_authenticate.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_authenticate.3 (revision 95909) @@ -1,123 +1,123 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_authenticate.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_authenticate.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_AUTHENTICATE 3 .Os .Sh NAME .Nm pam_authenticate .Nd perform authentication within the PAM framework .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_authenticate "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION The .Nm function attempts to authenticate the user associated with the pam context specified by the .Va pamh argument. .Pp The application is free to call .Nm as many times as it wishes, but some modules may maintain an internal retry counter and return .Dv PAM_MAXTRIES when it exceeds some preset or hardcoded limit. .Pp The .Va flags argument is the binary or of zero or more of the following values: .Bl -tag -width 18n .It Dv PAM_SILENT Do not emit any messages. .It Dv PAM_DISALLOW_NULL_AUTHTOK Fail if the user's authentication token is null. .El If any other bits are set, .Nm will return .Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_AUTHINFO_UNAVAIL Authentication information is unavailable. .It Bq Er PAM_AUTH_ERR Authentication error. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_CRED_INSUFFICIENT Insufficient credentials. .It Bq Er PAM_MAXTRIES Maximum number of tries exceeded. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_chauthtok.3 =================================================================== --- head/contrib/openpam/doc/man/pam_chauthtok.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_chauthtok.3 (revision 95909) @@ -1,115 +1,115 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_chauthtok.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_chauthtok.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_CHAUTHTOK 3 .Os .Sh NAME .Nm pam_chauthtok .Nd perform password related functions within the PAM framework .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_chauthtok "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION The .Nm function attempts to change the authentication token for the user associated with the pam context specified by the .Va pamh argument. .Pp The .Va flags argument is the binary or of zero or more of the following values: .Bl -tag -width 18n .It Dv PAM_SILENT Do not emit any messages. .It Dv PAM_CHANGE_EXPIRED_AUTHTOK Change only those authentication tokens that have expired. .El If any other bits are set, .Nm will return .Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_AUTHTOK_DISABLE_AGING Authentication token aging disabled. .It Bq Er PAM_AUTHTOK_ERR Authentication token failure. .It Bq Er PAM_AUTHTOK_LOCK_BUSY Authentication token lock busy. .It Bq Er PAM_AUTHTOK_RECOVERY_ERR Failed to recover old authentication token. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_TRY_AGAIN Try again. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_close_session.3 =================================================================== --- head/contrib/openpam/doc/man/pam_close_session.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_close_session.3 (revision 95909) @@ -1,105 +1,105 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_close_session.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_close_session.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_CLOSE_SESSION 3 .Os .Sh NAME .Nm pam_close_session .Nd close an existing user session .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_close_session "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION The .Nm function tears down the user session previously set up by .Xr pam_open_session 3 . .Pp The .Va flags argument is the binary or of zero or more of the following values: .Bl -tag -width 18n .It Dv PAM_SILENT Do not emit any messages. .El If any other bits are set, .Nm will return .Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_open_session 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_end.3 =================================================================== --- head/contrib/openpam/doc/man/pam_end.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_end.3 (revision 95909) @@ -1,83 +1,83 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_end.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_end.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_END 3 .Os .Sh NAME .Nm pam_end .Nd terminate the PAM transaction .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_end "pam_handle_t *pamh" "int status" .Sh DESCRIPTION The .Nm function terminates a PAM transaction and destroys the corresponding PAM context, releasing all resources allocated to it. .Pp The .Va status argument should be set to the error code returned by the last API call before the call to .Nm . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_error.3 =================================================================== --- head/contrib/openpam/doc/man/pam_error.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_error.3 (revision 95909) @@ -1,83 +1,83 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_error.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_error.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_ERROR 3 .Os .Sh NAME .Nm pam_error .Nd display an error message .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_error "pam_handle_t *pamh" "const char *fmt" "..." .Sh DESCRIPTION The .Xr pam_info 3 function displays an error message through the intermediary of the given PAM context's conversation function. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_info 3 , .Xr pam_prompt 3 , .Xr pam_strerror 3 , .Xr pam_verror 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_get_authtok.3 =================================================================== --- head/contrib/openpam/doc/man/pam_get_authtok.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_get_authtok.3 (revision 95909) @@ -1,128 +1,128 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_get_authtok.3#13 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_authtok.3#14 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_GET_AUTHTOK 3 .Os .Sh NAME .Nm pam_get_authtok .Nd retrieve authentication token .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_get_authtok "pam_handle_t *pamh" "int item" "const char **authtok" "const char *prompt" .Sh DESCRIPTION The .Nm function returns the cached authentication token, or prompts the user if no token is currently cached. Either way, a pointer to the authentication token is stored in the location pointed to by the .Va authtok argument. .Pp The .Va item argument must have one of the following values: .Bl -tag -width 18n .It Dv PAM_AUTHTOK Returns the current authentication token, or the new token when changing authentication tokens. .It Dv PAM_OLDAUTHTOK Returns the previous authentication token when changing authentication tokens. .El The .Va prompt argument specifies a prompt to use if no token is cached. If it is .Dv NULL , the .Dv PAM_AUTHTOK_PROMPT or .Dv PAM_OLDAUTHTOK_PROMPT item, as appropriate, will be used. If that item is also .Dv NULL , a hardcoded default prompt will be used. .Pp If .Va item is set to .Dv PAM_AUTHTOK and there is a non-null .Dv PAM_OLDAUTHTOK item, .Nm will ask the user to confirm the new token by retyping it. If there is a mismatch, .Nm will return .Dv PAM_TRY_AGAIN . .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_TRY_AGAIN Try again. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_get_item 3 , .Xr pam_get_user 3 , .Xr pam_strerror 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_get_data.3 =================================================================== --- head/contrib/openpam/doc/man/pam_get_data.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_get_data.3 (revision 95909) @@ -1,92 +1,92 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_get_data.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_data.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_GET_DATA 3 .Os .Sh NAME .Nm pam_get_data .Nd get module information .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_get_data "pam_handle_t *pamh" "const char *module_data_name" "const void **data" .Sh DESCRIPTION The .Nm function looks up the opaque object associated with the string specified by the .Va module_data_name argument, in the PAM context specified by the .Va pamh argument. A pointer to the object is stored in the location pointed to by the .Va data argument. .Pp This function and its counterpart .Xr pam_set_data 3 are useful for managing data that are meaningful only to a particular service module. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_NO_MODULE_DATA Module data not found. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_set_data 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_get_item.3 =================================================================== --- head/contrib/openpam/doc/man/pam_get_item.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_get_item.3 (revision 95909) @@ -1,124 +1,124 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_get_item.3#12 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_item.3#13 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_GET_ITEM 3 .Os .Sh NAME .Nm pam_get_item .Nd get PAM information .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_get_item "pam_handle_t *pamh" "int item_type" "const void **item" .Sh DESCRIPTION The .Nm function stores a pointer to the item specified by the .Va item_type argument in the location specified by the .Va item argument. The item is retrieved from the PAM context specified by the .Va pamh argument. The following item types are recognized: .Bl -tag -width 18n .It Dv PAM_SERVICE The name of the requesting service. .It Dv PAM_USER The name of the user the application is trying to authenticate. .It Dv PAM_TTY The name of the current terminal. .It Dv PAM_RHOST The name of the applicant's host. .It Dv PAM_CONV A .Vt struct pam_conv describing the current conversation function. .It Dv PAM_AUTHTOK The current authentication token. .It Dv PAM_OLDAUTHTOK The expired authentication token. .It Dv PAM_RUSER The name of the applicant. .It Dv PAM_USER_PROMPT The prompt to use when asking the applicant for a user name to authenticate as. .It Dv PAM_AUTHTOK_PROMPT The prompt to use when asking the applicant for an authentication token. .It Dv PAM_OLDAUTHTOK_PROMPT The prompt to use when asking the applicant for an expired authentication token prior to changing it. .El See .Xr pam_start 3 for a description of .Vt struct pam_conv . .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_set_item 3 , .Xr pam_start 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_get_user.3 =================================================================== --- head/contrib/openpam/doc/man/pam_get_user.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_get_user.3 (revision 95909) @@ -1,105 +1,105 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_get_user.3#12 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_user.3#13 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_GET_USER 3 .Os .Sh NAME .Nm pam_get_user .Nd retrieve user name .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_get_user "pam_handle_t *pamh" "const char **user" "const char *prompt" .Sh DESCRIPTION The .Nm function returns the name of the target user, as specified to .Xr pam_start 3 . If no user was specified, nor set using .Xr pam_set_item 3 , .Nm will prompt for a user name. Either way, a pointer to the user name is stored in the location pointed to by the .Va user argument. .Pp The .Va prompt argument specifies a prompt to use if no user name is cached. If it is .Dv NULL , the .Dv PAM_USER_PROMPT will be used. If that item is also .Dv NULL , a hardcoded default prompt will be used. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_get_authtok 3 , .Xr pam_get_item 3 , .Xr pam_set_item 3 , .Xr pam_start 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_getenv.3 =================================================================== --- head/contrib/openpam/doc/man/pam_getenv.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_getenv.3 (revision 95909) @@ -1,81 +1,81 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_getenv.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_getenv.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_GETENV 3 .Os .Sh NAME .Nm pam_getenv .Nd retrieve the value of a PAM environment variable .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft char * .Fn pam_getenv "pam_handle_t *pamh" "const char *name" .Sh DESCRIPTION The .Nm function returns the value of an environment variable. Its semantics are similar to those of .Xr getenv 3 , but it accesses the PAM context's environment list instead of the application's. .Pp .Sh RETURN VALUES The .Nm function returns .Dv NULL on failure. .Sh SEE ALSO .Xr getenv 3 , .Xr pam 3 , .Xr pam_getenvlist 3 , .Xr pam_putenv 3 , .Xr pam_setenv 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_getenvlist.3 =================================================================== --- head/contrib/openpam/doc/man/pam_getenvlist.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_getenvlist.3 (revision 95909) @@ -1,102 +1,102 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_getenvlist.3#12 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_getenvlist.3#13 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_GETENVLIST 3 .Os .Sh NAME .Nm pam_getenvlist .Nd returns a list of all the PAM environment variables .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft char ** .Fn pam_getenvlist "pam_handle_t *pamh" .Sh DESCRIPTION The .Nm function returns a copy of the given PAM context's environment list as a pointer to an array of strings. The last element in the array is .Dv NULL . The pointer is suitable for assignment to .Va environ . .Pp The array and the strings it lists are allocated using .Xr malloc 3 , and should be released using .Xr free 3 after use: .Pp .Bd -literal char **envlist, **env; envlist = environ; environ = pam_getenvlist(pamh); /* do something nifty */ for (env = environ; *env != NULL; env++) free(*env); free(environ); environ = envlist; .Ed .Sh RETURN VALUES The .Nm function returns .Dv NULL on failure. .Sh SEE ALSO .Xr environ 7 , .Xr free 3 , .Xr malloc 3 , .Xr pam 3 , .Xr pam_getenv 3 , .Xr pam_putenv 3 , .Xr pam_setenv 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_info.3 =================================================================== --- head/contrib/openpam/doc/man/pam_info.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_info.3 (revision 95909) @@ -1,83 +1,83 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_info.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_info.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_INFO 3 .Os .Sh NAME .Nm pam_info .Nd display an information message .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_info "pam_handle_t *pamh" "const char *fmt" "..." .Sh DESCRIPTION The .Nm function displays an informational message through the intermediary of the given PAM context's conversation function. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_error 3 , .Xr pam_prompt 3 , .Xr pam_strerror 3 , .Xr pam_vinfo 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_open_session.3 =================================================================== --- head/contrib/openpam/doc/man/pam_open_session.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_open_session.3 (revision 95909) @@ -1,105 +1,105 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_open_session.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_open_session.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_OPEN_SESSION 3 .Os .Sh NAME .Nm pam_open_session .Nd open a user session .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_open_session "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION The .Nm sets up a user session for a previously authenticated user. The session should later be torn down by a call to .Xr pam_close_session 3 . .Pp The .Va flags argument is the binary or of zero or more of the following values: .Bl -tag -width 18n .It Dv PAM_SILENT Do not emit any messages. .El If any other bits are set, .Nm will return .Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_close_session 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_prompt.3 =================================================================== --- head/contrib/openpam/doc/man/pam_prompt.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_prompt.3 (revision 95909) @@ -1,95 +1,95 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_prompt.3#12 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_prompt.3#13 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_PROMPT 3 .Os .Sh NAME .Nm pam_prompt .Nd call the conversation function .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_prompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "..." .Sh DESCRIPTION The .Nm function constructs a message from the specified format string and arguments and passes it to the given PAM context's conversation function. .Pp A pointer to the response, or .Dv NULL if the conversation function did not return one, is stored in the location pointed to by the .Va resp argument. .Pp See .Xr pam_vprompt 3 for further details. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_error 3 , .Xr pam_info 3 , .Xr pam_strerror 3 , .Xr pam_vprompt 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_putenv.3 =================================================================== --- head/contrib/openpam/doc/man/pam_putenv.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_putenv.3 (revision 95909) @@ -1,86 +1,86 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_putenv.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_putenv.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_PUTENV 3 .Os .Sh NAME .Nm pam_putenv .Nd set the value of an environment variable .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_putenv "pam_handle_t *pamh" "const char *namevalue" .Sh DESCRIPTION The .Nm function sets a environment variable. Its semantics are similar to those of .Xr putenv 3 , but it modifies the PAM context's environment list instead of the application's. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_getenv 3 , .Xr pam_getenvlist 3 , .Xr pam_setenv 3 , .Xr pam_strerror 3 , .Xr putenv 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_set_data.3 =================================================================== --- head/contrib/openpam/doc/man/pam_set_data.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_set_data.3 (revision 95909) @@ -1,97 +1,97 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_set_data.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_set_data.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SET_DATA 3 .Os .Sh NAME .Nm pam_set_data .Nd set module information .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_set_data "pam_handle_t *pamh" "const char *module_data_name" "void *data" "void (*cleanup)(pam_handle_t *pamh, void *data, int pam_end_status)" .Sh DESCRIPTION The .Nm function associates a pointer to an opaque object with an arbitrary string specified by the .Va module_data_name argument, in the PAM context specified by the .Va pamh argument. .Pp If not .Dv NULL , the .Xr cleanup 3 argument should point to a function responsible for releasing the resources associated with the object. .Pp This function and its counterpart .Xr pam_get_data 3 are useful for managing data that are meaningful only to a particular service module. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr cleanup 3 , .Xr pam 3 , .Xr pam_get_data 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_set_item.3 =================================================================== --- head/contrib/openpam/doc/man/pam_set_item.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_set_item.3 (revision 95909) @@ -1,90 +1,90 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_set_item.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_set_item.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SET_ITEM 3 .Os .Sh NAME .Nm pam_set_item .Nd set authentication information .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_set_item "pam_handle_t *pamh" "int item_type" "const void *item" .Sh DESCRIPTION The .Nm function sets the item specified by the .Va item_type argument to a copy of the object pointed to by the .Va item argument. The item is stored in the PAM context specified by the .Va pamh argument. See .Xr pam_get_item 3 for a list of recognized item types. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_get_item 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_setcred.3 =================================================================== --- head/contrib/openpam/doc/man/pam_setcred.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_setcred.3 (revision 95909) @@ -1,118 +1,118 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_setcred.3#12 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_setcred.3#13 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SETCRED 3 .Os .Sh NAME .Nm pam_setcred .Nd modify / delete user credentials for an authentication service .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_setcred "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION The .Nm function manages the application's credentials. .Pp The .Va flags argument is the binary or of zero or more of the following values: .Bl -tag -width 18n .It Dv PAM_SILENT Do not emit any messages. .It Dv PAM_ESTABLISH_CRED Establish the credentials of the target user. .It Dv PAM_DELETE_CRED Revoke all established credentials. .It Dv PAM_REINITIALIZE_CRED Fully reinitialise credentials. .It Dv PAM_REFRESH_CRED Refresh credentials. .El The latter four are mutually exclusive. .Pp If any other bits are set, .Nm will return .Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_CRED_ERR Failed to set user credentials. .It Bq Er PAM_CRED_EXPIRED User credentials have expired. .It Bq Er PAM_CRED_UNAVAIL Failed to retrieve user credentials. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYMBOL_ERR Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_setenv.3 =================================================================== --- head/contrib/openpam/doc/man/pam_setenv.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_setenv.3 (revision 95909) @@ -1,85 +1,85 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_setenv.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_setenv.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SETENV 3 .Os .Sh NAME .Nm pam_setenv .Nd mirrors setenv(3) .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_setenv "pam_handle_t *pamh" "const char *name" "const char *value" "int overwrite" .Sh DESCRIPTION The .Nm function sets a environment variable. Its semantics are similar to those of .Xr setenv 3 , but it modifies the PAM context's environment list instead of the application's. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_getenv 3 , .Xr pam_getenvlist 3 , .Xr pam_putenv 3 , .Xr pam_strerror 3 , .Xr setenv 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 =================================================================== --- head/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 (revision 95909) @@ -1,100 +1,100 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_sm_acct_mgmt.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_acct_mgmt.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SM_ACCT_MGMT 3 .Os .Sh NAME .Nm pam_sm_acct_mgmt .Nd service module implementation for pam_acct_mgmt .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .In security/pam_modules.h .Ft int .Fn pam_sm_acct_mgmt "pam_handle_t *pamh" "int flags" "int argc" "const char **argv" .Sh DESCRIPTION The .Nm function is the service module's implementation of the .Xr pam_acct_mgmt 3 API function. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_ACCT_EXPIRED User accound has expired. .It Bq Er PAM_AUTH_ERR Authentication error. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_NEW_AUTHTOK_REQD New authentication token required. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_acct_mgmt 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_sm_authenticate.3 =================================================================== --- head/contrib/openpam/doc/man/pam_sm_authenticate.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_sm_authenticate.3 (revision 95909) @@ -1,102 +1,102 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_sm_authenticate.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_authenticate.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SM_AUTHENTICATE 3 .Os .Sh NAME .Nm pam_sm_authenticate .Nd service module implementation for pam_authenticate .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .In security/pam_modules.h .Ft int .Fn pam_sm_authenticate "pam_handle_t *pamh" "int flags" "int argc" "const char **argv" .Sh DESCRIPTION The .Nm function is the service module's implementation of the .Xr pam_authenticate 3 API function. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_AUTHINFO_UNAVAIL Authentication information is unavailable. .It Bq Er PAM_AUTH_ERR Authentication error. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_CRED_INSUFFICIENT Insufficient credentials. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_MAXTRIES Maximum number of tries exceeded. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_authenticate 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_sm_chauthtok.3 =================================================================== --- head/contrib/openpam/doc/man/pam_sm_chauthtok.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_sm_chauthtok.3 (revision 95909) @@ -1,102 +1,102 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_sm_chauthtok.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_chauthtok.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SM_CHAUTHTOK 3 .Os .Sh NAME .Nm pam_sm_chauthtok .Nd service module implementation for pam_chauthtok .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .In security/pam_modules.h .Ft int .Fn pam_sm_chauthtok "pam_handle_t *pamh" "int flags" "int argc" "const char **argv" .Sh DESCRIPTION The .Nm function is the service module's implementation of the .Xr pam_chauthtok 3 API function. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_AUTHTOK_DISABLE_AGING Authentication token aging disabled. .It Bq Er PAM_AUTHTOK_ERR Authentication token failure. .It Bq Er PAM_AUTHTOK_LOCK_BUSY Authentication token lock busy. .It Bq Er PAM_AUTHTOK_RECOVERY_ERR Failed to recover old authentication token. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_TRY_AGAIN Try again. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_chauthtok 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_sm_close_session.3 =================================================================== --- head/contrib/openpam/doc/man/pam_sm_close_session.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_sm_close_session.3 (revision 95909) @@ -1,94 +1,94 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_sm_close_session.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_close_session.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SM_CLOSE_SESSION 3 .Os .Sh NAME .Nm pam_sm_close_session .Nd service module implementation for pam_close_session .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .In security/pam_modules.h .Ft int .Fn pam_sm_close_session "pam_handle_t *pamh" "int flags" "int args" "const char **argv" .Sh DESCRIPTION The .Nm function is the service module's implementation of the .Xr pam_close_session 3 API function. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_close_session 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_sm_open_session.3 =================================================================== --- head/contrib/openpam/doc/man/pam_sm_open_session.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_sm_open_session.3 (revision 95909) @@ -1,94 +1,94 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_sm_open_session.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_open_session.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SM_OPEN_SESSION 3 .Os .Sh NAME .Nm pam_sm_open_session .Nd service module implementation for pam_open_session .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .In security/pam_modules.h .Ft int .Fn pam_sm_open_session "pam_handle_t *pamh" "int flags" "int argc" "const char **argv" .Sh DESCRIPTION The .Nm function is the service module's implementation of the .Xr pam_open_session 3 API function. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_open_session 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_sm_setcred.3 =================================================================== --- head/contrib/openpam/doc/man/pam_sm_setcred.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_sm_setcred.3 (revision 95909) @@ -1,100 +1,100 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_sm_setcred.3#7 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_setcred.3#8 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_SM_SETCRED 3 .Os .Sh NAME .Nm pam_sm_setcred .Nd service module implementation for pam_setcred .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .In security/pam_modules.h .Ft int .Fn pam_sm_setcred "pam_handle_t *pamh" "int flags" "int argc" "const char **argv" .Sh DESCRIPTION The .Nm function is the service module's implementation of the .Xr pam_setcred 3 API function. .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_ABORT General failure. .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_CRED_ERR Failed to set user credentials. .It Bq Er PAM_CRED_EXPIRED User credentials have expired. .It Bq Er PAM_CRED_UNAVAIL Failed to retrieve user credentials. .It Bq Er PAM_IGNORE Ignore this module. .It Bq Er PAM_PERM_DENIED Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN Unknown user. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_setcred 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_start.3 =================================================================== --- head/contrib/openpam/doc/man/pam_start.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_start.3 (revision 95909) @@ -1,111 +1,111 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_start.3#12 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_start.3#13 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_START 3 .Os .Sh NAME .Nm pam_start .Nd initiate a PAM transaction .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_start "const char *service" "const char *user" "const struct pam_conv *pam_conv" "pam_handle_t **pamh" .Sh DESCRIPTION The .Nm function creates and initializes a PAM context. .Pp The .Va service argument specifies the name of the policy to apply, and is stored in the .Dv PAM_SERVICE item in the created context. .Pp The .Va user argument specifies the name of the target user - the user the created context will serve to authenticate. It is stored in the .Dv PAM_USER item in the created context. .Pp The .Va pam_conv argument points to a .Vt struct pam_conv describing the conversation function to use. This structure is defined as follows: .Pp .Bd -literal struct pam_conv { int (*conv)(int, const struct pam_message **, struct pam_response **, void *); void *appdata_ptr; }; .Ed .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_end 3 , .Xr pam_get_item 3 , .Xr pam_set_item 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_strerror.3 =================================================================== --- head/contrib/openpam/doc/man/pam_strerror.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_strerror.3 (revision 95909) @@ -1,77 +1,77 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_strerror.3#11 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_strerror.3#12 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_STRERROR 3 .Os .Sh NAME .Nm pam_strerror .Nd get PAM standard error message string .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft const char * .Fn pam_strerror "pam_handle_t *pamh" "int error_number" .Sh DESCRIPTION The .Nm function returns a pointer to a string containing a textual description of the error indicated by the .Va error_number argument, in the context of the PAM transaction described by the .Va pamh argument. .Sh RETURN VALUES The .Nm function returns .Dv NULL on failure. .Sh SEE ALSO .Xr pam 3 .Sh STANDARDS .Rs .%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" .%D "June 1997" .Re .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_verror.3 =================================================================== --- head/contrib/openpam/doc/man/pam_verror.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_verror.3 (revision 95909) @@ -1,87 +1,87 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_verror.3#9 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_verror.3#10 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_VERROR 3 .Os .Sh NAME .Nm pam_verror .Nd display an error message .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_verror "pam_handle_t *pamh" "const char *fmt" "va_list ap" .Sh DESCRIPTION The .Nm function passes its arguments to .Xr pam_vprompt 3 with a style argument of .Dv PAM_ERROR_MSG , and discards the response. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_error 3 , .Xr pam_strerror 3 , .Xr pam_vinfo 3 , .Xr pam_vprompt 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_vinfo.3 =================================================================== --- head/contrib/openpam/doc/man/pam_vinfo.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_vinfo.3 (revision 95909) @@ -1,87 +1,87 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_vinfo.3#9 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_vinfo.3#10 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_VINFO 3 .Os .Sh NAME .Nm pam_vinfo .Nd display an information message .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_vinfo "pam_handle_t *pamh" "const char *fmt" "va_list ap" .Sh DESCRIPTION The .Nm function passes its arguments to .Xr pam_vprompt 3 with a style argument of .Dv PAM_TEXT_INFO , and discards the response. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_info 3 , .Xr pam_strerror 3 , .Xr pam_verror 3 , .Xr pam_vprompt 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/doc/man/pam_vprompt.3 =================================================================== --- head/contrib/openpam/doc/man/pam_vprompt.3 (revision 95908) +++ head/contrib/openpam/doc/man/pam_vprompt.3 (revision 95909) @@ -1,123 +1,123 @@ .\"- .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by ThinkSec AS and .\" NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/pam_vprompt.3#9 $ +.\" $P4: //depot/projects/openpam/doc/man/pam_vprompt.3#10 $ .\" -.Dd April 14, 2002 +.Dd May 2, 2002 .Dt PAM_VPROMPT 3 .Os .Sh NAME .Nm pam_vprompt .Nd call the conversation function .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h .Ft int .Fn pam_vprompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap" .Sh DESCRIPTION The .Nm function constructs a string from the .Va fmt and .Va ap arguments using .Xr vsnprintf 3 , and passes it to the given PAM context's conversation function. .Pp The .Va style argument specifies the type of interaction requested, and must be one of the following: .Bl -tag -width 18n .It Dv PAM_PROMPT_ECHO_OFF Display the message and obtain the user's response without displaying it. .It Dv PAM_PROMPT_ECHO_ON Display the message and obtain the user's response. .It Dv PAM_ERROR_MSG Display the message as an error message, and do not wait for a response. .It Dv PAM_TEXT_INFO Display the message as an informational message, and do not wait for a response. .El A pointer to the response, or .Dv NULL if the conversation function did not return one, is stored in the location pointed to by the .Va resp argument. .Pp The message and response should not exceed .Dv PAM_MAX_MSG_SIZE or .Dv PAM_MAX_RESP_SIZE , respectively. If they do, they may be truncated. .Pp .Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n .It Bq Er PAM_BUF_ERR Memory buffer error. .It Bq Er PAM_CONV_ERR Conversation failure. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , .Xr pam_error 3 , .Xr pam_info 3 , .Xr pam_prompt 3 , .Xr pam_strerror 3 , .Xr pam_verror 3 , .Xr pam_vinfo 3 , .Xr vsnprintf 3 .Sh STANDARDS The .Nm function is an OpenPAM extension. .Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. Index: head/contrib/openpam/include/security/openpam.h =================================================================== --- head/contrib/openpam/include/security/openpam.h (revision 95908) +++ head/contrib/openpam/include/security/openpam.h (revision 95909) @@ -1,284 +1,292 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/include/security/openpam.h#18 $ + * $P4: //depot/projects/openpam/include/security/openpam.h#19 $ */ #ifndef _SECURITY_OPENPAM_H_INCLUDED #define _SECURITY_OPENPAM_H_INCLUDED /* * Annoying but necessary header pollution */ #include #ifdef __cplusplus extern "C" { #endif struct passwd; /* * API extensions */ int openpam_borrow_cred(pam_handle_t *_pamh, const struct passwd *_pwd); void openpam_free_data(pam_handle_t *_pamh, void *_data, int _status); const char * openpam_get_option(pam_handle_t *_pamh, const char *_option); int openpam_restore_cred(pam_handle_t *_pamh); int openpam_set_option(pam_handle_t *_pamh, const char *_option, const char *_value); int pam_error(pam_handle_t *_pamh, const char *_fmt, ...); int pam_get_authtok(pam_handle_t *_pamh, int _item, const char **_authtok, const char *_prompt); int pam_info(pam_handle_t *_pamh, const char *_fmt, ...); int pam_prompt(pam_handle_t *_pamh, int _style, char **_resp, const char *_fmt, ...); int pam_setenv(pam_handle_t *_pamh, const char *_name, const char *_value, int _overwrite); int pam_vinfo(pam_handle_t *_pamh, const char *_fmt, va_list _ap); int pam_verror(pam_handle_t *_pamh, const char *_fmt, va_list _ap); int pam_vprompt(pam_handle_t *_pamh, int _style, char **_resp, const char *_fmt, va_list _ap); /* * Log levels */ enum { PAM_LOG_DEBUG, PAM_LOG_VERBOSE, PAM_LOG_NOTICE, PAM_LOG_ERROR }; /* * Log to syslog */ void _openpam_log(int _level, const char *_func, const char *_fmt, ...); #if defined(__STDC__) && (__STDC_VERSION__ >= 199901L) #define openpam_log(lvl, fmt, ...) \ _openpam_log((lvl), __func__, fmt, __VA_ARGS__) #elif defined(__GNUC__) && (__GNUC__ >= 2) && (__GNUC_MINOR__ >= 95) #define openpam_log(lvl, fmt...) \ _openpam_log((lvl), __func__, ##fmt) #elif defined(__GNUC__) && defined(__FUNCTION__) #define openpam_log(lvl, fmt...) \ _openpam_log((lvl), __FUNCTION__, ##fmt) #else void openpam_log(int _level, const char *_format, ...); #endif /* * Generic conversation function */ struct pam_message; struct pam_response; int openpam_ttyconv(int _n, + const struct pam_message **_msg, + struct pam_response **_resp, + void *_data); + +/* + * Null conversation function + */ +int openpam_nullconv(int _n, const struct pam_message **_msg, struct pam_response **_resp, void *_data); /* * PAM primitives */ enum { PAM_SM_AUTHENTICATE, PAM_SM_SETCRED, PAM_SM_ACCT_MGMT, PAM_SM_OPEN_SESSION, PAM_SM_CLOSE_SESSION, PAM_SM_CHAUTHTOK, /* keep this last */ PAM_NUM_PRIMITIVES }; /* * Dummy service module function */ #define PAM_SM_DUMMY(type) \ PAM_EXTERN int \ pam_sm_##type(pam_handle_t *pamh, int flags, \ int argc, const char *argv[]) \ { \ return (PAM_IGNORE); \ } /* * PAM service module functions match this typedef */ struct pam_handle; typedef int (*pam_func_t)(struct pam_handle *, int, int, const char **); /* * A struct that describes a module. */ typedef struct pam_module pam_module_t; struct pam_module { char *path; pam_func_t func[PAM_NUM_PRIMITIVES]; void *dlh; int refcount; pam_module_t *prev; pam_module_t *next; }; /* * Source-code compatibility with Linux-PAM modules */ #if defined(PAM_SM_AUTH) || defined(PAM_SM_ACCOUNT) || \ defined(PAM_SM_SESSION) || defined(PAM_SM_PASSWORD) #define LINUX_PAM_MODULE #endif #if defined(LINUX_PAM_MODULE) && !defined(PAM_SM_AUTH) #define _PAM_SM_AUTHENTICATE 0 #define _PAM_SM_SETCRED 0 #else #undef PAM_SM_AUTH #define PAM_SM_AUTH #define _PAM_SM_AUTHENTICATE pam_sm_authenticate #define _PAM_SM_SETCRED pam_sm_setcred #endif #if defined(LINUX_PAM_MODULE) && !defined(PAM_SM_ACCOUNT) #define _PAM_SM_ACCT_MGMT 0 #else #undef PAM_SM_ACCOUNT #define PAM_SM_ACCOUNT #define _PAM_SM_ACCT_MGMT pam_sm_acct_mgmt #endif #if defined(LINUX_PAM_MODULE) && !defined(PAM_SM_SESSION) #define _PAM_SM_OPEN_SESSION 0 #define _PAM_SM_CLOSE_SESSION 0 #else #undef PAM_SM_SESSION #define PAM_SM_SESSION #define _PAM_SM_OPEN_SESSION pam_sm_open_session #define _PAM_SM_CLOSE_SESSION pam_sm_close_session #endif #if defined(LINUX_PAM_MODULE) && !defined(PAM_SM_PASSWORD) #define _PAM_SM_CHAUTHTOK 0 #else #undef PAM_SM_PASSWORD #define PAM_SM_PASSWORD #define _PAM_SM_CHAUTHTOK pam_sm_chauthtok #endif /* * Infrastructure for static modules using GCC linker sets. * You are not expected to understand this. */ #if defined(__FreeBSD__) #define PAM_SOEXT ".so" #else #ifndef NO_STATIC_MODULES #define NO_STATIC_MODULES #endif #endif #if defined(__GNUC__) && !defined(__PIC__) && !defined(NO_STATIC_MODULES) /* gcc, static linking */ #include #include #define OPENPAM_STATIC_MODULES #define PAM_EXTERN static #define PAM_MODULE_ENTRY(name) \ static char _pam_name[] = name PAM_SOEXT; \ static struct pam_module _pam_module = { _pam_name, { \ _PAM_SM_AUTHENTICATE, _PAM_SM_SETCRED, _PAM_SM_ACCT_MGMT, \ _PAM_SM_OPEN_SESSION, _PAM_SM_CLOSE_SESSION, _PAM_SM_CHAUTHTOK }, \ NULL, 0, NULL, NULL }; \ DATA_SET(_openpam_static_modules, _pam_module) #else /* normal case */ #define PAM_EXTERN #define PAM_MODULE_ENTRY(name) #endif #ifdef __cplusplus } #endif #endif Index: head/contrib/openpam/lib/Makefile =================================================================== --- head/contrib/openpam/lib/Makefile (revision 95908) +++ head/contrib/openpam/lib/Makefile (revision 95909) @@ -1,94 +1,95 @@ #- # Copyright (c) 2002 Networks Associates Technology, Inc. # All rights reserved. # # This software was developed for the FreeBSD Project by ThinkSec AS and # NAI Labs, the Security Research Division of Network Associates, Inc. # under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the # DARPA CHATS research program. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior written # permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $P4: //depot/projects/openpam/lib/Makefile#14 $ +# $P4: //depot/projects/openpam/lib/Makefile#15 $ # LIB = pam SHLIB_MAJOR = 2 SHLIB_MINOR = 0 WARNS ?= 4 NO_WERROR = yes CFLAGS += -I${.CURDIR}/../include CFLAGS += -DLIB_MAJ=${SHLIB_MAJOR} SRCS = SRCS += openpam_borrow_cred.c SRCS += openpam_configure.c SRCS += openpam_dispatch.c SRCS += openpam_dynamic.c SRCS += openpam_findenv.c SRCS += openpam_free_data.c SRCS += openpam_get_option.c SRCS += openpam_load.c SRCS += openpam_log.c +SRCS += openpam_nullconv.c SRCS += openpam_restore_cred.c SRCS += openpam_set_option.c SRCS += openpam_static.c SRCS += openpam_ttyconv.c SRCS += pam_acct_mgmt.c SRCS += pam_authenticate.c SRCS += pam_chauthtok.c SRCS += pam_close_session.c SRCS += pam_end.c SRCS += pam_error.c SRCS += pam_get_authtok.c SRCS += pam_get_data.c SRCS += pam_get_item.c SRCS += pam_get_user.c SRCS += pam_getenv.c SRCS += pam_getenvlist.c SRCS += pam_info.c SRCS += pam_open_session.c SRCS += pam_prompt.c SRCS += pam_putenv.c SRCS += pam_set_data.c SRCS += pam_set_item.c SRCS += pam_setcred.c SRCS += pam_setenv.c SRCS += pam_start.c SRCS += pam_strerror.c SRCS += pam_verror.c SRCS += pam_vinfo.c SRCS += pam_vprompt.c .if 0 SRCS += pam_authenticate_secondary.c SRCS += pam_get_mapped_authtok.c SRCS += pam_get_mapped_username.c SRCS += pam_set_mapped_authtok.c SRCS += pam_set_mapped_username.c .endif .include Index: head/contrib/openpam/lib/openpam_configure.c =================================================================== --- head/contrib/openpam/lib/openpam_configure.c (revision 95908) +++ head/contrib/openpam/lib/openpam_configure.c (revision 95909) @@ -1,264 +1,296 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_configure.c#1 $ + * $P4: //depot/projects/openpam/lib/openpam_configure.c#2 $ */ #include #include #include #include #include #include #include "openpam_impl.h" #define PAM_CONF_STYLE 0 #define PAM_D_STYLE 1 #define MAX_LINE_LEN 1024 #define MAX_OPTIONS 256 static int -openpam_read_policy_file(pam_handle_t *pamh, +openpam_read_policy_file(pam_chain_t *policy[], const char *service, const char *filename, int style) { char buf[MAX_LINE_LEN], *p, *q; const char *optv[MAX_OPTIONS + 1]; int ch, chain, flag, line, optc, n, r; size_t len; FILE *f; n = 0; if ((f = fopen(filename, "r")) == NULL) { openpam_log(errno == ENOENT ? PAM_LOG_DEBUG : PAM_LOG_NOTICE, "%s: %m", filename); return (0); } openpam_log(PAM_LOG_DEBUG, "looking for '%s' in %s", service, filename); for (line = 1; fgets(buf, MAX_LINE_LEN, f) != NULL; ++line) { if ((len = strlen(buf)) == 0) continue; /* check for overflow */ if (buf[--len] != '\n' && !feof(f)) { openpam_log(PAM_LOG_ERROR, "%s: line %d too long", filename, line); openpam_log(PAM_LOG_ERROR, "%s: ignoring line %d", filename, line); while ((ch = fgetc(f)) != EOF) if (ch == '\n') break; continue; } /* strip comments and trailing whitespace */ if ((p = strchr(buf, '#')) != NULL) len = p - buf ? p - buf - 1 : p - buf; while (len > 0 && isspace(buf[len - 1])) --len; if (len == 0) continue; buf[len] = '\0'; p = q = buf; /* check service name */ if (style == PAM_CONF_STYLE) { for (q = p = buf; *q != '\0' && !isspace(*q); ++q) /* nothing */; if (*q == '\0') goto syntax_error; *q++ = '\0'; if (strcmp(p, service) != 0) continue; openpam_log(PAM_LOG_DEBUG, "%s: line %d matches '%s'", filename, line, service); } /* get module type */ for (p = q; isspace(*p); ++p) /* nothing */; for (q = p; *q != '\0' && !isspace(*q); ++q) /* nothing */; if (q == p || *q == '\0') goto syntax_error; *q++ = '\0'; if (strcmp(p, "auth") == 0) { chain = PAM_AUTH; } else if (strcmp(p, "account") == 0) { chain = PAM_ACCOUNT; } else if (strcmp(p, "session") == 0) { chain = PAM_SESSION; } else if (strcmp(p, "password") == 0) { chain = PAM_PASSWORD; } else { openpam_log(PAM_LOG_ERROR, "%s: invalid module type on line %d: '%s'", filename, line, p); continue; } /* get control flag */ for (p = q; isspace(*p); ++p) /* nothing */; for (q = p; *q != '\0' && !isspace(*q); ++q) /* nothing */; if (q == p || *q == '\0') goto syntax_error; *q++ = '\0'; if (strcmp(p, "required") == 0) { flag = PAM_REQUIRED; } else if (strcmp(p, "requisite") == 0) { flag = PAM_REQUISITE; } else if (strcmp(p, "sufficient") == 0) { flag = PAM_SUFFICIENT; } else if (strcmp(p, "optional") == 0) { flag = PAM_OPTIONAL; } else { openpam_log(PAM_LOG_ERROR, "%s: invalid control flag on line %d: '%s'", filename, line, p); continue; } /* get module name */ for (p = q; isspace(*p); ++p) /* nothing */; for (q = p; *q != '\0' && !isspace(*q); ++q) /* nothing */; if (q == p) goto syntax_error; /* get options */ for (optc = 0; *q != '\0' && optc < MAX_OPTIONS; ++optc) { *q++ = '\0'; while (isspace(*q)) ++q; optv[optc] = q; while (*q != '\0' && !isspace(*q)) ++q; } optv[optc] = NULL; if (*q != '\0') { *q = '\0'; openpam_log(PAM_LOG_ERROR, "%s: too many options on line %d", filename, line); } /* * Finally, add the module at the end of the * appropriate chain and bump the counter. */ - r = openpam_add_module(pamh, chain, flag, p, optc, optv); + r = openpam_add_module(policy, chain, flag, p, optc, optv); if (r != PAM_SUCCESS) return (-r); ++n; continue; syntax_error: openpam_log(PAM_LOG_ERROR, "%s: syntax error on line %d", filename, line); openpam_log(PAM_LOG_DEBUG, "%s: line %d: [%s]", filename, line, q); openpam_log(PAM_LOG_ERROR, "%s: ignoring line %d", filename, line); } if (ferror(f)) openpam_log(PAM_LOG_ERROR, "%s: %m", filename); fclose(f); return (n); } static const char *openpam_policy_path[] = { "/etc/pam.d/", "/etc/pam.conf", "/usr/local/etc/pam.d/", NULL }; -/* - * OpenPAM internal - * - * Configure a service - */ - -int -openpam_configure(pam_handle_t *pamh, +static int +openpam_load_policy(pam_chain_t *policy[], const char *service) { const char **path; char *filename; size_t len; int r; for (path = openpam_policy_path; *path != NULL; ++path) { len = strlen(*path); if ((*path)[len - 1] == '/') { filename = malloc(len + strlen(service) + 1); if (filename == NULL) { openpam_log(PAM_LOG_ERROR, "malloc(): %m"); - return (PAM_BUF_ERR); + return (-PAM_BUF_ERR); } strcpy(filename, *path); strcat(filename, service); - r = openpam_read_policy_file(pamh, + r = openpam_read_policy_file(policy, service, filename, PAM_D_STYLE); free(filename); } else { - r = openpam_read_policy_file(pamh, + r = openpam_read_policy_file(policy, service, *path, PAM_CONF_STYLE); } - if (r < 0) - return (-r); - if (r > 0) - return (PAM_SUCCESS); + if (r != 0) + return (r); } - return (PAM_SYSTEM_ERR); + return (0); +} + +/* + * OpenPAM internal + * + * Configure a service + */ + +int +openpam_configure(pam_handle_t *pamh, + const char *service) +{ + pam_chain_t *other[PAM_NUM_CHAINS]; + int i, n, r; + + /* try own configuration first */ + r = openpam_load_policy(pamh->chains, service); + if (r < 0) + return (-r); + for (i = n = 0; i < PAM_NUM_CHAINS; ++i) { + if (pamh->chains[i] != NULL) + ++n; + } + if (n == PAM_NUM_CHAINS) + return (PAM_SUCCESS); + + /* fill in the blanks with "other" */ + openpam_load_policy(other, PAM_OTHER); + if (r < 0) + return (-r); + for (i = n = 0; i < PAM_NUM_CHAINS; ++i) { + if (pamh->chains[i] == NULL) { + pamh->chains[i] = other[i]; + other[i] = NULL; + } + if (pamh->chains[i] != NULL) + ++n; + } + openpam_clear_chains(other); + return (n > 0 ? PAM_SUCCESS : PAM_SYSTEM_ERR); } /* * NODOC * * Error codes: * PAM_SYSTEM_ERR * PAM_BUF_ERR */ Index: head/contrib/openpam/lib/openpam_dynamic.c =================================================================== --- head/contrib/openpam/lib/openpam_dynamic.c (revision 95908) +++ head/contrib/openpam/lib/openpam_dynamic.c (revision 95909) @@ -1,95 +1,95 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_dynamic.c#4 $ + * $P4: //depot/projects/openpam/lib/openpam_dynamic.c#5 $ */ #include #include #include #include #include #include "openpam_impl.h" /* * OpenPAM internal * * Locate a dynamically linked module */ pam_module_t * openpam_dynamic(const char *path) { pam_module_t *module; char *vpath; void *dlh; int i; if ((module = calloc(1, sizeof *module)) == NULL) goto buf_err; /* try versioned module first, then unversioned module */ if (asprintf(&vpath, "%s.%d", path, LIB_MAJ) == -1) goto buf_err; if ((dlh = dlopen(vpath, RTLD_NOW)) == NULL) { openpam_log(PAM_LOG_DEBUG, "%s: %s", vpath, dlerror()); *strrchr(vpath, '.') = '\0'; if ((dlh = dlopen(vpath, RTLD_NOW)) == NULL) { openpam_log(PAM_LOG_DEBUG, "%s: %s", vpath, dlerror()); free(module); return (NULL); } } free(vpath); if ((module->path = strdup(path)) == NULL) goto buf_err; module->dlh = dlh; for (i = 0; i < PAM_NUM_PRIMITIVES; ++i) { module->func[i] = dlsym(dlh, _pam_sm_func_name[i]); if (module->func[i] == NULL) openpam_log(PAM_LOG_DEBUG, "%s: %s(): %s", - vpath, _pam_sm_func_name[i], dlerror()); + path, _pam_sm_func_name[i], dlerror()); } return (module); buf_err: openpam_log(PAM_LOG_ERROR, "%m"); dlclose(dlh); free(module); return (NULL); } /* * NOPARSE */ Index: head/contrib/openpam/lib/openpam_impl.h =================================================================== --- head/contrib/openpam/lib/openpam_impl.h (revision 95908) +++ head/contrib/openpam/lib/openpam_impl.h (revision 95909) @@ -1,120 +1,120 @@ /*- * Copyright (c) 2001 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_impl.h#13 $ + * $P4: //depot/projects/openpam/lib/openpam_impl.h#14 $ */ #ifndef _OPENPAM_IMPL_H_INCLUDED #define _OPENPAM_IMPL_H_INCLUDED #include extern const char *_pam_sm_func_name[PAM_NUM_PRIMITIVES]; /* * Control flags */ #define PAM_REQUIRED 1 #define PAM_REQUISITE 2 #define PAM_SUFFICIENT 3 #define PAM_OPTIONAL 4 #define PAM_NUM_CONTROLFLAGS 5 /* * Chains */ #define PAM_AUTH 0 #define PAM_ACCOUNT 1 #define PAM_SESSION 2 #define PAM_PASSWORD 3 #define PAM_NUM_CHAINS 4 typedef struct pam_chain pam_chain_t; struct pam_chain { pam_module_t *module; int flag; int optc; char **optv; pam_chain_t *next; }; typedef struct pam_data pam_data_t; struct pam_data { char *name; void *data; void (*cleanup)(pam_handle_t *, void *, int); pam_data_t *next; }; struct pam_handle { char *service; /* chains */ pam_chain_t *chains[PAM_NUM_CHAINS]; pam_chain_t *current; /* items and data */ void *item[PAM_NUM_ITEMS]; pam_data_t *module_data; /* environment list */ char **env; int env_count; int env_size; }; #ifdef NGROUPS_MAX #define PAM_SAVED_CRED "pam_saved_cred" struct pam_saved_cred { uid_t euid; gid_t egid; gid_t groups[NGROUPS_MAX]; int ngroups; }; #endif #define PAM_OTHER "other" int openpam_configure(pam_handle_t *, const char *); int openpam_dispatch(pam_handle_t *, int, int); int openpam_findenv(pam_handle_t *, const char *, size_t); -int openpam_add_module(pam_handle_t *, int, int, +int openpam_add_module(pam_chain_t **, int, int, const char *, int, const char **); -void openpam_clear_chains(pam_handle_t *); +void openpam_clear_chains(pam_chain_t **); #ifdef OPENPAM_STATIC_MODULES pam_module_t *openpam_static(const char *); #endif pam_module_t *openpam_dynamic(const char *); #endif Index: head/contrib/openpam/lib/openpam_load.c =================================================================== --- head/contrib/openpam/lib/openpam_load.c (revision 95908) +++ head/contrib/openpam/lib/openpam_load.c (revision 95909) @@ -1,212 +1,212 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_load.c#12 $ + * $P4: //depot/projects/openpam/lib/openpam_load.c#13 $ */ #include #include #include #include #include "openpam_impl.h" const char *_pam_sm_func_name[PAM_NUM_PRIMITIVES] = { "pam_sm_authenticate", "pam_sm_setcred", "pam_sm_acct_mgmt", "pam_sm_open_session", "pam_sm_close_session", "pam_sm_chauthtok" }; static pam_module_t *modules; /* * Locate a matching dynamic or static module. Keep a list of previously * found modules to speed up the process. */ static pam_module_t * openpam_load_module(const char *path) { pam_module_t *module; /* check cache first */ for (module = modules; module != NULL; module = module->next) if (strcmp(module->path, path) == 0) goto found; /* nope; try to load */ module = openpam_dynamic(path); openpam_log(PAM_LOG_DEBUG, "%s dynamic %s", (module == NULL) ? "no" : "using", path); #ifdef OPENPAM_STATIC_MODULES /* look for a static module */ if (module == NULL && strchr(path, '/') == NULL) { module = openpam_static(path); openpam_log(PAM_LOG_DEBUG, "%s static %s", (module == NULL) ? "no" : "using", path); } #endif if (module == NULL) { openpam_log(PAM_LOG_ERROR, "no %s found", path); return (NULL); } openpam_log(PAM_LOG_DEBUG, "adding %s to cache", module->path); module->next = modules; if (module->next != NULL) module->next->prev = module; module->prev = NULL; modules = module; found: ++module->refcount; return (module); } /* * Release a module. * XXX highly thread-unsafe */ static void openpam_release_module(pam_module_t *module) { if (module == NULL) return; --module->refcount; if (module->refcount > 0) /* still in use */ return; if (module->refcount < 0) { openpam_log(PAM_LOG_ERROR, "module %s has negative refcount", module->path); module->refcount = 0; } if (module->dlh == NULL) /* static module */ return; dlclose(module->dlh); if (module->prev != NULL) module->prev->next = module->next; if (module->next != NULL) module->next->prev = module->prev; if (module == modules) modules = module->next; openpam_log(PAM_LOG_DEBUG, "releasing %s", module->path); free(module->path); free(module); } /* * Destroy a chain, freeing all its links and releasing the modules * they point to. */ static void openpam_destroy_chain(pam_chain_t *chain) { if (chain == NULL) return; openpam_destroy_chain(chain->next); chain->next = NULL; while (chain->optc--) free(chain->optv[chain->optc]); free(chain->optv); openpam_release_module(chain->module); free(chain); } /* * Add a module to a chain. */ int -openpam_add_module(pam_handle_t *pamh, +openpam_add_module(pam_chain_t *policy[], int chain, int flag, const char *modpath, int optc, const char *optv[]) { pam_chain_t *new, *iterator; if ((new = calloc(1, sizeof *new)) == NULL) goto buf_err; if ((new->optv = malloc(sizeof(char *) * (optc + 1))) == NULL) goto buf_err; while (optc--) if ((new->optv[new->optc++] = strdup(*optv++)) == NULL) goto buf_err; new->optv[new->optc] = NULL; new->flag = flag; if ((new->module = openpam_load_module(modpath)) == NULL) { openpam_destroy_chain(new); return (PAM_OPEN_ERR); } - if ((iterator = pamh->chains[chain]) != NULL) { + if ((iterator = policy[chain]) != NULL) { while (iterator->next != NULL) iterator = iterator->next; iterator->next = new; } else { - pamh->chains[chain] = new; + policy[chain] = new; } return (PAM_SUCCESS); buf_err: openpam_log(PAM_LOG_ERROR, "%m"); openpam_destroy_chain(new); return (PAM_BUF_ERR); } /* * Clear the chains and release the modules */ void -openpam_clear_chains(pam_handle_t *pamh) +openpam_clear_chains(pam_chain_t *policy[]) { int i; for (i = 0; i < PAM_NUM_CHAINS; ++i) - openpam_destroy_chain(pamh->chains[i]); + openpam_destroy_chain(policy[i]); } /* * NOPARSE */ Index: head/contrib/openpam/lib/openpam_nullconv.c =================================================================== --- head/contrib/openpam/lib/openpam_nullconv.c (nonexistent) +++ head/contrib/openpam/lib/openpam_nullconv.c (revision 95909) @@ -0,0 +1,68 @@ +/*- + * Copyright (c) 2002 Networks Associates Technology, Inc. + * All rights reserved. + * + * This software was developed for the FreeBSD Project by ThinkSec AS and + * NAI Labs, the Security Research Division of Network Associates, Inc. + * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the + * DARPA CHATS research program. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $P4: //depot/projects/openpam/lib/openpam_nullconv.c#1 $ + */ + +#include + +#include +#include + +/* + * OpenPAM extension + * + * Null conversation function + */ + +int +openpam_nullconv(int n, + const struct pam_message **msg, + struct pam_response **resp, + void *data) +{ + + (void)n; + (void)msg; + (void)resp; + (void)data; + return (PAM_CONV_ERR); +} + +/* + * NOLIST + * + * Error codes: + * + * PAM_CONV_ERR + */ Property changes on: head/contrib/openpam/lib/openpam_nullconv.c ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Index: head/contrib/openpam/lib/pam_end.c =================================================================== --- head/contrib/openpam/lib/pam_end.c (revision 95908) +++ head/contrib/openpam/lib/pam_end.c (revision 95909) @@ -1,98 +1,98 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/pam_end.c#8 $ + * $P4: //depot/projects/openpam/lib/pam_end.c#9 $ */ #include #include #include "openpam_impl.h" /* * XSSO 4.2.1 * XSSO 6 page 42 * * Terminate the PAM transaction */ int pam_end(pam_handle_t *pamh, int status) { pam_data_t *dp; int i; if (pamh == NULL) return (PAM_SYSTEM_ERR); /* clear module data */ while ((dp = pamh->module_data) != NULL) { if (dp->cleanup) (dp->cleanup)(pamh, dp->data, status); pamh->module_data = dp->next; free(dp->name); free(dp); } /* clear environment */ while (pamh->env_count) free(pamh->env[--pamh->env_count]); free(pamh->env); /* clear chains */ - openpam_clear_chains(pamh); + openpam_clear_chains(pamh->chains); /* clear items */ for (i = 0; i < PAM_NUM_ITEMS; ++i) pam_set_item(pamh, i, NULL); free(pamh); return (PAM_SUCCESS); } /* * Error codes: * * PAM_SYSTEM_ERR */ /** * The =pam_end function terminates a PAM transaction and destroys the * corresponding PAM context, releasing all resources allocated to it. * * The =status argument should be set to the error code returned by the * last API call before the call to =pam_end. */ Index: head/contrib/openpam/lib/pam_get_authtok.c =================================================================== --- head/contrib/openpam/lib/pam_get_authtok.c (revision 95908) +++ head/contrib/openpam/lib/pam_get_authtok.c (revision 95909) @@ -1,167 +1,167 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/pam_get_authtok.c#16 $ + * $P4: //depot/projects/openpam/lib/pam_get_authtok.c#17 $ */ #include #include #include #include #include "openpam_impl.h" const char authtok_prompt[] = "Password:"; const char oldauthtok_prompt[] = "Old Password:"; const char newauthtok_prompt[] = "New Password:"; /* * OpenPAM extension * * Retrieve authentication token */ int pam_get_authtok(pam_handle_t *pamh, int item, const char **authtok, const char *prompt) { const void *oldauthtok; const char *default_prompt; char *resp, *resp2; int pitem, r, style, twice; if (pamh == NULL || authtok == NULL) return (PAM_SYSTEM_ERR); *authtok = NULL; twice = 0; switch (item) { case PAM_AUTHTOK: pitem = PAM_AUTHTOK_PROMPT; default_prompt = authtok_prompt; r = pam_get_item(pamh, PAM_OLDAUTHTOK, &oldauthtok); if (r == PAM_SUCCESS && oldauthtok != NULL) { default_prompt = newauthtok_prompt; twice = 1; } break; case PAM_OLDAUTHTOK: pitem = PAM_OLDAUTHTOK_PROMPT; default_prompt = oldauthtok_prompt; twice = 0; break; default: return (PAM_SYMBOL_ERR); } if (openpam_get_option(pamh, "try_first_pass") || openpam_get_option(pamh, "use_first_pass")) { r = pam_get_item(pamh, item, (const void **)authtok); if (r == PAM_SUCCESS && *authtok != NULL) return (PAM_SUCCESS); else if (openpam_get_option(pamh, "use_first_pass")) return (r == PAM_SUCCESS ? PAM_AUTH_ERR : r); } if (prompt == NULL) { r = pam_get_item(pamh, pitem, (const void **)&prompt); if (r != PAM_SUCCESS || prompt == NULL) prompt = default_prompt; } style = openpam_get_option(pamh, "echo_pass") ? PAM_PROMPT_ECHO_ON : PAM_PROMPT_ECHO_OFF; r = pam_prompt(pamh, style, &resp, "%s", prompt); if (r != PAM_SUCCESS) return (r); if (twice) { r = pam_prompt(pamh, style, &resp2, "Retype %s", prompt); if (r != PAM_SUCCESS) { free(resp); return (r); } if (strcmp(resp, resp2) != 0) { free(resp); resp = NULL; } free(resp2); } if (resp == NULL) return (PAM_TRY_AGAIN); r = pam_set_item(pamh, item, resp); free(resp); if (r != PAM_SUCCESS) return (r); return (pam_get_item(pamh, item, (const void **)authtok)); } /* * Error codes: * * =pam_get_item * =pam_prompt * =pam_set_item * !PAM_SYMBOL_ERR * PAM_TRY_AGAIN */ /** * The =pam_get_authtok function returns the cached authentication token, * or prompts the user if no token is currently cached. Either way, a * pointer to the authentication token is stored in the location pointed * to by the =authtok argument. * * The =item argument must have one of the following values: * - * =PAM_AUTHTOK + * =PAM_AUTHTOK: * Returns the current authentication token, or the new token * when changing authentication tokens. - * =PAM_OLDAUTHTOK + * =PAM_OLDAUTHTOK: * Returns the previous authentication token when changing * authentication tokens. * * The =prompt argument specifies a prompt to use if no token is cached. * If it is =NULL, the =PAM_AUTHTOK_PROMPT or =PAM_OLDAUTHTOK_PROMPT item, * as appropriate, will be used. If that item is also =NULL, a hardcoded * default prompt will be used. * * If =item is set to =PAM_AUTHTOK and there is a non-null =PAM_OLDAUTHTOK * item, =pam_get_authtok will ask the user to confirm the new token by * retyping it. If there is a mismatch, =pam_get_authtok will return * =PAM_TRY_AGAIN. * * >pam_get_item * >pam_get_user */ Index: head/contrib/openpam/lib/pam_start.c =================================================================== --- head/contrib/openpam/lib/pam_start.c (revision 95908) +++ head/contrib/openpam/lib/pam_start.c (revision 95909) @@ -1,115 +1,113 @@ /*- * Copyright (c) 2002 Networks Associates Technology, Inc. * All rights reserved. * * This software was developed for the FreeBSD Project by ThinkSec AS and * NAI Labs, the Security Research Division of Network Associates, Inc. * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the * DARPA CHATS research program. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/pam_start.c#13 $ + * $P4: //depot/projects/openpam/lib/pam_start.c#14 $ */ #include #include #include "openpam_impl.h" /* * XSSO 4.2.1 * XSSO 6 page 89 * * Initiate a PAM transaction */ int pam_start(const char *service, const char *user, const struct pam_conv *pam_conv, pam_handle_t **pamh) { struct pam_handle *ph; int r; if ((ph = calloc(1, sizeof *ph)) == NULL) return (PAM_BUF_ERR); if ((r = pam_set_item(ph, PAM_SERVICE, service)) != PAM_SUCCESS) goto fail; if ((r = pam_set_item(ph, PAM_USER, user)) != PAM_SUCCESS) goto fail; if ((r = pam_set_item(ph, PAM_CONV, pam_conv)) != PAM_SUCCESS) goto fail; r = openpam_configure(ph, service); - if (r != PAM_SUCCESS && r != PAM_BUF_ERR) - r = openpam_configure(ph, PAM_OTHER); if (r != PAM_SUCCESS) goto fail; *pamh = ph; openpam_log(PAM_LOG_DEBUG, "pam_start(\"%s\") succeeded", service); return (PAM_SUCCESS); fail: pam_end(ph, r); return (r); } /* * Error codes: * * =openpam_configure * =pam_set_item * !PAM_SYMBOL_ERR * PAM_BUF_ERR */ /** * The =pam_start function creates and initializes a PAM context. * * The =service argument specifies the name of the policy to apply, and is * stored in the =PAM_SERVICE item in the created context. * * The =user argument specifies the name of the target user - the user the * created context will serve to authenticate. * It is stored in the =PAM_USER item in the created context. * * The =pam_conv argument points to a =struct pam_conv describing the * conversation function to use. * This structure is defined as follows: * * struct pam_conv { * int (*conv)(int, const struct pam_message **, * struct pam_response **, void *); * void *appdata_ptr; * }; * * >pam_get_item * >pam_set_item * >pam_end */ Index: head/contrib/openpam/misc/gendoc.pl =================================================================== --- head/contrib/openpam/misc/gendoc.pl (revision 95908) +++ head/contrib/openpam/misc/gendoc.pl (revision 95909) @@ -1,444 +1,457 @@ #!/usr/bin/perl -w #- # Copyright (c) 2002 Networks Associates Technology, Inc. # All rights reserved. # # This software was developed for the FreeBSD Project by ThinkSec AS and # NAI Labs, the Security Research Division of Network Associates, Inc. # under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the # DARPA CHATS research program. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior written # permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $P4: //depot/projects/openpam/misc/gendoc.pl#10 $ +# $P4: //depot/projects/openpam/misc/gendoc.pl#13 $ # use strict; use Fcntl; use POSIX qw(strftime); use vars qw($COPYRIGHT $TODAY %FUNCTIONS %PAMERR); %PAMERR = ( PAM_SUCCESS => "Success", PAM_OPEN_ERR => "Failed to load module", PAM_SYMBOL_ERR => "Invalid symbol", PAM_SERVICE_ERR => "Error in service module", PAM_SYSTEM_ERR => "System error", PAM_BUF_ERR => "Memory buffer error", PAM_CONV_ERR => "Conversation failure", PAM_PERM_DENIED => "Permission denied", PAM_MAXTRIES => "Maximum number of tries exceeded", PAM_AUTH_ERR => "Authentication error", PAM_NEW_AUTHTOK_REQD => "New authentication token required", PAM_CRED_INSUFFICIENT => "Insufficient credentials", PAM_AUTHINFO_UNAVAIL => "Authentication information is unavailable", PAM_USER_UNKNOWN => "Unknown user", PAM_CRED_UNAVAIL => "Failed to retrieve user credentials", PAM_CRED_EXPIRED => "User credentials have expired", PAM_CRED_ERR => "Failed to set user credentials", PAM_ACCT_EXPIRED => "User accound has expired", PAM_AUTHTOK_EXPIRED => "Password has expired", PAM_SESSION_ERR => "Session failure", PAM_AUTHTOK_ERR => "Authentication token failure", PAM_AUTHTOK_RECOVERY_ERR => "Failed to recover old authentication token", PAM_AUTHTOK_LOCK_BUSY => "Authentication token lock busy", PAM_AUTHTOK_DISABLE_AGING => "Authentication token aging disabled", PAM_NO_MODULE_DATA => "Module data not found", PAM_IGNORE => "Ignore this module", PAM_ABORT => "General failure", PAM_TRY_AGAIN => "Try again", PAM_MODULE_UNKNOWN => "Unknown module type", PAM_DOMAIN_UNKNOWN => "Unknown authentication domain", ); sub parse_source($) { my $fn = shift; local *FILE; my $source; my $func; my $descr; my $type; my $args; my $argnames; my $man; my $inlist; my $inliteral; my %xref; my @errors; if ($fn !~ m,\.c$,) { warn("$fn: not C source, ignoring\n"); return; } sysopen(FILE, $fn, O_RDONLY) or die("$fn: open(): $!\n"); $source = join('', ); close(FILE); return if ($source =~ m/^ \* NOPARSE\s*$/m); if (!defined($COPYRIGHT) && $source =~ m,^(/\*-\n.*?)\s*\*/,s) { $COPYRIGHT = $1; $COPYRIGHT =~ s,^.\*,.\\\",gm; $COPYRIGHT =~ s,(\$(?:)P4).*?\$,$1\$,; $COPYRIGHT .= "\n.\\\""; } $func = $fn; $func =~ s,^(?:.*/)?([^/]+)\.c$,$1,; if ($source !~ m,\n \* ([\S ]+)\n \*/\n\n([\S ]+)\n$func\((.*?)\)\n\{,s) { warn("$fn: can't find $func\n"); return; } ($descr, $type, $args) = ($1, $2, $3); $descr =~ s,^([A-Z][a-z]),lc($1),e; $descr =~ s,[\.\s]*$,,; while ($args =~ s/^((?:[^\(]|\([^\)]*\))*),\s*/$1\" \"/g) { # nothing } $args =~ s/,\s+/, /gs; $args = "\"$args\""; %xref = ( "pam 3" => 1 ); if ($type eq "int") { foreach (split("\n", $source)) { next unless (m/^ \*\s+(!?PAM_[A-Z_]+|=[a-z_]+)\s*$/); push(@errors, $1); } $xref{"pam_strerror 3"} = 1; } $argnames = $args; $argnames =~ s/\"[^\"]+\*?\b(\w+)\"/\"$1\"/g; $argnames =~ s/([\|\[\]\(\)\.\*\+\?])/\\$1/g; $argnames =~ s/\" \"/|/g; $argnames =~ s/^\"(.*)\"$/($1)/; + $inliteral = $inlist = 0; foreach (split("\n", $source)) { s/\s*$//; if (!defined($man)) { if (m/^\/\*\*$/) { $man = ""; } next; } last if (m/^ \*\/$/); s/^ \* ?//; s/\\(.)/$1/gs; if (m/^$/) { if ($man ne "" && $man !~ m/\.Pp\n$/s) { if ($inliteral) { $man .= "\0\n"; } elsif ($inlist) { $man .= ".El\n"; $inlist = 0; } else { $man .= ".Pp\n"; } } next; } if (m/^>(\w+)(?:\s+(\d))?$/) { ++$xref{$2 ? "$1 $2" : "$1 3"}; next; } if (s/^\s+(=?\w+):\s*/.It $1/) { if ($inliteral) { $man .= ".Ed\n"; $inliteral = 0; } if (!$inlist) { $man =~ s/\.Pp\n$//s; $man .= ".Bl -tag -width 18n\n"; $inlist = 1; } s/^\.It =([A-Z][A-Z_]+)$/.It Dv $1/gs; $man .= "$_\n"; next; } elsif ($inlist && m/^\S/) { $man .= ".El\n"; $inlist = 0; } elsif ($inliteral && m/^\S/) { $man .= ".Ed\n"; - $inlist = 0; + $inliteral = 0; } elsif ($inliteral) { $man .= "$_\n"; next; } elsif ($inlist) { s/^\s+//; } elsif (m/^\s+/) { $man .= ".Bd -literal\n"; $inliteral = 1; $man .= "$_\n"; next; } s/\s*=$func\b\s*/\n.Nm\n/gs; s/\s*=$argnames\b\s*/\n.Va $1\n/gs; s/\s*=(struct \w+(?: \*)?)\b\s*/\n.Vt $1\n/gs; if (s/\s*=([a-z_]+)\b\s*/\n.Xr $1 3\n/gs) { ++$xref{"$1 3"}; } s/\s*\"(?=\w)/\n.Do\n/gs; s/\"(?!\w)\s*/\n.Dc\n/gs; s/\s*=([A-Z][A-Z_]+)\b\s*(?![\.,:;])/\n.Dv $1\n/gs; s/\s*=([A-Z][A-Z_]+)\b([\.,:;]+)\s*/\n.Dv $1 $2\n/gs; s/\s*{([A-Z][a-z] .*?)}\s*/\n.$1\n/gs; $man .= "$_\n"; } if (defined($man)) { + if ($inlist) { + $man .= ".El\n"; + } + if ($inliteral) { + $man .= ".Ed\n"; + } $man =~ s/(\n\.[A-Z][a-z] [\w ]+)\n([\.,:;-]\S*)\s*/$1 $2\n/gs; $man =~ s/\s*$/\n/gm; $man =~ s/\n+/\n/gs; $man =~ s/\0//gs; + $man =~ s/\n\n\./\n\./gs; chomp($man); } else { $man = "No description available."; } $FUNCTIONS{$func} = { 'name' => $func, 'descr' => $descr, 'type' => $type, 'args' => $args, 'man' => $man, 'xref' => \%xref, 'errors' => \@errors, }; if ($source =~ m/^ \* NODOC\s*$/m) { $FUNCTIONS{$func}->{'nodoc'} = 1; $FUNCTIONS{$func}->{'nolist'} = 1; } if ($source =~ m/^ \* NOLIST\s*$/m) { $FUNCTIONS{$func}->{'nolist'} = 1; } if ($source !~ m/^ \* XSSO \d/m) { $FUNCTIONS{$func}->{'openpam'} = 1; } } sub expand_errors($); sub expand_errors($) { my $func = shift; # Ref to function hash my %errors; if (defined($func->{'recursed'})) { warn("$func->{'name'}(): loop in error spec\n"); return qw(); } $func->{'recursed'} = 1; foreach (@{$func->{'errors'}}) { if (m/^(PAM_[A-Z_]+)$/) { if (!defined($PAMERR{$1})) { warn("$func->{'name'}(): unrecognized error: $1\n"); next; } $errors{$1} = 1; } elsif (m/^!(PAM_[A-Z_]+)$/) { # treat negations separately } elsif (m/^=([a-z_]+)$/) { if (!defined($FUNCTIONS{$1})) { warn("$func->{'name'}(): reference to unknown $1()\n"); next; } foreach (expand_errors($FUNCTIONS{$1})) { $errors{$_} = 1; } } else { warn("$func->{'name'}(): invalid error specification: $_\n"); } } foreach (@{$func->{'errors'}}) { if (m/^!(PAM_[A-Z_]+)$/) { delete($errors{$1}); } } delete($func->{'recursed'}); return (sort(keys(%errors))); } sub gendoc($) { my $func = shift; # Ref to function hash local *FILE; my $mdoc; my $fn; return if defined($func->{'nodoc'}); $mdoc = "$COPYRIGHT .Dd $TODAY .Dt " . uc($func->{'name'}) . " 3 .Os .Sh NAME .Nm $func->{'name'} .Nd $func->{'descr'} .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h "; if ($func->{'name'} =~ m/_sm_/) { $mdoc .= ".In security/pam_modules.h\n" } + if ($func->{'name'} =~ m/openpam/) { + $mdoc .= ".In security/openpam.h\n" + } $mdoc .= ".Ft $func->{'type'} .Fn $func->{'name'} $func->{'args'} .Sh DESCRIPTION $func->{'man'} "; if ($func->{'type'} eq "int") { $mdoc .= ".Sh RETURN VALUES The .Nm function returns one of the following values: .Bl -tag -width 18n "; my @errors = expand_errors($func); warn("$func->{'name'}(): no error specification\n") unless(@errors); foreach (@errors) { $mdoc .= ".It Bq Er $_\n$PAMERR{$_}.\n"; } $mdoc .= ".El\n"; } else { if ($func->{'type'} =~ m/\*$/) { $mdoc .= ".Sh RETURN VALUES The .Nm function returns .Dv NULL on failure. "; } } $mdoc .= ".Sh SEE ALSO\n"; my @xref = sort(keys(%{$func->{'xref'}})); while (@xref) { $mdoc .= ".Xr " . shift(@xref) . (@xref ? " ,\n" : "\n"); } $mdoc .= ".Sh STANDARDS\n"; if ($func->{'openpam'}) { $mdoc .= "The .Nm function is an OpenPAM extension. "; } else { $mdoc .= ".Rs .%T \"X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules\" .%D \"June 1997\" .Re "; } $mdoc .= ".Sh AUTHORS The .Nm function and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. "; $fn = "$func->{'name'}.3"; - sysopen(FILE, $fn, O_RDWR|O_CREAT|O_TRUNC) - or die("$fn: open(): $!\n"); - print(FILE $mdoc); - close(FILE); + if (sysopen(FILE, $fn, O_RDWR|O_CREAT|O_TRUNC)) { + print(FILE $mdoc); + close(FILE); + } else { + warn("$fn: open(): $!\n"); + } } sub gensummary() { my $func; print "$COPYRIGHT .Dd $TODAY .Dt PAM 3 .Os .Sh NAME "; my @funcs = sort(keys(%FUNCTIONS)); while ($func = shift(@funcs)) { next if (defined($FUNCTIONS{$func}->{'nolist'})); print ".Nm $func". (@funcs ? " ,\n" : "\n"); } print ".Nd Pluggable Authentication Modules Library .Sh LIBRARY .Lb libpam .Sh SYNOPSIS .In security/pam_appl.h "; foreach $func (sort(keys(%FUNCTIONS))) { next if (defined($FUNCTIONS{$func}->{'nolist'})); print ".Ft $FUNCTIONS{$func}->{'type'}\n"; print ".Fn $func $FUNCTIONS{$func}->{'args'}\n"; } print ".Sh DESCRIPTION .Sh RETURN VALUES The following return codes are defined in the .In security/pam_constants.h header: .Bl -tag -width 18n "; foreach (sort(keys(%PAMERR))) { print ".It Bq Er $_\n$PAMERR{$_}.\n"; } print ".El .Sh SEE ALSO "; foreach $func (sort(keys(%FUNCTIONS))) { next if (defined($FUNCTIONS{$func}->{'nolist'})); print ".Xr $func 3 ,\n"; } print ".Xr pam.conf 5 .Sh STANDARDS .Rs .%T \"X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules\" .%D \"June 1997\" .Re .Sh AUTHORS The OpenPAM library and this manual page were developed for the FreeBSD Project by ThinkSec AS and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. " } MAIN:{ $TODAY = strftime("%B %e, %Y", localtime(time())); $TODAY =~ s,\s+, ,g; foreach my $fn (@ARGV) { parse_source($fn); } foreach my $func (values(%FUNCTIONS)) { gendoc($func); } gensummary(); }