Import OpenPAM Resedacea. vendor/OPENPAM
authorSascha Wildner <saw@online.de>
Sat, 7 Jul 2018 18:23:48 +0000 (20:23 +0200)
committerSascha Wildner <saw@online.de>
Sat, 7 Jul 2018 18:23:48 +0000 (20:23 +0200)
See HISTORY for the details.

144 files changed:
contrib/openpam/CREDITS
contrib/openpam/HISTORY
contrib/openpam/LICENSE
contrib/openpam/README
contrib/openpam/README.DELETED
contrib/openpam/RELNOTES
contrib/openpam/doc/man/openpam.3
contrib/openpam/doc/man/openpam_borrow_cred.3
contrib/openpam/doc/man/openpam_free_data.3
contrib/openpam/doc/man/openpam_free_envlist.3
contrib/openpam/doc/man/openpam_get_feature.3
contrib/openpam/doc/man/openpam_get_option.3
contrib/openpam/doc/man/openpam_log.3
contrib/openpam/doc/man/openpam_nullconv.3
contrib/openpam/doc/man/openpam_readline.3
contrib/openpam/doc/man/openpam_readlinev.3
contrib/openpam/doc/man/openpam_readword.3
contrib/openpam/doc/man/openpam_restore_cred.3
contrib/openpam/doc/man/openpam_set_feature.3
contrib/openpam/doc/man/openpam_set_option.3
contrib/openpam/doc/man/openpam_straddch.3
contrib/openpam/doc/man/openpam_subst.3
contrib/openpam/doc/man/openpam_ttyconv.3
contrib/openpam/doc/man/pam.3
contrib/openpam/doc/man/pam.conf.5
contrib/openpam/doc/man/pam_acct_mgmt.3
contrib/openpam/doc/man/pam_authenticate.3
contrib/openpam/doc/man/pam_chauthtok.3
contrib/openpam/doc/man/pam_close_session.3
contrib/openpam/doc/man/pam_conv.3
contrib/openpam/doc/man/pam_end.3
contrib/openpam/doc/man/pam_error.3
contrib/openpam/doc/man/pam_get_authtok.3
contrib/openpam/doc/man/pam_get_data.3
contrib/openpam/doc/man/pam_get_item.3
contrib/openpam/doc/man/pam_get_user.3
contrib/openpam/doc/man/pam_getenv.3
contrib/openpam/doc/man/pam_getenvlist.3
contrib/openpam/doc/man/pam_info.3
contrib/openpam/doc/man/pam_open_session.3
contrib/openpam/doc/man/pam_prompt.3
contrib/openpam/doc/man/pam_putenv.3
contrib/openpam/doc/man/pam_set_data.3
contrib/openpam/doc/man/pam_set_item.3
contrib/openpam/doc/man/pam_setcred.3
contrib/openpam/doc/man/pam_setenv.3
contrib/openpam/doc/man/pam_sm_acct_mgmt.3
contrib/openpam/doc/man/pam_sm_authenticate.3
contrib/openpam/doc/man/pam_sm_chauthtok.3
contrib/openpam/doc/man/pam_sm_close_session.3
contrib/openpam/doc/man/pam_sm_open_session.3
contrib/openpam/doc/man/pam_sm_setcred.3
contrib/openpam/doc/man/pam_start.3
contrib/openpam/doc/man/pam_strerror.3
contrib/openpam/doc/man/pam_verror.3
contrib/openpam/doc/man/pam_vinfo.3
contrib/openpam/doc/man/pam_vprompt.3
contrib/openpam/include/security/openpam.h
contrib/openpam/include/security/openpam_attr.h
contrib/openpam/include/security/openpam_version.h
contrib/openpam/include/security/pam_appl.h
contrib/openpam/include/security/pam_constants.h
contrib/openpam/include/security/pam_modules.h
contrib/openpam/include/security/pam_types.h
contrib/openpam/lib/libpam/openpam_asprintf.h [copied from contrib/openpam/lib/openpam_features.h with 80% similarity]
contrib/openpam/lib/libpam/openpam_borrow_cred.c [moved from contrib/openpam/lib/openpam_borrow_cred.c with 95% similarity]
contrib/openpam/lib/libpam/openpam_check_owner_perms.c [moved from contrib/openpam/lib/openpam_check_owner_perms.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_configure.c [moved from contrib/openpam/lib/openpam_configure.c with 90% similarity]
contrib/openpam/lib/libpam/openpam_constants.c [new file with mode: 0644]
contrib/openpam/lib/libpam/openpam_constants.h [moved from contrib/openpam/lib/openpam_constants.h with 88% similarity]
contrib/openpam/lib/libpam/openpam_cred.h [moved from contrib/openpam/lib/pam_set_mapped_username.c with 77% similarity]
contrib/openpam/lib/libpam/openpam_ctype.h [moved from contrib/openpam/lib/openpam_ctype.h with 75% similarity]
contrib/openpam/lib/libpam/openpam_debug.h [moved from contrib/openpam/lib/openpam_debug.h with 98% similarity]
contrib/openpam/lib/libpam/openpam_dispatch.c [moved from contrib/openpam/lib/openpam_dispatch.c with 86% similarity]
contrib/openpam/lib/libpam/openpam_dlfunc.h [moved from contrib/openpam/lib/openpam_strlcmp.h with 74% similarity]
contrib/openpam/lib/libpam/openpam_dynamic.c [moved from contrib/openpam/lib/openpam_dynamic.c with 53% similarity]
contrib/openpam/lib/libpam/openpam_features.c [moved from contrib/openpam/lib/openpam_features.c with 90% similarity]
contrib/openpam/lib/libpam/openpam_features.h [copied from contrib/openpam/lib/openpam_features.h with 96% similarity]
contrib/openpam/lib/libpam/openpam_findenv.c [moved from contrib/openpam/lib/openpam_findenv.c with 93% similarity]
contrib/openpam/lib/libpam/openpam_free_data.c [moved from contrib/openpam/lib/openpam_free_data.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_free_envlist.c [moved from contrib/openpam/lib/openpam_free_envlist.c with 95% similarity]
contrib/openpam/lib/libpam/openpam_get_feature.c [moved from contrib/openpam/lib/openpam_get_feature.c with 93% similarity]
contrib/openpam/lib/libpam/openpam_get_option.c [moved from contrib/openpam/lib/openpam_get_option.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_impl.h [moved from contrib/openpam/lib/openpam_impl.h with 80% similarity]
contrib/openpam/lib/libpam/openpam_load.c [moved from contrib/openpam/lib/openpam_load.c with 87% similarity]
contrib/openpam/lib/libpam/openpam_log.c [moved from contrib/openpam/lib/openpam_log.c with 95% similarity]
contrib/openpam/lib/libpam/openpam_nullconv.c [moved from contrib/openpam/lib/openpam_nullconv.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_readline.c [moved from contrib/openpam/lib/openpam_readline.c with 93% similarity]
contrib/openpam/lib/libpam/openpam_readlinev.c [moved from contrib/openpam/lib/openpam_readlinev.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_readword.c [moved from contrib/openpam/lib/openpam_readword.c with 88% similarity]
contrib/openpam/lib/libpam/openpam_restore_cred.c [moved from contrib/openpam/lib/openpam_restore_cred.c with 96% similarity]
contrib/openpam/lib/libpam/openpam_set_feature.c [moved from contrib/openpam/lib/openpam_set_feature.c with 91% similarity]
contrib/openpam/lib/libpam/openpam_set_option.c [moved from contrib/openpam/lib/openpam_set_option.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_static.c [moved from contrib/openpam/lib/openpam_static.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_straddch.c [moved from contrib/openpam/lib/openpam_straddch.c with 87% similarity]
contrib/openpam/lib/libpam/openpam_strlcat.h [copied from contrib/openpam/lib/openpam_strlcat.h with 79% similarity]
contrib/openpam/lib/libpam/openpam_strlcpy.h [moved from contrib/openpam/lib/openpam_strlcpy.h with 81% similarity]
contrib/openpam/lib/libpam/openpam_strlset.c [moved from contrib/openpam/lib/openpam_strlcat.h with 73% similarity]
contrib/openpam/lib/libpam/openpam_strlset.h [moved from contrib/openpam/lib/openpam_features.h with 78% similarity]
contrib/openpam/lib/libpam/openpam_subst.c [moved from contrib/openpam/lib/openpam_subst.c with 97% similarity]
contrib/openpam/lib/libpam/openpam_ttyconv.c [new file with mode: 0644]
contrib/openpam/lib/libpam/pam_acct_mgmt.c [moved from contrib/openpam/lib/pam_acct_mgmt.c with 97% similarity]
contrib/openpam/lib/libpam/pam_authenticate.c [moved from contrib/openpam/lib/pam_authenticate.c with 94% similarity]
contrib/openpam/lib/libpam/pam_chauthtok.c [moved from contrib/openpam/lib/pam_chauthtok.c with 92% similarity]
contrib/openpam/lib/libpam/pam_close_session.c [moved from contrib/openpam/lib/pam_close_session.c with 93% similarity]
contrib/openpam/lib/libpam/pam_end.c [moved from contrib/openpam/lib/pam_end.c with 95% similarity]
contrib/openpam/lib/libpam/pam_error.c [copied from contrib/openpam/lib/pam_error.c with 97% similarity]
contrib/openpam/lib/libpam/pam_get_authtok.c [moved from contrib/openpam/lib/pam_get_authtok.c with 73% similarity]
contrib/openpam/lib/libpam/pam_get_data.c [moved from contrib/openpam/lib/pam_get_data.c with 94% similarity]
contrib/openpam/lib/libpam/pam_get_item.c [moved from contrib/openpam/lib/pam_get_item.c with 94% similarity]
contrib/openpam/lib/libpam/pam_get_user.c [moved from contrib/openpam/lib/pam_get_user.c with 81% similarity]
contrib/openpam/lib/libpam/pam_getenv.c [moved from contrib/openpam/lib/pam_getenv.c with 90% similarity]
contrib/openpam/lib/libpam/pam_getenvlist.c [moved from contrib/openpam/lib/pam_getenvlist.c with 93% similarity]
contrib/openpam/lib/libpam/pam_info.c [moved from contrib/openpam/lib/pam_info.c with 97% similarity]
contrib/openpam/lib/libpam/pam_open_session.c [moved from contrib/openpam/lib/pam_open_session.c with 93% similarity]
contrib/openpam/lib/libpam/pam_prompt.c [moved from contrib/openpam/lib/pam_prompt.c with 98% similarity]
contrib/openpam/lib/libpam/pam_putenv.c [moved from contrib/openpam/lib/pam_putenv.c with 90% similarity]
contrib/openpam/lib/libpam/pam_set_data.c [moved from contrib/openpam/lib/pam_set_data.c with 95% similarity]
contrib/openpam/lib/libpam/pam_set_item.c [moved from contrib/openpam/lib/pam_set_item.c with 89% similarity]
contrib/openpam/lib/libpam/pam_setcred.c [moved from contrib/openpam/lib/pam_setcred.c with 92% similarity]
contrib/openpam/lib/libpam/pam_setenv.c [moved from contrib/openpam/lib/pam_setenv.c with 92% similarity]
contrib/openpam/lib/libpam/pam_start.c [moved from contrib/openpam/lib/pam_start.c with 98% similarity]
contrib/openpam/lib/libpam/pam_strerror.c [moved from contrib/openpam/lib/pam_error.c with 70% similarity]
contrib/openpam/lib/libpam/pam_verror.c [moved from contrib/openpam/lib/pam_verror.c with 97% similarity]
contrib/openpam/lib/libpam/pam_vinfo.c [moved from contrib/openpam/lib/pam_vinfo.c with 97% similarity]
contrib/openpam/lib/libpam/pam_vprompt.c [moved from contrib/openpam/lib/pam_vprompt.c with 98% similarity]
contrib/openpam/lib/openpam_constants.c [deleted file]
contrib/openpam/lib/openpam_ttyconv.c [deleted file]
contrib/openpam/lib/pam_authenticate_secondary.c [deleted file]
contrib/openpam/lib/pam_get_mapped_authtok.c [deleted file]
contrib/openpam/lib/pam_get_mapped_username.c [deleted file]
contrib/openpam/lib/pam_set_mapped_authtok.c [deleted file]
contrib/openpam/lib/pam_sm_acct_mgmt.c [deleted file]
contrib/openpam/lib/pam_sm_authenticate.c [deleted file]
contrib/openpam/lib/pam_sm_authenticate_secondary.c [deleted file]
contrib/openpam/lib/pam_sm_chauthtok.c [deleted file]
contrib/openpam/lib/pam_sm_close_session.c [deleted file]
contrib/openpam/lib/pam_sm_get_mapped_authtok.c [deleted file]
contrib/openpam/lib/pam_sm_get_mapped_username.c [deleted file]
contrib/openpam/lib/pam_sm_open_session.c [deleted file]
contrib/openpam/lib/pam_sm_set_mapped_authtok.c [deleted file]
contrib/openpam/lib/pam_sm_set_mapped_username.c [deleted file]
contrib/openpam/lib/pam_sm_setcred.c [deleted file]
contrib/openpam/lib/pam_strerror.c [deleted file]

index 2725d88..c294fb7 100644 (file)
@@ -1,4 +1,6 @@
 
+       _Ἀπόδοτε οὖν τὰ Καίσαρος Καίσαρι καὶ τὰ τοῦ Θεοῦ τῷ Θεῷ_
+
 The OpenPAM library was developed for the FreeBSD Project by ThinkSec AS
 and Network Associates Laboratories, the Security Research Division of
 Network Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
@@ -13,21 +15,27 @@ directly or indirectly, with patches, criticism, suggestions, or
 ideas:
 
        Andrew Morgan <morgan@transmeta.com>
+       Ankita Pal <pal.ankita.ankita@gmail.com>
+       Baptiste Daroussin <bapt@freebsd.org>
        Brian Fundakowski Feldman <green@freebsd.org>
        Christos Zoulas <christos@netbsd.org>
        Daniel Richard G. <skunk@iskunk.org>
        Darren J. Moffat <darren.moffat@sun.com>
+       Dimitry Andric <dim@freebsd.org>
        Dmitry V. Levin <ldv@altlinux.org>
        Don Lewis <truckman@freebsd.org>
        Emmanuel Dreyfus <manu@netbsd.org>
        Eric Melville <eric@freebsd.org>
+       Espen Grøndahl <espegro@usit.uio.no>
        Gary Winiger <gary.winiger@sun.com>
+       Gavin Atkinson <gavin@freebsd.org>
        Gleb Smirnoff <glebius@freebsd.org>
        Hubert Feyrer <hubert@feyrer.de>
        Jason Evans <jasone@freebsd.org>
        Joe Marcus Clarke <marcus@freebsd.org>
-       Juli Mallett <jmallett@freebsd.org>
        Jörg Sonnenberger <joerg@britannica.bec.de>
+       Juli Mallett <jmallett@freebsd.org>
+       Larry Baird <lab@gta.com>
        Maëlle Lesage <lesage.maelle@gmail.com>
        Mark Murray <markm@freebsd.org>
        Matthias Drochner <drochner@netbsd.org>
@@ -35,6 +43,7 @@ ideas:
        Mikhail Teterin <mi@aldan.algebra.com>
        Mikko Työläjärvi <mbsd@pacbell.net>
        Nick Hibma <nick@van-laarhoven.org>
+       Patrick Bihan-Faou <patrick-fbsd@mindstep.com>
        Robert Watson <rwatson@freebsd.org>
        Ruslan Ermilov <ru@freebsd.org>
        Sebastian Krahmer <sebastian.krahmer@gmail.com>
@@ -42,5 +51,3 @@ ideas:
        Takanori Saneto <sanewo@ba2.so-net.ne.jp>
        Wojciech A. Koszek <wkoszek@freebsd.org>
        Yar Tikhiy <yar@freebsd.org>
-
-$Id: CREDITS 587 2012-04-08 11:12:10Z des $
index 3cc4c96..bfcc472 100644 (file)
@@ -1,3 +1,90 @@
+OpenPAM Resedacea                                              2017-04-30
+
+ - BUGFIX: Reinstore the NULL check in pam_end(3) which was removed in
+   OpenPAM Radula, as it breaks common error-handling constructs.
+
+ - BUGFIX: Return PAM_SYMBOL_ERR instead of PAM_SYSTEM_ERR from the
+   dispatcher when the required service function could not be found.
+ - ENHANCE: Introduce the PAM_BAD_HANDLE error code for when pamh is
+   NULL in API functions that have a NULL check.
+
+ - ENHANCE: Introduce the PAM_BAD_ITEM, PAM_BAD_FEATURE and
+   PAM_BAD_CONSTANT error codes for situations where we previously
+   incorrectly used PAM_SYMBOL_ERR to denote that an invalid constant
+   had been passed to an API function.
+
+ - ENHANCE: Improve the RETURN VALUES section in API man pages,
+   especially for functions that cannot fail, which were incorrectly
+   documented as returning -1 on failure.
+============================================================================
+OpenPAM Radula                                                 2017-02-19
+
+ - BUGFIX: Fix an inverted test which prevented pam_get_authtok(3) and
+   pam_get_user(3) from using application-provided custom prompts.
+
+ - BUGFIX: Plug a memory leak in pam_set_item(3).
+
+ - BUGFIX: Plug a potential memory leak in openpam_readlinev(3).
+
+ - BUGFIX: In openpam_readword(3), support line continuations within
+   whitespace.
+
+ - ENHANCE: Add a feature flag to control fallback to "other" policy.
+
+ - ENHANCE: Add a pam_return(8) module which returns an arbitrary
+   code specified in the module options.
+
+ - ENHANCE: More and better unit tests.
+============================================================================
+OpenPAM Ourouparia                                             2014-09-12
+
+ - ENHANCE: When executing a chain, require at least one service
+   function to succeed.  This mitigates fail-open scenarios caused by
+   misconfigurations or missing modules.
+
+ - ENHANCE: Make sure to overwrite buffers which may have contained an
+   authentication token when they're no longer needed.
+
+ - BUGFIX: Under certain circumstances, specifying a non-existent
+   module (or misspelling the name of a module) in a policy could
+   result in a fail-open scenario.  (CVE-2014-3879)
+
+ - FEATURE: Add a search path for modules.  This was implemented in
+   Nummularia but inadvertently left out of the release notes.
+
+ - BUGFIX: The is_upper() predicate only accepted the letter A as an
+   upper-case character instead of the entire A-Z range.  As a result,
+   service and module names containing upper-case letters other than A
+   would be rejected.
+============================================================================
+OpenPAM Nummularia                                             2013-09-07
+
+ - ENHANCE: Rewrite the dynamic loader to improve readability and
+   reliability.  Modules can now be listed without the ".so" suffix in
+   the policy file; OpenPAM will automatically add it, just like it
+   will automatically add the version number if required.
+
+ - ENHANCE: Allow openpam_straddch(3) to be called without a character
+   so it can be used to preallocate a string.
+
+ - ENHANCE: Improve portability by adding simple asprintf(3) and
+   vasprintf(3) implementations for platforms that don't have them.
+
+ - ENHANCE: Move the libpam sources into a separate subdirectory.
+
+ - ENHANCE: Substantial documentation improvements.
+
+ - BUGFIX: When openpam_readword(3) encountered an opening quote, it
+   would set the first byte in the buffer to '\0', discarding all
+   existing text and, unless the buffer was empty to begin with, all
+   subsequent text as well.  This went unnoticed because none of the
+   unit tests for quoted strings had any text preceding the opening
+   quote.
+
+ - BUGFIX: make --with-modules-dir work the way it was meant to work
+   (but never did).
+============================================================================
 OpenPAM Micrampelis                                            2012-05-26
 
  - FEATURE: Add an openpam_readword(3) function which reads the next
@@ -70,7 +157,7 @@ OpenPAM Lycopsida                                            2011-12-18
    module before loading it.
 
  - ENHANCE: added / improved input validation in many cases, including
-   the policy file and some function arguments.
+   the policy file and some function arguments.  (CVE-2011-4122)
 ============================================================================
 OpenPAM Hydrangea                                              2007-12-21
 
@@ -400,5 +487,3 @@ Fixed a number of bugs in the previous release, including:
 OpenPAM Calamite                                               2002-02-09
 
 First (beta) release.
-============================================================================
-$Id: HISTORY 609 2012-05-26 13:57:45Z des $
index 5119794..d8957b3 100644 (file)
@@ -1,6 +1,6 @@
 
 Copyright (c) 2002-2003 Networks Associates Technology, Inc.
-Copyright (c) 2004-2012 Dag-Erling Smørgrav
+Copyright (c) 2004-2017 Dag-Erling Smørgrav
 All rights reserved.
 
 This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -31,5 +31,3 @@ 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.
-
-$Id: LICENSE 546 2012-03-31 23:13:20Z des $
index 02851d1..7ea31b0 100644 (file)
@@ -7,21 +7,4 @@ implementations disagree, OpenPAM tries to remain compatible with
 Solaris, at the expense of XSSO conformance and Linux-PAM
 compatibility.
 
-These are some of OpenPAM's features:
-
-   - Implements the complete PAM API as described in the original PAM
-     paper and in OSF-RFC 86.0; this corresponds to the full XSSO API
-     except for mappings and secondary authentication.  Also
-     implements some extensions found in Solaris 9.
-
-   - Extends the API with several useful and time-saving functions.
-
-   - Performs strict checking of return values from service modules.
-
-   - Reads configuration from /etc/pam.d/, /etc/pam.conf,
-     /usr/local/etc/pam.d/ and /usr/local/etc/pam.conf, in that order;
-     this will be made configurable in a future release.
-
 Please direct bug reports and inquiries to <des@des.no>.
-
-$Id: README 424 2009-10-29 17:10:22Z des $
index 04d8d62..7938ca3 100644 (file)
@@ -5,6 +5,7 @@ TODO
 aclocal.m4
 autogen.sh
 bin/
+compile
 config.guess
 config.h.in
 config.sub
@@ -24,9 +25,35 @@ include/security/Makefile.in
 install-sh
 lib/Makefile.am
 lib/Makefile.in
+lib/libpam/Makefile.am
+lib/libpam/Makefile.in
+lib/libpam/openpam_asprintf.c
+lib/libpam/openpam_strlcat.c
+lib/libpam/openpam_strlcmp.h
+lib/libpam/openpam_strlcpy.c
+lib/libpam/openpam_vasprintf.c
+lib/libpam/openpam_vasprintf.h
+lib/libpam/pam_authenticate_secondary.c
+lib/libpam/pam_get_mapped_authtok.c
+lib/libpam/pam_get_mapped_username.c
+lib/libpam/pam_set_mapped_authtok.c
+lib/libpam/pam_set_mapped_username.c
+lib/libpam/pam_sm_acct_mgmt.c
+lib/libpam/pam_sm_authenticate.c
+lib/libpam/pam_sm_authenticate_secondary.c
+lib/libpam/pam_sm_chauthtok.c
+lib/libpam/pam_sm_close_session.c
+lib/libpam/pam_sm_get_mapped_authtok.c
+lib/libpam/pam_sm_get_mapped_username.c
+lib/libpam/pam_sm_open_session.c
+lib/libpam/pam_sm_set_mapped_authtok.c
+lib/libpam/pam_sm_set_mapped_username.c
+lib/libpam/pam_sm_setcred.c
 ltmain.sh
+m4/
 misc/
 missing
+mkpkgng.in
 modules/
-pamgdb.in
 t/
+test-driver
index 5364601..23b159a 100644 (file)
@@ -1,27 +1,21 @@
 
-               Release notes for OpenPAM Micrampelis
-               =====================================
+                Release notes for OpenPAM Resedacea
+                ===================================
 
-This release corresponds to the code used in FreeBSD HEAD as of the
-release date, and is also expected to work on almost any POSIX-like
-platform that has GNU autotools, GNU make and the GNU compiler suite
-installed.
+OpenPAM is developed primarily on FreeBSD, but is expected to work on
+almost any POSIX-like platform that has GNU autotools, GNU make and
+the GNU compiler suite installed.
 
-The library itself is complete.  Documentation exists in the form of
-man pages for the library functions.  These man pages are generated by
-a Perl script from specially marked-up comments in the source files
-themselves, which minimizes the chance that any of them should be out
-of date.
+The OpenPAM distribution consists of the following components:
 
-The distribution also includes three sample modules (pam_deny,
-pam_permit and pam_unix) and a sample application (su).  These are not
-intended for actual use, but rather to serve as examples for module or
-application developers.  It also includes a command-line application
-(pamtest) which can be used to test policies and modules.
+ - The PAM library itself, with complete API documentation.
 
-Unit tests for limited portions of the library can be found in the t
-subdirectory.
+ - Sample modules (pam_permit, pam_deny and pam_unix) and a sample
+   application (su) which demonstrate how to use the PAM library.
 
-Please direct bug reports and inquiries to <des@des.no>.
+ - A test application (pamtest) which can be used to test policies and
+   modules.
+
+ - Unit tests for limited portions of the library.
 
-$Id: RELNOTES 609 2012-05-26 13:57:45Z des $
+Please direct bug reports and inquiries to <des@des.no>.
index a3ff7fc..4c39ffe 100644 (file)
@@ -1,40 +1,5 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated by gendoc.pl
+.Dd April 30, 2017
 .Dt OPENPAM 3
 .Os
 .Sh NAME
 .Ft "int"
 .Fn pam_vprompt "const pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap"
 .\"
-.\" $Id: openpam.man 320 2006-02-16 20:33:19Z des $
+.\" $OpenPAM: openpam.man 938 2017-04-30 21:34:42Z des $
 .\"
 .Sh DESCRIPTION
 These functions are OpenPAM extensions to the PAM API.
@@ -168,4 +133,4 @@ DARPA/SPAWAR contract N66001-01-C-8035
 as part of the DARPA CHATS research program.
 .Pp
 The OpenPAM library is maintained by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index dd05b44..687ad42 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_borrow_cred.c by gendoc.pl
+.\" $OpenPAM: openpam_borrow_cred.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_BORROW_CRED 3
 .Os
 .Sh NAME
 .Nm openpam_borrow_cred
 .Nd temporarily borrow user credentials
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -65,6 +29,8 @@ The
 .Fn openpam_borrow_cred
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_PERM_DENIED
@@ -94,3 +60,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 4d9e0ee..a804c2a 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_free_data.c by gendoc.pl
+.\" $OpenPAM: openpam_free_data.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_FREE_DATA 3
 .Os
 .Sh NAME
 .Nm openpam_free_data
 .Nd generic cleanup function
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -77,3 +41,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index cf8c585..d069ba0 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_free_envlist.c by gendoc.pl
+.\" $OpenPAM: openpam_free_envlist.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_FREE_ENVLIST 3
 .Os
 .Sh NAME
 .Nm openpam_free_envlist
 .Nd free an environment list
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -69,4 +33,4 @@ The
 .Fn openpam_free_envlist
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index e63ef0c..daf49a4 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_get_feature.c by gendoc.pl
+.\" $OpenPAM: openpam_get_feature.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_GET_FEATURE 3
 .Os
 .Sh NAME
 .Nm openpam_get_feature
 .Nd query the state of an optional feature
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -50,7 +14,7 @@
 .Fn openpam_get_feature "int feature" "int *onoff"
 .Sh DESCRIPTION
 .Bf Sy
-This function is experimental and may be modified or removed in a future release without further warning.
+This function is experimental and may be modified or removed in a future release without prior warning.
 .Ef
 .Pp
 The
@@ -86,8 +50,10 @@ The
 .Fn openpam_get_feature
 function returns one of the following values:
 .Bl -tag -width 18n
-.It Bq Er PAM_SYMBOL_ERR
-Invalid symbol.
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_FEATURE
+Unrecognized or restricted feature.
 .El
 .Sh SEE ALSO
 .Xr openpam_set_feature 3 ,
@@ -102,4 +68,4 @@ The
 .Fn openpam_get_feature
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 68a6b2e..bdf73db 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_get_option.c by gendoc.pl
+.\" $OpenPAM: openpam_get_option.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -80,3 +44,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index e5e3192..a761547 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_log.c by gendoc.pl
+.\" $OpenPAM: openpam_log.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_LOG 3
 .Os
 .Sh NAME
 .Nm openpam_log
 .Nd log a message through syslog
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -98,6 +62,11 @@ The remaining arguments are a
 .Xr printf 3
 format string and the
 corresponding arguments.
+.Pp
+The
+.Fn openpam_log
+function does not modify the value of
+.Va errno .
 .Sh SEE ALSO
 .Xr pam 3 ,
 .Xr printf 3 ,
@@ -117,3 +86,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index f5194d3..7a8139e 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_nullconv.c by gendoc.pl
+.\" $OpenPAM: openpam_nullconv.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_NULLCONV 3
 .Os
 .Sh NAME
 .Nm openpam_nullconv
 .Nd null conversation function
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -74,6 +38,8 @@ The
 .Fn openpam_nullconv
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_CONV_ERR
 Conversation failure.
 .El
@@ -101,3 +67,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 32dd55b..e33167d 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_readline.c by gendoc.pl
+.\" $OpenPAM: openpam_readline.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_READLINE 3
 .Os
 .Sh NAME
 .Nm openpam_readline
 .Nd read a line from a file
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In stdio.h
@@ -120,3 +84,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index f2ba1a6..6391ff5 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_readlinev.c by gendoc.pl
+.\" $OpenPAM: openpam_readlinev.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_READLINEV 3
 .Os
 .Sh NAME
 .Nm openpam_readlinev
 .Nd read a line from a file and split it into words
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In stdio.h
@@ -156,4 +120,4 @@ The
 .Fn openpam_readlinev
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 6f5f58d..e7c8b0f 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_readword.c by gendoc.pl
+.\" $OpenPAM: openpam_readword.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_READWORD 3
 .Os
 .Sh NAME
 .Nm openpam_readword
 .Nd read a word from a file, respecting shell quoting rules
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In stdio.h
@@ -149,4 +113,4 @@ The
 .Fn openpam_readword
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index d088ded..3319fd5 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_restore_cred.c by gendoc.pl
+.\" $OpenPAM: openpam_restore_cred.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_RESTORE_CRED 3
 .Os
 .Sh NAME
 .Nm openpam_restore_cred
 .Nd restore credentials
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -59,6 +23,8 @@ The
 .Fn openpam_restore_cred
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_NO_MODULE_DATA
 Module data not found.
 .It Bq Er PAM_SYSTEM_ERR
@@ -86,3 +52,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 8356dec..3077421 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_set_feature.c by gendoc.pl
+.\" $OpenPAM: openpam_set_feature.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_SET_FEATURE 3
 .Os
 .Sh NAME
 .Nm openpam_set_feature
 .Nd enable or disable an optional feature
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -50,7 +14,7 @@
 .Fn openpam_set_feature "int feature" "int onoff"
 .Sh DESCRIPTION
 .Bf Sy
-This function is experimental and may be modified or removed in a future release without further warning.
+This function is experimental and may be modified or removed in a future release without prior warning.
 .Ef
 .Pp
 The
@@ -68,8 +32,10 @@ The
 .Fn openpam_set_feature
 function returns one of the following values:
 .Bl -tag -width 18n
-.It Bq Er PAM_SYMBOL_ERR
-Invalid symbol.
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_FEATURE
+Unrecognized or restricted feature.
 .El
 .Sh SEE ALSO
 .Xr openpam_get_feature 3 ,
@@ -84,4 +50,4 @@ The
 .Fn openpam_set_feature
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index b1e2267..751c317 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_set_option.c by gendoc.pl
+.\" $OpenPAM: openpam_set_option.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -59,6 +23,8 @@ The
 .Fn openpam_set_option
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_SYSTEM_ERR
@@ -83,3 +49,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index c555824..5f67891 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_straddch.c by gendoc.pl
+.\" $OpenPAM: openpam_straddch.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_STRADDCH 3
 .Os
 .Sh NAME
 .Nm openpam_straddch
 .Nd add a character to a string, expanding the buffer if needed
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -73,6 +37,21 @@ and
 argument point to variables used to hold the size
 of the buffer and the length of the string it contains, respectively.
 .Pp
+The final argument,
+.Fa ch ,
+is the character that should be appended to
+the string.  If
+.Fa ch
+is 0, nothing is appended, but a new buffer is
+still allocated if
+.Fa str
+is NULL.  This can be used to
+.Do
+bootstrap
+.Dc
+the
+string.
+.Pp
 If a new buffer is allocated or an existing buffer is reallocated to
 make room for the additional character,
 .Fa str
@@ -91,7 +70,9 @@ If the
 function is successful, it increments the
 integer variable pointed to by
 .Fa len
-and returns 0.
+(unless
+.Fa ch
+was 0) and returns 0.
 Otherwise, it leaves the variables pointed to by
 .Fa str ,
 .Fa size
@@ -119,4 +100,4 @@ The
 .Fn openpam_straddch
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 47297c9..ce55577 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_subst.c by gendoc.pl
+.\" $OpenPAM: openpam_subst.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_SUBST 3
 .Os
 .Sh NAME
 .Nm openpam_subst
 .Nd substitute PAM item values in a string
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -117,8 +81,10 @@ The
 .Fn openpam_subst
 function returns one of the following values:
 .Bl -tag -width 18n
-.It Bq Er PAM_SYSTEM_ERR
-System error.
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .It Bq Er PAM_TRY_AGAIN
 Try again.
 .El
@@ -137,4 +103,4 @@ The
 .Fn openpam_subst
 function and this manual page were
 developed by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 3e97cb4..4be2cd6 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from openpam_ttyconv.c by gendoc.pl
+.\" $OpenPAM: openpam_ttyconv.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt OPENPAM_TTYCONV 3
 .Os
 .Sh NAME
 .Nm openpam_ttyconv
 .Nd simple tty-based conversation function
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -68,6 +32,8 @@ The
 .Fn openpam_ttyconv
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -96,3 +62,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 196a3c7..7707e5d 100644 (file)
@@ -1,40 +1,5 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated by gendoc.pl
+.Dd April 30, 2017
 .Dt PAM 3
 .Os
 .Sh NAME
@@ -95,7 +60,7 @@
 .Ft "const char *"
 .Fn pam_strerror "const pam_handle_t *pamh" "int error_number"
 .\"
-.\" $Id: pam.man 320 2006-02-16 20:33:19Z des $
+.\" $OpenPAM: pam.man 938 2017-04-30 21:34:42Z des $
 .\"
 .Sh DESCRIPTION
 The Pluggable Authentication Modules (PAM) library abstracts a number
@@ -215,6 +180,14 @@ Authentication token lock busy.
 Failed to recover old authentication token.
 .It Bq Er PAM_AUTH_ERR
 Authentication error.
+.It Bq Er PAM_BAD_CONSTANT
+Bad constant.
+.It Bq Er PAM_BAD_FEATURE
+Unrecognized or restricted feature.
+.It Bq Er PAM_BAD_HANDLE
+Invalid PAM handle.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -293,4 +266,4 @@ DARPA/SPAWAR contract N66001-01-C-8035
 as part of the DARPA CHATS research program.
 .Pp
 The OpenPAM library is maintained by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index d5f80d5..777e839 100644 (file)
@@ -1,5 +1,5 @@
 .\"-
-.\" Copyright (c) 2005-2011 Dag-Erling Smørgrav
+.\" Copyright (c) 2005-2017 Dag-Erling Smørgrav
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -26,9 +26,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: pam.conf.5 610 2012-05-26 14:03:45Z des $
+.\" $OpenPAM: pam.conf.5 939 2017-04-30 21:36:50Z des $
 .\"
-.Dd May 26, 2012
+.Dd April 30, 2017
 .Dt PAM.CONF 5
 .Os
 .Sh NAME
@@ -65,15 +65,16 @@ Entries in
 policy files are of the same form, but are prefixed by an additional
 field specifying the name of the service they apply to.
 .Pp
-In both types of policy files, blank lines are ignored, as is anything
-to the right of a
+In both cases, blank lines and comments introduced by a
 .Ql #
-sign.
+sign are ignored, and the normal shell quoting rules apply.
+The precise details of how the file is tokenized are described in
+.Xr openpam_readword 3 .
 .Pp
 The
 .Ar facility
 field specifies the facility the entry applies to, and is one of:
-.Bl -tag -width ".Cm password"
+.Bl -tag -width 12n
 .It Cm auth
 Authentication functions
 .Po
@@ -99,7 +100,7 @@ The
 field determines how the result returned by the module affects the
 flow of control through (and the final result of) the rest of the
 chain, and is one of:
-.Bl -tag -width ".Cm sufficient"
+.Bl -tag -width 12n
 .It Cm required
 If this module succeeds, the result of the chain will be success
 unless a later module fails.
@@ -141,16 +142,18 @@ phase of
 .Pp
 The
 .Ar module-path
-field specifies the name, or optionally the full path, of the module
-to call.
+field specifies the name or full path of the module to call.
+If only the name is specified, the PAM library will search for it in
+the following locations:
+.Bl -enum
+.It
+.Pa /usr/lib
+.It
+.Pa /usr/local/lib
+.El
 .Pp
-The remaining fields are passed as arguments to the module if and when
-it is invoked.
-As a special case, if an argument is of the form ``name=value'' and
-the right-hand side is surrounded by single or double quotes, any
-whitespace between the quote characters will be considered part of the
-same argument rather than a separator between this argument and the
-next.
+The remaining fields, if any, are passed unmodified to the module if
+and when it is invoked.
 .Pp
 The
 .Cm include
@@ -161,6 +164,37 @@ This allows one to define system-wide policies which are then included
 into service-specific policies.
 The system-wide policy can then be modified without having to also
 modify each and every service-specific policy.
+.Pp
+.Bf -symbolic
+Take care not to introduce loops when using
+.Cm include
+rules, as there is currently no loop detection in place.
+.Ef
+.Sh MODULE OPTIONS
+Some PAM library functions may alter their behavior when called by a
+service module if certain module options were specified, regardless of
+whether the module itself accords them any importance.
+One such option is
+.Cm debug ,
+which causes the dispatcher to enable debugging messages before
+calling each service function, and disable them afterwards (unless
+they were already enabled).
+Other special options include:
+.Bl -tag -width 12n
+.It Cm authtok_prompt Ns = Ns Ar prompt , Cm oldauthtok_prompt Ns = Ns Ar prompt , Cm user_prompt Ns = Ns Ar prompt
+These options can be used to override the prompts used by
+.Xr pam_get_authtok 3
+and
+.Xr pam_get_user 3 .
+.It Cm echo_pass
+This option controls whether
+.Xr pam_get_authtok 3
+will allow the user to see what they are typing.
+.It Cm try_first_pass , Cm use_first_pass
+These options control
+.Xr pam_get_authtok 3 Ns 's
+use of cached authentication tokens.
+.El
 .Sh SEE ALSO
 .Xr pam 3
 .Sh STANDARDS
@@ -178,4 +212,4 @@ DARPA/SPAWAR contract N66001-01-C-8035
 as part of the DARPA CHATS research program.
 .Pp
 The OpenPAM library is maintained by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index f79c464..bd32933 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_acct_mgmt.c by gendoc.pl
+.\" $OpenPAM: pam_acct_mgmt.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -73,6 +37,8 @@ The
 .Fn pam_acct_mgmt
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_ACCT_EXPIRED
@@ -113,3 +79,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index c521a38..2701172 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_authenticate.c by gendoc.pl
+.\" $OpenPAM: pam_authenticate.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_AUTHENTICATE 3
 .Os
 .Sh NAME
 .Nm pam_authenticate
 .Nd perform authentication within the PAM framework
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -77,18 +41,22 @@ Fail if the user's authentication token is null.
 If any other bits are set,
 .Fn pam_authenticate
 will return
-.Dv PAM_SYMBOL_ERR .
+.Dv PAM_BAD_CONSTANT .
 .Sh RETURN VALUES
 The
 .Fn pam_authenticate
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .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_BAD_CONSTANT
+Bad constant.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -101,8 +69,6 @@ Maximum number of tries exceeded.
 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
@@ -127,3 +93,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 11647e7..89b7416 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_chauthtok.c by gendoc.pl
+.\" $OpenPAM: pam_chauthtok.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -69,12 +33,14 @@ Change only those authentication tokens that have expired.
 If any other bits are set,
 .Fn pam_chauthtok
 will return
-.Dv PAM_SYMBOL_ERR .
+.Dv PAM_BAD_CONSTANT .
 .Sh RETURN VALUES
 The
 .Fn pam_chauthtok
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_AUTHTOK_DISABLE_AGING
@@ -85,6 +51,8 @@ Authentication token failure.
 Authentication token lock busy.
 .It Bq Er PAM_AUTHTOK_RECOVERY_ERR
 Failed to recover old authentication token.
+.It Bq Er PAM_BAD_CONSTANT
+Bad constant.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -93,8 +61,6 @@ Conversation failure.
 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
@@ -119,3 +85,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index dba62e8..749d219 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_close_session.c by gendoc.pl
+.\" $OpenPAM: pam_close_session.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -66,14 +30,18 @@ Do not emit any messages.
 If any other bits are set,
 .Fn pam_close_session
 will return
-.Dv PAM_SYMBOL_ERR .
+.Dv PAM_BAD_CONSTANT .
 .Sh RETURN VALUES
 The
 .Fn pam_close_session
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
+.It Bq Er PAM_BAD_CONSTANT
+Bad constant.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -84,8 +52,6 @@ Permission denied.
 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
@@ -109,3 +75,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index a1b121b..bbf0a57 100644 (file)
@@ -1,6 +1,6 @@
 .\"-
 .\" Copyright (c) 2002-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
+.\" Copyright (c) 2004-2017 Dag-Erling Smørgrav
 .\" All rights reserved.
 .\"
 .\" This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,9 +32,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $Id: pam_conv.3 610 2012-05-26 14:03:45Z des $
+.\" $OpenPAM: pam_conv.3 939 2017-04-30 21:36:50Z des $
 .\"
-.Dd May 26, 2012
+.Dd April 30, 2017
 .Dt PAM_CONV 3
 .Os
 .Sh NAME
@@ -76,7 +76,7 @@ item.
 .Pp
 The conversation function's first argument specifies the number of
 messages (up to
-.Dv PAM_NUM_MSG )
+.Dv PAM_MAX_NUM_MSG )
 to process.
 The second argument is a pointer to an array of pointers to
 .Vt pam_message
@@ -183,4 +183,4 @@ DARPA/SPAWAR contract N66001-01-C-8035
 as part of the DARPA CHATS research program.
 .Pp
 The OpenPAM library is maintained by
-.An Dag-Erling Sm\(/orgrav Aq des@des.no .
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 0d66912..af4cbec 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_end.c by gendoc.pl
+.\" $OpenPAM: pam_end.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_END 3
 .Os
 .Sh NAME
 .Nm pam_end
 .Nd terminate the PAM transaction
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -63,8 +27,10 @@ The
 .Fn pam_end
 function returns one of the following values:
 .Bl -tag -width 18n
-.It Bq Er PAM_SYSTEM_ERR
-System error.
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_HANDLE
+Invalid PAM handle.
 .El
 .Sh SEE ALSO
 .Xr pam 3 ,
@@ -85,3 +51,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 6767772..cf3445e 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_error.c by gendoc.pl
+.\" $OpenPAM: pam_error.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_ERROR 3
 .Os
 .Sh NAME
 .Nm pam_error
 .Nd display an error message
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -58,6 +22,8 @@ The
 .Fn pam_error
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -86,3 +52,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 84c133d..bedeffb 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_get_authtok.c by gendoc.pl
+.\" $OpenPAM: pam_get_authtok.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_GET_AUTHTOK 3
 .Os
 .Sh NAME
 .Nm pam_get_authtok
 .Nd retrieve authentication token
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
 .Sh DESCRIPTION
 The
 .Fn pam_get_authtok
-function returns the cached authentication token,
-or prompts the user if no token is currently cached.
+function either prompts the user for an
+authentication token or retrieves a cached authentication token,
+depending on circumstances.
 Either way, a pointer to the authentication token is stored in the
 location pointed to by the
 .Fa authtok
-argument.
+argument, and the corresponding PAM
+item is updated.
 .Pp
 The
 .Fa item
@@ -83,25 +49,14 @@ as appropriate, will be used.
 If that item is also
 .Dv NULL ,
 a hardcoded default prompt will be used.
-Either way, the prompt is expanded using
-.Xr openpam_subst 3
-before it is
-passed to the conversation function.
-.Pp
-If
+Additionally, when
 .Fn pam_get_authtok
-is called from a module and the
-.Dv authtok_prompt
-/
-.Dv oldauthtok_prompt
-option is set in the policy file, the value of that
-option takes precedence over both the
-.Fa prompt
-argument and the
-.Dv PAM_AUTHTOK_PROMPT
-/
-.Dv PAM_OLDAUTHTOK_PROMPT
-item.
+is called from a service module,
+the prompt may be affected by module options as described below.
+The prompt is then expanded using
+.Xr openpam_subst 3
+before it is passed to
+the conversation function.
 .Pp
 If
 .Fa item
@@ -117,12 +72,61 @@ If there is a mismatch,
 .Fn pam_get_authtok
 will return
 .Dv PAM_TRY_AGAIN .
-.Pp
+.Sh MODULE OPTIONS
+When called by a service module,
+.Fn pam_get_authtok
+will recognize the
+following module options:
+.Bl -tag -width 18n
+.It Dv authtok_prompt
+Prompt to use when
+.Fa item
+is set to
+.Dv PAM_AUTHTOK .
+This option overrides both the
+.Fa prompt
+argument and the
+.Dv PAM_AUTHTOK_PROMPT
+item.
+.It Dv echo_pass
+If the application's conversation function allows it, this
+lets the user see what they are typing.
+This should only be used for non-reusable authentication
+tokens.
+.It Dv oldauthtok_prompt
+Prompt to use when
+.Fa item
+is set to
+.Dv PAM_OLDAUTHTOK .
+This option overrides both the
+.Fa prompt
+argument and the
+.Dv PAM_OLDAUTHTOK_PROMPT
+item.
+.It Dv try_first_pass
+If the requested item is non-null, return it without
+prompting the user.
+Typically, the service module will verify the token, and
+if it does not match, clear the item before calling
+.Fn pam_get_authtok
+a second time.
+.It Dv use_first_pass
+Do not prompt the user at all; just return the cached
+value, or
+.Dv PAM_AUTH_ERR
+if there is none.
+.El
 .Sh RETURN VALUES
 The
 .Fn pam_get_authtok
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_CONSTANT
+Bad constant.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -133,8 +137,10 @@ System error.
 Try again.
 .El
 .Sh SEE ALSO
+.Xr openpam_get_option 3 ,
 .Xr openpam_subst 3 ,
 .Xr pam 3 ,
+.Xr pam_conv 3 ,
 .Xr pam_get_item 3 ,
 .Xr pam_get_user 3 ,
 .Xr pam_strerror 3
@@ -153,3 +159,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index db4b723..104e25a 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_get_data.c by gendoc.pl
+.\" $OpenPAM: pam_get_data.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_GET_DATA 3
 .Os
 .Sh NAME
 .Nm pam_get_data
 .Nd get module information
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -75,10 +39,10 @@ The
 .Fn pam_get_data
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .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 ,
@@ -100,3 +64,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index aaa1bad..9f96e96 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_get_item.c by gendoc.pl
+.\" $OpenPAM: pam_get_item.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_GET_ITEM 3
 .Os
 .Sh NAME
 .Nm pam_get_item
 .Nd get PAM information
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -110,10 +74,10 @@ The
 .Fn pam_get_item
 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.
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .El
 .Sh SEE ALSO
 .Xr pam 3 ,
@@ -136,3 +100,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 448f418..58a861d 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_get_user.c by gendoc.pl
+.\" $OpenPAM: pam_get_user.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_GET_USER 3
 .Os
 .Sh NAME
 .Nm pam_get_user
 .Nd retrieve user name
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -60,7 +24,8 @@ will prompt for a user name.
 Either way, a pointer to the user name is stored in the location
 pointed to by the
 .Fa user
-argument.
+argument, and the corresponding PAM item is
+updated.
 .Pp
 The
 .Fa prompt
@@ -74,28 +39,37 @@ item will be used.
 If that item is also
 .Dv NULL ,
 a hardcoded default prompt will be used.
-Either way, the prompt is expanded using
+Additionally, when
+.Fn pam_get_user
+is called from a service module, the
+prompt may be affected by module options as described below.
+The prompt is then expanded using
 .Xr openpam_subst 3
-before it is
-passed to the conversation function.
-.Pp
-If
+before it is passed to
+the conversation function.
+.Sh MODULE OPTIONS
+When called by a service module,
 .Fn pam_get_user
-is called from a module and the
-.Dv user_prompt
-option is
-set in the policy file, the value of that option takes precedence over
-both the
+will recognize the
+following module options:
+.Bl -tag -width 18n
+.It Dv user_prompt
+Prompt to use when asking for the user name.
+This option overrides both the
 .Fa prompt
 argument and the
 .Dv PAM_USER_PROMPT
 item.
-.Pp
+.El
 .Sh RETURN VALUES
 The
 .Fn pam_get_user
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -104,8 +78,10 @@ Conversation failure.
 System error.
 .El
 .Sh SEE ALSO
+.Xr openpam_get_option 3 ,
 .Xr openpam_subst 3 ,
 .Xr pam 3 ,
+.Xr pam_conv 3 ,
 .Xr pam_get_authtok 3 ,
 .Xr pam_get_item 3 ,
 .Xr pam_set_item 3 ,
@@ -127,3 +103,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 1f0df73..dbbb484 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_getenv.c by gendoc.pl
+.\" $OpenPAM: pam_getenv.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -84,3 +48,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 9af3784..29827cd 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_getenvlist.c by gendoc.pl
+.\" $OpenPAM: pam_getenvlist.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -105,3 +69,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index c08b574..5fd8d5f 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_info.c by gendoc.pl
+.\" $OpenPAM: pam_info.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_INFO 3
 .Os
 .Sh NAME
 .Nm pam_info
 .Nd display an information message
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -58,6 +22,8 @@ The
 .Fn pam_info
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -86,3 +52,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 1cde0e4..dd02607 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_open_session.c by gendoc.pl
+.\" $OpenPAM: pam_open_session.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_OPEN_SESSION 3
 .Os
 .Sh NAME
 .Nm pam_open_session
 .Nd open a user session
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -67,14 +31,18 @@ Do not emit any messages.
 If any other bits are set,
 .Fn pam_open_session
 will return
-.Dv PAM_SYMBOL_ERR .
+.Dv PAM_BAD_CONSTANT .
 .Sh RETURN VALUES
 The
 .Fn pam_open_session
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
+.It Bq Er PAM_BAD_CONSTANT
+Bad constant.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -85,8 +53,6 @@ Permission denied.
 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
@@ -110,3 +76,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 0ff7742..b78ce3a 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_prompt.c by gendoc.pl
+.\" $OpenPAM: pam_prompt.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_PROMPT 3
 .Os
 .Sh NAME
 .Nm pam_prompt
 .Nd call the conversation function
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -70,6 +34,8 @@ The
 .Fn pam_prompt
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -98,3 +64,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 4e9c693..2be772f 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_putenv.c by gendoc.pl
+.\" $OpenPAM: pam_putenv.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -61,6 +25,8 @@ The
 .Fn pam_putenv
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_SYSTEM_ERR
@@ -89,3 +55,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index c02ae2e..253d014 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_set_data.c by gendoc.pl
+.\" $OpenPAM: pam_set_data.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_SET_DATA 3
 .Os
 .Sh NAME
 .Nm pam_set_data
 .Nd set module information
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -74,6 +38,8 @@ The
 .Fn pam_set_data
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_SYSTEM_ERR
@@ -99,3 +65,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 668c4f3..3d479c9 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_set_item.c by gendoc.pl
+.\" $OpenPAM: pam_set_item.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_SET_ITEM 3
 .Os
 .Sh NAME
 .Nm pam_set_item
 .Nd set authentication information
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -66,12 +30,12 @@ The
 .Fn pam_set_item
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .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 ,
@@ -93,3 +57,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index a4f8249..fc5eaad 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_setcred.c by gendoc.pl
+.\" $OpenPAM: pam_setcred.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -74,14 +38,18 @@ The latter four are mutually exclusive.
 If any other bits are set,
 .Fn pam_setcred
 will return
-.Dv PAM_SYMBOL_ERR .
+.Dv PAM_BAD_CONSTANT .
 .Sh RETURN VALUES
 The
 .Fn pam_setcred
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
+.It Bq Er PAM_BAD_CONSTANT
+Bad constant.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -96,8 +64,6 @@ Failed to retrieve user credentials.
 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
@@ -122,3 +88,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index e3b9c13..8fced1e 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_setenv.c by gendoc.pl
+.\" $OpenPAM: pam_setenv.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_SETENV 3
 .Os
 .Sh NAME
 .Nm pam_setenv
 .Nd mirrors setenv(3)
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -61,6 +25,8 @@ The
 .Fn pam_setenv
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_SYSTEM_ERR
@@ -88,3 +54,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 35dd05b..2df56b5 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_sm_acct_mgmt.c by gendoc.pl
+.\" $OpenPAM: pam_sm_acct_mgmt.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -60,6 +24,8 @@ The
 .Fn pam_sm_acct_mgmt
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_ACCT_EXPIRED
@@ -103,3 +69,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 4c27bb7..1dc6c69 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_sm_authenticate.c by gendoc.pl
+.\" $OpenPAM: pam_sm_authenticate.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -60,6 +24,8 @@ The
 .Fn pam_sm_authenticate
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_AUTHINFO_UNAVAIL
@@ -105,3 +71,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 8e28b05..be1baa8 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_sm_chauthtok.c by gendoc.pl
+.\" $OpenPAM: pam_sm_chauthtok.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -70,6 +34,8 @@ The
 .Fn pam_sm_chauthtok
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_AUTHTOK_DISABLE_AGING
@@ -115,3 +81,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index bfb5d87..5b2034e 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_sm_close_session.c by gendoc.pl
+.\" $OpenPAM: pam_sm_close_session.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -60,6 +24,8 @@ The
 .Fn pam_sm_close_session
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_BUF_ERR
@@ -97,3 +63,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index b92fb45..6b4ab9a 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_sm_open_session.c by gendoc.pl
+.\" $OpenPAM: pam_sm_open_session.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -60,6 +24,8 @@ The
 .Fn pam_sm_open_session
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_BUF_ERR
@@ -97,3 +63,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 19b192e..cf1b76e 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_sm_setcred.c by gendoc.pl
+.\" $OpenPAM: pam_sm_setcred.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .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 sys/types.h
 .In security/pam_appl.h
@@ -60,6 +24,8 @@ The
 .Fn pam_sm_setcred
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_ABORT
 General failure.
 .It Bq Er PAM_BUF_ERR
@@ -103,3 +69,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 4e28d3e..7a2ba5b 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_start.c by gendoc.pl
+.\" $OpenPAM: pam_start.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_START 3
 .Os
 .Sh NAME
 .Nm pam_start
 .Nd initiate a PAM transaction
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -81,6 +45,10 @@ The
 .Fn pam_start
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
+.It Bq Er PAM_BAD_ITEM
+Unrecognized or restricted item.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_SYSTEM_ERR
@@ -108,3 +76,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 5b24b68..bdfb1c2 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_strerror.c by gendoc.pl
+.\" $OpenPAM: pam_strerror.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_STRERROR 3
 .Os
 .Sh NAME
 .Nm pam_strerror
 .Nd get PAM standard error message string
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -87,3 +51,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index d4a8cc5..ed680b7 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_verror.c by gendoc.pl
+.\" $OpenPAM: pam_verror.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_VERROR 3
 .Os
 .Sh NAME
 .Nm pam_verror
 .Nd display an error message
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -62,6 +26,8 @@ The
 .Fn pam_verror
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -90,3 +56,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 3e10b50..a5923cb 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_vinfo.c by gendoc.pl
+.\" $OpenPAM: pam_vinfo.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_VINFO 3
 .Os
 .Sh NAME
 .Nm pam_vinfo
 .Nd display an information message
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -62,6 +26,8 @@ The
 .Fn pam_vinfo
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -90,3 +56,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index c3d8b32..4cfa9ed 100644 (file)
@@ -1,47 +1,11 @@
-.\"-
-.\" Copyright (c) 2001-2003 Networks Associates Technology, Inc.
-.\" Copyright (c) 2004-2011 Dag-Erling Smørgrav
-.\" All rights reserved.
-.\"
-.\" This software was developed for the FreeBSD Project by ThinkSec AS and
-.\" Network Associates Laboratories, 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.
-.\"
-.\" $Id$
-.\"
-.Dd May 26, 2012
+.\" Generated from pam_vprompt.c by gendoc.pl
+.\" $OpenPAM: pam_vprompt.c 938 2017-04-30 21:34:42Z des $
+.Dd April 30, 2017
 .Dt PAM_VPROMPT 3
 .Os
 .Sh NAME
 .Nm pam_vprompt
 .Nd call the conversation function
-.Sh LIBRARY
-.Lb libpam
 .Sh SYNOPSIS
 .In sys/types.h
 .In security/pam_appl.h
@@ -96,6 +60,8 @@ The
 .Fn pam_vprompt
 function returns one of the following values:
 .Bl -tag -width 18n
+.It Bq Er PAM_SUCCESS
+Success.
 .It Bq Er PAM_BUF_ERR
 Memory buffer error.
 .It Bq Er PAM_CONV_ERR
@@ -127,3 +93,6 @@ 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.
+.Pp
+The OpenPAM library is maintained by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no .
index 4ba8b95..1e7bc1e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2015 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam.h 605 2012-04-20 11:05:10Z des $
+ * $OpenPAM: openpam.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef SECURITY_OPENPAM_H_INCLUDED
@@ -186,6 +186,7 @@ enum {
        OPENPAM_VERIFY_POLICY_FILE,
        OPENPAM_RESTRICT_MODULE_NAME,
        OPENPAM_VERIFY_MODULE_FILE,
+       OPENPAM_FALLBACK_TO_OTHER,
        OPENPAM_NUM_FEATURES
 };
 
index aada5cc..b077681 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * $Id: openpam_attr.h 405 2007-12-19 11:38:27Z des $
+ * $OpenPAM: openpam_attr.h 938 2017-04-30 21:34:42Z des $
  */
 
-#ifndef SECURITY_PAM_ATTRIBUTES_H_INCLUDED
-#define SECURITY_PAM_ATTRIBUTES_H_INCLUDED
+#ifndef SECURITY_OPENPAM_ATTR_H_INCLUDED
+#define SECURITY_OPENPAM_ATTR_H_INCLUDED
 
 /* GCC attributes */
 #if defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__STRICT_ANSI__)
 # define OPENPAM_NONNULL(params)
 #endif
 
-#endif /* !SECURITY_PAM_ATTRIBUTES_H_INCLUDED */
+#if OPENPAM_GNUC_PREREQ(2,7)
+# define OPENPAM_UNUSED(var) var __attribute__((__unused__))
+#else
+# define OPENPAM_UNUSED(var) var
+#endif
+
+#endif /* !SECURITY_OPENPAM_ATTR_H_INCLUDED */
index d50d913..9a2e1cb 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_version.h 609 2012-05-26 13:57:45Z des $
+ * $OpenPAM: openpam_version.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef SECURITY_OPENPAM_VERSION_H_INCLUDED
 #define SECURITY_OPENPAM_VERSION_H_INCLUDED
 
 #define OPENPAM
-#define OPENPAM_VERSION        20120526
-#define OPENPAM_RELEASE        "Micrampelis"
+#define OPENPAM_VERSION        20170430
+#define OPENPAM_RELEASE        "Resedacea"
 
 #endif /* !SECURITY_OPENPAM_VERSION_H_INCLUDED */
index b8f0536..5f44d79 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: pam_appl.h 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: pam_appl.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef SECURITY_PAM_APPL_H_INCLUDED
index 69add34..a76dfec 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: pam_constants.h 443 2011-10-22 01:01:39Z des $
+ * $OpenPAM: pam_constants.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef SECURITY_PAM_CONSTANTS_H_INCLUDED
@@ -78,6 +78,10 @@ enum {
        PAM_TRY_AGAIN                   =  27,
        PAM_MODULE_UNKNOWN              =  28,
        PAM_DOMAIN_UNKNOWN              =  29,
+       PAM_BAD_HANDLE                  =  30,          /* OpenPAM extension */
+       PAM_BAD_ITEM                    =  31,          /* OpenPAM extension */
+       PAM_BAD_FEATURE                 =  32,          /* OpenPAM extension */
+       PAM_BAD_CONSTANT                =  33,          /* OpenPAM extension */
        PAM_NUM_ERRORS                                  /* OpenPAM extension */
 };
 
index 6242b38..a1e5745 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: pam_modules.h 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: pam_modules.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef SECURITY_PAM_MODULES_H_INCLUDED
index d0d5b00..fc5a06d 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: pam_types.h 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: pam_types.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef SECURITY_PAM_TYPES_H_INCLUDED
similarity index 80%
copy from contrib/openpam/lib/openpam_features.h
copy to contrib/openpam/lib/libpam/openpam_asprintf.h
index 227b1a9..79680ad 100644 (file)
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id$
+ * $OpenPAM: openpam_asprintf.h 938 2017-04-30 21:34:42Z des $
  */
 
-#ifndef OPENPAM_FEATURES_H_INCLUDED
-#define OPENPAM_FEATURES_H_INCLUDED
+#ifndef OPENPAM_ASPRINTF_H_INCLUDED
+#define OPENPAM_ASPRINTF_H_INCLUDED
 
-struct openpam_feature {
-       const char *name;
-       const char *desc;
-       int onoff;
-};
-
-extern struct openpam_feature openpam_features[OPENPAM_NUM_FEATURES];
-
-/* shortcut for internal use */
-#define OPENPAM_FEATURE(f) \
-       openpam_features[OPENPAM_##f].onoff
+#ifndef HAVE_ASPRINTF
+int openpam_asprintf(char **, const char *, ...);
+#undef asprintf
+#define asprintf(arg, ...) openpam_asprintf(arg, __VA_ARGS__)
+#endif
 
 #endif
similarity index 95%
rename from contrib/openpam/lib/openpam_borrow_cred.c
rename to contrib/openpam/lib/libpam/openpam_borrow_cred.c
index e0dfc55..79299ac 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_borrow_cred.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_borrow_cred.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -50,6 +50,7 @@
 #include <security/pam_appl.h>
 
 #include "openpam_impl.h"
+#include "openpam_cred.h"
 
 /*
  * OpenPAM extension
@@ -68,12 +69,12 @@ openpam_borrow_cred(pam_handle_t *pamh,
        ENTERI(pwd->pw_uid);
        r = pam_get_data(pamh, PAM_SAVED_CRED, &scredp);
        if (r == PAM_SUCCESS && scredp != NULL) {
-               openpam_log(PAM_LOG_DEBUG,
+               openpam_log(PAM_LOG_LIBDEBUG,
                    "already operating under borrowed credentials");
                RETURNC(PAM_SYSTEM_ERR);
        }
        if (geteuid() != 0 && geteuid() != pwd->pw_uid) {
-               openpam_log(PAM_LOG_DEBUG, "called with non-zero euid: %d",
+               openpam_log(PAM_LOG_LIBDEBUG, "called with non-zero euid: %d",
                    (int)geteuid());
                RETURNC(PAM_PERM_DENIED);
        }
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_check_owner_perms.c 543 2012-03-31 22:11:34Z des $
+ * $OpenPAM: openpam_check_owner_perms.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
similarity index 90%
rename from contrib/openpam/lib/openpam_configure.c
rename to contrib/openpam/lib/libpam/openpam_configure.c
index 8172a6f..12f1a51 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2001-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2012 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2015 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_configure.c 612 2012-05-26 23:02:55Z des $
+ * $OpenPAM: openpam_configure.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -41,7 +41,6 @@
 
 #include <sys/param.h>
 
-#include <ctype.h>
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -194,6 +193,7 @@ openpam_parse_chain(pam_handle_t *pamh,
                        openpam_log(PAM_LOG_ERROR,
                            "%s(%d): missing or invalid facility",
                            filename, lineno);
+                       errno = EINVAL;
                        goto fail;
                }
                if (facility != fclt && facility != PAM_FACILITY_ANY) {
@@ -209,18 +209,28 @@ openpam_parse_chain(pam_handle_t *pamh,
                                openpam_log(PAM_LOG_ERROR,
                                    "%s(%d): missing or invalid service name",
                                    filename, lineno);
+                               errno = EINVAL;
                                goto fail;
                        }
                        if (wordv[i] != NULL) {
                                openpam_log(PAM_LOG_ERROR,
                                    "%s(%d): garbage at end of line",
                                    filename, lineno);
+                               errno = EINVAL;
                                goto fail;
                        }
                        ret = openpam_load_chain(pamh, servicename, fclt);
                        FREEV(wordc, wordv);
-                       if (ret < 0)
+                       if (ret < 0) {
+                               /*
+                                * Bogus errno, but this ensures that the
+                                * outer loop does not just ignore the
+                                * error and keep searching.
+                                */
+                               if (errno == ENOENT)
+                                       errno = EINVAL;
                                goto fail;
+                       }
                        continue;
                }
 
@@ -230,6 +240,7 @@ openpam_parse_chain(pam_handle_t *pamh,
                        openpam_log(PAM_LOG_ERROR,
                            "%s(%d): missing or invalid control flag",
                            filename, lineno);
+                       errno = EINVAL;
                        goto fail;
                }
 
@@ -239,6 +250,7 @@ openpam_parse_chain(pam_handle_t *pamh,
                        openpam_log(PAM_LOG_ERROR,
                            "%s(%d): missing or invalid module name",
                            filename, lineno);
+                       errno = EINVAL;
                        goto fail;
                }
 
@@ -248,8 +260,11 @@ openpam_parse_chain(pam_handle_t *pamh,
                this->flag = ctlf;
 
                /* load module */
-               if ((this->module = openpam_load_module(modulename)) == NULL)
+               if ((this->module = openpam_load_module(modulename)) == NULL) {
+                       if (errno == ENOENT)
+                               errno = ENOEXEC;
                        goto fail;
+               }
 
                /*
                 * The remaining items in wordv are the module's
@@ -282,7 +297,11 @@ openpam_parse_chain(pam_handle_t *pamh,
         * The loop ended because openpam_readword() returned NULL, which
         * can happen for four different reasons: an I/O error (ferror(f)
         * is true), a memory allocation failure (ferror(f) is false,
-        * errno is non-zero)
+        * feof(f) is false, errno is non-zero), the file ended with an
+        * unterminated quote or backslash escape (ferror(f) is false,
+        * feof(f) is true, errno is non-zero), or the end of the file was
+        * reached without error (ferror(f) is false, feof(f) is true,
+        * errno is zero).
         */
        if (ferror(f) || errno != 0)
                goto syserr;
@@ -308,14 +327,6 @@ fail:
        return (-1);
 }
 
-static const char *openpam_policy_path[] = {
-       "/etc/pam.d/",
-       "/etc/pam.conf",
-       "/usr/local/etc/pam.d/",
-       "/usr/local/etc/pam.conf",
-       NULL
-};
-
 /*
  * Read the specified chains from the specified file.
  *
@@ -399,6 +410,10 @@ openpam_load_chain(pam_handle_t *pamh,
        for (path = openpam_policy_path; *path != NULL; ++path) {
                /* construct filename */
                len = strlcpy(filename, *path, sizeof filename);
+               if (len >= sizeof filename) {
+                       errno = ENAMETOOLONG;
+                       RETURNN(-1);
+               }
                if (filename[len - 1] == '/') {
                        len = strlcat(filename, service, sizeof filename);
                        if (len >= sizeof filename) {
@@ -411,6 +426,9 @@ openpam_load_chain(pam_handle_t *pamh,
                }
                ret = openpam_load_file(pamh, service, facility,
                    filename, style);
+               /* success */
+               if (ret > 0)
+                       RETURNN(ret);
                /* the file exists, but an error occurred */
                if (ret == -1 && errno != ENOENT)
                        RETURNN(ret);
@@ -420,7 +438,8 @@ openpam_load_chain(pam_handle_t *pamh,
        }
 
        /* no hit */
-       RETURNN(0);
+       errno = ENOENT;
+       RETURNN(-1);
 }
 
 /*
@@ -441,13 +460,17 @@ openpam_configure(pam_handle_t *pamh,
                openpam_log(PAM_LOG_ERROR, "invalid service name");
                RETURNC(PAM_SYSTEM_ERR);
        }
-       if (openpam_load_chain(pamh, service, PAM_FACILITY_ANY) < 0)
-               goto load_err;
+       if (openpam_load_chain(pamh, service, PAM_FACILITY_ANY) < 0) {
+               if (errno != ENOENT)
+                       goto load_err;
+       }
        for (fclt = 0; fclt < PAM_NUM_FACILITIES; ++fclt) {
                if (pamh->chains[fclt] != NULL)
                        continue;
-               if (openpam_load_chain(pamh, PAM_OTHER, fclt) < 0)
-                       goto load_err;
+               if (OPENPAM_FEATURE(FALLBACK_TO_OTHER)) {
+                       if (openpam_load_chain(pamh, PAM_OTHER, fclt) < 0)
+                               goto load_err;
+               }
        }
        RETURNC(PAM_SUCCESS);
 load_err:
diff --git a/contrib/openpam/lib/libpam/openpam_constants.c b/contrib/openpam/lib/libpam/openpam_constants.c
new file mode 100644 (file)
index 0000000..2b539e4
--- /dev/null
@@ -0,0 +1,185 @@
+/*-
+ * Copyright (c) 2001-2003 Networks Associates Technology, Inc.
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
+ * All rights reserved.
+ *
+ * This software was developed for the FreeBSD Project by ThinkSec AS and
+ * Network Associates Laboratories, 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.
+ *
+ * $OpenPAM: openpam_constants.c 938 2017-04-30 21:34:42Z des $
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <security/pam_appl.h>
+
+#include "openpam_impl.h"
+
+const char *pam_err_name[PAM_NUM_ERRORS] = {
+       [PAM_SUCCESS]                    = "PAM_SUCCESS",
+       [PAM_OPEN_ERR]                   = "PAM_OPEN_ERR",
+       [PAM_SYMBOL_ERR]                 = "PAM_SYMBOL_ERR",
+       [PAM_SERVICE_ERR]                = "PAM_SERVICE_ERR",
+       [PAM_SYSTEM_ERR]                 = "PAM_SYSTEM_ERR",
+       [PAM_BUF_ERR]                    = "PAM_BUF_ERR",
+       [PAM_CONV_ERR]                   = "PAM_CONV_ERR",
+       [PAM_PERM_DENIED]                = "PAM_PERM_DENIED",
+       [PAM_MAXTRIES]                   = "PAM_MAXTRIES",
+       [PAM_AUTH_ERR]                   = "PAM_AUTH_ERR",
+       [PAM_NEW_AUTHTOK_REQD]           = "PAM_NEW_AUTHTOK_REQD",
+       [PAM_CRED_INSUFFICIENT]          = "PAM_CRED_INSUFFICIENT",
+       [PAM_AUTHINFO_UNAVAIL]           = "PAM_AUTHINFO_UNAVAIL",
+       [PAM_USER_UNKNOWN]               = "PAM_USER_UNKNOWN",
+       [PAM_CRED_UNAVAIL]               = "PAM_CRED_UNAVAIL",
+       [PAM_CRED_EXPIRED]               = "PAM_CRED_EXPIRED",
+       [PAM_CRED_ERR]                   = "PAM_CRED_ERR",
+       [PAM_ACCT_EXPIRED]               = "PAM_ACCT_EXPIRED",
+       [PAM_AUTHTOK_EXPIRED]            = "PAM_AUTHTOK_EXPIRED",
+       [PAM_SESSION_ERR]                = "PAM_SESSION_ERR",
+       [PAM_AUTHTOK_ERR]                = "PAM_AUTHTOK_ERR",
+       [PAM_AUTHTOK_RECOVERY_ERR]       = "PAM_AUTHTOK_RECOVERY_ERR",
+       [PAM_AUTHTOK_LOCK_BUSY]          = "PAM_AUTHTOK_LOCK_BUSY",
+       [PAM_AUTHTOK_DISABLE_AGING]      = "PAM_AUTHTOK_DISABLE_AGING",
+       [PAM_NO_MODULE_DATA]             = "PAM_NO_MODULE_DATA",
+       [PAM_IGNORE]                     = "PAM_IGNORE",
+       [PAM_ABORT]                      = "PAM_ABORT",
+       [PAM_TRY_AGAIN]                  = "PAM_TRY_AGAIN",
+       [PAM_MODULE_UNKNOWN]             = "PAM_MODULE_UNKNOWN",
+       [PAM_DOMAIN_UNKNOWN]             = "PAM_DOMAIN_UNKNOWN",
+       [PAM_BAD_HANDLE]                 = "PAM_BAD_HANDLE",
+       [PAM_BAD_ITEM]                   = "PAM_BAD_ITEM",
+       [PAM_BAD_FEATURE]                = "PAM_BAD_FEATURE",
+       [PAM_BAD_CONSTANT]               = "PAM_BAD_CONSTANT",
+};
+
+const char *pam_err_text[PAM_NUM_ERRORS] = {
+       [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 account 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",
+       [PAM_BAD_HANDLE]                 = "Invalid PAM handle",
+       [PAM_BAD_ITEM]                   = "Unrecognized or restricted item",
+       [PAM_BAD_FEATURE]                = "Unrecognized or restricted feature",
+       [PAM_BAD_CONSTANT]               = "Invalid constant",
+};
+
+const char *pam_item_name[PAM_NUM_ITEMS] = {
+       [PAM_SERVICE]            = "PAM_SERVICE",
+       [PAM_USER]               = "PAM_USER",
+       [PAM_TTY]                = "PAM_TTY",
+       [PAM_RHOST]              = "PAM_RHOST",
+       [PAM_CONV]               = "PAM_CONV",
+       [PAM_AUTHTOK]            = "PAM_AUTHTOK",
+       [PAM_OLDAUTHTOK]         = "PAM_OLDAUTHTOK",
+       [PAM_RUSER]              = "PAM_RUSER",
+       [PAM_USER_PROMPT]        = "PAM_USER_PROMPT",
+       [PAM_REPOSITORY]         = "PAM_REPOSITORY",
+       [PAM_AUTHTOK_PROMPT]     = "PAM_AUTHTOK_PROMPT",
+       [PAM_OLDAUTHTOK_PROMPT]  = "PAM_OLDAUTHTOK_PROMPT",
+       [PAM_HOST]               = "PAM_HOST",
+};
+
+const char *pam_facility_name[PAM_NUM_FACILITIES] = {
+       [PAM_ACCOUNT]            = "account",
+       [PAM_AUTH]               = "auth",
+       [PAM_PASSWORD]           = "password",
+       [PAM_SESSION]            = "session",
+};
+
+const char *pam_control_flag_name[PAM_NUM_CONTROL_FLAGS] = {
+       [PAM_BINDING]            = "binding",
+       [PAM_OPTIONAL]           = "optional",
+       [PAM_REQUIRED]           = "required",
+       [PAM_REQUISITE]          = "requisite",
+       [PAM_SUFFICIENT]         = "sufficient",
+};
+
+const char *pam_func_name[PAM_NUM_PRIMITIVES] = {
+       [PAM_SM_AUTHENTICATE]    = "pam_authenticate",
+       [PAM_SM_SETCRED]         = "pam_setcred",
+       [PAM_SM_ACCT_MGMT]       = "pam_acct_mgmt",
+       [PAM_SM_OPEN_SESSION]    = "pam_open_session",
+       [PAM_SM_CLOSE_SESSION]   = "pam_close_session",
+       [PAM_SM_CHAUTHTOK]       = "pam_chauthtok"
+};
+
+const char *pam_sm_func_name[PAM_NUM_PRIMITIVES] = {
+       [PAM_SM_AUTHENTICATE]    = "pam_sm_authenticate",
+       [PAM_SM_SETCRED]         = "pam_sm_setcred",
+       [PAM_SM_ACCT_MGMT]       = "pam_sm_acct_mgmt",
+       [PAM_SM_OPEN_SESSION]    = "pam_sm_open_session",
+       [PAM_SM_CLOSE_SESSION]   = "pam_sm_close_session",
+       [PAM_SM_CHAUTHTOK]       = "pam_sm_chauthtok"
+};
+
+const char *openpam_policy_path[] = {
+       "/etc/pam.d/",
+       "/etc/pam.conf",
+       "/usr/local/etc/pam.d/",
+       "/usr/local/etc/pam.conf",
+       NULL
+};
+
+const char *openpam_module_path[] = {
+#ifdef OPENPAM_MODULES_DIRECTORY
+       OPENPAM_MODULES_DIRECTORY,
+#else
+       "/usr/lib",
+       "/usr/local/lib",
+#endif
+       NULL
+};
similarity index 88%
rename from contrib/openpam/lib/openpam_constants.h
rename to contrib/openpam/lib/libpam/openpam_constants.h
index a7d6ce8..3ff3cd2 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2011 Dag-Erling Smørgrav
+ * Copyright (c) 2011-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_constants.h 606 2012-04-20 11:06:38Z des $
+ * $OpenPAM: openpam_constants.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_CONSTANTS_H_INCLUDED
 #define OPENPAM_CONSTANTS_H_INCLUDED
 
 extern const char *pam_err_name[PAM_NUM_ERRORS];
+extern const char *pam_err_text[PAM_NUM_ERRORS];
 extern const char *pam_item_name[PAM_NUM_ITEMS];
 extern const char *pam_facility_name[PAM_NUM_FACILITIES];
 extern const char *pam_control_flag_name[PAM_NUM_CONTROL_FLAGS];
 extern const char *pam_func_name[PAM_NUM_PRIMITIVES];
 extern const char *pam_sm_func_name[PAM_NUM_PRIMITIVES];
 
+extern const char *openpam_policy_path[];
+extern const char *openpam_module_path[];
+
 #endif
similarity index 77%
rename from contrib/openpam/lib/pam_set_mapped_username.c
rename to contrib/openpam/lib/libpam/openpam_cred.h
index 4b8f815..99d6346 100644 (file)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
+ * Copyright (c) 2001-2003 Networks Associates Technology, Inc.
  * Copyright (c) 2004-2011 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: pam_set_mapped_username.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_cred.h 938 2017-04-30 21:34:42Z des $
  */
 
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <security/pam_appl.h>
+#ifndef OPENPAM_CRED_H_INCLUDED
+#define OPENPAM_CRED_H_INCLUDED
 
 /*
- * XSSO 4.2.1
- * XSSO 6 page 64
- *
- * Set a username
+ * Saved credentials
  */
+#define PAM_SAVED_CRED "pam_saved_cred"
+struct pam_saved_cred {
+       uid_t    euid;
+       gid_t    egid;
+       gid_t    groups[NGROUPS_MAX];
+       int      ngroups;
+};
 
-int
-pam_set_mapped_username(pam_handle_t *pamh,
-       char *src_username,
-       char *src_module_type,
-       char *src_authn_domain,
-       char *target_module_username,
-       char *target_module_type,
-       char *target_authn_domain)
-{
-
-       ENTER();
-       RETURNC(PAM_SYSTEM_ERR);
-}
-
-/*
- * NODOC
- */
+#endif
similarity index 75%
rename from contrib/openpam/lib/openpam_ctype.h
rename to contrib/openpam/lib/libpam/openpam_ctype.h
index b3ec846..4920e40 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2012-2014 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_ctype.h 578 2012-04-06 00:45:59Z des $
+ * $OpenPAM: openpam_ctype.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_CTYPE_H_INCLUDED
 #define OPENPAM_CTYPE_H_INCLUDED
 
+/*
+ * Evaluates to non-zero if the argument is a digit.
+ */
+#define is_digit(ch)                           \
+       (ch >= '0' && ch <= '9')
+
+/*
+ * Evaluates to non-zero if the argument is a hex digit.
+ */
+#define is_xdigit(ch)                          \
+       ((ch >= '0' && ch <= '9') ||            \
+        (ch >= 'a' && ch <= 'f') ||            \
+        (ch >= 'A' && ch <= 'F'))
+
+/*
+ * Evaluates to non-zero if the argument is an uppercase letter.
+ */
+#define is_upper(ch)                           \
+       (ch >= 'A' && ch <= 'Z')
+
+/*
+ * Evaluates to non-zero if the argument is a lowercase letter.
+ */
+#define is_lower(ch)                           \
+       (ch >= 'a' && ch <= 'z')
+
+/*
+ * Evaluates to non-zero if the argument is a letter.
+ */
+#define is_letter(ch)                          \
+       (is_upper(ch) || is_lower(ch))
+
 /*
  * Evaluates to non-zero if the argument is a linear whitespace character.
  * For the purposes of this macro, the definition of linear whitespace is
@@ -60,9 +91,7 @@
  * of ASCII.
  */
 #define is_pfcs(ch)                            \
-       ((ch >= '0' && ch <= '9') ||            \
-        (ch >= 'A' && ch <= 'Z') ||            \
-        (ch >= 'a' && ch <= 'z') ||            \
+       (is_digit(ch) || is_letter(ch)  ||      \
         ch == '.' || ch == '_' || ch == '-')
 
 #endif
similarity index 98%
rename from contrib/openpam/lib/openpam_debug.h
rename to contrib/openpam/lib/libpam/openpam_debug.h
index 050783e..d980244 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_debug.h 606 2012-04-20 11:06:38Z des $
+ * $OpenPAM: openpam_debug.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_DEBUG_H_INCLUDED
similarity index 86%
rename from contrib/openpam/lib/openpam_dispatch.c
rename to contrib/openpam/lib/libpam/openpam_dispatch.c
index 54dfd3b..ff4c66a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_dispatch.c 501 2011-12-07 01:28:05Z des $
+ * $OpenPAM: openpam_dispatch.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -41,6 +41,8 @@
 
 #include <sys/param.h>
 
+#include <stdint.h>
+
 #include <security/pam_appl.h>
 
 #include "openpam_impl.h"
@@ -63,12 +65,10 @@ openpam_dispatch(pam_handle_t *pamh,
        int flags)
 {
        pam_chain_t *chain;
-       int err, fail, r;
+       int err, fail, nsuccess, r;
        int debug;
 
        ENTER();
-       if (pamh == NULL)
-               RETURNC(PAM_SYSTEM_ERR);
 
        /* prevent recursion */
        if (pamh->current != NULL) {
@@ -101,23 +101,25 @@ openpam_dispatch(pam_handle_t *pamh,
        }
 
        /* execute */
-       for (err = fail = 0; chain != NULL; chain = chain->next) {
+       err = PAM_SUCCESS;
+       fail = nsuccess = 0;
+       for (; chain != NULL; chain = chain->next) {
                if (chain->module->func[primitive] == NULL) {
                        openpam_log(PAM_LOG_ERROR, "%s: no %s()",
                            chain->module->path, pam_sm_func_name[primitive]);
-                       r = PAM_SYSTEM_ERR;
+                       r = PAM_SYMBOL_ERR;
                } else {
                        pamh->primitive = primitive;
                        pamh->current = chain;
                        debug = (openpam_get_option(pamh, "debug") != NULL);
                        if (debug)
                                ++openpam_debug;
-                       openpam_log(PAM_LOG_DEBUG, "calling %s() in %s",
+                       openpam_log(PAM_LOG_LIBDEBUG, "calling %s() in %s",
                            pam_sm_func_name[primitive], chain->module->path);
                        r = (chain->module->func[primitive])(pamh, flags,
-                           chain->optc, (const char **)chain->optv);
+                           chain->optc, (const char **)(intptr_t)chain->optv);
                        pamh->current = NULL;
-                       openpam_log(PAM_LOG_DEBUG, "%s: %s(): %s",
+                       openpam_log(PAM_LOG_LIBDEBUG, "%s: %s(): %s",
                            chain->module->path, pam_sm_func_name[primitive],
                            pam_strerror(pamh, r));
                        if (debug)
@@ -127,6 +129,7 @@ openpam_dispatch(pam_handle_t *pamh,
                if (r == PAM_IGNORE)
                        continue;
                if (r == PAM_SUCCESS) {
+                       ++nsuccess;
                        /*
                         * For pam_setcred() and pam_chauthtok() with the
                         * PAM_PRELIM_CHECK flag, treat "sufficient" as
@@ -148,11 +151,11 @@ openpam_dispatch(pam_handle_t *pamh,
                 * fail.  If a required module fails, record the
                 * return code from the first required module to fail.
                 */
-               if (err == 0)
+               if (err == PAM_SUCCESS)
                        err = r;
                if ((chain->flag == PAM_REQUIRED ||
                    chain->flag == PAM_BINDING) && !fail) {
-                       openpam_log(PAM_LOG_DEBUG, "required module failed");
+                       openpam_log(PAM_LOG_LIBDEBUG, "required module failed");
                        fail = 1;
                        err = r;
                }
@@ -162,7 +165,7 @@ openpam_dispatch(pam_handle_t *pamh,
                 * immediately.
                 */
                if (chain->flag == PAM_REQUISITE) {
-                       openpam_log(PAM_LOG_DEBUG, "requisite module failed");
+                       openpam_log(PAM_LOG_LIBDEBUG, "requisite module failed");
                        fail = 1;
                        break;
                }
@@ -170,6 +173,18 @@ openpam_dispatch(pam_handle_t *pamh,
 
        if (!fail && err != PAM_NEW_AUTHTOK_REQD)
                err = PAM_SUCCESS;
+
+       /*
+        * Require the chain to be non-empty, and at least one module
+        * in the chain to be successful, so that we don't fail open.
+        */
+       if (err == PAM_SUCCESS && nsuccess < 1) {
+               openpam_log(PAM_LOG_ERROR,
+                   "all modules were unsuccessful for %s()",
+                   pam_sm_func_name[primitive]);
+               err = PAM_SYSTEM_ERR;
+       }
+
        RETURNC(err);
 }
 
@@ -179,6 +194,7 @@ openpam_check_error_code(int primitive, int r)
 {
        /* common error codes */
        if (r == PAM_SUCCESS ||
+           r == PAM_SYSTEM_ERR ||
            r == PAM_SERVICE_ERR ||
            r == PAM_BUF_ERR ||
            r == PAM_CONV_ERR ||
similarity index 74%
rename from contrib/openpam/lib/openpam_strlcmp.h
rename to contrib/openpam/lib/libpam/openpam_dlfunc.h
index 2a78e0f..a33de6b 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2011 Dag-Erling Smørgrav
+ * Copyright (c) 2013 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_strlcmp.h 578 2012-04-06 00:45:59Z des $
+ * $OpenPAM: openpam_dlfunc.h 938 2017-04-30 21:34:42Z des $
  */
 
-#ifndef OPENPAM_STRLCMP_H_INCLUDED
-#define OPENPAM_STRLCMP_H_INCLUDED
+#ifndef OPENPAM_DLFCN_H_INCLUDED
+#define OPENPAM_DLFCN_H_INCLUDED
 
-#ifndef HAVE_STRLCMP
-/* like strcmp(3), but verifies that the entirety of s1 was matched */
-static int
-strlcmp(const char *s1, const char *s2, size_t len)
+#ifndef HAVE_DLFUNC
+typedef void (*dlfunc_t)();
+
+static inline dlfunc_t
+dlfunc(void *handle, const char *symbol)
 {
 
-       for (; len && *s1 && *s2; --len, ++s1, ++s2)
-               if (*s1 != *s2)
-                       return ((unsigned char)*s1 - (unsigned char)*s2);
-       return ((unsigned char)*s1);
+       return ((dlfunc_t)dlsym(handle, symbol));
 }
 #endif
 
similarity index 53%
rename from contrib/openpam/lib/openpam_dynamic.c
rename to contrib/openpam/lib/libpam/openpam_dynamic.c
index 1dfc1ac..6a0f006 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_dynamic.c 607 2012-04-20 11:09:37Z des $
+ * $OpenPAM: openpam_dynamic.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
 
+#include <sys/param.h>
+
 #include <dlfcn.h>
-#include <fcntl.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -50,6 +52,9 @@
 #include <security/pam_appl.h>
 
 #include "openpam_impl.h"
+#include "openpam_asprintf.h"
+#include "openpam_ctype.h"
+#include "openpam_dlfunc.h"
 
 #ifndef RTLD_NOW
 #define RTLD_NOW RTLD_LAZY
@@ -68,8 +73,12 @@ try_dlopen(const char *modfn)
        void *dlh;
        int fd;
 
-       if ((fd = open(modfn, O_RDONLY)) < 0)
+       openpam_log(PAM_LOG_LIBDEBUG, "dlopen(%s)", modfn);
+       if ((fd = open(modfn, O_RDONLY)) < 0) {
+               if (errno != ENOENT)
+                       openpam_log(PAM_LOG_ERROR, "%s: %m", modfn);
                return (NULL);
+       }
        if (OPENPAM_FEATURE(VERIFY_MODULE_FILE) &&
            openpam_check_desc_owner_perms(modfn, fd) != 0) {
                close(fd);
@@ -91,6 +100,7 @@ try_dlopen(const char *modfn)
        int check_module_file;
        void *dlh;
 
+       openpam_log(PAM_LOG_LIBDEBUG, "dlopen(%s)", modfn);
        openpam_get_feature(OPENPAM_VERIFY_MODULE_FILE,
            &check_module_file);
        if (check_module_file &&
@@ -106,83 +116,147 @@ try_dlopen(const char *modfn)
 #endif
 
 /*
- * OpenPAM internal
- *
- * Locate a dynamically linked module
+ * Try to load a module from the suggested location.
  */
-
-pam_module_t *
-openpam_dynamic(const char *path)
+static pam_module_t *
+try_module(const char *modpath)
 {
        const pam_module_t *dlmodule;
        pam_module_t *module;
-       const char *prefix;
-       char *vpath;
-       void *dlh;
        int i, serrno;
 
-       dlh = NULL;
-
-       /* Prepend the standard prefix if not an absolute pathname. */
-       if (path[0] != '/')
-               prefix = OPENPAM_MODULES_DIR;
-       else
-               prefix = "";
-
-       /* try versioned module first, then unversioned module */
-       if (asprintf(&vpath, "%s%s.%d", prefix, path, LIB_MAJ) < 0)
+       if ((module = calloc(1, sizeof *module)) == NULL ||
+           (module->path = strdup(modpath)) == NULL ||
+           (module->dlh = try_dlopen(modpath)) == NULL)
                goto err;
-       if ((dlh = try_dlopen(vpath)) == NULL && errno == ENOENT) {
-               *strrchr(vpath, '.') = '\0';
-               dlh = try_dlopen(vpath);
-       }
-       if (dlh == NULL)
-               goto err;
-       if ((module = calloc(1, sizeof *module)) == NULL)
-               goto buf_err;
-       if ((module->path = strdup(path)) == NULL)
-               goto buf_err;
-       module->dlh = dlh;
-       dlmodule = dlsym(dlh, "_pam_module");
+       dlmodule = dlsym(module->dlh, "_pam_module");
        for (i = 0; i < PAM_NUM_PRIMITIVES; ++i) {
                if (dlmodule) {
                        module->func[i] = dlmodule->func[i];
                } else {
-                       module->func[i] =
-                           (pam_func_t)dlsym(dlh, pam_sm_func_name[i]);
+                       module->func[i] = (pam_func_t)dlfunc(module->dlh,
+                           pam_sm_func_name[i]);
                        /*
                         * This openpam_log() call is a major source of
                         * log spam, and the cases that matter are caught
                         * and logged in openpam_dispatch().  This would
                         * be less problematic if dlerror() returned an
                         * error code so we could log an error only when
-                        * dlsym() failed for a reason other than "no such
-                        * symbol".
+                        * dlfunc() failed for a reason other than "no
+                        * such symbol".
                         */
 #if 0
                        if (module->func[i] == NULL)
-                               openpam_log(PAM_LOG_DEBUG, "%s: %s(): %s",
-                                   path, pam_sm_func_name[i], dlerror());
+                               openpam_log(PAM_LOG_LIBDEBUG, "%s: %s(): %s",
+                                   modpath, pam_sm_func_name[i], dlerror());
 #endif
                }
        }
-       FREE(vpath);
        return (module);
-buf_err:
-       serrno = errno;
-       if (dlh != NULL)
-               dlclose(dlh);
-       FREE(module);
-       errno = serrno;
 err:
        serrno = errno;
-       if (errno != 0)
-               openpam_log(PAM_LOG_ERROR, "%s: %m", vpath);
-       FREE(vpath);
+       if (module != NULL) {
+               if (module->dlh != NULL)
+                       dlclose(module->dlh);
+               if (module->path != NULL)
+                       FREE(module->path);
+               FREE(module);
+       }
+       errno = serrno;
+       if (serrno != 0 && serrno != ENOENT)
+               openpam_log(PAM_LOG_ERROR, "%s: %m", modpath);
        errno = serrno;
        return (NULL);
 }
 
+/*
+ * OpenPAM internal
+ *
+ * Locate a dynamically linked module
+ */
+
+pam_module_t *
+openpam_dynamic(const char *modname)
+{
+       pam_module_t *module;
+       char modpath[PATH_MAX];
+       const char **path, *p;
+       int has_so, has_ver;
+       int dot, len;
+
+       /*
+        * Simple case: module name contains path separator(s)
+        */
+       if (strchr(modname, '/') != NULL) {
+               /*
+                * Absolute paths are not allowed if RESTRICT_MODULE_NAME
+                * is in effect (default off).  Relative paths are never
+                * allowed.
+                */
+               if (OPENPAM_FEATURE(RESTRICT_MODULE_NAME) ||
+                   modname[0] != '/') {
+                       openpam_log(PAM_LOG_ERROR,
+                           "invalid module name: %s", modname);
+                       return (NULL);
+               }
+               return (try_module(modname));
+       }
+
+       /*
+        * Check for .so and version sufixes
+        */
+       p = strchr(modname, '\0');
+       has_ver = has_so = 0;
+       while (is_digit(*p))
+               --p;
+       if (*p == '.' && *++p != '\0') {
+               /* found a numeric suffix */
+               has_ver = 1;
+               /* assume that .so is either present or unneeded */
+               has_so = 1;
+       } else if (*p == '\0' && p >= modname + sizeof PAM_SOEXT &&
+           strcmp(p - sizeof PAM_SOEXT + 1, PAM_SOEXT) == 0) {
+               /* found .so suffix */
+               has_so = 1;
+       }
+
+       /*
+        * Complicated case: search for the module in the usual places.
+        */
+       for (path = openpam_module_path; *path != NULL; ++path) {
+               /*
+                * Assemble the full path, including the version suffix.  Take
+                * note of where the suffix begins so we can cut it off later.
+                */
+               if (has_ver)
+                       len = snprintf(modpath, sizeof modpath, "%s/%s%n",
+                           *path, modname, &dot);
+               else if (has_so)
+                       len = snprintf(modpath, sizeof modpath, "%s/%s%n.%d",
+                           *path, modname, &dot, LIB_MAJ);
+               else
+                       len = snprintf(modpath, sizeof modpath, "%s/%s%s%n.%d",
+                           *path, modname, PAM_SOEXT, &dot, LIB_MAJ);
+               /* check for overflow */
+               if (len < 0 || (unsigned int)len >= sizeof modpath) {
+                       errno = ENOENT;
+                       continue;
+               }
+               /* try the versioned path */
+               if ((module = try_module(modpath)) != NULL)
+                       return (module);
+               if (errno == ENOENT && modpath[dot] != '\0') {
+                       /* no luck, try the unversioned path */
+                       modpath[dot] = '\0';
+                       if ((module = try_module(modpath)) != NULL)
+                               return (module);
+               }
+       }
+
+       /* :( */
+       return (NULL);
+}
+
 /*
  * NOPARSE
  */
similarity index 90%
rename from contrib/openpam/lib/openpam_features.c
rename to contrib/openpam/lib/libpam/openpam_features.c
index 586fc2a..afffe64 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2012-2015 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_features.c 608 2012-05-17 16:00:13Z des $
+ * $OpenPAM: openpam_features.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -66,4 +65,9 @@ struct openpam_feature openpam_features[OPENPAM_NUM_FEATURES] = {
            "Verify ownership and permissions of module files",
            1
        ),
+       STRUCT_OPENPAM_FEATURE(
+           FALLBACK_TO_OTHER,
+           "Fall back to \"other\" policy for empty chains",
+           1
+       ),
 };
similarity index 96%
copy from contrib/openpam/lib/openpam_features.h
copy to contrib/openpam/lib/libpam/openpam_features.h
index 227b1a9..30c0d1a 100644 (file)
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id$
+ * $OpenPAM: openpam_features.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_FEATURES_H_INCLUDED
similarity index 93%
rename from contrib/openpam/lib/openpam_findenv.c
rename to contrib/openpam/lib/libpam/openpam_findenv.c
index b833ec9..99cdcd1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_findenv.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_findenv.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
 
+#include <errno.h>
 #include <string.h>
 
 #include <security/pam_appl.h>
@@ -59,12 +60,11 @@ openpam_findenv(pam_handle_t *pamh,
        int i;
 
        ENTER();
-       if (pamh == NULL)
-               RETURNN(-1);
        for (i = 0; i < pamh->env_count; ++i)
                if (strncmp(pamh->env[i], name, len) == 0 &&
                    pamh->env[i][len] == '=')
                        RETURNN(i);
+       errno = ENOENT;
        RETURNN(-1);
 }
 
similarity index 97%
rename from contrib/openpam/lib/openpam_free_data.c
rename to contrib/openpam/lib/libpam/openpam_free_data.c
index 561687c..c4be65c 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_free_data.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_free_data.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -25,7 +24,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: openpam_free_envlist.c 447 2011-10-22 02:47:36Z des $
+ * $OpenPAM: openpam_free_envlist.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
similarity index 93%
rename from contrib/openpam/lib/openpam_get_feature.c
rename to contrib/openpam/lib/libpam/openpam_get_feature.c
index b552357..5f2b66d 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2012-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_get_feature.c 608 2012-05-17 16:00:13Z des $
+ * $OpenPAM: openpam_get_feature.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -51,7 +50,7 @@ openpam_get_feature(int feature, int *onoff)
 
        ENTERF(feature);
        if (feature < 0 || feature >= OPENPAM_NUM_FEATURES)
-               RETURNC(PAM_SYMBOL_ERR);
+               RETURNC(PAM_BAD_FEATURE);
        *onoff = openpam_features[feature].onoff;
        RETURNC(PAM_SUCCESS);
 }
@@ -59,7 +58,7 @@ openpam_get_feature(int feature, int *onoff)
 /*
  * Error codes:
  *
- *     PAM_SYMBOL_ERR
+ *     PAM_BAD_FEATURE
  */
 
 /**
similarity index 97%
rename from contrib/openpam/lib/openpam_get_option.c
rename to contrib/openpam/lib/libpam/openpam_get_option.c
index 1f62d21..3d158d2 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_get_option.c 531 2012-03-31 14:24:37Z des $
+ * $OpenPAM: openpam_get_option.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
similarity index 80%
rename from contrib/openpam/lib/openpam_impl.h
rename to contrib/openpam/lib/libpam/openpam_impl.h
index 9e8b45f..ad50bc1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2001-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_impl.h 594 2012-04-14 14:18:41Z des $
+ * $OpenPAM: openpam_impl.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_IMPL_H_INCLUDED
@@ -122,19 +122,6 @@ struct pam_handle {
        int              env_size;
 };
 
-#ifdef NGROUPS_MAX
-/*
- * Saved credentials
- */
-#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
-
 /*
  * Default policy
  */
@@ -143,19 +130,28 @@ struct pam_saved_cred {
 /*
  * Internal functions
  */
-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);
-pam_module_t   *openpam_load_module(const char *);
-void            openpam_clear_chains(pam_chain_t **);
-
-int             openpam_check_desc_owner_perms(const char *, int);
-int             openpam_check_path_owner_perms(const char *);
+int             openpam_configure(pam_handle_t *, const char *)
+       OPENPAM_NONNULL((1));
+int             openpam_dispatch(pam_handle_t *, int, int)
+       OPENPAM_NONNULL((1));
+int             openpam_findenv(pam_handle_t *, const char *, size_t)
+       OPENPAM_NONNULL((1,2));
+pam_module_t   *openpam_load_module(const char *)
+       OPENPAM_NONNULL((1));
+void            openpam_clear_chains(pam_chain_t **)
+       OPENPAM_NONNULL((1));
+
+int             openpam_check_desc_owner_perms(const char *, int)
+       OPENPAM_NONNULL((1));
+int             openpam_check_path_owner_perms(const char *)
+       OPENPAM_NONNULL((1));
 
 #ifdef OPENPAM_STATIC_MODULES
-pam_module_t   *openpam_static(const char *);
+pam_module_t   *openpam_static(const char *)
+       OPENPAM_NONNULL((1));
 #endif
-pam_module_t   *openpam_dynamic(const char *);
+pam_module_t   *openpam_dynamic(const char *)
+       OPENPAM_NONNULL((1));
 
 #define        FREE(p)                                 \
        do {                                    \
@@ -165,11 +161,11 @@ pam_module_t      *openpam_dynamic(const char *);
 
 #define FREEV(c, v)                            \
        do {                                    \
-               while (c) {                     \
-                       --(c);                  \
-                       FREE((v)[(c)]);         \
+               if ((v) != NULL) {              \
+                       while ((c)-- > 0)       \
+                               FREE((v)[(c)]); \
+                       FREE(v);                \
                }                               \
-               FREE(v);                        \
        } while (0)
 
 #include "openpam_constants.h"
similarity index 87%
rename from contrib/openpam/lib/openpam_load.c
rename to contrib/openpam/lib/libpam/openpam_load.c
index 871d1a8..2edd5ef 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2013 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_load.c 547 2012-04-01 15:01:21Z des $
+ * $OpenPAM: openpam_load.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
  */
 
 pam_module_t *
-openpam_load_module(const char *path)
+openpam_load_module(const char *modulename)
 {
        pam_module_t *module;
 
-       module = openpam_dynamic(path);
+       module = openpam_dynamic(modulename);
        openpam_log(PAM_LOG_DEBUG, "%s dynamic %s",
-           (module == NULL) ? "no" : "using", path);
+           (module == NULL) ? "no" : "using", modulename);
 
 #ifdef OPENPAM_STATIC_MODULES
        /* look for a static module */
-       if (module == NULL && strchr(path, '/') == NULL) {
-               module = openpam_static(path);
+       if (module == NULL && strchr(modulename, '/') == NULL) {
+               module = openpam_static(modulename);
                openpam_log(PAM_LOG_DEBUG, "%s static %s",
-                   (module == NULL) ? "no" : "using", path);
+                   (module == NULL) ? "no" : "using", modulename);
        }
 #endif
        if (module == NULL) {
-               openpam_log(PAM_LOG_ERROR, "no %s found", path);
+               openpam_log(PAM_LOG_ERROR, "no %s found", modulename);
                return (NULL);
        }
        return (module);
@@ -84,6 +84,7 @@ openpam_load_module(const char *path)
 static void
 openpam_release_module(pam_module_t *module)
 {
+
        if (module == NULL)
                return;
        if (module->dlh == NULL)
@@ -104,6 +105,7 @@ openpam_release_module(pam_module_t *module)
 static void
 openpam_destroy_chain(pam_chain_t *chain)
 {
+
        if (chain == NULL)
                return;
        openpam_destroy_chain(chain->next);
similarity index 95%
rename from contrib/openpam/lib/openpam_log.c
rename to contrib/openpam/lib/libpam/openpam_log.c
index 2b89f6c..ecb6758 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_log.c 544 2012-03-31 22:47:15Z des $
+ * $OpenPAM: openpam_log.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
 #include <security/pam_appl.h>
 
 #include "openpam_impl.h"
+#include "openpam_asprintf.h"
 
-#ifdef OPENPAM_DEBUG
-int openpam_debug = 1;
-#else
 int openpam_debug = 0;
-#endif
 
 #if !defined(openpam_log)
 
@@ -68,6 +65,7 @@ openpam_log(int level, const char *fmt, ...)
 {
        va_list ap;
        int priority;
+       int serrno;
 
        switch (level) {
        case PAM_LOG_LIBDEBUG:
@@ -87,9 +85,11 @@ openpam_log(int level, const char *fmt, ...)
                priority = LOG_ERR;
                break;
        }
+       serrno = errno;
        va_start(ap, fmt);
        vsyslog(priority, fmt, ap);
        va_end(ap);
+       errno = serrno;
 }
 
 #else
@@ -120,8 +120,8 @@ _openpam_log(int level, const char *func, const char *fmt, ...)
                priority = LOG_ERR;
                break;
        }
-       va_start(ap, fmt);
        serrno = errno;
+       va_start(ap, fmt);
        if (asprintf(&format, "in %s(): %s", func, fmt) > 0) {
                errno = serrno;
                vsyslog(priority, format, ap);
@@ -131,6 +131,7 @@ _openpam_log(int level, const char *func, const char *fmt, ...)
                vsyslog(priority, fmt, ap);
        }
        va_end(ap);
+       errno = serrno;
 }
 
 #endif
@@ -167,4 +168,6 @@ _openpam_log(int level, const char *func, const char *fmt, ...)
  *
  * The remaining arguments are a =printf format string and the
  * corresponding arguments.
+ *
+ * The =openpam_log function does not modify the value of :errno.
  */
similarity index 97%
rename from contrib/openpam/lib/openpam_nullconv.c
rename to contrib/openpam/lib/libpam/openpam_nullconv.c
index a95b1e0..720b533 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_nullconv.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_nullconv.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
similarity index 93%
rename from contrib/openpam/lib/openpam_readline.c
rename to contrib/openpam/lib/libpam/openpam_readline.c
index 014acfb..e43291f 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_readline.c 596 2012-04-14 14:52:40Z des $
+ * $OpenPAM: openpam_readline.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
 
-#include <ctype.h>
 #include <stdio.h>
 #include <stdlib.h>
 
@@ -62,11 +61,9 @@ openpam_readline(FILE *f, int *lineno, size_t *lenp)
        size_t len, size;
        int ch;
 
-       if ((line = malloc(size = MIN_LINE_LENGTH)) == NULL) {
-               openpam_log(PAM_LOG_ERROR, "malloc(): %m");
+       line = NULL;
+       if (openpam_straddch(&line, &size, &len, 0) != 0)
                return (NULL);
-       }
-       len = 0;
        for (;;) {
                ch = fgetc(f);
                /* strip comment */
@@ -103,7 +100,6 @@ openpam_readline(FILE *f, int *lineno, size_t *lenp)
                goto fail;
        if (lenp != NULL)
                *lenp = len;
-       openpam_log(PAM_LOG_LIBDEBUG, "returning '%s'", line);
        return (line);
 fail:
        FREE(line);
similarity index 97%
rename from contrib/openpam/lib/openpam_readlinev.c
rename to contrib/openpam/lib/libpam/openpam_readlinev.c
index 5a43b61..a0df81f 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2012-2016 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_readlinev.c 588 2012-04-08 11:52:25Z des $
+ * $OpenPAM: openpam_readlinev.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -80,6 +79,7 @@ openpam_readlinev(FILE *f, int *lineno, int *lenp)
                /* insert our word */
                wordv[wordvlen++] = word;
                wordv[wordvlen] = NULL;
+               word = NULL;
        }
        if (errno != 0) {
                /* I/O error or out of memory */
@@ -87,6 +87,7 @@ openpam_readlinev(FILE *f, int *lineno, int *lenp)
                while (wordvlen--)
                        free(wordv[wordvlen]);
                free(wordv);
+               free(word);
                errno = serrno;
                return (NULL);
        }
similarity index 88%
rename from contrib/openpam/lib/openpam_readword.c
rename to contrib/openpam/lib/libpam/openpam_readword.c
index 74a4d46..4a58a81 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2012-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_readword.c 588 2012-04-08 11:52:25Z des $
+ * $OpenPAM: openpam_readword.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -56,18 +55,35 @@ openpam_readword(FILE *f, int *lineno, size_t *lenp)
 {
        char *word;
        size_t size, len;
-       int ch, comment, escape, quote;
+       int ch, escape, quote;
        int serrno;
 
        errno = 0;
 
        /* skip initial whitespace */
-       comment = 0;
-       while ((ch = getc(f)) != EOF && ch != '\n') {
-               if (ch == '#')
-                       comment = 1;
-               if (!is_lws(ch) && !comment)
+       escape = quote = 0;
+       while ((ch = getc(f)) != EOF) {
+               if (ch == '\n') {
+                       /* either EOL or line continuation */
+                       if (!escape)
+                               break;
+                       if (lineno != NULL)
+                               ++*lineno;
+                       escape = 0;
+               } else if (escape) {
+                       /* escaped something else */
+                       break;
+               } else if (ch == '#') {
+                       /* comment: until EOL, no continuation */
+                       while ((ch = getc(f)) != EOF)
+                               if (ch == '\n')
+                                       break;
+                       break;
+               } else if (ch == '\\') {
+                       escape = 1;
+               } else if (!is_ws(ch)) {
                        break;
+               }
        }
        if (ch == EOF)
                return (NULL);
@@ -77,7 +93,6 @@ openpam_readword(FILE *f, int *lineno, size_t *lenp)
 
        word = NULL;
        size = len = 0;
-       escape = quote = 0;
        while ((ch = fgetc(f)) != EOF && (!is_ws(ch) || quote || escape)) {
                if (ch == '\\' && !escape && quote != '\'') {
                        /* escape next character */
@@ -86,17 +101,12 @@ openpam_readword(FILE *f, int *lineno, size_t *lenp)
                        /* begin quote */
                        quote = ch;
                        /* edge case: empty quoted string */
-                       if (word == NULL && (word = malloc(1)) == NULL) {
-                               openpam_log(PAM_LOG_ERROR, "malloc(): %m");
-                               errno = ENOMEM;
+                       if (openpam_straddch(&word, &size, &len, 0) != 0)
                                return (NULL);
-                       }
-                       *word = '\0';
-                       size = 1;
                } else if (ch == quote && !escape) {
                        /* end quote */
                        quote = 0;
-               } else if (ch == '\n' && escape && quote != '\'') {
+               } else if (ch == '\n' && escape) {
                        /* line continuation */
                        escape = 0;
                } else {
@@ -124,7 +134,7 @@ openpam_readword(FILE *f, int *lineno, size_t *lenp)
        }
        if (ch == EOF && (escape || quote)) {
                /* Missing escaped character or closing quote. */
-               openpam_log(PAM_LOG_ERROR, "unexpected end of file");
+               openpam_log(PAM_LOG_DEBUG, "unexpected end of file");
                free(word);
                errno = EINVAL;
                return (NULL);
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_restore_cred.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_restore_cred.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -50,6 +50,7 @@
 #include <security/pam_appl.h>
 
 #include "openpam_impl.h"
+#include "openpam_cred.h"
 
 /*
  * OpenPAM extension
similarity index 91%
rename from contrib/openpam/lib/openpam_set_feature.c
rename to contrib/openpam/lib/libpam/openpam_set_feature.c
index 4f6a4a5..f588b17 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2012-2017 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_set_feature.c 608 2012-05-17 16:00:13Z des $
+ * $OpenPAM: openpam_set_feature.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -51,7 +50,7 @@ openpam_set_feature(int feature, int onoff)
 
        ENTERF(feature);
        if (feature < 0 || feature >= OPENPAM_NUM_FEATURES)
-               RETURNC(PAM_SYMBOL_ERR);
+               RETURNC(PAM_BAD_FEATURE);
        openpam_features[feature].onoff = onoff;
        RETURNC(PAM_SUCCESS);
 }
@@ -59,7 +58,7 @@ openpam_set_feature(int feature, int onoff)
 /*
  * Error codes:
  *
- *     PAM_SYMBOL_ERR
+ *     PAM_BAD_FEATURE
  */
 
 /**
similarity index 97%
rename from contrib/openpam/lib/openpam_set_option.c
rename to contrib/openpam/lib/libpam/openpam_set_option.c
index 1712a71..e22fb3b 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_set_option.c 532 2012-03-31 14:24:53Z des $
+ * $OpenPAM: openpam_set_option.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -48,6 +48,7 @@
 #include <security/pam_appl.h>
 
 #include "openpam_impl.h"
+#include "openpam_asprintf.h"
 
 /*
  * OpenPAM extension
similarity index 97%
rename from contrib/openpam/lib/openpam_static.c
rename to contrib/openpam/lib/libpam/openpam_static.c
index 40b807c..0816b4c 100644 (file)
@@ -32,7 +32,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_static.c 437 2011-09-13 12:00:13Z des $
+ * $OpenPAM: openpam_static.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
similarity index 87%
rename from contrib/openpam/lib/openpam_straddch.c
rename to contrib/openpam/lib/libpam/openpam_straddch.c
index 9845cc6..0bb32d2 100644 (file)
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_straddch.c 568 2012-04-05 14:35:53Z des $
+ * $OpenPAM: openpam_straddch.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
@@ -66,7 +65,7 @@ openpam_straddch(char **str, size_t *size, size_t *len, int ch)
                *str = tmpstr;
                *size = tmpsize;
                *len = 0;
-       } else if (*len + 1 >= *size) {
+       } else if (ch != 0 && *len + 1 >= *size) {
                /* additional space required */
                tmpsize = *size * 2;
                if ((tmpstr = realloc(*str, tmpsize)) == NULL) {
@@ -77,8 +76,10 @@ openpam_straddch(char **str, size_t *size, size_t *len, int ch)
                *size = tmpsize;
                *str = tmpstr;
        }
-       (*str)[*len] = ch;
-       ++*len;
+       if (ch != 0) {
+               (*str)[*len] = ch;
+               ++*len;
+       }
        (*str)[*len] = '\0';
        return (0);
 }
@@ -95,6 +96,11 @@ openpam_straddch(char **str, size_t *size, size_t *len, int ch)
  * The =size and =len argument point to variables used to hold the size
  * of the buffer and the length of the string it contains, respectively.
  *
+ * The final argument, =ch, is the character that should be appended to
+ * the string.  If =ch is 0, nothing is appended, but a new buffer is
+ * still allocated if =str is NULL.  This can be used to "bootstrap" the
+ * string.
+ *
  * If a new buffer is allocated or an existing buffer is reallocated to
  * make room for the additional character, =str and =size are updated
  * accordingly.
@@ -103,7 +109,7 @@ openpam_straddch(char **str, size_t *size, size_t *len, int ch)
  * NUL-terminated.
  *
  * If the =openpam_straddch function is successful, it increments the
- * integer variable pointed to by =len and returns 0.
+ * integer variable pointed to by =len (unless =ch was 0) and returns 0.
  * Otherwise, it leaves the variables pointed to by =str, =size and =len
  * unmodified, sets :errno to =ENOMEM and returns -1.
  *
similarity index 79%
copy from contrib/openpam/lib/openpam_strlcat.h
copy to contrib/openpam/lib/libpam/openpam_strlcat.h
index 1f26693..f561283 100644 (file)
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_strlcat.h 578 2012-04-06 00:45:59Z des $
+ * $OpenPAM: openpam_strlcat.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_STRLCAT_H_INCLUDED
 #define OPENPAM_STRLCAT_H_INCLUDED
 
 #ifndef HAVE_STRLCAT
-/* like strcat(3), but always NUL-terminates; returns strlen(src) */
-static size_t
-strlcat(char *dst, const char *src, size_t size)
-{
-       size_t len;
-
-       for (len = 0; *dst && size > 1; ++len, --size)
-               dst++;
-       for (; *src && size > 1; ++len, --size)
-               *dst++ = *src++;
-       *dst = '\0';
-       while (*src)
-               ++len, ++src;
-       return (len);
-}
+size_t openpam_strlcat(char *, const char *, size_t);
+#undef strlcat
+#define strlcat(arg, ...) openpam_strlcat(arg, __VA_ARGS__)
 #endif
 
 #endif
similarity index 81%
rename from contrib/openpam/lib/openpam_strlcpy.h
rename to contrib/openpam/lib/libpam/openpam_strlcpy.h
index 9c65548..40d300f 100644 (file)
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_strlcpy.h 578 2012-04-06 00:45:59Z des $
+ * $OpenPAM: openpam_strlcpy.h 938 2017-04-30 21:34:42Z des $
  */
 
 #ifndef OPENPAM_STRLCPY_H_INCLUDED
 #define OPENPAM_STRLCPY_H_INCLUDED
 
 #ifndef HAVE_STRLCPY
-/* like strcpy(3), but always NUL-terminates; returns strlen(src) */
-static size_t
-strlcpy(char *dst, const char *src, size_t size)
-{
-       size_t len;
-
-       for (len = 0; *src && size > 1; ++len, --size)
-               *dst++ = *src++;
-       *dst = '\0';
-       while (*src)
-               ++len, ++src;
-       return (len);
-}
+size_t openpam_strlcpy(char *, const char *, size_t);
+#undef strlcpy
+#define strlcpy(arg, ...) openpam_strlcpy(arg, __VA_ARGS__)
 #endif
 
 #endif
similarity index 73%
rename from contrib/openpam/lib/openpam_strlcat.h
rename to contrib/openpam/lib/libpam/openpam_strlset.c
index 1f26693..e3a32db 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2011 Dag-Erling Smørgrav
+ * Copyright (c) 2014 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_strlcat.h 578 2012-04-06 00:45:59Z des $
+ * $OpenPAM: openpam_strlset.c 938 2017-04-30 21:34:42Z des $
  */
 
-#ifndef OPENPAM_STRLCAT_H_INCLUDED
-#define OPENPAM_STRLCAT_H_INCLUDED
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#ifndef HAVE_STRLSET
+
+#include <stddef.h>
 
-#ifndef HAVE_STRLCAT
-/* like strcat(3), but always NUL-terminates; returns strlen(src) */
-static size_t
-strlcat(char *dst, const char *src, size_t size)
+#include "openpam_strlset.h"
+
+/*
+ * like memset(3), but stops at the first NUL byte and NUL-terminates the
+ * result.  Returns the number of bytes that were written, not including
+ * the terminating NUL.
+ */
+size_t
+openpam_strlset(char *str, int ch, size_t size)
 {
        size_t len;
 
-       for (len = 0; *dst && size > 1; ++len, --size)
-               dst++;
-       for (; *src && size > 1; ++len, --size)
-               *dst++ = *src++;
-       *dst = '\0';
-       while (*src)
-               ++len, ++src;
-       return (len);
+       for (len = 0; *str && size > 1; ++len, --size)
+               *str++ = ch;
+       *str = '\0';
+       return (++len);
 }
-#endif
 
 #endif
similarity index 78%
rename from contrib/openpam/lib/openpam_features.h
rename to contrib/openpam/lib/libpam/openpam_strlset.h
index 227b1a9..73bfb61 100644 (file)
@@ -1,13 +1,12 @@
 /*-
- * Copyright (c) 2012 Dag-Erling Smørgrav
+ * Copyright (c) 2014 Dag-Erling Smørgrav
  * All rights reserved.
  *
  * 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
- *    in this position and unchanged.
+ *    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.
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id$
+ * $OpenPAM: openpam_strlset.h 938 2017-04-30 21:34:42Z des $
  */
 
-#ifndef OPENPAM_FEATURES_H_INCLUDED
-#define OPENPAM_FEATURES_H_INCLUDED
+#ifndef OPENPAM_STRLSET_H_INCLUDED
+#define OPENPAM_STRLSET_H_INCLUDED
 
-struct openpam_feature {
-       const char *name;
-       const char *desc;
-       int onoff;
-};
-
-extern struct openpam_feature openpam_features[OPENPAM_NUM_FEATURES];
-
-/* shortcut for internal use */
-#define OPENPAM_FEATURE(f) \
-       openpam_features[OPENPAM_##f].onoff
+#ifndef HAVE_STRLSET
+size_t openpam_strlset(char *, int, size_t);
+#undef strlset
+#define strlset(arg, ...) openpam_strlset(arg, __VA_ARGS__)
+#endif
 
 #endif
similarity index 97%
rename from contrib/openpam/lib/openpam_subst.c
rename to contrib/openpam/lib/libpam/openpam_subst.c
index bab7a78..6456aee 100644 (file)
@@ -6,8 +6,7 @@
  * 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
- *    in this position and unchanged.
+ *    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.
@@ -27,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $Id: openpam_subst.c 543 2012-03-31 22:11:34Z des $
+ * $OpenPAM: openpam_subst.c 938 2017-04-30 21:34:42Z des $
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/contrib/openpam/lib/libpam/openpam_ttyconv.c b/contrib/openpam/lib/libpam/openpam_ttyconv.c
new file mode 100644 (file)
index 0000000..8066b3b
--- /dev/null
@@ -0,0 +1,402 @@
+/*-
+ * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
+ * Copyright (c) 2004-2014 Dag-Erling Smørgrav
+ * All rights reserved.
+ *
+ * This software was developed for the FreeBSD Project by ThinkSec AS and
+ * Network Associates Laboratories, 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.
+ *
+ * $OpenPAM: openpam_ttyconv.c 938 2017-04-30 21:34:42Z des $
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <sys/types.h>
+#include <sys/poll.h>
+#include <sys/time.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include <security/pam_appl.h>
+
+#include "openpam_impl.h"
+#include "openpam_strlset.h"
+
+int openpam_ttyconv_timeout = 0;
+
+static volatile sig_atomic_t caught_signal;
+
+/*
+ * Handle incoming signals during tty conversation
+ */
+static void
+catch_signal(int signo)
+{
+
+       switch (signo) {
+       case SIGINT:
+       case SIGQUIT:
+       case SIGTERM:
+               caught_signal = signo;
+               break;
+       }
+}
+
+/*
+ * Accept a response from the user on a tty
+ */
+static int
+prompt_tty(int ifd, int ofd, const char *message, char *response, int echo)
+{
+       struct sigaction action;
+       struct sigaction saction_sigint, saction_sigquit, saction_sigterm;
+       struct termios tcattr;
+       struct timeval now, target, remaining;
+       int remaining_ms;
+       tcflag_t slflag;
+       struct pollfd pfd;
+       int serrno;
+       int pos, ret;
+       char ch;
+
+       /* write prompt */
+       if (write(ofd, message, strlen(message)) < 0) {
+               openpam_log(PAM_LOG_ERROR, "write(): %m");
+               return (-1);
+       }
+
+       /* turn echo off if requested */
+       slflag = 0; /* prevent bogus uninitialized variable warning */
+       if (!echo) {
+               if (tcgetattr(ifd, &tcattr) != 0) {
+                       openpam_log(PAM_LOG_ERROR, "tcgetattr(): %m");
+                       return (-1);
+               }
+               slflag = tcattr.c_lflag;
+               tcattr.c_lflag &= ~ECHO;
+               if (tcsetattr(ifd, TCSAFLUSH, &tcattr) != 0) {
+                       openpam_log(PAM_LOG_ERROR, "tcsetattr(): %m");
+                       return (-1);
+               }
+       }
+
+       /* install signal handlers */
+       caught_signal = 0;
+       action.sa_handler = &catch_signal;
+       action.sa_flags = 0;
+       sigfillset(&action.sa_mask);
+       sigaction(SIGINT, &action, &saction_sigint);
+       sigaction(SIGQUIT, &action, &saction_sigquit);
+       sigaction(SIGTERM, &action, &saction_sigterm);
+
+       /* compute timeout */
+       if (openpam_ttyconv_timeout > 0) {
+               (void)gettimeofday(&now, NULL);
+               remaining.tv_sec = openpam_ttyconv_timeout;
+               remaining.tv_usec = 0;
+               timeradd(&now, &remaining, &target);
+       } else {
+               /* prevent bogus uninitialized variable warning */
+               now.tv_sec = now.tv_usec = 0;
+               remaining.tv_sec = remaining.tv_usec = 0;
+               target.tv_sec = target.tv_usec = 0;
+       }
+
+       /* input loop */
+       pos = 0;
+       ret = -1;
+       serrno = 0;
+       while (!caught_signal) {
+               pfd.fd = ifd;
+               pfd.events = POLLIN;
+               pfd.revents = 0;
+               if (openpam_ttyconv_timeout > 0) {
+                       gettimeofday(&now, NULL);
+                       if (timercmp(&now, &target, >))
+                               break;
+                       timersub(&target, &now, &remaining);
+                       remaining_ms = remaining.tv_sec * 1000 +
+                           remaining.tv_usec / 1000;
+               } else {
+                       remaining_ms = -1;
+               }
+               if ((ret = poll(&pfd, 1, remaining_ms)) < 0) {
+                       serrno = errno;
+                       if (errno == EINTR)
+                               continue;
+                       openpam_log(PAM_LOG_ERROR, "poll(): %m");
+                       break;
+               } else if (ret == 0) {
+                       /* timeout */
+                       write(ofd, " timed out", 10);
+                       openpam_log(PAM_LOG_NOTICE, "timed out");
+                       break;
+               }
+               if ((ret = read(ifd, &ch, 1)) < 0) {
+                       serrno = errno;
+                       openpam_log(PAM_LOG_ERROR, "read(): %m");
+                       break;
+               } else if (ret == 0 || ch == '\n') {
+                       response[pos] = '\0';
+                       ret = pos;
+                       break;
+               }
+               if (pos + 1 < PAM_MAX_RESP_SIZE)
+                       response[pos++] = ch;
+               /* overflow is discarded */
+       }
+
+       /* restore tty state */
+       if (!echo) {
+               tcattr.c_lflag = slflag;
+               if (tcsetattr(ifd, 0, &tcattr) != 0) {
+                       /* treat as non-fatal, since we have our answer */
+                       openpam_log(PAM_LOG_NOTICE, "tcsetattr(): %m");
+               }
+       }
+
+       /* restore signal handlers and re-post caught signal*/
+       sigaction(SIGINT, &saction_sigint, NULL);
+       sigaction(SIGQUIT, &saction_sigquit, NULL);
+       sigaction(SIGTERM, &saction_sigterm, NULL);
+       if (caught_signal != 0) {
+               openpam_log(PAM_LOG_ERROR, "caught signal %d",
+                   (int)caught_signal);
+               raise((int)caught_signal);
+               /* if raise() had no effect... */
+               serrno = EINTR;
+               ret = -1;
+       }
+
+       /* done */
+       write(ofd, "\n", 1);
+       errno = serrno;
+       return (ret);
+}
+
+/*
+ * Accept a response from the user on a non-tty stdin.
+ */
+static int
+prompt_notty(const char *message, char *response)
+{
+       struct timeval now, target, remaining;
+       int remaining_ms;
+       struct pollfd pfd;
+       int ch, pos, ret;
+
+       /* show prompt */
+       fputs(message, stdout);
+       fflush(stdout);
+
+       /* compute timeout */
+       if (openpam_ttyconv_timeout > 0) {
+               (void)gettimeofday(&now, NULL);
+               remaining.tv_sec = openpam_ttyconv_timeout;
+               remaining.tv_usec = 0;
+               timeradd(&now, &remaining, &target);
+       } else {
+               /* prevent bogus uninitialized variable warning */
+               now.tv_sec = now.tv_usec = 0;
+               remaining.tv_sec = remaining.tv_usec = 0;
+               target.tv_sec = target.tv_usec = 0;
+       }
+
+       /* input loop */
+       pos = 0;
+       for (;;) {
+               pfd.fd = STDIN_FILENO;
+               pfd.events = POLLIN;
+               pfd.revents = 0;
+               if (openpam_ttyconv_timeout > 0) {
+                       gettimeofday(&now, NULL);
+                       if (timercmp(&now, &target, >))
+                               break;
+                       timersub(&target, &now, &remaining);
+                       remaining_ms = remaining.tv_sec * 1000 +
+                           remaining.tv_usec / 1000;
+               } else {
+                       remaining_ms = -1;
+               }
+               if ((ret = poll(&pfd, 1, remaining_ms)) < 0) {
+                       /* interrupt is ok, everything else -> bail */
+                       if (errno == EINTR)
+                               continue;
+                       perror("\nopenpam_ttyconv");
+                       return (-1);
+               } else if (ret == 0) {
+                       /* timeout */
+                       break;
+               } else {
+                       /* input */
+                       if ((ch = getchar()) == EOF && ferror(stdin)) {
+                               perror("\nopenpam_ttyconv");
+                               return (-1);
+                       }
+                       if (ch == EOF || ch == '\n') {
+                               response[pos] = '\0';
+                               return (pos);
+                       }
+                       if (pos + 1 < PAM_MAX_RESP_SIZE)
+                               response[pos++] = ch;
+                       /* overflow is discarded */
+               }
+       }
+       fputs("\nopenpam_ttyconv: timeout\n", stderr);
+       return (-1);
+}
+
+/*
+ * Determine whether stdin is a tty; if not, try to open the tty; in
+ * either case, call the appropriate method.
+ */
+static int
+prompt(const char *message, char *response, int echo)
+{
+       int ifd, ofd, ret;
+
+       if (isatty(STDIN_FILENO)) {
+               fflush(stdout);
+#ifdef HAVE_FPURGE
+               fpurge(stdin);
+#endif
+               ifd = STDIN_FILENO;
+               ofd = STDOUT_FILENO;
+       } else {
+               if ((ifd = open("/dev/tty", O_RDWR)) < 0)
+                       /*