Commit Graph

58 Commits

Author SHA1 Message Date
Dmitry V. Levin
613e59dca7 build: drop autotools support
There is no point in supporting two different build systems.
2024-10-23 08:00:00 +00:00
Dmitry V. Levin
7fb6beed01 meson: build Linux-PAM using meson
On my non-representative hardware, the full build using autotools
(./autogen.sh && CFLAGS=-O2 ./configure && make -j`nproc` && make -j`nproc` install)
takes about 45 seconds.

On the same hardware, the full build using meson
(meson setup -Doptimization=2 dir && meson compile -C dir && meson install -C dir)
takes just about 7.5 seconds.
2024-09-10 08:00:00 +00:00
Dmitry V. Levin
1c6a4a54fa run-xtests.sh: skip the tests instead of failing them if run by non-root
This simplifies integration of xtests into test frameworks.
2024-09-05 08:00:00 +00:00
Dmitry V. Levin
2ecce4848a xtests: fix compilation warning 2024-09-05 08:00:00 +00:00
Dmitry V. Levin
214e97e115 build: consistently include config.h unconditionally
Given that in most places config.h is included unconditionally,
there is no point in keeping remaining HAVE_CONFIG_H checks.

Public header files do not use config.h and therefore
are not affected by this change anyway.
2024-08-28 08:00:00 +00:00
Stefan Schubert
e4917734c6 pam_shells: Added xtest test case
Test case for checking pam_authenticate in pam_shells.
2022-12-07 16:24:09 +01:00
Mingli Yu
e8e8ccfd57 run-xtests.sh: check whether files exist
Fixes:
 # ./run-xtests.sh . tst-pam_access1
 mv: cannot stat '/etc/security/opasswd': No such file or directory
 PASS: tst-pam_access1
 mv: cannot stat '/etc/security/opasswd-pam-xtests': No such file or directory
 ==================
 1 tests passed
 0 tests not run
 ==================

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
2021-11-24 08:00:00 +00:00
Dmitry V. Levin
d702ff714c Remove deprecated pam_cracklib module
* ci/install-dependencies.sh: Remove libcrack2-dev.
* ci/run-build-and-tests.sh (DISTCHECK_CONFIGURE_FLAGS): Remove
--enable-cracklib=check.
* conf/pam.conf: Remove references to pam_cracklib.so.
* configure.ac: Remove --enable-cracklib option.
(AC_SUBST): Remove LIBCRACK.
(AM_CONDITIONAL): Remove COND_BUILD_PAM_CRACKLIB.
(AC_CONFIG_FILES): Remove modules/pam_cracklib/Makefile.
* doc/sag/pam_cracklib.xml: Remove.
* doc/sag/Linux-PAM_SAG.xml: Do not include pam_cracklib.xml.
* modules/Makefile.am (MAYBE_PAM_CRACKLIB): Remove.
(SUBDIRS): Remove MAYBE_PAM_CRACKLIB.
* modules/pam_cracklib/Makefile.am: Remove.
* modules/pam_cracklib/README.xml: Likewise.
* modules/pam_cracklib/pam_cracklib.8.xml: Likewise.
* modules/pam_cracklib/pam_cracklib.c: Likewise.
* modules/pam_cracklib/tst-pam_cracklib: Likewise.
* xtests/tst-pam_cracklib1.c: Likewise.
* xtests/tst-pam_cracklib1.pamd: Likewise.
* xtests/tst-pam_cracklib2.c: Likewise.
* xtests/tst-pam_cracklib2.pamd: Likewise.
* modules/pam_pwhistory/pam_pwhistory.8.xml: Replace pam_cracklib
in examples with pam_passwdqc.
* modules/pam_unix/pam_unix.8.xml: Likewise.
* po/POTFILES.in: Remove ./modules/pam_cracklib/pam_cracklib.c.
* xtests/.gitignore: Remove tst-pam_cracklib1 and tst-pam_cracklib2.
* xtests/Makefile.am (EXTRA_DIST): Remove tst-pam_cracklib1.pamd
and tst-pam_cracklib2.pamd.
(XTESTS): Remove tst-pam_cracklib1 and tst-pam_cracklib2.
* NEWS: Document this change.
2020-10-29 08:00:00 +00:00
Dmitry V. Levin
897c7412b2 Fix various typos found using codespell tool 2020-03-28 18:19:41 +00:00
Dmitry V. Levin
1181e0590c Use PAM_ARRAY_SIZE
Replace all instances of sizeof(x) / sizeof(*x) with PAM_ARRAY_SIZE(x)
which is less error-prone and implements an additional type check.

