Index: stable/10/contrib/openpam/CREDITS =================================================================== --- stable/10/contrib/openpam/CREDITS (revision 294191) +++ stable/10/contrib/openpam/CREDITS (revision 294192) @@ -1,51 +1,52 @@ _Ἀπόδοτε οὖν τὰ Καίσαρος Καίσαρι καὶ τὰ τοῦ Θεοῦ τῷ Θεῷ_ 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 ("CBOSS"), as part of the DARPA CHATS research program. Principal design and development by: Dag-Erling Smørgrav The following persons (in alphabetical order) have contributed, directly or indirectly, with patches, criticism, suggestions, or ideas: Andrew Morgan Ankita Pal Baptiste Daroussin Brian Fundakowski Feldman Christos Zoulas Daniel Richard G. Darren J. Moffat + Dimitry Andric Dmitry V. Levin Don Lewis Emmanuel Dreyfus Eric Melville Espen Grøndahl Gary Winiger Gavin Atkinson Gleb Smirnoff Hubert Feyrer Jason Evans Joe Marcus Clarke - Juli Mallett - Ankita Pal Jörg Sonnenberger + Juli Mallett + Larry Baird Maëlle Lesage Mark Murray Matthias Drochner Mike Petullo Mikhail Teterin Mikko Työläjärvi Nick Hibma Robert Watson Ruslan Ermilov Sebastian Krahmer Solar Designer Takanori Saneto Wojciech A. Koszek Yar Tikhiy Property changes on: stable/10/contrib/openpam/CREDITS ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/HISTORY =================================================================== --- stable/10/contrib/openpam/HISTORY (revision 294191) +++ stable/10/contrib/openpam/HISTORY (revision 294192) Property changes on: stable/10/contrib/openpam/HISTORY ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/INSTALL =================================================================== --- stable/10/contrib/openpam/INSTALL (revision 294191) +++ stable/10/contrib/openpam/INSTALL (revision 294192) Property changes on: stable/10/contrib/openpam/INSTALL ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/LICENSE =================================================================== --- stable/10/contrib/openpam/LICENSE (revision 294191) +++ stable/10/contrib/openpam/LICENSE (revision 294192) Property changes on: stable/10/contrib/openpam/LICENSE ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/Makefile.am =================================================================== --- stable/10/contrib/openpam/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/Makefile.in =================================================================== --- stable/10/contrib/openpam/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/README =================================================================== --- stable/10/contrib/openpam/README (revision 294191) +++ stable/10/contrib/openpam/README (revision 294192) Property changes on: stable/10/contrib/openpam/README ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/RELNOTES =================================================================== --- stable/10/contrib/openpam/RELNOTES (revision 294191) +++ stable/10/contrib/openpam/RELNOTES (revision 294192) Property changes on: stable/10/contrib/openpam/RELNOTES ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/aclocal.m4 =================================================================== --- stable/10/contrib/openpam/aclocal.m4 (revision 294191) +++ stable/10/contrib/openpam/aclocal.m4 (revision 294192) Property changes on: stable/10/contrib/openpam/aclocal.m4 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/autogen.sh =================================================================== --- stable/10/contrib/openpam/autogen.sh (revision 294191) +++ stable/10/contrib/openpam/autogen.sh (revision 294192) Property changes on: stable/10/contrib/openpam/autogen.sh ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/bin/Makefile.am =================================================================== --- stable/10/contrib/openpam/bin/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/bin/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/bin/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/bin/Makefile.in =================================================================== --- stable/10/contrib/openpam/bin/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/bin/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/bin/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/bin/su/Makefile.am =================================================================== --- stable/10/contrib/openpam/bin/su/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/bin/su/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/bin/su/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/bin/su/Makefile.in =================================================================== --- stable/10/contrib/openpam/bin/su/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/bin/su/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/bin/su/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/bin/su/su.c =================================================================== --- stable/10/contrib/openpam/bin/su/su.c (revision 294191) +++ stable/10/contrib/openpam/bin/su/su.c (revision 294192) Property changes on: stable/10/contrib/openpam/bin/su/su.c ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/compile =================================================================== --- stable/10/contrib/openpam/compile (revision 294191) +++ stable/10/contrib/openpam/compile (revision 294192) Property changes on: stable/10/contrib/openpam/compile ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/config.guess =================================================================== --- stable/10/contrib/openpam/config.guess (revision 294191) +++ stable/10/contrib/openpam/config.guess (revision 294192) Property changes on: stable/10/contrib/openpam/config.guess ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/config.h.in =================================================================== --- stable/10/contrib/openpam/config.h.in (revision 294191) +++ stable/10/contrib/openpam/config.h.in (revision 294192) Property changes on: stable/10/contrib/openpam/config.h.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/config.sub =================================================================== --- stable/10/contrib/openpam/config.sub (revision 294191) +++ stable/10/contrib/openpam/config.sub (revision 294192) Property changes on: stable/10/contrib/openpam/config.sub ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/configure =================================================================== --- stable/10/contrib/openpam/configure (revision 294191) +++ stable/10/contrib/openpam/configure (revision 294192) Property changes on: stable/10/contrib/openpam/configure ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/configure.ac =================================================================== --- stable/10/contrib/openpam/configure.ac (revision 294191) +++ stable/10/contrib/openpam/configure.ac (revision 294192) @@ -1,141 +1,141 @@ dnl $Id: configure.ac 816 2014-09-12 07:50:22Z des $ AC_PREREQ([2.62]) AC_REVISION([$Id: configure.ac 816 2014-09-12 07:50:22Z des $]) AC_INIT([OpenPAM], [20140912], [des@des.no], [openpam], [http://www.openpam.org/]) AC_CONFIG_SRCDIR([lib/libpam/pam_start.c]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign]) AM_CONFIG_HEADER([config.h]) # C compiler and features AC_LANG(C) AC_PROG_CC AC_PROG_CC_STDC AC_PROG_CPP AC_GNU_SOURCE AC_C_CONST AC_C_RESTRICT AC_C_VOLATILE # libtool LT_PREREQ([2.2.6]) LT_INIT([disable-static dlopen]) # other programs AC_PROG_INSTALL LIB_MAJ=2 AC_SUBST(LIB_MAJ) AC_DEFINE_UNQUOTED(LIB_MAJ, $LIB_MAJ, [OpenPAM library major number]) AC_ARG_ENABLE([debug], AC_HELP_STRING([--enable-debug], [turn debugging macros on]), AC_DEFINE(OPENPAM_DEBUG, 1, [Turn debugging macros on])) AC_ARG_ENABLE([unversioned-modules], AC_HELP_STRING([--disable-unversioned-modules], [support loading of unversioned modules]), [AS_IF([test x"$enableval" = x"no"], [ AC_DEFINE(DISABLE_UNVERSIONED_MODULES, 1, [Whether loading unversioned modules support is disabled]) ])]) AC_ARG_WITH([modules-dir], AC_HELP_STRING([--with-modules-dir=DIR], [OpenPAM modules directory]), [AS_IF([test x"$withval" != x"no"], [ OPENPAM_MODULES_DIR="$withval" AC_DEFINE_UNQUOTED(OPENPAM_MODULES_DIR, "${OPENPAM_MODULES_DIR%/}", [OpenPAM modules directory]) ])]) AC_SUBST(OPENPAM_MODULES_DIR) AM_CONDITIONAL([CUSTOM_MODULES_DIR], [test x"$OPENPAM_MODULES_DIR" != x""]) AC_ARG_WITH([doc], AC_HELP_STRING([--without-doc], [do not build documentation]), [], [with_doc=yes]) AM_CONDITIONAL([WITH_DOC], [test x"$with_doc" = x"yes"]) AC_ARG_WITH([pam-unix], AC_HELP_STRING([--with-pam-unix], [compile sample pam_unix(8) module]), [], [with_pam_unix=no]) AM_CONDITIONAL([WITH_PAM_UNIX], [test x"$with_pam_unix" = x"yes"]) AC_ARG_WITH(pamtest, AC_HELP_STRING([--with-pamtest], [compile test application]), [], [with_pamtest=no]) AM_CONDITIONAL([WITH_PAMTEST], [test x"$with_pamtest" = x"yes"]) AC_ARG_WITH(su, AC_HELP_STRING([--with-su], [compile sample su(1) implementation]), [], [with_su=no]) AM_CONDITIONAL([WITH_SU], [test x"$with_su" = x"yes"]) AC_CHECK_HEADERS([crypt.h]) AC_CHECK_FUNCS([asprintf vasprintf]) AC_CHECK_FUNCS([dlfunc fdlopen]) AC_CHECK_FUNCS([fpurge]) AC_CHECK_FUNCS([setlogmask]) AC_CHECK_FUNCS([strlcat strlcmp strlcpy strlset]) saved_LIBS="${LIBS}" LIBS="" AC_CHECK_LIB([dl], [dlopen]) DL_LIBS="${LIBS}" LIBS="${saved_LIBS}" AC_SUBST(DL_LIBS) saved_LIBS="${LIBS}" LIBS="" AC_CHECK_LIB([crypt], [crypt]) CRYPT_LIBS="${LIBS}" LIBS="${saved_LIBS}" AC_SUBST(CRYPT_LIBS) saved_LIBS="${LIBS}" LIBS="" AC_CHECK_LIB([crypto], [HMAC_CTX_init]) CRYPTO_LIBS="${LIBS}" LIBS="${saved_LIBS}" AC_SUBST(CRYPTO_LIBS) AC_ARG_ENABLE([developer-warnings], AS_HELP_STRING([--enable-developer-warnings], [enable strict warnings (default is NO)]), - [CFLAGS="${CFLAGS} -Wall -Wextra"]) + [CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual"]) AC_ARG_ENABLE([debugging-symbols], AS_HELP_STRING([--enable-debugging-symbols], [enable debugging symbols (default is NO)]), [CFLAGS="${CFLAGS} -O0 -g -fno-inline"]) AC_ARG_ENABLE([werror], AS_HELP_STRING([--enable-werror], [use -Werror (default is NO)]), [CFLAGS="${CFLAGS} -Werror"]) AC_CONFIG_FILES([ Makefile bin/Makefile bin/openpam_dump_policy/Makefile bin/pamtest/Makefile bin/su/Makefile doc/Makefile doc/man/Makefile include/Makefile include/security/Makefile lib/Makefile lib/libpam/Makefile modules/Makefile modules/pam_deny/Makefile modules/pam_permit/Makefile modules/pam_unix/Makefile t/Makefile ]) AC_CONFIG_FILES([pamgdb],[chmod +x pamgdb]) AC_CONFIG_FILES([mkpkgng],[chmod +x mkpkgng]) AC_OUTPUT Property changes on: stable/10/contrib/openpam/configure.ac ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/depcomp =================================================================== --- stable/10/contrib/openpam/depcomp (revision 294191) +++ stable/10/contrib/openpam/depcomp (revision 294192) Property changes on: stable/10/contrib/openpam/depcomp ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/Makefile.am =================================================================== --- stable/10/contrib/openpam/doc/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/doc/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/doc/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/Makefile.in =================================================================== --- stable/10/contrib/openpam/doc/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/doc/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/doc/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/Makefile.am =================================================================== --- stable/10/contrib/openpam/doc/man/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/doc/man/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/Makefile.in =================================================================== --- stable/10/contrib/openpam/doc/man/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/doc/man/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam.man =================================================================== --- stable/10/contrib/openpam/doc/man/openpam.man (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam.man (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam.man ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_borrow_cred.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_borrow_cred.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_borrow_cred.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_borrow_cred.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_free_data.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_free_data.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_free_data.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_free_data.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_free_envlist.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_free_envlist.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_free_envlist.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_free_envlist.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_get_option.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_get_option.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_get_option.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_get_option.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_log.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_log.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_log.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_log.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_nullconv.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_nullconv.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_nullconv.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_nullconv.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_readline.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_readline.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_readline.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_readline.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_restore_cred.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_restore_cred.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_restore_cred.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_restore_cred.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_set_option.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_set_option.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_set_option.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_set_option.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/openpam_ttyconv.3 =================================================================== --- stable/10/contrib/openpam/doc/man/openpam_ttyconv.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/openpam_ttyconv.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/openpam_ttyconv.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam.conf.5 =================================================================== --- stable/10/contrib/openpam/doc/man/pam.conf.5 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam.conf.5 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam.conf.5 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam.man =================================================================== --- stable/10/contrib/openpam/doc/man/pam.man (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam.man (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam.man ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_acct_mgmt.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_acct_mgmt.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_acct_mgmt.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_acct_mgmt.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_authenticate.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_authenticate.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_authenticate.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_authenticate.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_chauthtok.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_chauthtok.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_chauthtok.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_chauthtok.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_close_session.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_close_session.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_close_session.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_close_session.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_conv.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_conv.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_conv.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_conv.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_end.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_end.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_end.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_end.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_error.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_error.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_error.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_error.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_get_authtok.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_get_authtok.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_get_authtok.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_get_authtok.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_get_data.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_get_data.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_get_data.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_get_data.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_get_item.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_get_item.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_get_item.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_get_item.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_get_user.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_get_user.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_get_user.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_get_user.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_getenv.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_getenv.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_getenv.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_getenv.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_getenvlist.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_getenvlist.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_getenvlist.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_getenvlist.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_info.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_info.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_info.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_info.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_open_session.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_open_session.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_open_session.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_open_session.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_prompt.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_prompt.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_prompt.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_prompt.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_putenv.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_putenv.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_putenv.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_putenv.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_set_data.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_set_data.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_set_data.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_set_data.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_set_item.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_set_item.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_set_item.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_set_item.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_setcred.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_setcred.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_setcred.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_setcred.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_setenv.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_setenv.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_setenv.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_setenv.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_sm_authenticate.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_sm_authenticate.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_sm_authenticate.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_sm_authenticate.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_sm_chauthtok.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_sm_chauthtok.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_sm_chauthtok.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_sm_chauthtok.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_sm_close_session.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_sm_close_session.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_sm_close_session.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_sm_close_session.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_sm_open_session.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_sm_open_session.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_sm_open_session.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_sm_open_session.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_sm_setcred.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_sm_setcred.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_sm_setcred.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_sm_setcred.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_start.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_start.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_start.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_start.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_strerror.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_strerror.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_strerror.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_strerror.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_verror.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_verror.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_verror.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_verror.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_vinfo.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_vinfo.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_vinfo.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_vinfo.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/doc/man/pam_vprompt.3 =================================================================== --- stable/10/contrib/openpam/doc/man/pam_vprompt.3 (revision 294191) +++ stable/10/contrib/openpam/doc/man/pam_vprompt.3 (revision 294192) Property changes on: stable/10/contrib/openpam/doc/man/pam_vprompt.3 ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/Makefile.am =================================================================== --- stable/10/contrib/openpam/include/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/include/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/include/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/Makefile.in =================================================================== --- stable/10/contrib/openpam/include/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/include/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/include/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/Makefile.am =================================================================== --- stable/10/contrib/openpam/include/security/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/include/security/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/Makefile.in =================================================================== --- stable/10/contrib/openpam/include/security/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/include/security/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/openpam.h =================================================================== --- stable/10/contrib/openpam/include/security/openpam.h (revision 294191) +++ stable/10/contrib/openpam/include/security/openpam.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/openpam.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/openpam_attr.h =================================================================== --- stable/10/contrib/openpam/include/security/openpam_attr.h (revision 294191) +++ stable/10/contrib/openpam/include/security/openpam_attr.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/openpam_attr.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/openpam_version.h =================================================================== --- stable/10/contrib/openpam/include/security/openpam_version.h (revision 294191) +++ stable/10/contrib/openpam/include/security/openpam_version.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/openpam_version.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/pam_appl.h =================================================================== --- stable/10/contrib/openpam/include/security/pam_appl.h (revision 294191) +++ stable/10/contrib/openpam/include/security/pam_appl.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/pam_appl.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/pam_constants.h =================================================================== --- stable/10/contrib/openpam/include/security/pam_constants.h (revision 294191) +++ stable/10/contrib/openpam/include/security/pam_constants.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/pam_constants.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/pam_modules.h =================================================================== --- stable/10/contrib/openpam/include/security/pam_modules.h (revision 294191) +++ stable/10/contrib/openpam/include/security/pam_modules.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/pam_modules.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/include/security/pam_types.h =================================================================== --- stable/10/contrib/openpam/include/security/pam_types.h (revision 294191) +++ stable/10/contrib/openpam/include/security/pam_types.h (revision 294192) Property changes on: stable/10/contrib/openpam/include/security/pam_types.h ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/install-sh =================================================================== --- stable/10/contrib/openpam/install-sh (revision 294191) +++ stable/10/contrib/openpam/install-sh (revision 294192) Property changes on: stable/10/contrib/openpam/install-sh ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/lib/libpam/openpam_constants.c =================================================================== --- stable/10/contrib/openpam/lib/libpam/openpam_constants.c (revision 294191) +++ stable/10/contrib/openpam/lib/libpam/openpam_constants.c (revision 294192) @@ -1,145 +1,148 @@ /*- * 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: openpam_constants.c 690 2013-08-15 13:22:51Z des $ */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include "openpam_impl.h" const char *pam_err_name[PAM_NUM_ERRORS] = { "PAM_SUCCESS", "PAM_OPEN_ERR", "PAM_SYMBOL_ERR", "PAM_SERVICE_ERR", "PAM_SYSTEM_ERR", "PAM_BUF_ERR", "PAM_CONV_ERR", "PAM_PERM_DENIED", "PAM_MAXTRIES", "PAM_AUTH_ERR", "PAM_NEW_AUTHTOK_REQD", "PAM_CRED_INSUFFICIENT", "PAM_AUTHINFO_UNAVAIL", "PAM_USER_UNKNOWN", "PAM_CRED_UNAVAIL", "PAM_CRED_EXPIRED", "PAM_CRED_ERR", "PAM_ACCT_EXPIRED", "PAM_AUTHTOK_EXPIRED", "PAM_SESSION_ERR", "PAM_AUTHTOK_ERR", "PAM_AUTHTOK_RECOVERY_ERR", "PAM_AUTHTOK_LOCK_BUSY", "PAM_AUTHTOK_DISABLE_AGING", "PAM_NO_MODULE_DATA", "PAM_IGNORE", "PAM_ABORT", "PAM_TRY_AGAIN", "PAM_MODULE_UNKNOWN", "PAM_DOMAIN_UNKNOWN" }; const char *pam_item_name[PAM_NUM_ITEMS] = { "(NO ITEM)", "PAM_SERVICE", "PAM_USER", "PAM_TTY", "PAM_RHOST", "PAM_CONV", "PAM_AUTHTOK", "PAM_OLDAUTHTOK", "PAM_RUSER", "PAM_USER_PROMPT", "PAM_REPOSITORY", "PAM_AUTHTOK_PROMPT", "PAM_OLDAUTHTOK_PROMPT", "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_authenticate", "pam_setcred", "pam_acct_mgmt", "pam_open_session", "pam_close_session", "pam_chauthtok" }; const char *pam_sm_func_name[PAM_NUM_PRIMITIVES] = { "pam_sm_authenticate", "pam_sm_setcred", "pam_sm_acct_mgmt", "pam_sm_open_session", "pam_sm_close_session", "pam_sm_chauthtok" }; 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, +#elif COMPAT_32BIT + "/usr/lib32", + "/usr/local/lib32", #else "/usr/lib", "/usr/local/lib", #endif NULL }; Index: stable/10/contrib/openpam/lib/libpam/openpam_ctype.h =================================================================== --- stable/10/contrib/openpam/lib/libpam/openpam_ctype.h (revision 294191) +++ stable/10/contrib/openpam/lib/libpam/openpam_ctype.h (revision 294192) @@ -1,89 +1,97 @@ /*- * Copyright (c) 2012 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. * 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: openpam_ctype.h 763 2014-02-26 16:29:16Z 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 <= 'A') + (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 * extended to include the form feed and carraige return characters. */ #define is_lws(ch) \ (ch == ' ' || ch == '\t' || ch == '\f' || ch == '\r') /* * Evaluates to non-zero if the argument is a whitespace character. */ #define is_ws(ch) \ (is_lws(ch) || ch == '\n') /* * Evaluates to non-zero if the argument is a printable ASCII character. * Assumes that the execution character set is a superset of ASCII. */ #define is_p(ch) \ (ch >= '!' && ch <= '~') /* * Returns non-zero if the argument belongs to the POSIX Portable Filename * Character Set. Assumes that the execution character set is a superset * of ASCII. */ #define is_pfcs(ch) \ (is_digit(ch) || is_letter(ch) || \ ch == '.' || ch == '_' || ch == '-') #endif Index: stable/10/contrib/openpam/lib/libpam/openpam_dispatch.c =================================================================== --- stable/10/contrib/openpam/lib/libpam/openpam_dispatch.c (revision 294191) +++ stable/10/contrib/openpam/lib/libpam/openpam_dispatch.c (revision 294192) @@ -1,254 +1,254 @@ /*- * Copyright (c) 2002-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: openpam_dispatch.c 807 2014-09-09 09:41:32Z des $ */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include "openpam_impl.h" #if !defined(OPENPAM_RELAX_CHECKS) static void openpam_check_error_code(int, int); #else #define openpam_check_error_code(a, b) #endif /* !defined(OPENPAM_RELAX_CHECKS) */ /* * OpenPAM internal * * Execute a module chain */ int openpam_dispatch(pam_handle_t *pamh, int primitive, int flags) { pam_chain_t *chain; int err, fail, nsuccess, r; int debug; ENTER(); if (pamh == NULL) RETURNC(PAM_SYSTEM_ERR); /* prevent recursion */ if (pamh->current != NULL) { openpam_log(PAM_LOG_ERROR, "%s() called while %s::%s() is in progress", pam_func_name[primitive], pamh->current->module->path, pam_sm_func_name[pamh->primitive]); RETURNC(PAM_ABORT); } /* pick a chain */ switch (primitive) { case PAM_SM_AUTHENTICATE: case PAM_SM_SETCRED: chain = pamh->chains[PAM_AUTH]; break; case PAM_SM_ACCT_MGMT: chain = pamh->chains[PAM_ACCOUNT]; break; case PAM_SM_OPEN_SESSION: case PAM_SM_CLOSE_SESSION: chain = pamh->chains[PAM_SESSION]; break; case PAM_SM_CHAUTHTOK: chain = pamh->chains[PAM_PASSWORD]; break; default: RETURNC(PAM_SYSTEM_ERR); } /* execute */ 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; } else { pamh->primitive = primitive; pamh->current = chain; debug = (openpam_get_option(pamh, "debug") != NULL); if (debug) ++openpam_debug; 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_LIBDEBUG, "%s: %s(): %s", chain->module->path, pam_sm_func_name[primitive], pam_strerror(pamh, r)); if (debug) --openpam_debug; } 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 * "optional". */ if ((chain->flag == PAM_SUFFICIENT || chain->flag == PAM_BINDING) && !fail && primitive != PAM_SM_SETCRED && !(primitive == PAM_SM_CHAUTHTOK && (flags & PAM_PRELIM_CHECK))) break; continue; } openpam_check_error_code(primitive, r); /* * Record the return code from the first module to * fail. If a required module fails, record the * return code from the first required module to fail. */ if (err == PAM_SUCCESS) err = r; if ((chain->flag == PAM_REQUIRED || chain->flag == PAM_BINDING) && !fail) { openpam_log(PAM_LOG_LIBDEBUG, "required module failed"); fail = 1; err = r; } /* * If a requisite module fails, terminate the chain * immediately. */ if (chain->flag == PAM_REQUISITE) { openpam_log(PAM_LOG_LIBDEBUG, "requisite module failed"); fail = 1; break; } } 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); } #if !defined(OPENPAM_RELAX_CHECKS) static void 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 || r == PAM_PERM_DENIED || r == PAM_ABORT) return; /* specific error codes */ switch (primitive) { case PAM_SM_AUTHENTICATE: if (r == PAM_AUTH_ERR || r == PAM_CRED_INSUFFICIENT || r == PAM_AUTHINFO_UNAVAIL || r == PAM_USER_UNKNOWN || r == PAM_MAXTRIES) return; break; case PAM_SM_SETCRED: if (r == PAM_CRED_UNAVAIL || r == PAM_CRED_EXPIRED || r == PAM_USER_UNKNOWN || r == PAM_CRED_ERR) return; break; case PAM_SM_ACCT_MGMT: if (r == PAM_USER_UNKNOWN || r == PAM_AUTH_ERR || r == PAM_NEW_AUTHTOK_REQD || r == PAM_ACCT_EXPIRED) return; break; case PAM_SM_OPEN_SESSION: case PAM_SM_CLOSE_SESSION: if (r == PAM_SESSION_ERR) return; break; case PAM_SM_CHAUTHTOK: if (r == PAM_PERM_DENIED || r == PAM_AUTHTOK_ERR || r == PAM_AUTHTOK_RECOVERY_ERR || r == PAM_AUTHTOK_LOCK_BUSY || r == PAM_AUTHTOK_DISABLE_AGING || r == PAM_TRY_AGAIN) return; break; } openpam_log(PAM_LOG_ERROR, "%s(): unexpected return value %d", pam_sm_func_name[primitive], r); } #endif /* !defined(OPENPAM_RELAX_CHECKS) */ /* * NODOC * * Error codes: */ Index: stable/10/contrib/openpam/ltmain.sh =================================================================== --- stable/10/contrib/openpam/ltmain.sh (revision 294191) +++ stable/10/contrib/openpam/ltmain.sh (revision 294192) Property changes on: stable/10/contrib/openpam/ltmain.sh ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/misc/gendoc.pl =================================================================== --- stable/10/contrib/openpam/misc/gendoc.pl (revision 294191) +++ stable/10/contrib/openpam/misc/gendoc.pl (revision 294192) Property changes on: stable/10/contrib/openpam/misc/gendoc.pl ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/missing =================================================================== --- stable/10/contrib/openpam/missing (revision 294191) +++ stable/10/contrib/openpam/missing (revision 294192) Property changes on: stable/10/contrib/openpam/missing ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/Makefile.am =================================================================== --- stable/10/contrib/openpam/modules/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/modules/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/modules/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/Makefile.in =================================================================== --- stable/10/contrib/openpam/modules/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/modules/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/modules/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_deny/Makefile.am =================================================================== --- stable/10/contrib/openpam/modules/pam_deny/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/modules/pam_deny/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_deny/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_deny/Makefile.in =================================================================== --- stable/10/contrib/openpam/modules/pam_deny/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/modules/pam_deny/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_deny/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_deny/pam_deny.c =================================================================== --- stable/10/contrib/openpam/modules/pam_deny/pam_deny.c (revision 294191) +++ stable/10/contrib/openpam/modules/pam_deny/pam_deny.c (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_deny/pam_deny.c ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_permit/Makefile.am =================================================================== --- stable/10/contrib/openpam/modules/pam_permit/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/modules/pam_permit/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_permit/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_permit/Makefile.in =================================================================== --- stable/10/contrib/openpam/modules/pam_permit/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/modules/pam_permit/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_permit/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_permit/pam_permit.c =================================================================== --- stable/10/contrib/openpam/modules/pam_permit/pam_permit.c (revision 294191) +++ stable/10/contrib/openpam/modules/pam_permit/pam_permit.c (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_permit/pam_permit.c ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_unix/Makefile.am =================================================================== --- stable/10/contrib/openpam/modules/pam_unix/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/modules/pam_unix/Makefile.am (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_unix/Makefile.am ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_unix/Makefile.in =================================================================== --- stable/10/contrib/openpam/modules/pam_unix/Makefile.in (revision 294191) +++ stable/10/contrib/openpam/modules/pam_unix/Makefile.in (revision 294192) Property changes on: stable/10/contrib/openpam/modules/pam_unix/Makefile.in ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/modules/pam_unix/pam_unix.c =================================================================== --- stable/10/contrib/openpam/modules/pam_unix/pam_unix.c (revision 294191) +++ stable/10/contrib/openpam/modules/pam_unix/pam_unix.c (revision 294192) @@ -1,196 +1,196 @@ /*- * Copyright (c) 2002-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: pam_unix.c 648 2013-03-05 17:54:27Z des $ */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include #include #ifdef HAVE_CRYPT_H # include #endif #include #include #ifndef OPENPAM static char password_prompt[] = "Password:"; #endif #ifndef PAM_EXTERN #define PAM_EXTERN #endif PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char *argv[]) { #ifndef OPENPAM struct pam_conv *conv; struct pam_message msg; const struct pam_message *msgp; struct pam_response *resp; #endif struct passwd *pwd; const char *user; - char *crypt_password, *password; + const char *crypt_password, *password; int pam_err, retry; (void)argc; (void)argv; /* identify user */ if ((pam_err = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS) return (pam_err); if ((pwd = getpwnam(user)) == NULL) return (PAM_USER_UNKNOWN); /* get password */ #ifndef OPENPAM pam_err = pam_get_item(pamh, PAM_CONV, (const void **)&conv); if (pam_err != PAM_SUCCESS) return (PAM_SYSTEM_ERR); msg.msg_style = PAM_PROMPT_ECHO_OFF; msg.msg = password_prompt; msgp = &msg; #endif for (retry = 0; retry < 3; ++retry) { #ifdef OPENPAM pam_err = pam_get_authtok(pamh, PAM_AUTHTOK, - (const char **)&password, NULL); + &password, NULL); #else resp = NULL; pam_err = (*conv->conv)(1, &msgp, &resp, conv->appdata_ptr); if (resp != NULL) { if (pam_err == PAM_SUCCESS) password = resp->resp; else free(resp->resp); free(resp); } #endif if (pam_err == PAM_SUCCESS) break; } if (pam_err == PAM_CONV_ERR) return (pam_err); if (pam_err != PAM_SUCCESS) return (PAM_AUTH_ERR); /* compare passwords */ if ((!pwd->pw_passwd[0] && (flags & PAM_DISALLOW_NULL_AUTHTOK)) || (crypt_password = crypt(password, pwd->pw_passwd)) == NULL || strcmp(crypt_password, pwd->pw_passwd) != 0) pam_err = PAM_AUTH_ERR; else pam_err = PAM_SUCCESS; #ifndef OPENPAM free(password); #endif return (pam_err); } PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char *argv[]) { (void)pamh; (void)flags; (void)argc; (void)argv; return (PAM_SUCCESS); } PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char *argv[]) { (void)pamh; (void)flags; (void)argc; (void)argv; return (PAM_SUCCESS); } PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char *argv[]) { (void)pamh; (void)flags; (void)argc; (void)argv; return (PAM_SUCCESS); } PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char *argv[]) { (void)pamh; (void)flags; (void)argc; (void)argv; return (PAM_SUCCESS); } PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char *argv[]) { (void)pamh; (void)flags; (void)argc; (void)argv; return (PAM_SERVICE_ERR); } #ifdef PAM_MODULE_ENTRY PAM_MODULE_ENTRY("pam_unix"); #endif Property changes on: stable/10/contrib/openpam/modules/pam_unix/pam_unix.c ___________________________________________________________________ Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Index: stable/10/contrib/openpam/t/Makefile.am =================================================================== --- stable/10/contrib/openpam/t/Makefile.am (revision 294191) +++ stable/10/contrib/openpam/t/Makefile.am (revision 294192) @@ -1,18 +1,19 @@ # $Id: Makefile.am 763 2014-02-26 16:29:16Z des $ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/lib/libpam noinst_HEADERS = t.h # tests TESTS = +TESTS += t_openpam_ctype TESTS += t_openpam_readword TESTS += t_openpam_readlinev check_PROGRAMS = $(TESTS) # libt - common support code check_LIBRARIES = libt.a libt_a_SOURCES = t_main.c t_file.c # link with libpam and libt LDADD = libt.a $(top_builddir)/lib/libpam/libpam.la Index: stable/10/contrib/openpam/t/t_openpam_ctype.c =================================================================== --- stable/10/contrib/openpam/t/t_openpam_ctype.c (nonexistent) +++ stable/10/contrib/openpam/t/t_openpam_ctype.c (revision 294192) @@ -0,0 +1,122 @@ +/*- + * 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. + * 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$ + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include + +#include "openpam_ctype.h" + +#include "t.h" + +#define OC_DIGIT "0123456789" +#define OC_XDIGIT OC_DIGIT "ABCDEFabcdef" +#define OC_UPPER "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +#define OC_LOWER "abcdefghijklmnopqrstuvwxyz" +#define OC_LETTER OC_UPPER OC_LOWER +#define OC_LWS " \t\f\r" +#define OC_WS OC_LWS "\n" +#define OC_P "!\"#$%&'()*+,-./" OC_DIGIT ":;<=>?@" OC_UPPER "[\\]^_`" OC_LOWER "{|}~" +#define OC_PFCS OC_DIGIT OC_LETTER "._-" + +static const char oc_digit[] = OC_DIGIT; +static const char oc_xdigit[] = OC_XDIGIT; +static const char oc_upper[] = OC_UPPER; +static const char oc_lower[] = OC_LOWER; +static const char oc_letter[] = OC_LETTER; +static const char oc_lws[] = OC_LWS; +static const char oc_ws[] = OC_WS; +static const char oc_p[] = OC_P; +static const char oc_pfcs[] = OC_PFCS; + +#define T_OC(set) \ + T_FUNC(t_oc_##set, "is_" #set) \ + { \ + char crib[256]; \ + unsigned int i, ret; \ + \ + memset(crib, 0, sizeof crib); \ + for (i = 0; oc_##set[i]; ++i) \ + crib[(int)oc_##set[i]] = 1; \ + for (i = ret = 0; i < sizeof crib; ++i) { \ + if (is_##set(i) != crib[i]) { \ + t_verbose("is_%s() incorrect " \ + "for %#02x\n", #set, i); \ + ++ret; \ + } \ + } \ + return (ret == 0); \ + } + +T_OC(digit) +T_OC(xdigit) +T_OC(upper) +T_OC(lower) +T_OC(letter) +T_OC(lws) +T_OC(ws) +T_OC(p) +T_OC(pfcs) + + +/*************************************************************************** + * Boilerplate + */ + +static const struct t_test *t_plan[] = { + T(t_oc_digit), + T(t_oc_xdigit), + T(t_oc_upper), + T(t_oc_lower), + T(t_oc_letter), + T(t_oc_lws), + T(t_oc_ws), + T(t_oc_p), + T(t_oc_pfcs), + NULL +}; + +const struct t_test ** +t_prepare(int argc, char *argv[]) +{ + + (void)argc; + (void)argv; + return (t_plan); +} + +void +t_cleanup(void) +{ +} Index: stable/10/contrib/openpam/t/t_openpam_readlinev.c =================================================================== --- stable/10/contrib/openpam/t/t_openpam_readlinev.c (revision 294191) +++ stable/10/contrib/openpam/t/t_openpam_readlinev.c (revision 294192) @@ -1,285 +1,285 @@ /*- * Copyright (c) 2012 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. * 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: t_openpam_readlinev.c 648 2013-03-05 17:54:27Z des $ */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include #include #include "openpam_impl.h" #include "t.h" /* * Read a line from the temp file and verify that the result matches our * expectations: whether a line was read at all, how many and which words * it contained, how many lines were read (in case of quoted or escaped * newlines) and whether we reached the end of the file. */ static int orlv_expect(struct t_file *tf, const char **expectedv, int lines, int eof) { int expectedc, gotc, i, lineno = 0; char **gotv; expectedc = 0; if (expectedv != NULL) while (expectedv[expectedc] != NULL) ++expectedc; gotv = openpam_readlinev(tf->file, &lineno, &gotc); if (t_ferror(tf)) err(1, "%s(): %s", __func__, tf->name); if (expectedv != NULL && gotv == NULL) { t_verbose("expected %d words, got nothing\n", expectedc); return (0); } if (expectedv == NULL && gotv != NULL) { t_verbose("expected nothing, got %d words\n", gotc); FREEV(gotc, gotv); return (0); } if (expectedv != NULL && gotv != NULL) { if (expectedc != gotc) { t_verbose("expected %d words, got %d\n", expectedc, gotc); FREEV(gotc, gotv); return (0); } for (i = 0; i < gotc; ++i) { if (strcmp(expectedv[i], gotv[i]) != 0) { t_verbose("word %d: expected <<%s>>, " "got <<%s>>\n", i, expectedv[i], gotv[i]); FREEV(gotc, gotv); return (0); } } FREEV(gotc, gotv); } if (lineno != lines) { t_verbose("expected to advance %d lines, advanced %d lines\n", lines, lineno); return (0); } if (eof && !t_feof(tf)) { t_verbose("expected EOF, but didn't get it\n"); return (0); } if (!eof && t_feof(tf)) { t_verbose("didn't expect EOF, but got it anyway\n"); return (0); } return (1); } /*************************************************************************** * Commonly-used lines */ static const char *empty[] = { NULL }; static const char *hello[] = { "hello", NULL }; static const char *hello_world[] = { "hello", "world", NULL }; /*************************************************************************** * Lines without words */ T_FUNC(empty_input, "empty input") { struct t_file *tf; int ret; tf = t_fopen(NULL); ret = orlv_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(empty_line, "empty line") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\n"); t_frewind(tf); ret = orlv_expect(tf, empty, 1 /*lines*/, 0 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(unterminated_empty_line, "unterminated empty line") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " "); t_frewind(tf); ret = orlv_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(whitespace, "whitespace") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " \n"); t_frewind(tf); ret = orlv_expect(tf, empty, 1 /*lines*/, 0 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(comment, "comment") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "# comment\n"); t_frewind(tf); ret = orlv_expect(tf, empty, 1 /*lines*/, 0 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(whitespace_before_comment, "whitespace before comment") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " # comment\n"); t_frewind(tf); ret = orlv_expect(tf, empty, 1 /*lines*/, 0 /*eof*/); t_fclose(tf); return (ret); } /*************************************************************************** * Simple words */ T_FUNC(one_word, "one word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello\n"); t_frewind(tf); ret = orlv_expect(tf, hello, 1 /*lines*/, 0 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(two_words, "two words") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello world\n"); t_frewind(tf); ret = orlv_expect(tf, hello_world, 1 /*lines*/, 0 /*eof*/); t_fclose(tf); return (ret); } T_FUNC(unterminated_line, "unterminated line") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello world"); t_frewind(tf); ret = orlv_expect(tf, hello_world, 0 /*lines*/, 1 /*eof*/); t_fclose(tf); return (ret); } /*************************************************************************** * Boilerplate */ -const struct t_test *t_plan[] = { +static const struct t_test *t_plan[] = { T(empty_input), T(empty_line), T(unterminated_empty_line), T(whitespace), T(comment), T(whitespace_before_comment), T(one_word), T(two_words), T(unterminated_line), NULL }; const struct t_test ** t_prepare(int argc, char *argv[]) { (void)argc; (void)argv; return (t_plan); } void t_cleanup(void) { } Index: stable/10/contrib/openpam/t/t_openpam_readword.c =================================================================== --- stable/10/contrib/openpam/t/t_openpam_readword.c (revision 294191) +++ stable/10/contrib/openpam/t/t_openpam_readword.c (revision 294192) @@ -1,897 +1,897 @@ /*- * Copyright (c) 2012 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. * 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: t_openpam_readword.c 648 2013-03-05 17:54:27Z des $ */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include #include #include #include "t.h" /* * Read a word from the temp file and verify that the result matches our * expectations: whether a word was read at all, how many lines were read * (in case of quoted or escaped newlines), whether we reached the end of * the file and whether we reached the end of the line. */ static int orw_expect(struct t_file *tf, const char *expected, int lines, int eof, int eol) { int ch, lineno = 0; char *got; size_t len; got = openpam_readword(tf->file, &lineno, &len); if (t_ferror(tf)) err(1, "%s(): %s", __func__, tf->name); if (expected != NULL && got == NULL) { t_verbose("expected <<%s>>, got nothing\n", expected); return (0); } if (expected == NULL && got != NULL) { t_verbose("expected nothing, got <<%s>>\n", got); return (0); } if (expected != NULL && got != NULL && strcmp(expected, got) != 0) { t_verbose("expected <<%s>>, got <<%s>>\n", expected, got); return (0); } if (lineno != lines) { t_verbose("expected to advance %d lines, advanced %d lines\n", lines, lineno); return (0); } if (eof && !t_feof(tf)) { t_verbose("expected EOF, but didn't get it\n"); return (0); } if (!eof && t_feof(tf)) { t_verbose("didn't expect EOF, but got it anyway\n"); return (0); } ch = fgetc(tf->file); if (t_ferror(tf)) err(1, "%s(): %s", __func__, tf->name); if (eol && ch != '\n') { t_verbose("expected EOL, but didn't get it\n"); return (0); } if (!eol && ch == '\n') { t_verbose("didn't expect EOL, but got it anyway\n"); return (0); } if (ch != EOF) ungetc(ch, tf->file); return (1); } /*************************************************************************** * Lines without words */ T_FUNC(empty_input, "empty input") { struct t_file *tf; int ret; tf = t_fopen(NULL); ret = orw_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(empty_line, "empty line") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\n"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(unterminated_line, "unterminated line") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " "); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_whitespace, "single whitespace") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " \n"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(multiple_whitespace, "multiple whitespace") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " \t\r\n"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(comment, "comment") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "# comment\n"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(whitespace_before_comment, "whitespace before comment") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " # comment\n"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } /*************************************************************************** * Simple cases - no quotes or escapes */ T_FUNC(single_word, "single word") { const char *word = "hello"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "%s\n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_whitespace_before_word, "single whitespace before word") { const char *word = "hello"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " %s\n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_whitespace_before_word, "double whitespace before word") { const char *word = "hello"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, " %s\n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_whitespace_after_word, "single whitespace after word") { const char *word = "hello"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "%s \n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_whitespace_after_word, "double whitespace after word") { const char *word = "hello"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "%s \n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(comment_after_word, "comment after word") { const char *word = "hello"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "%s # comment\n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, NULL, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(word_containing_hash, "word containing hash") { const char *word = "hello#world"; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "%s\n", word); t_frewind(tf); ret = orw_expect(tf, word, 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(two_words, "two words") { const char *word[] = { "hello", "world" }; struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "%s %s\n", word[0], word[1]); t_frewind(tf); ret = orw_expect(tf, word[0], 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, word[1], 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } /*************************************************************************** * Escapes */ T_FUNC(naked_escape, "naked escape") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_escape, "escaped escape") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\\\\n"); t_frewind(tf); ret = orw_expect(tf, "\\", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_whitespace, "escaped whitespace") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\ \\\t \\\r \\\n\n"); t_frewind(tf); ret = orw_expect(tf, " ", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\t", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\r", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && /* this last one is a line continuation */ orw_expect(tf, NULL, 1 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_newline_before_word, "escaped newline before word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\\nhello world\n"); t_frewind(tf); ret = orw_expect(tf, "hello", 1 /*lines*/, 0 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_newline_within_word, "escaped newline within word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello\\\nworld\n"); t_frewind(tf); ret = orw_expect(tf, "helloworld", 1 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_newline_after_word, "escaped newline after word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello\\\n world\n"); t_frewind(tf); ret = orw_expect(tf, "hello", 1 /*lines*/, 0 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_letter, "escaped letter") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\z\n"); t_frewind(tf); ret = orw_expect(tf, "z", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } /*************************************************************************** * Quotes */ T_FUNC(naked_single_quote, "naked single quote") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'"); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(naked_double_quote, "naked double quote") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\""); t_frewind(tf); ret = orw_expect(tf, NULL, 0 /*lines*/, 1 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(empty_single_quotes, "empty single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "''\n"); t_frewind(tf); ret = orw_expect(tf, "", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(empty_double_quotes, "empty double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"\"\n"); t_frewind(tf); ret = orw_expect(tf, "", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_quotes_within_double_quotes, "single quotes within double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"' '\"\n"); t_frewind(tf); ret = orw_expect(tf, "' '", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_quotes_within_single_quotes, "double quotes within single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'\" \"'\n"); t_frewind(tf); ret = orw_expect(tf, "\" \"", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_quoted_whitespace, "single-quoted whitespace") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "' ' '\t' '\r' '\n'\n"); t_frewind(tf); ret = orw_expect(tf, " ", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\t", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\r", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\n", 1 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_quoted_whitespace, "double-quoted whitespace") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\" \" \"\t\" \"\r\" \"\n\"\n"); t_frewind(tf); ret = orw_expect(tf, " ", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\t", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\r", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\n", 1 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_quoted_words, "single-quoted words") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'hello world'\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_quoted_words, "double-quoted words") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"hello world\"\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } /*************************************************************************** * Combinations of quoted and unquoted text */ T_FUNC(single_quote_before_word, "single quote before word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'hello 'world\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_quote_before_word, "double quote before word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"hello \"world\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_quote_within_word, "single quote within word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello' 'world\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_quote_within_word, "double quote within word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello\" \"world\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(single_quote_after_word, "single quote after word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello' world'\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(double_quote_after_word, "double quote after word") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "hello\" world\"\n"); t_frewind(tf); ret = orw_expect(tf, "hello world", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } /*************************************************************************** * Combinations of escape and quotes */ T_FUNC(escaped_single_quote, "escaped single quote") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\'\n"); t_frewind(tf); ret = orw_expect(tf, "'", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_double_quote, "escaped double quote") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\\\"\n"); t_frewind(tf); ret = orw_expect(tf, "\"", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_whitespace_within_single_quotes, "escaped whitespace within single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'\\ ' '\\\t' '\\\r' '\\\n'\n"); t_frewind(tf); ret = orw_expect(tf, "\\ ", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\\\t", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\\\r", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\\\n", 1 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_whitespace_within_double_quotes, "escaped whitespace within double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"\\ \" \"\\\t\" \"\\\r\" \"\\\n\"\n"); t_frewind(tf); ret = orw_expect(tf, "\\ ", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\\\t", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && orw_expect(tf, "\\\r", 0 /*lines*/, 0 /*eof*/, 0 /*eol*/) && /* this last one is a line continuation */ orw_expect(tf, "", 1 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_letter_within_single_quotes, "escaped letter within single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'\\z'\n"); t_frewind(tf); ret = orw_expect(tf, "\\z", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_letter_within_double_quotes, "escaped letter within double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"\\z\"\n"); t_frewind(tf); ret = orw_expect(tf, "\\z", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_escape_within_single_quotes, "escaped escape within single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'\\\\'\n"); t_frewind(tf); ret = orw_expect(tf, "\\\\", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_escape_within_double_quotes, "escaped escape within double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"\\\\\"\n"); t_frewind(tf); ret = orw_expect(tf, "\\", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_single_quote_within_single_quotes, "escaped single quote within single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'\\''\n"); t_frewind(tf); ret = orw_expect(tf, NULL, 1 /*lines*/, 1 /*eof*/, 0 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_double_quote_within_single_quotes, "escaped double quote within single quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "'\\\"'\n"); t_frewind(tf); ret = orw_expect(tf, "\\\"", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_single_quote_within_double_quotes, "escaped single quote within double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"\\'\"\n"); t_frewind(tf); ret = orw_expect(tf, "\\'", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } T_FUNC(escaped_double_quote_within_double_quotes, "escaped double quote within double quotes") { struct t_file *tf; int ret; tf = t_fopen(NULL); t_fprintf(tf, "\"\\\"\"\n"); t_frewind(tf); ret = orw_expect(tf, "\"", 0 /*lines*/, 0 /*eof*/, 1 /*eol*/); t_fclose(tf); return (ret); } /*************************************************************************** * Boilerplate */ -const struct t_test *t_plan[] = { +static const struct t_test *t_plan[] = { T(empty_input), T(empty_line), T(single_whitespace), T(multiple_whitespace), T(comment), T(whitespace_before_comment), T(single_word), T(single_whitespace_before_word), T(double_whitespace_before_word), T(single_whitespace_after_word), T(double_whitespace_after_word), T(comment_after_word), T(word_containing_hash), T(two_words), T(naked_escape), T(escaped_escape), T(escaped_whitespace), T(escaped_newline_before_word), T(escaped_newline_within_word), T(escaped_newline_after_word), T(escaped_letter), T(naked_single_quote), T(naked_double_quote), T(empty_single_quotes), T(empty_double_quotes), T(single_quotes_within_double_quotes), T(double_quotes_within_single_quotes), T(single_quoted_whitespace), T(double_quoted_whitespace), T(single_quoted_words), T(double_quoted_words), T(single_quote_before_word), T(double_quote_before_word), T(single_quote_within_word), T(double_quote_within_word), T(single_quote_after_word), T(double_quote_after_word), T(escaped_single_quote), T(escaped_double_quote), T(escaped_whitespace_within_single_quotes), T(escaped_whitespace_within_double_quotes), T(escaped_letter_within_single_quotes), T(escaped_letter_within_double_quotes), T(escaped_escape_within_single_quotes), T(escaped_escape_within_double_quotes), T(escaped_single_quote_within_single_quotes), T(escaped_double_quote_within_single_quotes), T(escaped_single_quote_within_double_quotes), T(escaped_double_quote_within_double_quotes), NULL }; const struct t_test ** t_prepare(int argc, char *argv[]) { (void)argc; (void)argv; return (t_plan); } void t_cleanup(void) { } Index: stable/10/lib/libpam/Makefile.inc =================================================================== --- stable/10/lib/libpam/Makefile.inc (revision 294191) +++ stable/10/lib/libpam/Makefile.inc (revision 294192) @@ -1,34 +1,33 @@ # Copyright 1998 Juniper Networks, Inc. # 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. # 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. # # 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. # # $FreeBSD$ CFLAGS+= -DOPENPAM_DEBUG SHLIB_MAJOR= 5 -PAM_MOD_DIR= ${LIBDIR} STATIC_CFLAGS+= -DOPENPAM_STATIC_MODULES .include "../Makefile.inc" Index: stable/10/lib/libpam/libpam/Makefile =================================================================== --- stable/10/lib/libpam/libpam/Makefile (revision 294191) +++ stable/10/lib/libpam/libpam/Makefile (revision 294192) @@ -1,202 +1,201 @@ #- # Copyright (c) 1998 Juniper Networks, Inc. # All rights reserved. # Copyright (c) 2002 Networks Associates Technology, Inc. # All rights reserved. # # Portions of 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. # # $FreeBSD$ OPENPAM= ${.CURDIR}/../../../contrib/openpam .PATH: ${OPENPAM}/include ${OPENPAM}/lib/libpam ${OPENPAM}/doc/man LIB= pam NO_PROFILE= SRCS= openpam_asprintf.c \ openpam_borrow_cred.c \ openpam_check_owner_perms.c \ openpam_configure.c \ openpam_constants.c \ openpam_dispatch.c \ openpam_dynamic.c \ openpam_features.c \ openpam_findenv.c \ openpam_free_data.c \ openpam_free_envlist.c \ openpam_get_feature.c \ openpam_get_option.c \ openpam_load.c \ openpam_log.c \ openpam_nullconv.c \ openpam_readline.c \ openpam_readlinev.c \ openpam_readword.c \ openpam_restore_cred.c \ openpam_set_feature.c \ openpam_set_option.c \ openpam_straddch.c \ openpam_strlcat.c \ openpam_strlcpy.c \ openpam_strlset.c \ openpam_subst.c \ openpam_ttyconv.c \ openpam_vasprintf.c \ pam_acct_mgmt.c \ pam_authenticate.c \ pam_chauthtok.c \ pam_close_session.c \ pam_end.c \ pam_error.c \ pam_get_authtok.c \ pam_get_data.c \ pam_get_item.c \ pam_get_user.c \ pam_getenv.c \ pam_getenvlist.c \ pam_info.c \ pam_open_session.c \ pam_prompt.c \ pam_putenv.c \ pam_set_data.c \ pam_set_item.c \ pam_setcred.c \ pam_setenv.c \ pam_start.c \ pam_strerror.c \ pam_verror.c \ pam_vinfo.c \ pam_vprompt.c # Local additions SRCS+= pam_debug_log.c MAN= openpam.3 \ openpam_borrow_cred.3 \ openpam_free_data.3 \ openpam_free_envlist.3 \ openpam_get_feature.3 \ openpam_get_option.3 \ openpam_log.3 \ openpam_nullconv.3 \ openpam_readline.3 \ openpam_readlinev.3 \ openpam_readword.3 \ openpam_restore_cred.3 \ openpam_set_feature.3 \ openpam_set_option.3 \ openpam_straddch.3 \ openpam_subst.3 \ openpam_ttyconv.3 \ pam.3 \ pam_acct_mgmt.3 \ pam_authenticate.3 \ pam_chauthtok.3 \ pam_close_session.3 \ pam_conv.3 \ pam_end.3 \ pam_error.3 \ pam_get_authtok.3 \ pam_get_data.3 \ pam_get_item.3 \ pam_get_user.3 \ pam_getenv.3 \ pam_getenvlist.3 \ pam_info.3 \ pam_open_session.3 \ pam_prompt.3 \ pam_putenv.3 \ pam_set_data.3 \ pam_set_item.3 \ pam_setcred.3 \ pam_setenv.3 \ pam_sm_acct_mgmt.3 \ pam_sm_authenticate.3 \ pam_sm_chauthtok.3 \ pam_sm_close_session.3 \ pam_sm_open_session.3 \ pam_sm_setcred.3 \ pam_start.3 \ pam_strerror.3 \ pam_verror.3 \ pam_vinfo.3 \ pam_vprompt.3 \ pam.conf.5 MLINKS= pam.conf.5 pam.d.5 CSTD?= c99 CFLAGS+= -I${.CURDIR} -I${OPENPAM}/include CFLAGS+= -DLIB_MAJ=${SHLIB_MAJOR} -CFLAGS+= -DOPENPAM_MODULES_DIR='"${PAM_MOD_DIR:C/\/*$//}/"' CFLAGS+= -DHAVE_DLFUNC=1 CFLAGS+= -DHAVE_FDLOPEN=1 CFLAGS+= -DHAVE_FPURGE=1 CFLAGS+= -DHAVE_STRLCAT=1 CFLAGS+= -DHAVE_STRLCPY=1 HEADERS= security/openpam.h \ security/openpam_attr.h \ security/openpam_version.h \ security/pam_appl.h \ security/pam_constants.h \ security/pam_modules.h \ security/pam_types.h \ ADD_HEADERS= security/pam_mod_misc.h # # Static modules # # We build static versions of all modules and of openpam_static.o, # then link them all together into openpam_static_modules.o. None of # the modules export any symbols, but they store structures with # pointers to their service functions in a linker set which the code # in openpam_static.c traverses to locate the individual modules. # MODULE_DIR= ../modules .include "${.CURDIR}/${MODULE_DIR}/modules.inc" STATIC_MODULES= ${MODULES:C/.*/${MODULE_DIR}\/&\/lib&.a/} STATICOBJS+= openpam_static_modules.o CLEANFILES+= openpam_static.o \ openpam_static_modules.o openpam_static_modules.o: openpam_static.o ${STATIC_MODULES} ${LD} -o ${.TARGET} -r --whole-archive ${.ALLSRC} # We can't put openpam_static.c in SRCS, but we still want to scan it # for dependencies. DPSRCS= openpam_static.c # Headers INCS= ${HEADERS} ${ADD_HEADERS} INCSDIR= ${INCLUDEDIR}/security .include Index: stable/10 =================================================================== --- stable/10 (revision 294191) +++ stable/10 (revision 294192) Property changes on: stable/10 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r262530,271614,274145,288070