From 4579d22cac62b140f99be77fe99c614e9d8d070f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Tue, 5 Mar 2002 13:49:56 +0000 Subject: [PATCH] Vendor import of OpenPAM Celandine. --- contrib/openpam/HISTORY | 25 +++++- contrib/openpam/INSTALL | 2 +- contrib/openpam/LICENSE | 2 +- contrib/openpam/MANIFEST | 4 + contrib/openpam/Makefile | 2 +- contrib/openpam/README | 2 +- contrib/openpam/RELNOTES | 9 +- contrib/openpam/bin/Makefile | 2 +- contrib/openpam/bin/su/Makefile | 2 +- contrib/openpam/bin/su/su.c | 2 +- contrib/openpam/doc/Makefile | 2 +- contrib/openpam/doc/man/Makefile | 2 +- contrib/openpam/doc/man/openpam_get_option.3 | 4 +- contrib/openpam/doc/man/openpam_log.3 | 4 +- contrib/openpam/doc/man/openpam_set_option.3 | 4 +- contrib/openpam/doc/man/openpam_ttyconv.3 | 4 +- contrib/openpam/doc/man/pam.3 | 4 +- contrib/openpam/doc/man/pam_acct_mgmt.3 | 4 +- contrib/openpam/doc/man/pam_authenticate.3 | 4 +- contrib/openpam/doc/man/pam_chauthtok.3 | 8 +- contrib/openpam/doc/man/pam_close_session.3 | 4 +- contrib/openpam/doc/man/pam_end.3 | 4 +- contrib/openpam/doc/man/pam_error.3 | 4 +- contrib/openpam/doc/man/pam_get_authtok.3 | 4 +- contrib/openpam/doc/man/pam_get_data.3 | 4 +- contrib/openpam/doc/man/pam_get_item.3 | 4 +- contrib/openpam/doc/man/pam_get_user.3 | 4 +- contrib/openpam/doc/man/pam_getenv.3 | 4 +- contrib/openpam/doc/man/pam_getenvlist.3 | 4 +- contrib/openpam/doc/man/pam_info.3 | 4 +- contrib/openpam/doc/man/pam_open_session.3 | 4 +- contrib/openpam/doc/man/pam_prompt.3 | 4 +- contrib/openpam/doc/man/pam_putenv.3 | 4 +- contrib/openpam/doc/man/pam_set_data.3 | 4 +- contrib/openpam/doc/man/pam_set_item.3 | 4 +- contrib/openpam/doc/man/pam_setcred.3 | 4 +- contrib/openpam/doc/man/pam_setenv.3 | 4 +- contrib/openpam/doc/man/pam_sm_acct_mgmt.3 | 4 +- contrib/openpam/doc/man/pam_sm_authenticate.3 | 4 +- contrib/openpam/doc/man/pam_sm_chauthtok.3 | 6 +- .../openpam/doc/man/pam_sm_close_session.3 | 4 +- contrib/openpam/doc/man/pam_sm_open_session.3 | 4 +- contrib/openpam/doc/man/pam_sm_setcred.3 | 4 +- contrib/openpam/doc/man/pam_start.3 | 4 +- contrib/openpam/doc/man/pam_strerror.3 | 4 +- contrib/openpam/doc/man/pam_verror.3 | 8 +- contrib/openpam/doc/man/pam_vinfo.3 | 8 +- contrib/openpam/doc/man/pam_vprompt.3 | 4 +- contrib/openpam/include/security/openpam.h | 7 +- contrib/openpam/include/security/pam_appl.h | 2 +- .../openpam/include/security/pam_constants.h | 2 +- .../openpam/include/security/pam_modules.h | 2 +- contrib/openpam/include/security/pam_types.h | 2 +- contrib/openpam/lib/Makefile | 4 +- contrib/openpam/lib/openpam_dispatch.c | 12 ++- contrib/openpam/lib/openpam_dynamic.c | 89 +++++++++++++++++++ contrib/openpam/lib/openpam_findenv.c | 2 +- contrib/openpam/lib/openpam_get_option.c | 2 +- contrib/openpam/lib/openpam_impl.h | 3 +- contrib/openpam/lib/openpam_load.c | 26 ++---- contrib/openpam/lib/openpam_log.c | 2 +- contrib/openpam/lib/openpam_set_option.c | 16 +++- contrib/openpam/lib/openpam_static.c | 2 +- contrib/openpam/lib/openpam_ttyconv.c | 2 +- contrib/openpam/lib/pam_acct_mgmt.c | 2 +- contrib/openpam/lib/pam_authenticate.c | 7 +- .../openpam/lib/pam_authenticate_secondary.c | 2 +- contrib/openpam/lib/pam_chauthtok.c | 15 +++- contrib/openpam/lib/pam_close_session.c | 2 +- contrib/openpam/lib/pam_end.c | 2 +- contrib/openpam/lib/pam_error.c | 2 +- contrib/openpam/lib/pam_get_authtok.c | 2 +- contrib/openpam/lib/pam_get_data.c | 2 +- contrib/openpam/lib/pam_get_item.c | 2 +- contrib/openpam/lib/pam_get_mapped_authtok.c | 2 +- contrib/openpam/lib/pam_get_mapped_username.c | 2 +- contrib/openpam/lib/pam_get_user.c | 2 +- contrib/openpam/lib/pam_getenv.c | 2 +- contrib/openpam/lib/pam_getenvlist.c | 2 +- contrib/openpam/lib/pam_info.c | 2 +- contrib/openpam/lib/pam_open_session.c | 2 +- contrib/openpam/lib/pam_prompt.c | 2 +- contrib/openpam/lib/pam_putenv.c | 2 +- contrib/openpam/lib/pam_set_data.c | 2 +- contrib/openpam/lib/pam_set_item.c | 2 +- contrib/openpam/lib/pam_set_mapped_authtok.c | 2 +- contrib/openpam/lib/pam_set_mapped_username.c | 2 +- contrib/openpam/lib/pam_setcred.c | 2 +- contrib/openpam/lib/pam_setenv.c | 2 +- contrib/openpam/lib/pam_sm_acct_mgmt.c | 2 +- contrib/openpam/lib/pam_sm_authenticate.c | 2 +- .../lib/pam_sm_authenticate_secondary.c | 2 +- contrib/openpam/lib/pam_sm_chauthtok.c | 3 +- contrib/openpam/lib/pam_sm_close_session.c | 2 +- .../openpam/lib/pam_sm_get_mapped_authtok.c | 2 +- .../openpam/lib/pam_sm_get_mapped_username.c | 2 +- contrib/openpam/lib/pam_sm_open_session.c | 2 +- .../openpam/lib/pam_sm_set_mapped_authtok.c | 2 +- .../openpam/lib/pam_sm_set_mapped_username.c | 2 +- contrib/openpam/lib/pam_sm_setcred.c | 2 +- contrib/openpam/lib/pam_start.c | 2 +- contrib/openpam/lib/pam_strerror.c | 2 +- contrib/openpam/lib/pam_verror.c | 4 +- contrib/openpam/lib/pam_vinfo.c | 4 +- contrib/openpam/lib/pam_vprompt.c | 2 +- contrib/openpam/misc/gendoc.pl | 4 +- contrib/openpam/modules/Makefile | 2 +- contrib/openpam/modules/pam_deny/Makefile | 2 +- contrib/openpam/modules/pam_deny/pam_deny.c | 2 +- contrib/openpam/modules/pam_dummy/Makefile | 2 +- contrib/openpam/modules/pam_dummy/pam_dummy.c | 2 +- contrib/openpam/modules/pam_permit/Makefile | 2 +- .../openpam/modules/pam_permit/pam_permit.c | 2 +- 113 files changed, 324 insertions(+), 188 deletions(-) create mode 100644 contrib/openpam/lib/openpam_dynamic.c diff --git a/contrib/openpam/HISTORY b/contrib/openpam/HISTORY index ed96088d26d..0cee583c61c 100644 --- a/contrib/openpam/HISTORY +++ b/contrib/openpam/HISTORY @@ -1,3 +1,26 @@ +============================================================================ +OpenPAM Celandine 2002-03-05 + + - BUGFIX: PAM_TRY_AGAIN is a valid return value for pam_chauthtok(). + + - BUGFIX: Run passwd chain twice, first with the PAM_PRELIM_CHECK + flag set, then with the PAM_UPDATE_AUTHTOK flag set. + + - BUGFIX: Failure of a "sufficient" module should not terminate the + passwd chain if the PAM_PRELIM_CHECK flag is set. + + - BUGFIX: Clear PAM_AUTHTOK after running the service modules. + + - ENHANCE: Prevent applications from specifying the PAM_PRELIM_CHECK + or PAM_UPDATE_AUTHTOK flags themselves. + + - BUGFIX: openpam_set_option() did not support changing the value of + an existing option. + + - ENHANCE: Add support for module versioning. OpenPAM will prefer a + module with the same version number as the library itself to one + with no version number at all. + ============================================================================ OpenPAM Cantaloupe 2002-02-22 @@ -44,4 +67,4 @@ OpenPAM Calamite 2002-02-09 First (beta) release. ============================================================================ -$Id$ +$P4: //depot/projects/openpam/HISTORY#5 $ diff --git a/contrib/openpam/INSTALL b/contrib/openpam/INSTALL index 96d8067d0d4..f489767f071 100644 --- a/contrib/openpam/INSTALL +++ b/contrib/openpam/INSTALL @@ -22,4 +22,4 @@ Change into the top-level OpenPAM directory and run 'make install'. -$Id$ +$P4: //depot/projects/openpam/INSTALL#2 $ diff --git a/contrib/openpam/LICENSE b/contrib/openpam/LICENSE index c8076d130b9..109372e015f 100644 --- a/contrib/openpam/LICENSE +++ b/contrib/openpam/LICENSE @@ -31,4 +31,4 @@ 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$ +$P4: //depot/projects/openpam/LICENSE#3 $ diff --git a/contrib/openpam/MANIFEST b/contrib/openpam/MANIFEST index 13bf8105412..af31041a416 100644 --- a/contrib/openpam/MANIFEST +++ b/contrib/openpam/MANIFEST @@ -1,3 +1,6 @@ +# +# $P4: //depot/projects/openpam/MANIFEST#5 $ +# HISTORY INSTALL LICENSE @@ -53,6 +56,7 @@ include/security/pam_modules.h include/security/pam_types.h lib/Makefile lib/openpam_dispatch.c +lib/openpam_dynamic.c lib/openpam_findenv.c lib/openpam_get_option.c lib/openpam_impl.h diff --git a/contrib/openpam/Makefile b/contrib/openpam/Makefile index 7fa0b886889..8b97b3f7d49 100644 --- a/contrib/openpam/Makefile +++ b/contrib/openpam/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/Makefile#5 $ # SUBDIR = diff --git a/contrib/openpam/README b/contrib/openpam/README index f32c8dbfba0..24923aaf176 100644 --- a/contrib/openpam/README +++ b/contrib/openpam/README @@ -27,4 +27,4 @@ These are some of OpenPAM's features: future release.Please direct bug reports and inquiries to openpam@thinksec.com. -$Id$ +$P4: //depot/projects/openpam/README#2 $ diff --git a/contrib/openpam/RELNOTES b/contrib/openpam/RELNOTES index 2b592328594..997951d1182 100644 --- a/contrib/openpam/RELNOTES +++ b/contrib/openpam/RELNOTES @@ -1,6 +1,6 @@ - Release notes for OpenPAM Cantaloupe - ==================================== + Release notes for OpenPAM Celandine + =================================== This is a beta release. @@ -17,7 +17,4 @@ Known issues: - The documentation is still incomplete. -Oh, and the previous release's code name was misspelled - egg on my -face! It should have been "Calliopsis". - -$Id$ +$P4: //depot/projects/openpam/RELNOTES#5 $ diff --git a/contrib/openpam/bin/Makefile b/contrib/openpam/bin/Makefile index e12368de258..25b352527a8 100644 --- a/contrib/openpam/bin/Makefile +++ b/contrib/openpam/bin/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/bin/Makefile#4 $ # SUBDIR = diff --git a/contrib/openpam/bin/su/Makefile b/contrib/openpam/bin/su/Makefile index 40533bb5c4d..d97deb3639b 100644 --- a/contrib/openpam/bin/su/Makefile +++ b/contrib/openpam/bin/su/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/bin/su/Makefile#3 $ # PROG = su diff --git a/contrib/openpam/bin/su/su.c b/contrib/openpam/bin/su/su.c index 27b6002b575..4ee216a3aef 100644 --- a/contrib/openpam/bin/su/su.c +++ b/contrib/openpam/bin/su/su.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/bin/su/su.c#4 $ */ #include diff --git a/contrib/openpam/doc/Makefile b/contrib/openpam/doc/Makefile index 2e2b09bd1fe..5fdacc4feaa 100644 --- a/contrib/openpam/doc/Makefile +++ b/contrib/openpam/doc/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/doc/Makefile#2 $ # SUBDIR = diff --git a/contrib/openpam/doc/man/Makefile b/contrib/openpam/doc/man/Makefile index 4003d2c845c..345c4d7618c 100644 --- a/contrib/openpam/doc/man/Makefile +++ b/contrib/openpam/doc/man/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/doc/man/Makefile#4 $ # MAN = diff --git a/contrib/openpam/doc/man/openpam_get_option.3 b/contrib/openpam/doc/man/openpam_get_option.3 index 2fd26b5d668..62584f79659 100644 --- a/contrib/openpam/doc/man/openpam_get_option.3 +++ b/contrib/openpam/doc/man/openpam_get_option.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/openpam_get_option.3#3 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt OPENPAM_GET_OPTION 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/openpam_log.3 b/contrib/openpam/doc/man/openpam_log.3 index c5f07e69a3d..e04b202fa24 100644 --- a/contrib/openpam/doc/man/openpam_log.3 +++ b/contrib/openpam/doc/man/openpam_log.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/openpam_log.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt OPENPAM_LOG 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/openpam_set_option.3 b/contrib/openpam/doc/man/openpam_set_option.3 index 5cb501bdeae..dcc65f3ccbc 100644 --- a/contrib/openpam/doc/man/openpam_set_option.3 +++ b/contrib/openpam/doc/man/openpam_set_option.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/openpam_set_option.3#3 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt OPENPAM_SET_OPTION 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/openpam_ttyconv.3 b/contrib/openpam/doc/man/openpam_ttyconv.3 index 275e0ad50a1..5a47ed74bcf 100644 --- a/contrib/openpam/doc/man/openpam_ttyconv.3 +++ b/contrib/openpam/doc/man/openpam_ttyconv.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/openpam_ttyconv.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt OPENPAM_TTYCONV 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam.3 b/contrib/openpam/doc/man/pam.3 index 9d4580d56ce..994c11a6a2c 100644 --- a/contrib/openpam/doc/man/pam.3 +++ b/contrib/openpam/doc/man/pam.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam.3#10 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_acct_mgmt.3 b/contrib/openpam/doc/man/pam_acct_mgmt.3 index 3ec445a5217..8776228f702 100644 --- a/contrib/openpam/doc/man/pam_acct_mgmt.3 +++ b/contrib/openpam/doc/man/pam_acct_mgmt.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_acct_mgmt.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_ACCT_MGMT 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_authenticate.3 b/contrib/openpam/doc/man/pam_authenticate.3 index 137bf05acc4..7a3cf82c2b9 100644 --- a/contrib/openpam/doc/man/pam_authenticate.3 +++ b/contrib/openpam/doc/man/pam_authenticate.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_authenticate.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_AUTHENTICATE 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_chauthtok.3 b/contrib/openpam/doc/man/pam_chauthtok.3 index 9566f01dc97..47d10803102 100644 --- a/contrib/openpam/doc/man/pam_chauthtok.3 +++ b/contrib/openpam/doc/man/pam_chauthtok.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_chauthtok.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_CHAUTHTOK 3 .Os .Sh NAME @@ -70,8 +70,12 @@ 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 +Try again. .El .Sh SEE ALSO .Xr pam 3 , diff --git a/contrib/openpam/doc/man/pam_close_session.3 b/contrib/openpam/doc/man/pam_close_session.3 index ea689b71d68..9b16588d478 100644 --- a/contrib/openpam/doc/man/pam_close_session.3 +++ b/contrib/openpam/doc/man/pam_close_session.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_close_session.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_CLOSE_SESSION 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_end.3 b/contrib/openpam/doc/man/pam_end.3 index e500697b287..687d0a1201f 100644 --- a/contrib/openpam/doc/man/pam_end.3 +++ b/contrib/openpam/doc/man/pam_end.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_end.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_END 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_error.3 b/contrib/openpam/doc/man/pam_error.3 index 8b514aba6fc..34eb2add3a7 100644 --- a/contrib/openpam/doc/man/pam_error.3 +++ b/contrib/openpam/doc/man/pam_error.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_error.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_ERROR 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_get_authtok.3 b/contrib/openpam/doc/man/pam_get_authtok.3 index e965173cadb..c62a1a78f50 100644 --- a/contrib/openpam/doc/man/pam_get_authtok.3 +++ b/contrib/openpam/doc/man/pam_get_authtok.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_authtok.3#9 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_GET_AUTHTOK 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_get_data.3 b/contrib/openpam/doc/man/pam_get_data.3 index 77980658430..95d02c89945 100644 --- a/contrib/openpam/doc/man/pam_get_data.3 +++ b/contrib/openpam/doc/man/pam_get_data.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_data.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_GET_DATA 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_get_item.3 b/contrib/openpam/doc/man/pam_get_item.3 index 2ea942e0873..ff37bb17563 100644 --- a/contrib/openpam/doc/man/pam_get_item.3 +++ b/contrib/openpam/doc/man/pam_get_item.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_item.3#9 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_GET_ITEM 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_get_user.3 b/contrib/openpam/doc/man/pam_get_user.3 index fc2c54f83a4..21cfd69429b 100644 --- a/contrib/openpam/doc/man/pam_get_user.3 +++ b/contrib/openpam/doc/man/pam_get_user.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_get_user.3#9 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_GET_USER 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_getenv.3 b/contrib/openpam/doc/man/pam_getenv.3 index 9d58af13460..1e130b11a50 100644 --- a/contrib/openpam/doc/man/pam_getenv.3 +++ b/contrib/openpam/doc/man/pam_getenv.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_getenv.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_GETENV 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_getenvlist.3 b/contrib/openpam/doc/man/pam_getenvlist.3 index cafa1008476..f6e4470997b 100644 --- a/contrib/openpam/doc/man/pam_getenvlist.3 +++ b/contrib/openpam/doc/man/pam_getenvlist.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_getenvlist.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_GETENVLIST 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_info.3 b/contrib/openpam/doc/man/pam_info.3 index 4ea37a7655e..d38ebc8d438 100644 --- a/contrib/openpam/doc/man/pam_info.3 +++ b/contrib/openpam/doc/man/pam_info.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_info.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_INFO 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_open_session.3 b/contrib/openpam/doc/man/pam_open_session.3 index 130ead24212..6f9d27daa44 100644 --- a/contrib/openpam/doc/man/pam_open_session.3 +++ b/contrib/openpam/doc/man/pam_open_session.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_open_session.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_OPEN_SESSION 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_prompt.3 b/contrib/openpam/doc/man/pam_prompt.3 index 177af78f1e7..da819b65d5b 100644 --- a/contrib/openpam/doc/man/pam_prompt.3 +++ b/contrib/openpam/doc/man/pam_prompt.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_prompt.3#9 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_PROMPT 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_putenv.3 b/contrib/openpam/doc/man/pam_putenv.3 index 33ba9924ce3..6940ae7af82 100644 --- a/contrib/openpam/doc/man/pam_putenv.3 +++ b/contrib/openpam/doc/man/pam_putenv.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_putenv.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_PUTENV 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_set_data.3 b/contrib/openpam/doc/man/pam_set_data.3 index 811b59a0e1c..760e6acdcef 100644 --- a/contrib/openpam/doc/man/pam_set_data.3 +++ b/contrib/openpam/doc/man/pam_set_data.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_set_data.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SET_DATA 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_set_item.3 b/contrib/openpam/doc/man/pam_set_item.3 index b6b08e758f6..f73b19117fa 100644 --- a/contrib/openpam/doc/man/pam_set_item.3 +++ b/contrib/openpam/doc/man/pam_set_item.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_set_item.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SET_ITEM 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_setcred.3 b/contrib/openpam/doc/man/pam_setcred.3 index b41b62bb832..d46ac6a28e5 100644 --- a/contrib/openpam/doc/man/pam_setcred.3 +++ b/contrib/openpam/doc/man/pam_setcred.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_setcred.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SETCRED 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_setenv.3 b/contrib/openpam/doc/man/pam_setenv.3 index f2bbf2cf59c..739f03eaef4 100644 --- a/contrib/openpam/doc/man/pam_setenv.3 +++ b/contrib/openpam/doc/man/pam_setenv.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_setenv.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SETENV 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 b/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 index 0dcaabab21a..12b4fcfa5c4 100644 --- a/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 +++ b/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_acct_mgmt.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SM_ACCT_MGMT 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_sm_authenticate.3 b/contrib/openpam/doc/man/pam_sm_authenticate.3 index f97f49fe57d..d688c56027e 100644 --- a/contrib/openpam/doc/man/pam_sm_authenticate.3 +++ b/contrib/openpam/doc/man/pam_sm_authenticate.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_authenticate.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SM_AUTHENTICATE 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_sm_chauthtok.3 b/contrib/openpam/doc/man/pam_sm_chauthtok.3 index fe580784ad4..3d9c8e3329b 100644 --- a/contrib/openpam/doc/man/pam_sm_chauthtok.3 +++ b/contrib/openpam/doc/man/pam_sm_chauthtok.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_chauthtok.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SM_CHAUTHTOK 3 .Os .Sh NAME @@ -80,6 +80,8 @@ Permission denied. Error in service module. .It Bq Er PAM_SYSTEM_ERR System error. +.It Bq Er PAM_TRY_AGAIN +Try again. .El .Sh SEE ALSO .Xr pam 3 , diff --git a/contrib/openpam/doc/man/pam_sm_close_session.3 b/contrib/openpam/doc/man/pam_sm_close_session.3 index 4e12e390737..38ef0ab886a 100644 --- a/contrib/openpam/doc/man/pam_sm_close_session.3 +++ b/contrib/openpam/doc/man/pam_sm_close_session.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_close_session.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SM_CLOSE_SESSION 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_sm_open_session.3 b/contrib/openpam/doc/man/pam_sm_open_session.3 index 507ce5039ff..809d287b284 100644 --- a/contrib/openpam/doc/man/pam_sm_open_session.3 +++ b/contrib/openpam/doc/man/pam_sm_open_session.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_open_session.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SM_OPEN_SESSION 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_sm_setcred.3 b/contrib/openpam/doc/man/pam_sm_setcred.3 index 9cd4650aa8a..8e537ebd38e 100644 --- a/contrib/openpam/doc/man/pam_sm_setcred.3 +++ b/contrib/openpam/doc/man/pam_sm_setcred.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_sm_setcred.3#4 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_SM_SETCRED 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_start.3 b/contrib/openpam/doc/man/pam_start.3 index 74a23060370..de0938a2fdc 100644 --- a/contrib/openpam/doc/man/pam_start.3 +++ b/contrib/openpam/doc/man/pam_start.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_start.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_START 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_strerror.3 b/contrib/openpam/doc/man/pam_strerror.3 index 74445fd5813..5b872e4f693 100644 --- a/contrib/openpam/doc/man/pam_strerror.3 +++ b/contrib/openpam/doc/man/pam_strerror.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_strerror.3#8 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_STRERROR 3 .Os .Sh NAME diff --git a/contrib/openpam/doc/man/pam_verror.3 b/contrib/openpam/doc/man/pam_verror.3 index 6b0b791f6c8..76e2dd387f3 100644 --- a/contrib/openpam/doc/man/pam_verror.3 +++ b/contrib/openpam/doc/man/pam_verror.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_verror.3#6 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_VERROR 3 .Os .Sh NAME @@ -51,8 +51,7 @@ The function passes its arguments to .Xr pam_vprompt 3 with a -.Xr style 3 -argument of +style argument of .Dv PAM_ERROR_MSG , and discards the response. .Pp @@ -69,7 +68,6 @@ Conversation failure. System error. .El .Sh SEE ALSO -.Xr 3 , .Xr pam 3 , .Xr pam_error 3 , .Xr pam_strerror 3 , diff --git a/contrib/openpam/doc/man/pam_vinfo.3 b/contrib/openpam/doc/man/pam_vinfo.3 index 7a5a61db412..1725bfcd229 100644 --- a/contrib/openpam/doc/man/pam_vinfo.3 +++ b/contrib/openpam/doc/man/pam_vinfo.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_vinfo.3#6 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_VINFO 3 .Os .Sh NAME @@ -51,8 +51,7 @@ The function passes its arguments to .Xr pam_vprompt 3 with a -.Xr style 3 -argument of +style argument of .Dv PAM_TEXT_INFO , and discards the response. .Pp @@ -69,7 +68,6 @@ Conversation failure. System error. .El .Sh SEE ALSO -.Xr 3 , .Xr pam 3 , .Xr pam_info 3 , .Xr pam_strerror 3 , diff --git a/contrib/openpam/doc/man/pam_vprompt.3 b/contrib/openpam/doc/man/pam_vprompt.3 index 1f6e59a5e92..8000c465106 100644 --- a/contrib/openpam/doc/man/pam_vprompt.3 +++ b/contrib/openpam/doc/man/pam_vprompt.3 @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $P4: //depot/projects/openpam/doc/man/pam_vprompt.3#6 $ .\" -.Dd February 22, 2002 +.Dd March 5, 2002 .Dt PAM_VPROMPT 3 .Os .Sh NAME diff --git a/contrib/openpam/include/security/openpam.h b/contrib/openpam/include/security/openpam.h index 8aaaa30a63b..7391e74eb5e 100644 --- a/contrib/openpam/include/security/openpam.h +++ b/contrib/openpam/include/security/openpam.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/include/security/openpam.h#11 $ */ #ifndef _SECURITY_OPENPAM_H_INCLUDED @@ -177,7 +177,7 @@ typedef int (*pam_func_t)(struct pam_handle *, int, int, const char **); */ typedef struct pam_module pam_module_t; struct pam_module { - const char *path; + char *path; pam_func_t func[PAM_NUM_PRIMITIVES]; void *dlh; int refcount; @@ -201,7 +201,8 @@ struct pam_module { #define OPENPAM_STATIC_MODULES #define PAM_EXTERN static #define PAM_MODULE_ENTRY(name) \ -static struct pam_module _pam_module = { name PAM_SOEXT, { \ +static char _pam_name[] = name PAM_SOEXT; \ +static struct pam_module _pam_module = { _pam_name, { \ pam_sm_authenticate, pam_sm_setcred, pam_sm_acct_mgmt, \ pam_sm_open_session, pam_sm_close_session, pam_sm_chauthtok }, \ NULL, 0, NULL, NULL }; \ diff --git a/contrib/openpam/include/security/pam_appl.h b/contrib/openpam/include/security/pam_appl.h index 7fcc068921d..719ebfafba8 100644 --- a/contrib/openpam/include/security/pam_appl.h +++ b/contrib/openpam/include/security/pam_appl.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/include/security/pam_appl.h#8 $ */ #ifndef _PAM_APPL_H_INCLUDED diff --git a/contrib/openpam/include/security/pam_constants.h b/contrib/openpam/include/security/pam_constants.h index 568d42c809f..3b149548e95 100644 --- a/contrib/openpam/include/security/pam_constants.h +++ b/contrib/openpam/include/security/pam_constants.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/include/security/pam_constants.h#10 $ */ #ifndef _PAM_CONSTANTS_H_INCLUDED diff --git a/contrib/openpam/include/security/pam_modules.h b/contrib/openpam/include/security/pam_modules.h index 35c8eb96766..0a1cbde185d 100644 --- a/contrib/openpam/include/security/pam_modules.h +++ b/contrib/openpam/include/security/pam_modules.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/include/security/pam_modules.h#5 $ */ #ifndef _PAM_MODULES_H_INCLUDED diff --git a/contrib/openpam/include/security/pam_types.h b/contrib/openpam/include/security/pam_types.h index d8ba80b04ae..961b361bf3c 100644 --- a/contrib/openpam/include/security/pam_types.h +++ b/contrib/openpam/include/security/pam_types.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/include/security/pam_types.h#4 $ */ #ifndef _PAM_TYPES_H_INCLUDED diff --git a/contrib/openpam/lib/Makefile b/contrib/openpam/lib/Makefile index 01817c11fbb..a4e152c5f16 100644 --- a/contrib/openpam/lib/Makefile +++ b/contrib/openpam/lib/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/lib/Makefile#11 $ # LIB = pam @@ -41,9 +41,11 @@ SHLIB_MINOR = 0 WARNS ?= 4 NO_WERROR = yes CFLAGS += -I${.CURDIR}/../include +CFLAGS += -DLIB_MAJ=${SHLIB_MAJOR} SRCS = SRCS += openpam_dispatch.c +SRCS += openpam_dynamic.c SRCS += openpam_findenv.c SRCS += openpam_get_option.c SRCS += openpam_load.c diff --git a/contrib/openpam/lib/openpam_dispatch.c b/contrib/openpam/lib/openpam_dispatch.c index b663d5ab933..344ffd055c0 100644 --- a/contrib/openpam/lib/openpam_dispatch.c +++ b/contrib/openpam/lib/openpam_dispatch.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_dispatch.c#13 $ */ #include @@ -111,7 +111,8 @@ openpam_dispatch(pam_handle_t *pamh, continue; if (r == PAM_SUCCESS) { /* - * For pam_setcred(), treat "sufficient" as + * For pam_setcred() and pam_chauthtok() with the + * PAM_PRELIM_CHECK flag, treat "sufficient" as * "optional". * * Note that Solaris libpam does not terminate @@ -119,7 +120,9 @@ openpam_dispatch(pam_handle_t *pamh, * previously failed. I'm not sure why. */ if (chain->flag == PAM_SUFFICIENT && - primitive != PAM_SM_SETCRED) + primitive != PAM_SM_SETCRED && + (primitive != PAM_SM_CHAUTHTOK || + !(flags & PAM_PRELIM_CHECK))) break; continue; } @@ -203,7 +206,8 @@ _openpam_check_error_code(int primitive, int r) r == PAM_AUTHTOK_ERR || r == PAM_AUTHTOK_RECOVERY_ERR || r == PAM_AUTHTOK_LOCK_BUSY || - r == PAM_AUTHTOK_DISABLE_AGING) + r == PAM_AUTHTOK_DISABLE_AGING || + r == PAM_TRY_AGAIN) return; break; } diff --git a/contrib/openpam/lib/openpam_dynamic.c b/contrib/openpam/lib/openpam_dynamic.c new file mode 100644 index 00000000000..a4f28679e91 --- /dev/null +++ b/contrib/openpam/lib/openpam_dynamic.c @@ -0,0 +1,89 @@ +/*- + * Copyright (c) 2002 Networks Associates Technologies, Inc. + * All rights reserved. + * + * This software was developed for the FreeBSD Project by ThinkSec AS and + * NAI Labs, the Security Research Division of Network Associates, Inc. + * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the + * DARPA CHATS research program. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $P4: //depot/projects/openpam/lib/openpam_dynamic.c#1 $ + */ + +#include +#include +#include +#include + +#include + +#include "openpam_impl.h" + +/* + * OpenPAM internal + * + * Locate a dynamically linked module + */ + +pam_module_t * +openpam_dynamic(const char *path) +{ + pam_module_t *module; + char *vpath; + void *dlh; + int i; + + if ((module = calloc(1, sizeof *module)) == NULL) + goto buf_err; + + /* try versioned module first, then unversioned module */ + if (asprintf(&vpath, "%s.%d", path, LIB_MAJ) == -1) + goto buf_err; + if ((dlh = dlopen(vpath, RTLD_NOW)) == NULL) { + openpam_log(PAM_LOG_ERROR, "dlopen(): %s", dlerror()); + *strrchr(vpath, '.') = '\0'; + if ((dlh = dlopen(vpath, RTLD_NOW)) == NULL) { + openpam_log(PAM_LOG_ERROR, "dlopen(): %s", dlerror()); + free(module); + return (NULL); + } + } + module->path = vpath; + module->dlh = dlh; + for (i = 0; i < PAM_NUM_PRIMITIVES; ++i) + module->func[i] = dlsym(dlh, _pam_sm_func_name[i]); + return (module); + buf_err: + openpam_log(PAM_LOG_ERROR, "%m"); + dlclose(dlh); + free(module); + return (NULL); +} + +/* + * NOPARSE + */ diff --git a/contrib/openpam/lib/openpam_findenv.c b/contrib/openpam/lib/openpam_findenv.c index a9fb3337968..bfa8e9187c0 100644 --- a/contrib/openpam/lib/openpam_findenv.c +++ b/contrib/openpam/lib/openpam_findenv.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_findenv.c#6 $ */ #include diff --git a/contrib/openpam/lib/openpam_get_option.c b/contrib/openpam/lib/openpam_get_option.c index c4eeab20e22..2b8817f9764 100644 --- a/contrib/openpam/lib/openpam_get_option.c +++ b/contrib/openpam/lib/openpam_get_option.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_get_option.c#2 $ */ #include diff --git a/contrib/openpam/lib/openpam_impl.h b/contrib/openpam/lib/openpam_impl.h index 6978f544f30..e6898a3ca83 100644 --- a/contrib/openpam/lib/openpam_impl.h +++ b/contrib/openpam/lib/openpam_impl.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_impl.h#10 $ */ #ifndef _OPENPAM_IMPL_H_INCLUDED @@ -104,5 +104,6 @@ void openpam_clear_chains(pam_handle_t *); #ifdef OPENPAM_STATIC_MODULES pam_module_t *openpam_static(const char *); #endif +pam_module_t *openpam_dynamic(const char *); #endif diff --git a/contrib/openpam/lib/openpam_load.c b/contrib/openpam/lib/openpam_load.c index 057e38fef70..68b7788fa40 100644 --- a/contrib/openpam/lib/openpam_load.c +++ b/contrib/openpam/lib/openpam_load.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_load.c#10 $ */ #include @@ -54,16 +54,14 @@ const char *_pam_sm_func_name[PAM_NUM_PRIMITIVES] = { static pam_module_t *modules; /* - * Load a dynamic module, or locate a static one. Keep a list of - * previously found modules to speed up the process. + * Locate a matching dynamic or static module. Keep a list of previously + * found modules to speed up the process. */ static pam_module_t * openpam_load_module(const char *path) { pam_module_t *module; - void *dlh; - int i; /* check cache first */ for (module = modules; module != NULL; module = module->next) @@ -71,17 +69,7 @@ openpam_load_module(const char *path) goto found; /* nope; try to load */ - if ((dlh = dlopen(path, RTLD_NOW)) == NULL) { - openpam_log(PAM_LOG_ERROR, "dlopen(): %s", dlerror()); - } else { - if ((module = calloc(1, sizeof *module)) == NULL) - goto buf_err; - if ((module->path = strdup(path)) == NULL) - goto buf_err; - module->dlh = dlh; - for (i = 0; i < PAM_NUM_PRIMITIVES; ++i) - module->func[i] = dlsym(dlh, _pam_sm_func_name[i]); - } + module = openpam_dynamic(path); openpam_log(PAM_LOG_DEBUG, "%s dynamic %s", (module == NULL) ? "no" : "using", path); @@ -101,11 +89,6 @@ openpam_load_module(const char *path) found: ++module->refcount; return (module); - buf_err: - openpam_log(PAM_LOG_ERROR, "malloc(): %m"); - dlclose(dlh); - free(module); - return (NULL); } @@ -136,6 +119,7 @@ openpam_release_module(pam_module_t *module) module->prev->next = module->next; if (module->next != NULL) module->next->prev = module->prev; + free(module->path); free(module); } diff --git a/contrib/openpam/lib/openpam_log.c b/contrib/openpam/lib/openpam_log.c index 493ea330ce2..65b2dc0481d 100644 --- a/contrib/openpam/lib/openpam_log.c +++ b/contrib/openpam/lib/openpam_log.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_log.c#9 $ */ #include diff --git a/contrib/openpam/lib/openpam_set_option.c b/contrib/openpam/lib/openpam_set_option.c index 4e2033bf9f9..76ddd875e5d 100644 --- a/contrib/openpam/lib/openpam_set_option.c +++ b/contrib/openpam/lib/openpam_set_option.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_set_option.c#3 $ */ #include @@ -72,10 +72,20 @@ openpam_set_option(pam_handle_t *pamh, (cur->optv[i][len] == '\0' || cur->optv[i][len] == '=')) break; } + if (value == NULL) { + /* remove */ + if (i == cur->optc) + return (PAM_SUCCESS); + for (free(cur->optv[i]); i < cur->optc; ++i) + cur->optv[i] = cur->optv[i + 1]; + cur->optv[i] = NULL; + return (PAM_SUCCESS); + } if ((opt = malloc(len + strlen(value) + 2)) == NULL) return (PAM_BUF_ERR); sprintf(opt, "%.*s=%s", (int)len, option, value); if (i == cur->optc) { + /* add */ optv = realloc(cur->optv, sizeof(char *) * (cur->optc + 2)); if (optv == NULL) { free(opt); @@ -85,6 +95,10 @@ openpam_set_option(pam_handle_t *pamh, optv[i + 1] = NULL; cur->optv = optv; ++cur->optc; + } else { + /* replace */ + free(cur->optv[i]); + cur->optv[i] = opt; } return (PAM_SUCCESS); } diff --git a/contrib/openpam/lib/openpam_static.c b/contrib/openpam/lib/openpam_static.c index 907de2ff6fd..dea5621ceba 100644 --- a/contrib/openpam/lib/openpam_static.c +++ b/contrib/openpam/lib/openpam_static.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_static.c#3 $ */ #include diff --git a/contrib/openpam/lib/openpam_ttyconv.c b/contrib/openpam/lib/openpam_ttyconv.c index 261c2d24639..b3b40415c56 100644 --- a/contrib/openpam/lib/openpam_ttyconv.c +++ b/contrib/openpam/lib/openpam_ttyconv.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#8 $ */ #include diff --git a/contrib/openpam/lib/pam_acct_mgmt.c b/contrib/openpam/lib/pam_acct_mgmt.c index 3187e8d4eb4..39b58851fb1 100644 --- a/contrib/openpam/lib/pam_acct_mgmt.c +++ b/contrib/openpam/lib/pam_acct_mgmt.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_acct_mgmt.c#6 $ */ #include diff --git a/contrib/openpam/lib/pam_authenticate.c b/contrib/openpam/lib/pam_authenticate.c index 3524f4eac2a..86ab0e3d7e2 100644 --- a/contrib/openpam/lib/pam_authenticate.c +++ b/contrib/openpam/lib/pam_authenticate.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_authenticate.c#7 $ */ #include @@ -51,8 +51,11 @@ int pam_authenticate(pam_handle_t *pamh, int flags) { + int pam_err; - return (openpam_dispatch(pamh, PAM_SM_AUTHENTICATE, flags)); + pam_err = openpam_dispatch(pamh, PAM_SM_AUTHENTICATE, flags); + pam_set_item(pamh, PAM_AUTHTOK, NULL); + return (pam_err); } /* diff --git a/contrib/openpam/lib/pam_authenticate_secondary.c b/contrib/openpam/lib/pam_authenticate_secondary.c index e1380d24ebc..53aba677d22 100644 --- a/contrib/openpam/lib/pam_authenticate_secondary.c +++ b/contrib/openpam/lib/pam_authenticate_secondary.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_authenticate_secondary.c#4 $ */ #include diff --git a/contrib/openpam/lib/pam_chauthtok.c b/contrib/openpam/lib/pam_chauthtok.c index 3248febbf45..0d4189b8c37 100644 --- a/contrib/openpam/lib/pam_chauthtok.c +++ b/contrib/openpam/lib/pam_chauthtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_chauthtok.c#8 $ */ #include @@ -51,8 +51,18 @@ int pam_chauthtok(pam_handle_t *pamh, int flags) { + int pam_err; - return (openpam_dispatch(pamh, PAM_SM_CHAUTHTOK, flags)); + if (flags & PAM_PRELIM_CHECK || flags & PAM_UPDATE_AUTHTOK) + return (PAM_SYMBOL_ERR); + pam_err = openpam_dispatch(pamh, PAM_SM_CHAUTHTOK, + flags | PAM_PRELIM_CHECK); + if (pam_err == PAM_SUCCESS) + pam_err = openpam_dispatch(pamh, PAM_SM_CHAUTHTOK, + flags | PAM_UPDATE_AUTHTOK); + pam_set_item(pamh, PAM_OLDAUTHTOK, NULL); + pam_set_item(pamh, PAM_AUTHTOK, NULL); + return (pam_err); } /* @@ -61,4 +71,5 @@ pam_chauthtok(pam_handle_t *pamh, * =openpam_dispatch * =pam_sm_chauthtok * !PAM_IGNORE + * PAM_SYMBOL_ERR */ diff --git a/contrib/openpam/lib/pam_close_session.c b/contrib/openpam/lib/pam_close_session.c index 5d292f2d7a1..e0d330b6f77 100644 --- a/contrib/openpam/lib/pam_close_session.c +++ b/contrib/openpam/lib/pam_close_session.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_close_session.c#6 $ */ #include diff --git a/contrib/openpam/lib/pam_end.c b/contrib/openpam/lib/pam_end.c index b7c170f32a3..77f94c33de7 100644 --- a/contrib/openpam/lib/pam_end.c +++ b/contrib/openpam/lib/pam_end.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_end.c#7 $ */ #include diff --git a/contrib/openpam/lib/pam_error.c b/contrib/openpam/lib/pam_error.c index cbee427302a..1b9aa1cbdff 100644 --- a/contrib/openpam/lib/pam_error.c +++ b/contrib/openpam/lib/pam_error.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_error.c#5 $ */ #include diff --git a/contrib/openpam/lib/pam_get_authtok.c b/contrib/openpam/lib/pam_get_authtok.c index c2a933f9d47..c26d0dec5d0 100644 --- a/contrib/openpam/lib/pam_get_authtok.c +++ b/contrib/openpam/lib/pam_get_authtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_get_authtok.c#11 $ */ #include diff --git a/contrib/openpam/lib/pam_get_data.c b/contrib/openpam/lib/pam_get_data.c index b1f8ab370c1..c5c42811839 100644 --- a/contrib/openpam/lib/pam_get_data.c +++ b/contrib/openpam/lib/pam_get_data.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_get_data.c#6 $ */ #include diff --git a/contrib/openpam/lib/pam_get_item.c b/contrib/openpam/lib/pam_get_item.c index 5767652adda..a6d00665b54 100644 --- a/contrib/openpam/lib/pam_get_item.c +++ b/contrib/openpam/lib/pam_get_item.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_get_item.c#9 $ */ #include diff --git a/contrib/openpam/lib/pam_get_mapped_authtok.c b/contrib/openpam/lib/pam_get_mapped_authtok.c index 5d6b0b08ad6..63cbdc682e6 100644 --- a/contrib/openpam/lib/pam_get_mapped_authtok.c +++ b/contrib/openpam/lib/pam_get_mapped_authtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_get_mapped_authtok.c#4 $ */ #include diff --git a/contrib/openpam/lib/pam_get_mapped_username.c b/contrib/openpam/lib/pam_get_mapped_username.c index 038193feb1e..8239ed7e6b6 100644 --- a/contrib/openpam/lib/pam_get_mapped_username.c +++ b/contrib/openpam/lib/pam_get_mapped_username.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_get_mapped_username.c#4 $ */ #include diff --git a/contrib/openpam/lib/pam_get_user.c b/contrib/openpam/lib/pam_get_user.c index e8fe0bc9841..2f3da595478 100644 --- a/contrib/openpam/lib/pam_get_user.c +++ b/contrib/openpam/lib/pam_get_user.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_get_user.c#9 $ */ #include diff --git a/contrib/openpam/lib/pam_getenv.c b/contrib/openpam/lib/pam_getenv.c index 05deb541f41..0036e2bbf96 100644 --- a/contrib/openpam/lib/pam_getenv.c +++ b/contrib/openpam/lib/pam_getenv.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_getenv.c#5 $ */ #include diff --git a/contrib/openpam/lib/pam_getenvlist.c b/contrib/openpam/lib/pam_getenvlist.c index fd21faa0ee9..27e58ea1d8b 100644 --- a/contrib/openpam/lib/pam_getenvlist.c +++ b/contrib/openpam/lib/pam_getenvlist.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_getenvlist.c#7 $ */ #include diff --git a/contrib/openpam/lib/pam_info.c b/contrib/openpam/lib/pam_info.c index 87523914a25..070d7220449 100644 --- a/contrib/openpam/lib/pam_info.c +++ b/contrib/openpam/lib/pam_info.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_info.c#5 $ */ #include diff --git a/contrib/openpam/lib/pam_open_session.c b/contrib/openpam/lib/pam_open_session.c index 0f8f981800a..f9c4f21cc9a 100644 --- a/contrib/openpam/lib/pam_open_session.c +++ b/contrib/openpam/lib/pam_open_session.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_open_session.c#6 $ */ #include diff --git a/contrib/openpam/lib/pam_prompt.c b/contrib/openpam/lib/pam_prompt.c index 5dbde6c95c7..f114299efcd 100644 --- a/contrib/openpam/lib/pam_prompt.c +++ b/contrib/openpam/lib/pam_prompt.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_prompt.c#5 $ */ #include diff --git a/contrib/openpam/lib/pam_putenv.c b/contrib/openpam/lib/pam_putenv.c index e1b497efc3b..438203ac427 100644 --- a/contrib/openpam/lib/pam_putenv.c +++ b/contrib/openpam/lib/pam_putenv.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_putenv.c#5 $ */ #include diff --git a/contrib/openpam/lib/pam_set_data.c b/contrib/openpam/lib/pam_set_data.c index e04de73182b..0b060ab73e5 100644 --- a/contrib/openpam/lib/pam_set_data.c +++ b/contrib/openpam/lib/pam_set_data.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_set_data.c#7 $ */ #include diff --git a/contrib/openpam/lib/pam_set_item.c b/contrib/openpam/lib/pam_set_item.c index 038971dec40..7e8a986a343 100644 --- a/contrib/openpam/lib/pam_set_item.c +++ b/contrib/openpam/lib/pam_set_item.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_set_item.c#11 $ */ #include diff --git a/contrib/openpam/lib/pam_set_mapped_authtok.c b/contrib/openpam/lib/pam_set_mapped_authtok.c index 36383e6e21a..e69641fc396 100644 --- a/contrib/openpam/lib/pam_set_mapped_authtok.c +++ b/contrib/openpam/lib/pam_set_mapped_authtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_set_mapped_authtok.c#4 $ */ #include diff --git a/contrib/openpam/lib/pam_set_mapped_username.c b/contrib/openpam/lib/pam_set_mapped_username.c index 6ca011f29ac..3d8dc111cbc 100644 --- a/contrib/openpam/lib/pam_set_mapped_username.c +++ b/contrib/openpam/lib/pam_set_mapped_username.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_set_mapped_username.c#4 $ */ #include diff --git a/contrib/openpam/lib/pam_setcred.c b/contrib/openpam/lib/pam_setcred.c index 1a7849874ef..dd53bf93e31 100644 --- a/contrib/openpam/lib/pam_setcred.c +++ b/contrib/openpam/lib/pam_setcred.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_setcred.c#6 $ */ #include diff --git a/contrib/openpam/lib/pam_setenv.c b/contrib/openpam/lib/pam_setenv.c index 155835e0a1b..aeb6daa005a 100644 --- a/contrib/openpam/lib/pam_setenv.c +++ b/contrib/openpam/lib/pam_setenv.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_setenv.c#5 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_acct_mgmt.c b/contrib/openpam/lib/pam_sm_acct_mgmt.c index 692d52e10a9..f7e862587a5 100644 --- a/contrib/openpam/lib/pam_sm_acct_mgmt.c +++ b/contrib/openpam/lib/pam_sm_acct_mgmt.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_acct_mgmt.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_authenticate.c b/contrib/openpam/lib/pam_sm_authenticate.c index 17c8a7638dc..df3ab9341de 100644 --- a/contrib/openpam/lib/pam_sm_authenticate.c +++ b/contrib/openpam/lib/pam_sm_authenticate.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_authenticate.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_authenticate_secondary.c b/contrib/openpam/lib/pam_sm_authenticate_secondary.c index ec56f47b277..d66d07a9406 100644 --- a/contrib/openpam/lib/pam_sm_authenticate_secondary.c +++ b/contrib/openpam/lib/pam_sm_authenticate_secondary.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_authenticate_secondary.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_chauthtok.c b/contrib/openpam/lib/pam_sm_chauthtok.c index 2edf0d7e043..7a19445ee43 100644 --- a/contrib/openpam/lib/pam_sm_chauthtok.c +++ b/contrib/openpam/lib/pam_sm_chauthtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_chauthtok.c#3 $ */ #include @@ -74,6 +74,7 @@ pam_sm_chauthtok(pam_handle_t *pamh, * PAM_AUTHTOK_RECOVERY_ERR * PAM_AUTHTOK_LOCK_BUSY * PAM_AUTHTOK_DISABLE_AGING + * PAM_TRY_AGAIN */ /** diff --git a/contrib/openpam/lib/pam_sm_close_session.c b/contrib/openpam/lib/pam_sm_close_session.c index 7ff7a83a8ef..ff0ea5dfb94 100644 --- a/contrib/openpam/lib/pam_sm_close_session.c +++ b/contrib/openpam/lib/pam_sm_close_session.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_close_session.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_get_mapped_authtok.c b/contrib/openpam/lib/pam_sm_get_mapped_authtok.c index c6a91121075..f4535d6d3b3 100644 --- a/contrib/openpam/lib/pam_sm_get_mapped_authtok.c +++ b/contrib/openpam/lib/pam_sm_get_mapped_authtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_get_mapped_authtok.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_get_mapped_username.c b/contrib/openpam/lib/pam_sm_get_mapped_username.c index 0aed26c14c5..abbdafccd0b 100644 --- a/contrib/openpam/lib/pam_sm_get_mapped_username.c +++ b/contrib/openpam/lib/pam_sm_get_mapped_username.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_get_mapped_username.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_open_session.c b/contrib/openpam/lib/pam_sm_open_session.c index 7ed7401ca95..f13cea02c04 100644 --- a/contrib/openpam/lib/pam_sm_open_session.c +++ b/contrib/openpam/lib/pam_sm_open_session.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_open_session.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_set_mapped_authtok.c b/contrib/openpam/lib/pam_sm_set_mapped_authtok.c index 35cecaabf95..e0b6d82c9db 100644 --- a/contrib/openpam/lib/pam_sm_set_mapped_authtok.c +++ b/contrib/openpam/lib/pam_sm_set_mapped_authtok.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_set_mapped_authtok.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_set_mapped_username.c b/contrib/openpam/lib/pam_sm_set_mapped_username.c index 1911fd80161..f2f6847e4b4 100644 --- a/contrib/openpam/lib/pam_sm_set_mapped_username.c +++ b/contrib/openpam/lib/pam_sm_set_mapped_username.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_set_mapped_username.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_sm_setcred.c b/contrib/openpam/lib/pam_sm_setcred.c index 20777ad0f7e..cab1164a050 100644 --- a/contrib/openpam/lib/pam_sm_setcred.c +++ b/contrib/openpam/lib/pam_sm_setcred.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_sm_setcred.c#2 $ */ #include diff --git a/contrib/openpam/lib/pam_start.c b/contrib/openpam/lib/pam_start.c index 15782581424..485c30e01c8 100644 --- a/contrib/openpam/lib/pam_start.c +++ b/contrib/openpam/lib/pam_start.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_start.c#11 $ */ #include diff --git a/contrib/openpam/lib/pam_strerror.c b/contrib/openpam/lib/pam_strerror.c index 2503e4f9814..c938d426c37 100644 --- a/contrib/openpam/lib/pam_strerror.c +++ b/contrib/openpam/lib/pam_strerror.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_strerror.c#8 $ */ #include diff --git a/contrib/openpam/lib/pam_verror.c b/contrib/openpam/lib/pam_verror.c index 2d8e2ca421d..e9ddec6577c 100644 --- a/contrib/openpam/lib/pam_verror.c +++ b/contrib/openpam/lib/pam_verror.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_verror.c#4 $ */ #include @@ -70,7 +70,7 @@ pam_verror(pam_handle_t *pamh, /** * The =pam_verror function passes its arguments to =pam_vprompt with a - * =style argument of =PAM_ERROR_MSG, and discards the response. + * style argument of =PAM_ERROR_MSG, and discards the response. * * >pam_error * >pam_vinfo diff --git a/contrib/openpam/lib/pam_vinfo.c b/contrib/openpam/lib/pam_vinfo.c index 6cd418859c4..df837b09774 100644 --- a/contrib/openpam/lib/pam_vinfo.c +++ b/contrib/openpam/lib/pam_vinfo.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_vinfo.c#4 $ */ #include @@ -70,7 +70,7 @@ pam_vinfo(pam_handle_t *pamh, /** * The =pam_vinfo function passes its arguments to =pam_vprompt with a - * =style argument of =PAM_TEXT_INFO, and discards the response. + * style argument of =PAM_TEXT_INFO, and discards the response. * * >pam_info * >pam_verror diff --git a/contrib/openpam/lib/pam_vprompt.c b/contrib/openpam/lib/pam_vprompt.c index e5eba2eced8..e673c3f5961 100644 --- a/contrib/openpam/lib/pam_vprompt.c +++ b/contrib/openpam/lib/pam_vprompt.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $P4: //depot/projects/openpam/lib/pam_vprompt.c#4 $ */ #include diff --git a/contrib/openpam/misc/gendoc.pl b/contrib/openpam/misc/gendoc.pl index 99440c8b3df..9b32cdfdcf6 100644 --- a/contrib/openpam/misc/gendoc.pl +++ b/contrib/openpam/misc/gendoc.pl @@ -32,7 +32,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/misc/gendoc.pl#9 $ # use strict; @@ -104,7 +104,7 @@ sub parse_source($) { if (!defined($COPYRIGHT) && $source =~ m,^(/\*-\n.*?)\s*\*/,s) { $COPYRIGHT = $1; $COPYRIGHT =~ s,^.\*,.\\\",gm; - $COPYRIGHT =~ s,(\$Id).*?\$,$1\$,; + $COPYRIGHT =~ s,(\$(?:)P4).*?\$,$1\$,; $COPYRIGHT .= "\n.\\\""; } $func = $fn; diff --git a/contrib/openpam/modules/Makefile b/contrib/openpam/modules/Makefile index 006a229df4c..540a15ef3a1 100644 --- a/contrib/openpam/modules/Makefile +++ b/contrib/openpam/modules/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/modules/Makefile#4 $ # SUBDIR = diff --git a/contrib/openpam/modules/pam_deny/Makefile b/contrib/openpam/modules/pam_deny/Makefile index acbd994659d..3a7c862ce1f 100644 --- a/contrib/openpam/modules/pam_deny/Makefile +++ b/contrib/openpam/modules/pam_deny/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/modules/pam_deny/Makefile#3 $ # LIB = pam_deny diff --git a/contrib/openpam/modules/pam_deny/pam_deny.c b/contrib/openpam/modules/pam_deny/pam_deny.c index 2a219de1441..c05cbfc93dd 100644 --- a/contrib/openpam/modules/pam_deny/pam_deny.c +++ b/contrib/openpam/modules/pam_deny/pam_deny.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $P4: //depot/projects/openpam/modules/pam_deny/pam_deny.c#5 $ */ #include diff --git a/contrib/openpam/modules/pam_dummy/Makefile b/contrib/openpam/modules/pam_dummy/Makefile index 144828c4cba..ade629bf485 100644 --- a/contrib/openpam/modules/pam_dummy/Makefile +++ b/contrib/openpam/modules/pam_dummy/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/modules/pam_dummy/Makefile#2 $ # LIB = pam_dummy diff --git a/contrib/openpam/modules/pam_dummy/pam_dummy.c b/contrib/openpam/modules/pam_dummy/pam_dummy.c index 9d98f37558a..3c49798c7bf 100644 --- a/contrib/openpam/modules/pam_dummy/pam_dummy.c +++ b/contrib/openpam/modules/pam_dummy/pam_dummy.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $P4: //depot/projects/openpam/modules/pam_dummy/pam_dummy.c#3 $ */ #include diff --git a/contrib/openpam/modules/pam_permit/Makefile b/contrib/openpam/modules/pam_permit/Makefile index 93ae3d9a497..52695d08d2f 100644 --- a/contrib/openpam/modules/pam_permit/Makefile +++ b/contrib/openpam/modules/pam_permit/Makefile @@ -31,7 +31,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $P4: //depot/projects/openpam/modules/pam_permit/Makefile#3 $ # LIB = pam_permit diff --git a/contrib/openpam/modules/pam_permit/pam_permit.c b/contrib/openpam/modules/pam_permit/pam_permit.c index 856fb4508e0..c1672a2b4b4 100644 --- a/contrib/openpam/modules/pam_permit/pam_permit.c +++ b/contrib/openpam/modules/pam_permit/pam_permit.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $P4: //depot/projects/openpam/modules/pam_permit/pam_permit.c#5 $ */ #include