* libpam/pam_handlers.c: Include "pam_inline.h".
(_pam_open_config_file): Use PAM_ARRAY_SIZE.
* modules/pam_exec/pam_exec.c: Include "pam_inline.h".
(call_exec): Use PAM_ARRAY_SIZE.
* modules/pam_namespace/pam_namespace.c: Include "pam_inline.h".
(filter_mntopts): Use PAM_ARRAY_SIZE.
* modules/pam_timestamp/hmacfile.c: Include "pam_inline.h".
(testvectors): Use PAM_ARRAY_SIZE.
* modules/pam_xauth/pam_xauth.c: Include "pam_inline.h".
(run_coprocess, pam_sm_open_session): Use PAM_ARRAY_SIZE.
* tests/tst-pam_get_item.c: Include "pam_inline.h".
(main): Use PAM_ARRAY_SIZE.
* tests/tst-pam_set_item.c: Likewise.
* xtests/tst-pam_pwhistory1.c: Likewise.
* xtests/tst-pam_time1.c: Likewise.
2020-03-19 18:40:16 +00:00
Tomas Mraz
1781f0165c Do not use CFLAGS for warning flags set from configure
To be able to set CFLAGS from make command-line but not to lose the
warning flags.

* configure.ac: Put warning flags to WARN_CFLAGS instead of CFLAGS.
* */Makefile.am: Apply WARN_CFLAGS to AM_CFLAGS.
2019-12-18 13:59:44 +01:00
Robert Fairley
8eaf5570cf pam_motd: Fix segmentation fault when no motd_dir specified (#76)
This fixes a regression introduced by #69, where motd_path was set
to NULL and passed into strdup() if the motd_dir argument was
not specified in the configuration file. This caused a segmentation
fault.

* modules/pam_motd/pam_motd.c: fix checks for NULL in arguments
* xtests/Makefile.am: add test scripts and config file
* xtests/tst-pam_motd.sh: add running tst-pam_motd4.sh
* xtests/tst-pam_motd4.pamd: create
* xtests/tst-pam_motd4.sh: create
2018-11-21 08:46:02 +01:00
Robert Fairley
f9c9c72121 pam_motd: Support multiple motd paths specified, with filename overrides (#69)
Adds specifying multiple paths to motd files and motd.d
directories to be displayed. A colon-separated list of
paths is specified as arguments motd and motd_dir to the
pam_motd module.

This gives packages several options to install motd files to.
By default, the paths are, with highest priority first:
/etc/motd
/run/motd
/usr/lib/motd
/etc/motd.d/
/run/motd.d/
/usr/lib/motd.d/

Which is equivalent to the following arguments:
motd=/etc/motd:/run/motd:/usr/lib/motd
motd_dir=/etc/motd.d:/run/motd.d:/usr/lib/motd.d

Files with the same filename in a lower-priority directory,
as specified by the order in the colon-separated list, are
overridden, meaning PAM will not display them.

This allows a package to contain motd files under
/usr/lib instead of the host configuration in /etc.
A service may also write a dynamically generated motd in
/run/motd.d/ and have PAM display it without needing a
symlink from /etc/motd.d/ installed.

Closes #68

* modules/pam_motd/pam_motd.8.xml: update documentation
* modules/pam_motd/pam_motd.c: add specifying multiple motd paths
* xtests/.gitignore: add generated test script
* xtests/Makefile.am: add test source, scripts and config files
* xtests/tst-pam_motd.c: create
* xtests/tst-pam_motd.sh: create
* xtests/tst-pam_motd1.pamd: create
* xtests/tst-pam_motd1.sh: create
* xtests/tst-pam_motd2.pamd: create
* xtests/tst-pam_motd2.sh: create
* xtests/tst-pam_motd3.pamd: create
* xtests/tst-pam_motd3.sh: create
2018-11-19 09:00:16 +01:00
Maxin B. John
1fb9d2faee xtests: remove bash dependency
There are no bash specific syntax in the xtest scripts. So, remove
the bash dependency.

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
2016-06-30 15:21:18 +02:00
Thorsten Kukuk
e89d4c9738 Release version 1.2.1
Security fix: CVE-2015-3238

If the process executing pam_sm_authenticate or pam_sm_chauthtok method
of pam_unix is not privileged enough to check the password, e.g.
if selinux is enabled, the _unix_run_helper_binary function is called.
When a long enough password is supplied (16 pages or more, i.e. 65536+
bytes on a system with 4K pages), this helper function hangs
indefinitely, blocked in the write(2) call while writing to a blocking
pipe that has a limited capacity.
With this fix, the verifiable password length will be limited to
PAM_MAX_RESP_SIZE bytes (i.e. 512 bytes) for pam_exec and pam_unix.

* NEWS: Update
* configure.ac: Bump version
* modules/pam_exec/pam_exec.8.xml: document limitation of password length
* modules/pam_exec/pam_exec.c: limit password length to PAM_MAX_RESP_SIZE
* modules/pam_unix/pam_unix.8.xml: document limitation of password length
* modules/pam_unix/pam_unix_passwd.c: limit password length
* modules/pam_unix/passverify.c: Likewise
* modules/pam_unix/passverify.h: Likewise
* modules/pam_unix/support.c: Likewise
2015-06-22 14:53:01 +02:00
Tomas Mraz
bd07ad3adc Reflect the enforce_for_root semantics change in pam_pwhistory xtest.
xtests/tst-pam_pwhistory1.pamd: Use enforce_for_root as the test is
running with real uid == 0.
2012-11-13 09:19:05 +01:00
Dmitry V. Levin
dc8b23cf92 Use libpam.la/libpam_misc.la to link with -lpam/-lpam_misc
GNU automake documentation recommends to avoid using -l options in
LDADD or LIBADD when referring to libraries built by the package.
Instead, it recommends to write the file name of the library explicitly,
and use -l option only to list third-party libraries.  As result, the
default value of *_DEPENDENCIES will list all local libraries and omit
the other ones.
* modules/pam_access/Makefile.am (pam_access_la_LIBADD): Replace
"-L$(top_builddir)/libpam -lpam" with
"$(top_builddir)/libpam/libpam.la", to follow GNU automake
recommendations.
* modules/pam_cracklib/Makefile.am (pam_cracklib_la_LIBADD): Likewise.
* modules/pam_debug/Makefile.am (pam_debug_la_LIBADD): Likewise.
* modules/pam_deny/Makefile.am (pam_deny_la_LIBADD): Likewise.
* modules/pam_echo/Makefile.am (pam_echo_la_LIBADD): Likewise.
* modules/pam_env/Makefile.am (pam_env_la_LIBADD): Likewise.
* modules/pam_exec/Makefile.am (pam_exec_la_LIBADD): Likewise.
* modules/pam_faildelay/Makefile.am (pam_faildelay_la_LIBADD): Likewise.
* modules/pam_filter/Makefile.am (pam_filter_la_LIBADD): Likewise.
* modules/pam_filter/upperLOWER/Makefile.am (LDADD): Likewise.
* modules/pam_ftp/Makefile.am (pam_ftp_la_LIBADD): Likewise.
* modules/pam_group/Makefile.am (pam_group_la_LIBADD): Likewise.
* modules/pam_issue/Makefile.am (pam_issue_la_LIBADD): Likewise.
* modules/pam_keyinit/Makefile.am (pam_keyinit_la_LIBADD): Likewise.
* modules/pam_lastlog/Makefile.am (pam_lastlog_la_LIBADD): Likewise.
* modules/pam_limits/Makefile.am (pam_limits_la_LIBADD): Likewise.
* modules/pam_listfile/Makefile.am (pam_listfile_la_LIBADD): Likewise.
* modules/pam_localuser/Makefile.am (pam_localuser_la_LIBADD): Likewise.
* modules/pam_loginuid/Makefile.am (pam_loginuid_la_LIBADD): Likewise.
* modules/pam_mail/Makefile.am (pam_mail_la_LIBADD): Likewise.
* modules/pam_mkhomedir/Makefile.am (pam_mkhomedir_la_LIBADD,
mkhomedir_helper_LDADD): Likewise.
* modules/pam_motd/Makefile.am (pam_motd_la_LIBADD): Likewise.
* modules/pam_namespace/Makefile.am (pam_namespace_la_LIBADD): Likewise.
* modules/pam_nologin/Makefile.am (pam_nologin_la_LIBADD): Likewise.
* modules/pam_permit/Makefile.am (pam_permit_la_LIBADD): Likewise.
* modules/pam_pwhistory/Makefile.am (pam_pwhistory_la_LIBADD): Likewise.
* modules/pam_rhosts/Makefile.am (pam_rhosts_la_LIBADD): Likewise.
* modules/pam_rootok/Makefile.am (pam_rootok_la_LIBADD): Likewise.
* modules/pam_securetty/Makefile.am (pam_securetty_la_LIBADD): Likewise.
* modules/pam_sepermit/Makefile.am (pam_sepermit_la_LIBADD): Likewise.
* modules/pam_shells/Makefile.am (pam_shells_la_LIBADD): Likewise.
* modules/pam_stress/Makefile.am (pam_stress_la_LIBADD): Likewise.
* modules/pam_succeed_if/Makefile.am (pam_succeed_if_la_LIBADD):
Likewise.
* modules/pam_tally/Makefile.am (pam_tally_la_LIBADD): Likewise.
* modules/pam_tally2/Makefile.am (pam_tally2_la_LIBADD,
pam_tally2_LDADD): Likewise.
* modules/pam_time/Makefile.am (pam_time_la_LIBADD): Likewise.
* modules/pam_timestamp/Makefile.am (pam_timestamp_la_LIBADD,
pam_timestamp_check_LDADD, hmacfile_LDADD): Likewise.
* modules/pam_tty_audit/Makefile.am (pam_tty_audit_la_LIBADD): Likewise.
* modules/pam_umask/Makefile.am (pam_umask_la_LIBADD): Likewise.
* modules/pam_unix/Makefile.am (pam_unix_la_LIBADD): Likewise.
* modules/pam_userdb/Makefile.am (pam_userdb_la_LIBADD): Likewise.
* modules/pam_warn/Makefile.am (pam_warn_la_LIBADD): Likewise.
* modules/pam_wheel/Makefile.am (pam_wheel_la_LIBADD): Likewise.
* modules/pam_xauth/Makefile.am (pam_xauth_la_LIBADD): Likewise.
* tests/Makefile.am (LDADD): Likewise.
* examples/Makefile.am (LDADD): Replace "-L$(top_builddir)/libpam -lpam"
with "$(top_builddir)/libpam/libpam.la", and
"-L$(top_builddir)/libpam_misc -lpam_misc" with
"$(top_builddir)/libpam_misc/libpam_misc.la", to follow GNU automake
recommendations.
* xtests/Makefile.am (LDADD): Likewise.
* modules/pam_selinux/Makefile.am (pam_selinux_la_LIBADD): Likewise.
2011-10-28 02:28:38 +00:00
Dmitry V. Levin
61a6b8c8e8 Fix usage of LIBADD, LDADD and LDFLAGS
* modules/pam_selinux/Makefile.am: Rename pam_selinux_check_LDFLAGS to
pam_selinux_check_LDADD.
* modules/pam_userdb/Makefile.am: Split out pam_userdb_la_LIBADD from
AM_LDFLAGS.
* modules/pam_warn/Makefile.am: Split out pam_warn_la_LIBADD from
AM_LDFLAGS.
* modules/pam_wheel/Makefile.am: Split out pam_wheel_la_LIBADD from
AM_LDFLAGS.
* modules/pam_xauth/Makefile.am: split out pam_xauth_la_LIBADD from
AM_LDFLAGS.
* xtests/Makefile.am: Rename AM_LDFLAGS to LDADD.
2011-10-28 02:20:17 +00:00
Dmitry V. Levin
3e7fb3233e Update .gitignore files
* .gitignore: Add common ignore patterns.
* m4/.gitignore: Unignore local m4 files.
* dynamic/.gitignore: Unignore Makefile.
* libpamc/test/modules/.gitignore: Likewise.
* libpamc/test/regress/.gitignore: Likewise.
* po/.gitignore: Add Makevars.template.
* conf/.gitignore: Remove common ignore patterns.
* conf/pam_conv1/.gitignore: Likewise.
* doc/.gitignore: Likewise.
* doc/specs/.gitignore: Likewise.
* doc/specs/formatter/.gitignore: Likewise.
* examples/.gitignore: Likewise.
* modules/pam_filter/upperLOWER/.gitignore: Likewise.
* modules/pam_mkhomedir/.gitignore: Likewise.
* modules/pam_selinux/.gitignore: Likewise.
* modules/pam_stress/.gitignore: Likewise.
* modules/pam_tally/.gitignore: Likewise.
* modules/pam_tally2/.gitignore: Likewise.
* modules/pam_timestamp/.gitignore: Likewise.
* modules/pam_unix/.gitignore: Likewise.
* tests/.gitignore: Likewise.
* xtests/.gitignore: Likewise.
* doc/adg/.gitignore: Remove.
* doc/man/.gitignore: Remove.
* doc/mwg/.gitignore: Remove.
* doc/sag/.gitignore: Remove.
* libpamc/.gitignore: Remove.
* libpamc/test/.gitignore: Remove.
* libpam/.gitignore: Remove.
* libpam_misc/.gitignore: Remove.
* modules/.gitignore: Remove.
* modules/pam_access/.gitignore: Remove.
* modules/pam_cracklib/.gitignore: Remove.
* modules/pam_debug/.gitignore: Remove.
* modules/pam_deny/.gitignore: Remove.
* modules/pam_echo/.gitignore: Remove.
* modules/pam_env/.gitignore: Remove.
* modules/pam_exec/.gitignore: Remove.
* modules/pam_faildelay/.gitignore: Remove.
* modules/pam_filter/.gitignore: Remove.
* modules/pam_ftp/.gitignore: Remove.
* modules/pam_group/.gitignore: Remove.
* modules/pam_issue/.gitignore: Remove.
* modules/pam_keyinit/.gitignore: Remove.
* modules/pam_lastlog/.gitignore: Remove.
* modules/pam_limits/.gitignore: Remove.
* modules/pam_listfile/.gitignore: Remove.
* modules/pam_localuser/.gitignore: Remove.
* modules/pam_loginuid/.gitignore: Remove.
* modules/pam_mail/.gitignore: Remove.
* modules/pam_motd/.gitignore: Remove.
* modules/pam_namespace/.gitignore: Remove.
* modules/pam_nologin/.gitignore: Remove.
* modules/pam_permit/.gitignore: Remove.
* modules/pam_pwhistory/.gitignore: Remove.
* modules/pam_rhosts/.gitignore: Remove.
* modules/pam_rootok/.gitignore: Remove.
* modules/pam_securetty/.gitignore: Remove.
* modules/pam_sepermit/.gitignore: Remove.
* modules/pam_shells/.gitignore: Remove.
* modules/pam_succeed_if/.gitignore: Remove.
* modules/pam_time/.gitignore: Remove.
* modules/pam_tty_audit/.gitignore: Remove.
* modules/pam_umask/.gitignore: Remove.
* modules/pam_userdb/.gitignore: Remove.
* modules/pam_warn/.gitignore: Remove.
* modules/pam_wheel/.gitignore: Remove.
* modules/pam_xauth/.gitignore: Remove.
2011-10-27 14:55:55 +00:00
Dmitry V. Levin
c9c4faaf50 Rename all .cvsignore files to .gitignore 2011-10-27 14:55:55 +00:00
Dmitry V. Levin
1814aec611 Fix whitespace issues
Cleanup trailing whitespaces, indentation that uses spaces before tabs,
and blank lines at EOF.  Make the project free of warnings reported by
git diff --check 4b825dc642 HEAD
2011-10-26 23:56:54 +00:00
Thorsten Kukuk
5fc7bfece1 Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

2010-10-20  Thorsten Kukuk  <kukuk@thkukuk.de>

        * doc/man/Makefile.am: Fix build dependencys of pam_get_authtok.3.

        * xtests/Makefile.am: Only build xtests if we run xtests.
2010-10-20 13:11:30 +00:00
Thorsten Kukuk
72855d2407 Relevant BUGIDs:
Purpose of commit: release

Commit summary:
---------------

2009-03-09  Thorsten Kukuk  <kukuk@thkukuk.de>

        * release version 1.0.91

        * libpam/Makefile.am (libpam_la_LDFLAGS): Bump version number.
        * xtests/Makefile.am: Add tst-pam_unix4.pamd, tst-pam_unix4.sh
        and time.conf.
2009-03-09 13:07:34 +00:00
Tomas Mraz
5891c5508e Relevant BUGIDs: debian#514437 rhbz#487216
Purpose of commit: bugfix

Commit summary:
---------------
2009-02-26  Tomas Mraz <t8m@centrum.cz>

        * xtests/Makefile.am: Add tst-pam_unix4.
        * xtests/tst-pam_unix4.c: New test for password change
        and shadow min days limit.
        * xtests/tst-pam_unix4.pamd: Likewise.
        * xtests/tst-pam_unix4.sh: Likewise.

        * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Ignore
        PAM_AUTHTOK_ERR on shadow verification.
        * modules/pam_unix/passverify.c (check_shadow_expiry): Return
        PAM_AUTHTOK_ERR if sp_min limit for password change is defied.
2009-02-26 18:56:12 +00:00
Tomas Mraz
1376c1565a Relevant BUGIDs:
Purpose of commit: new feature

Commit summary:
---------------
2009-02-25  Tomas Mraz <t8m@centrum.cz>

        * xtests/access.conf: Add a line for name resolution test case.
        * xtests/tst-pam_access4.c (main): Set PAM_RHOST for testing the LOCAL
        keyword. Add a test case for name resolution.

        * modules/pam_access/pam_access.c (from_match): Move name resolution
        to network_netmask_match().
        (network_netmask_match): Do a name resolution of the origin only if
        matching against a real network/netmask.
2009-02-25 15:50:21 +00:00
Thorsten Kukuk
f326d04ccd Relevant BUGIDs:
Purpose of commit: new feature

Commit summary:
---------------

2008-12-03  Thorsten Kukuk  <kukuk@suse.de>

        * doc/man/Makefile.am: Add pam_get_authtok.3.xml.
        * doc/man/pam_get_authtok.3.xml: New.
        * libpam/Makefile.am: Add pam_get_authtok.c.
        * libpam/libpam.map: Export pam_get_authtok.
        * libpam/pam_get_authtok.c: New.
        * libpam/pam_private.h: Add mod_argc and mod_argv to pam_handle.
        * libpam_include/security/pam_ext.h: Add pam_get_authtok
        prototype.
        * modules/pam_cracklib/pam_cracklib.c: Use pam_get_authtok.
        * modules/pam_pwhistory/pam_pwhistory.c: Likewise.
        * po/POTFILES.in: Add libpam/pam_get_authtok.c.
        * xtests/tst-pam_cracklib1.c: Adjust error codes.

        * modules/pam_timestamp/Makefile.am: Remove hmactest.c from
        EXTRA_DIST.

        * po/*.po: Regenerated.
2008-12-03 14:16:33 +00:00
Thorsten Kukuk
e62f525c07 Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

Fix last commit
2008-11-24 16:01:19 +00:00
Thorsten Kukuk
6aac14af27 Relevant BUGIDs: debian #326407
Purpose of commit: new testcase

Commit summary:
---------------

User entries with "|" don't work as expected.

2008-11-24  Thorsten Kukuk  <kukuk@thkukuk.de>

        * xtests/Makefile.am: Add pam_time1 tests.
        * xtests/tst-pam_time1.c: New test case.
        * xtests/tst-pam_time1.pamd: New.
        * xtests/time.conf: New.
        * xtests/run-xtests.sh: Copy time.conf.
2008-11-24 14:13:04 +00:00
Thorsten Kukuk
dad5bd7c14 Relevant BUGIDs:
Purpose of commit: new feature

Commit summary:
---------------

2008-10-10  Thorsten Kukuk  <kukuk@thkukuk.de>

        * configure.in: add modules/pam_pwhistory/Makefile.
        * doc/sag/Linux-PAM_SAG.xml: Include pam_pwhistory.xml.
        * doc/sag/pam_pwhistory.xml: New.
        * libpam/pam_static_modules.h: Add pam_pwhistory data.
        * modules/Makefile.am: Add pam_pwhistory directory.
        * modules/pam_pwhistory/Makefile.am: New.
        * modules/pam_pwhistory/README.xml: New.
        * modules/pam_pwhistory/opasswd.c: New.
        * modules/pam_pwhistory/opasswd.h: New.
        * modules/pam_pwhistory/pam_pwhistory.8.xml: New.
        * modules/pam_pwhistory/pam_pwhistory.c: New.
        * modules/pam_pwhistory/tst-pam_pwhistory: New.
        * xtests/Makefile.am: New.
        * xtests/run-xtests.sh: New.
        * xtests/tst-pam_pwhistory1.c: New.
        * xtests/tst-pam_pwhistory1.pamd: New.
        * xtests/tst-pam_pwhistory1.sh: New.
        * po/POTFILES.in: Add modules/pam_pwhistory/.
        * po/de.po: Update translations.
2008-10-10 06:53:45 +00:00
Thorsten Kukuk
6377bdbbfc Relevant BUGIDs: 1976310
Purpose of commit: feature

Commit summary:
---------------

2008-07-09  Thorsten Kukuk  <kukuk@thkukuk.de>

        * modules/pam_exec/pam_exec.c (call_exec): Move all variable
        declaration to begin of a block (#1976310).

        * xtests/tst-pam_group1.c (run_test): Move no_grps declaration
        to begin of function (#1976310).
2008-07-09 14:37:51 +00:00
Dmitry V. Levin
9058692366 Relevant BUGIDs:
Purpose of commit: cleanup

Commit summary:
---------------
Rename tst-pam_assemble_line to tst-pam_assemble_line1
2008-02-18 17:57:34 +00:00
Dmitry V. Levin
9334a8d3db Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------
2008-02-18  Dmitry V. Levin  <ldv@altlinux.org>

	* xtests/Makefile.am (EXTRA_DIST): Add tst-pam_assemble_line.pamd
	and tst-pam_assemble_line.sh
2008-02-18 15:25:09 +00:00
Dmitry V. Levin
c7daf2606c Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------
2008-02-18  Dmitry V. Levin  <ldv@altlinux.org>

	* libpam/pam_handlers.c (_pam_assemble_line): Fix potential
	buffer overflow.
	* xtests/tst-pam_assemble_line.pamd: New test for
	_pam_assemble_line.
	* xtests/tst-pam_assemble_line.sh: New script for
	tst-pam_assemble_line.
	* xtests/Makefile.am (NOSRCTESTS): Add tst-pam_assemble_line.
2008-02-18 13:37:46 +00:00
Thorsten Kukuk
dee497d659 Relevant BUGIDs: 1822761
Purpose of commit: bugfix

Commit summary:
---------------

2007-11-06  Thorsten Kukuk  <kukuk@thkukuk.de>

        * xtests/tst-pam_group1.c: Include stdlib.h
        * xtests/tst-pam_succeed_if1.c: Likewise.
        * xtests/tst-pam_limits1.c: Likewise.
        * xtests/tst-pam_access1.c: Likewise.
        * xtests/tst-pam_access2.c: Likewise.
        * xtests/tst-pam_access3.c: Likewise.
        * xtests/tst-pam_access4.c: Likewise.
        * xtests/tst-pam_unix1.c: Likewise.
        * xtests/tst-pam_unix2.c: Likewise.
        * xtests/tst-pam_unix3.c: Likewise.
        * xtests/tst-pam_cracklib1.c: Likewise.
        * xtests/tst-pam_cracklib2.c: Likewise.

2007-10-30  Peter Breitenlohner <peb@mppmu.mpg.de>

        * modules/pam_rhosts/pam_rhosts_auth.c (__icheckhost): Correct
        misplaced parenthesis.
        * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Prevent use of
        dngettext() when NLS is disabled.
        * modules/pam_exec/pam_exec.c (call_exec): Avoid gcc warning.
        * doc/specs/parse_y.y (set_label, new_counter): Break trigraphs to
        avoid gcc warning.
        * modules/pam_wheel/pam_wheel.c: Remove excessive initializer
        elements.
2007-11-06 15:24:26 +00:00
Tomas Mraz
695f6e358d Relevant BUGIDs:
Purpose of commit: new feature

Commit summary:
---------------
2007-10-19  Tomas Mraz  <t8m@centrum.cz>

        * xtests/tst-pam_access1.c: Use different name for user and group.
        * xtests/tst-pam_access1.sh: Likewise.
        * xtests/tst-pam_access2.c: Likewise.
        * xtests/tst-pam_access2.sh: Likewise.
        * xtests/tst-pam_access4.c: Likewise.
        * xtests/tst-pam_access4.sh: Likewise.
        * xtests/group.conf: Likewise.
        * xtests/tst-pam_group1.c: Likewise.
        * xtests/tst-pam_group1.sh: Likewise.

        * libpam/pam_dispatch.c (_pam_dispatch_aux): Save states for substacks,
        record substack level, skip over virtual substack modules, implement
        evaluation of done, die, reset and jumps in substacks. Also fixes
        too far jumps in substacks.
        * libpam/pam_end.c (pam_end): Drop substack evaluation states.
        * libpam/pam_handlers.c (_pam_parse_conf_file): Add substack level
        parameter, instead of must_fail use handler_type needed for virtual
        substack modules.
        (_pam_load_conf_file): Add substack level parameter.
        (_pam_init_handlers): Substack level parameter added to
        _pam_parse_conf_file() calls.
        (_pam_load_module): New function.
        (_pam_add_handler): Refactor code into the _pam_load_module(). Add
        support for virtual substack modules.
        * libpam/pam_private.h: Rename must_fail to handler_type, add stack_level
        to struct handler. Define handler type constants. Add struct
        for substack evaluation states. Define constant for maximum
        substack level. Add substack states pointer to former state struct.
        * libpam/pam_start.c (pam_start): Initialize pointer to substack states.
        * doc/man/pam.conf-syntax.xml: Document substack control.
        * xtests/Makefile.am: Add new tests for substack evaluation.
        * xtests/run_xtests.sh: Support multiple .pamd files in a test.
        * xtests/tst-pam_authfail.pamd: New tests for substack evaluation.
        * xtests/tst-pam_authsucceed.pamd: Likewise.
        * xtests/tst-pam_substack1.pamd: Likewise.
        * xtests/tst-pam_substack1a.pamd: Likewise.
        * xtests/tst-pam_substack1.sh: Likewise.
        * xtests/tst-pam_substack2.pamd: Likewise.
        * xtests/tst-pam_substack2a.pamd: Likewise.
        * xtests/tst-pam_substack2.sh: Likewise.
        * xtests/tst-pam_substack3.pamd: Likewise.
        * xtests/tst-pam_substack3a.pamd: Likewise.
        * xtests/tst-pam_substack3.sh: Likewise.
        * xtests/tst-pam_substack4.pamd: Likewise.
        * xtests/tst-pam_substack4a.pamd: Likewise.
        * xtests/tst-pam_substack4.sh: Likewise.
        * xtests/tst-pam_substack5.pamd: Likewise.
        * xtests/tst-pam_substack5a.pamd: Likewise.
        * xtests/tst-pam_substack5.sh: Likewise.
2007-10-19 17:06:29 +00:00
Tomas Mraz
fba28bf563 Relevant BUGIDs:
Purpose of commit: testcase

Commit summary:
---------------
        * xtests/tst-pam_cracklib2.c: Make the testcase more robust.
2007-10-18 12:33:16 +00:00
Tomas Mraz
5aafd4bcca Relevant BUGIDs:
Purpose of commit: testcase

Commit summary:
---------------
2007-10-18  Tomas Mraz  <t8m@centrum.cz>
        * xtests/tst-pam_dispatch4.c: Fix comment about the test.
        * xtests/tst-pam_dispatch4.pamd: Improve the testcase.
2007-10-18 11:02:57 +00:00
Thorsten Kukuk
4507528d83 Relevant BUGIDs:
Purpose of commit: cleanup

Commit summary:
---------------

Add new tests to .cvsignore
2007-10-18 10:02:33 +00:00
Thorsten Kukuk
9109873b94 Relevant BUGIDs:
Purpose of commit: new testcase

Commit summary:
---------------

2007-10-12  Thorsten Kukuk  <kukuk@thkukuk.de>

        * xtests/Makefile.am: Add tst-pam_dispatch5 sources
        * xtests/tst-pam_dispatch5.c: New test for jump too far.
        * xtests/tst-pam_dispatch5.pamd: New test configuration.
2007-10-12 10:46:25 +00:00
Thorsten Kukuk
97eb58eb40 Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

Fix type.
2007-10-01 12:10:11 +00:00
Thorsten Kukuk
e5de22062c Relevant BUGIDs:
Purpose of commit: new testcase

Commit summary:
---------------

Forgot to add.
2007-10-01 09:43:09 +00:00
Thorsten Kukuk
417cb2fbd8 Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

2007-10-01  Thorsten Kukuk  <kukuk@thkukuk.de>

        * xtests/tst-pam_group1.c: New test case for user compare in pam_group.
        * xtests/tst-pam_group1.sh: Script to run test case.
        * xtests/tst-pam_group1.pamd: Config for test case.
        * xtests/Makefile.am: Add tst-pam_group1 test case.
        * xtests/run-xtests.sh: Save/restore group.conf.
        * xtests/group.conf: New.

        * modules/pam_xauth/pam_xauth.c (pam_sm_open_session): Don't
        free arguments used for putenv().

        * doc/man/pam_putenv.3.xml: Document that application has to free
        the memory.
2007-10-01 09:41:32 +00:00
Thorsten Kukuk
1435f0a404 Relevant BUGIDs:
Purpose of commit:

Commit summary:
---------------

Really commit now ...
2007-09-27 14:16:32 +00:00
Thorsten Kukuk
e83bead09f Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

2007-09-27  Thorsten Kukuk  <kukuk@thkukuk.de>

        * xtests/run-xtests.sh: Add support to skip tests.
        * xtests/tst-pam_limits1.c: Skip test if RLIMIT_NICE is not
        defined.
2007-09-27 10:22:06 +00:00
Thorsten Kukuk
4e66efa10e Relevant BUGIDs:
Purpose of commit:  bugfix, release

Commit summary:
---------------

2007-07-06  Thorsten Kukuk  <kukuk@thkukuk.de>

        * release version 0.99.8.0

        * configure.in: Check for audit_log_acct_message instead of
        audit_log_user_message.
        * libpam/pam_audit.c: Use audit_log_acct_message.
        Based on patch from Mark J Cox <mjc@redhat.com>.
        * libpam/Makefile.am: Bump version number of libpam.

        * modules/pam_umask/pam_umask.c (set_umask): mode_t is 32bit,
        not 64bit.

        * xtests/tst-pam_limits1.c: Fix printf arguments.

        * po/*.po: Merge po files with latest code changes.
2007-07-06 08:23:13 +00:00
Thorsten Kukuk
d6b09ee15e Relevant BUGIDs:
Purpose of commit:

Commit summary:
---------------

forgot to commit ...
2007-06-26 10:45:42 +00:00
Thorsten Kukuk
eca9894caa Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

2007-06-26  Thorsten Kukuk  <kukuk@thkukuk.de>

        * modules/pam_limits/pam_limits.c (process_limit): Check upper and
        lower limit of nice value, fix off-by-one in conversation to rlim_t.
        * xtests/Makefile.am: Add new pam_limits test case.
        * xtests/limits.conf: New, config file for test case.
        * xtests/pam_limits1.c: New, test case for RLIMIT_NICE.
        * xtests/pam_limits1.sh: Likewise.
        * xtests/pam_limits1.pamd: Likewise.
2007-06-26 10:44:28 +00:00
Thorsten Kukuk
dd80f758c4 Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

2007-06-25  Thorsten Kukuk  <kukuk@thkukuk.de>

        * modules/pam_access/pam_access.c (list_match): Use saveptr of strtok_r
        result for recursive calls.
        * xtests/Makefile.am: Add new pam_access test cases.
        * xtests/pam_access1.c: New test case.
        * xtests/pam_access2.c: Likewise.
        * xtests/pam_access3.c: Likewise.
        * xtests/pam_access4.c: Likewise.
        * xtests/pam_access1.sh: Wrapper to create user accounts.
        * xtests/pam_access2.sh: Likewise.
        * xtests/pam_access3.sh: Likewise.
        * xtests/pam_access4.sh: Likewise.
        * xtests/pam_access1.pamd: PAM config file for pam_access tests.
        * xtests/pam_access2.pamd: Likewise.
        * xtests/pam_access3.pamd: Likewise.
        * xtests/pam_access4.pamd: Likewise.
        * xtests/access.conf: Config file for pam_access tests.
        * xtests/run-tests.sh: Install access.conf into system.
2007-06-25 11:09:32 +00:00
Thorsten Kukuk
2cffe6c172 Relevant BUGIDs: 1688777
Purpose of commit: new features

Commit summary:
---------------

2007-06-20  Thorsten Kukuk  <kukuk@thkukuk.de>

        * modules/pam_cracklib/pam_cracklib.8.xml: Document new minclass
        option.
        * modules/pam_cracklib/pam_cracklib.c: Add support for minimum
        character classes [#1688777]. Based on patch from Keith Schincke.

        * xtests/tst-pam_cracklib2.c: New, test case for minclass option.
        * xtests/tst-pam_cracklib2.pamd: New, PAM config file for test case.
        * xtests/Makefile.am: Add new testcase.

        * xtests/pam_cracklib.c: Fix comment what this application tests.

        * configure.in: Use /lib64 on x86-64, ppc64, s390x, sparc64
2007-06-20 13:54:08 +00:00
Thorsten Kukuk
7b33ec0504 Relevant BUGIDs:
Purpose of commit: bugfix

Commit summary:
---------------

2007-05-04  Thorsten Kukuk  <kukuk@suse.de>

        * xtests/run-xtests.sh: Use SRCDIR to find PAM config files.
        * xtests/Makefile.am:Call run-xtests.sh with srcdir as first
        argument.
        Based on patch by Bernard Leak <thisisnotapipe@hotmail.com>.
2007-05-04 11:36:08 +00:00