xref: /netbsd-src/external/bsd/openpam/dist/HISTORY (revision 024a2e8c049a7132c2274c1f5271ae54063f3c4d)
1*024a2e8cSchristosOpenPAM Ximenia							2023-06-27
2*024a2e8cSchristos
3*024a2e8cSchristos - BUGFIX: Fix race condition in openpam_ttyconv(3) when used with
4*024a2e8cSchristos   expect scripts.
5*024a2e8cSchristos
6*024a2e8cSchristos - BUGFIX: In openpam_set_option(3), when removing an option, properly
7*024a2e8cSchristos   decrement the option count.
8*024a2e8cSchristos
9*024a2e8cSchristos - BUGFIX: In openpam_subst(3), avoid incrementing past the end of the
10*024a2e8cSchristos   template.
11*024a2e8cSchristos============================================================================
1277513ecfSchristosOpenPAM Tabebuia						2019-02-24
1377513ecfSchristos
1477513ecfSchristos - BUGFIX: Fix off-by-one bug in pam_getenv(3) which was introduced in
1577513ecfSchristos   OpenPAM Radula.
1677513ecfSchristos
1777513ecfSchristos - ENHANCE: Add unit tests for pam_{get,put,set}env(3).
1877513ecfSchristos============================================================================
195ca12230SchristosOpenPAM Resedacea						2017-04-30
205ca12230Schristos
215ca12230Schristos - BUGFIX: Reinstore the NULL check in pam_end(3) which was removed in
225ca12230Schristos   OpenPAM Radula, as it breaks common error-handling constructs.
235ca12230Schristos
245ca12230Schristos - BUGFIX: Return PAM_SYMBOL_ERR instead of PAM_SYSTEM_ERR from the
255ca12230Schristos   dispatcher when the required service function could not be found.
265ca12230Schristos
275ca12230Schristos - ENHANCE: Introduce the PAM_BAD_HANDLE error code for when pamh is
285ca12230Schristos   NULL in API functions that have a NULL check.
295ca12230Schristos
305ca12230Schristos - ENHANCE: Introduce the PAM_BAD_ITEM, PAM_BAD_FEATURE and
315ca12230Schristos   PAM_BAD_CONSTANT error codes for situations where we previously
325ca12230Schristos   incorrectly used PAM_SYMBOL_ERR to denote that an invalid constant
335ca12230Schristos   had been passed to an API function.
345ca12230Schristos
355ca12230Schristos - ENHANCE: Improve the RETURN VALUES section in API man pages,
365ca12230Schristos   especially for functions that cannot fail, which were incorrectly
375ca12230Schristos   documented as returning -1 on failure.
385ca12230Schristos============================================================================
395ca12230SchristosOpenPAM Radula							2017-02-19
405ca12230Schristos
415ca12230Schristos - BUGFIX: Fix an inverted test which prevented pam_get_authtok(3) and
425ca12230Schristos   pam_get_user(3) from using application-provided custom prompts.
435ca12230Schristos
445ca12230Schristos - BUGFIX: Plug a memory leak in pam_set_item(3).
455ca12230Schristos
465ca12230Schristos - BUGFIX: Plug a potential memory leak in openpam_readlinev(3).
475ca12230Schristos
485ca12230Schristos - BUGFIX: In openpam_readword(3), support line continuations within
495ca12230Schristos   whitespace.
505ca12230Schristos
515ca12230Schristos - ENHANCE: Add a feature flag to control fallback to "other" policy.
525ca12230Schristos
535ca12230Schristos - ENHANCE: Add a pam_return(8) module which returns an arbitrary
545ca12230Schristos   code specified in the module options.
555ca12230Schristos
565ca12230Schristos - ENHANCE: More and better unit tests.
575ca12230Schristos============================================================================
5876e8c542SchristosOpenPAM Ourouparia						2014-09-12
5976e8c542Schristos
6076e8c542Schristos - ENHANCE: When executing a chain, require at least one service
6176e8c542Schristos   function to succeed.  This mitigates fail-open scenarios caused by
6276e8c542Schristos   misconfigurations or missing modules.
6376e8c542Schristos
6476e8c542Schristos - ENHANCE: Make sure to overwrite buffers which may have contained an
6576e8c542Schristos   authentication token when they're no longer needed.
6676e8c542Schristos
6776e8c542Schristos - BUGFIX: Under certain circumstances, specifying a non-existent
6876e8c542Schristos   module (or misspelling the name of a module) in a policy could
6976e8c542Schristos   result in a fail-open scenario.  (CVE-2014-3879)
7076e8c542Schristos
7176e8c542Schristos - FEATURE: Add a search path for modules.  This was implemented in
7276e8c542Schristos   Nummularia but inadvertently left out of the release notes.
7376e8c542Schristos
7476e8c542Schristos - BUGFIX: The is_upper() predicate only accepted the letter A as an
7576e8c542Schristos   upper-case character instead of the entire A-Z range.  As a result,
7676e8c542Schristos   service and module names containing upper-case letters other than A
7776e8c542Schristos   would be rejected.
7876e8c542Schristos============================================================================
790bbc3b9fSchristosOpenPAM Nummularia						2013-09-07
800bbc3b9fSchristos
810bbc3b9fSchristos - ENHANCE: Rewrite the dynamic loader to improve readability and
820bbc3b9fSchristos   reliability.  Modules can now be listed without the ".so" suffix in
830bbc3b9fSchristos   the policy file; OpenPAM will automatically add it, just like it
840bbc3b9fSchristos   will automatically add the version number if required.
850bbc3b9fSchristos
860bbc3b9fSchristos - ENHANCE: Allow openpam_straddch(3) to be called without a character
870bbc3b9fSchristos   so it can be used to preallocate a string.
880bbc3b9fSchristos
890bbc3b9fSchristos - ENHANCE: Improve portability by adding simple asprintf(3) and
900bbc3b9fSchristos   vasprintf(3) implementations for platforms that don't have them.
910bbc3b9fSchristos
920bbc3b9fSchristos - ENHANCE: Move the libpam sources into a separate subdirectory.
930bbc3b9fSchristos
940bbc3b9fSchristos - ENHANCE: Substantial documentation improvements.
950bbc3b9fSchristos
960bbc3b9fSchristos - BUGFIX: When openpam_readword(3) encountered an opening quote, it
970bbc3b9fSchristos   would set the first byte in the buffer to '\0', discarding all
980bbc3b9fSchristos   existing text and, unless the buffer was empty to begin with, all
990bbc3b9fSchristos   subsequent text as well.  This went unnoticed because none of the
1000bbc3b9fSchristos   unit tests for quoted strings had any text preceding the opening
1010bbc3b9fSchristos   quote.
1020bbc3b9fSchristos
1030bbc3b9fSchristos - BUGFIX: make --with-modules-dir work the way it was meant to work
1040bbc3b9fSchristos   (but never did).
1050bbc3b9fSchristos============================================================================
10623e44a77SchristosOpenPAM Micrampelis						2012-05-26
10723e44a77Schristos
10823e44a77Schristos - FEATURE: Add an openpam_readword(3) function which reads the next
10923e44a77Schristos   word from an input stream, applying shell quoting and escaping
11023e44a77Schristos   rules.  Add numerous unit tests for openpam_readword(3).
11123e44a77Schristos
11223e44a77Schristos - FEATURE: Add an openpam_readlinev(3) function which uses the
11323e44a77Schristos   openpam_readword(3) function to read words from an input stream one
11423e44a77Schristos   at a time until it reaches an unquoted, unescaped newline, and
11523e44a77Schristos   returns an array of those words.  Add several unit tests for
11623e44a77Schristos   openpam_readlinev(3).
11723e44a77Schristos
11823e44a77Schristos - FEATURE: Add a PAM_HOST item which pam_start(3) initializes to the
11923e44a77Schristos   machine's hostname.  This was implemented in Lycopsida but
12023e44a77Schristos   inadvertantly left out of the release notes.
12123e44a77Schristos
12223e44a77Schristos - FEATURE: In pam_get_authtok(3), if neither the application nor the
12323e44a77Schristos   module have specified a prompt and PAM_HOST and PAM_RHOST are both
12423e44a77Schristos   defined but not equal, use a different default prompt that includes
12523e44a77Schristos   PAM_USER and PAM_HOST.
12623e44a77Schristos
12723e44a77Schristos - ENHANCE: Rewrite the policy parser to used openpam_readlinev(),
12823e44a77Schristos   which greatly simplifies the code.
12923e44a77Schristos
13023e44a77Schristos - ENHANCE: The previous implementation of the policy parser relied on
13123e44a77Schristos   the openpam_readline(3) function, which (by design) munges
13223e44a77Schristos   whitespace and understands neither quotes nor backslash escapes.
13323e44a77Schristos   As a result of the aforementioned rewrite, whitespace, quotes and
13423e44a77Schristos   backslash escapes in policy files are now handled in a consistent
13523e44a77Schristos   and predictable manner.
13623e44a77Schristos
13723e44a77Schristos - ENHANCE: On platforms that have it, use fdlopen(3) to load modules.
13823e44a77Schristos   This closes the race between the ownership / permission check and
13923e44a77Schristos   the dlopen(3) call.
14023e44a77Schristos
14123e44a77Schristos - ENHANCE: Reduce the amount of pointless error messages generated
14223e44a77Schristos   while searching for a module.
14323e44a77Schristos
14423e44a77Schristos - ENHANCE: Numerous documentation improvements, both in content and
14523e44a77Schristos   formatting.
14623e44a77Schristos
14723e44a77Schristos - BUGFIX: A patch incorporated in Lycopsida inadvertantly changed
14823e44a77Schristos   OpenPAM's behavior when several policies exist for the same
14923e44a77Schristos   service, from ignoring all but the first to concatenating them all.
15023e44a77Schristos   Revert to the original behavior.
15123e44a77Schristos
15223e44a77Schristos - BUGFIX: Plug a memory leak in the policy parser.
15323e44a77Schristos============================================================================
15444269bb5SchristosOpenPAM Lycopsida						2011-12-18
15544269bb5Schristos
15644269bb5Schristos - ENHANCE: removed static build autodetection, which didn't work
15744269bb5Schristos   anyway.  Use an explicit, user-specified preprocessor variable
15844269bb5Schristos   instead.
15944269bb5Schristos
16044269bb5Schristos - ENHANCE: cleaned up the documentation a bit.
16144269bb5Schristos
16244269bb5Schristos - ENHANCE: added openpam_subst(3), allowing certain PAM items to be
16344269bb5Schristos   embedded in strings such as prompts.  Apply it to the prompts used
16444269bb5Schristos   by pam_get_user(3) and pam_get_authtok(3).
16544269bb5Schristos
16644269bb5Schristos - ENHANCE: added support for the user_prompt, authtok_prompt and
16744269bb5Schristos   oldauthtok_prompt module options, which override the prompts passed
16844269bb5Schristos   by the module to pam_set_user(3) and pam_get_authtok(3).
16944269bb5Schristos
17044269bb5Schristos - ENHANCE: rewrote the policy parser to support quoted option values.
17144269bb5Schristos
17244269bb5Schristos - ENHANCE: added pamtest(1), a tool for testing modules and policies.
17344269bb5Schristos
17444269bb5Schristos - ENHANCE: added code to check the ownership and permissions of a
17544269bb5Schristos   module before loading it.
17644269bb5Schristos
17744269bb5Schristos - ENHANCE: added / improved input validation in many cases, including
17876e8c542Schristos   the policy file and some function arguments.  (CVE-2011-4122)
17944269bb5Schristos============================================================================
18044269bb5SchristosOpenPAM Hydrangea						2007-12-21
18144269bb5Schristos
18244269bb5Schristos - ENHANCE: when compiling with GCC, mark up API functions with GCC
18344269bb5Schristos   attributes where appropriate.
18444269bb5Schristos
18544269bb5Schristos - BUGFIX: fixed numerous warnings uncovered by GCC 4.
18644269bb5Schristos
18744269bb5Schristos - ENHANCE: building the documentation is now optional.
18844269bb5Schristos
18944269bb5Schristos - ENHANCE: corrected a number of mistakes and style issues in the
19044269bb5Schristos   build system.
19144269bb5Schristos
19244269bb5Schristos - ENHANCE: API function arguments are now const where appropriate, to
19344269bb5Schristos   match corresponding changes in the Solaris PAM and Linux-PAM APIs.
19444269bb5Schristos
19544269bb5Schristos - ENHANCE: corrected a number of C namespace violations.
19644269bb5Schristos
19744269bb5Schristos - ENHANCE: the module cache has been removed, allowing long-lived
19844269bb5Schristos   applications to pick up module changes.  This also allows multiple
19944269bb5Schristos   threads to use PAM simultaneously (as long as they use separate PAM
20044269bb5Schristos   contexts), since the module cache was the only part of OpenPAM that
20144269bb5Schristos   was not thread-safe.
20244269bb5Schristos============================================================================
20344269bb5SchristosOpenPAM Figwort							2005-06-16
20444269bb5Schristos
20544269bb5Schristos - BUGFIX: Correct several small signedness and initialization bugs
20644269bb5Schristos   discovered during review by the NetBSD team.
20744269bb5Schristos
20844269bb5Schristos - BUGFIX: Modify gendoc.pl to sort cross-references in dictionary
20944269bb5Schristos   order within each section.
21044269bb5Schristos
21144269bb5Schristos - ENHANCE: if a policy specifies a relative module path, prepend the
21244269bb5Schristos   module directory so we never call dlopen(3) with a relative path.
21344269bb5Schristos
21444269bb5Schristos - ENHANCE: add a pam.conf(5) manual page.
21544269bb5Schristos============================================================================
21644269bb5SchristosOpenPAM Feterita						2005-02-01
21744269bb5Schristos
21844269bb5Schristos - BUGFIX: Correct numerous markup errors, invalid cross-references,
21944269bb5Schristos   and other issues in the manual pages, with kind assistance from
22044269bb5Schristos   Ruslan Ermilov <ru@freebsd.org>.
22144269bb5Schristos
22244269bb5Schristos - BUGFIX: Avoid multiple evaluation of macro arguments in ENTERX()
22344269bb5Schristos   and RETURNX() macros.
22444269bb5Schristos
22544269bb5Schristos - BUGFIX: Remove an unnecessary and non-portable pointer cast in
22644269bb5Schristos   pam_get_data(3).
22744269bb5Schristos
22844269bb5Schristos - BUGFIX: Fix identical typos in PAM_ACCT_EXPIRED case in
22944269bb5Schristos   pam_strerror(3) and gendoc.pl.
23044269bb5Schristos
23144269bb5Schristos - ENHANCE: Minor overhaul of the autoconf / build system.
23244269bb5Schristos
23344269bb5Schristos - ENHANCE: Add openpam_free_envlist(3).
23444269bb5Schristos============================================================================
23544269bb5SchristosOpenPAM Eelgrass						2004-02-10
23644269bb5Schristos
23744269bb5Schristos - BUGFIX: Correct array handling bugs in conversation code.
23844269bb5Schristos
23944269bb5Schristos - BUGFIX: In openpam_ttyconv(3), don't strip trailing linear
24044269bb5Schristos   whitespace from the user's response.
24144269bb5Schristos
24244269bb5Schristos - BUGFIX: Many constness issues addressed.
24344269bb5Schristos============================================================================
24444269bb5SchristosOpenPAM Dogwood							2003-07-15
24544269bb5Schristos
24644269bb5Schristos - ENHANCE: Use the GNU autotools.
24744269bb5Schristos
24844269bb5Schristos - ENHANCE: Constify the msg field in struct pam_message.
24944269bb5Schristos
25044269bb5Schristos - BUGFIX: Remove left-over debugging output
25144269bb5Schristos
25244269bb5Schristos - BUGFIX: Avoid side effects in arguments to the FREE() macro
25344269bb5Schristos
25444269bb5Schristos - ENHANCE: Make openpam_ttyconv(3) use read(2) rather than fgets(3).
25544269bb5Schristos
25644269bb5Schristos - BUGFIX: Staticize some variables which shouldn't be global.
25744269bb5Schristos
25844269bb5Schristos - BUGFIX: Correcly anticipate a NULL user in pam_get_user(3).
25944269bb5Schristos
26044269bb5Schristos - ENHANCE: Various minor documentation improvements.
26144269bb5Schristos
26244269bb5SchristosThanks to Dmitry V. Levin <ldv@altlinux.org> for considerable
26344269bb5Schristosassistance with this release.
26444269bb5Schristos============================================================================
26544269bb5SchristosOpenPAM Digitalis						2003-06-01
26644269bb5Schristos
26744269bb5Schristos - ENHANCE: Completely rewrite the configuration parser and add
26844269bb5Schristos   support for the "include" control flag.
26944269bb5Schristos
27044269bb5Schristos - ENHANCE: Improve portability to NetBSD, OpenBSD and Linux.
27144269bb5Schristos
27244269bb5Schristos - ENHANCE: Lots of additional paranoia.
27344269bb5Schristos
27444269bb5Schristos - BUGFIX: The sample su(1) application dropped privileges before
27544269bb5Schristos   forking instead of after.
27644269bb5Schristos
27744269bb5Schristos - ENHANCE: Document openpam_log(3).
27844269bb5Schristos
27944269bb5Schristos - ENHANCE: Other minor documentation fixes.
28044269bb5Schristos
28144269bb5SchristosThanks to Dmitry V. Levin <ldv@altlinux.org> for considerable
28244269bb5Schristosassistance with this release.
28344269bb5Schristos============================================================================
28444269bb5SchristosOpenPAM Dianthus						2003-05-02
28544269bb5Schristos
28644269bb5Schristos - BUGFIX: Initialize some potentially uninitialized variables.
28744269bb5Schristos
28844269bb5Schristos - BUGFIX: Silence some warnings emitted by gcc -std=iso9899:1999.
28944269bb5Schristos
29044269bb5Schristos - BUGFIX: In pam_getenv(), return a pointer to the stored variable
29144269bb5Schristos   instead of a freshly allocated copy.
29244269bb5Schristos
29344269bb5Schristos - ENHANCE: Detect recursion in openpam_borrow_cred()
29444269bb5Schristos
29544269bb5Schristos - ENHANCE: Make borrowing one's own credentials a no-op.
29644269bb5Schristos
29744269bb5Schristos - ENHANCE: Further improve debugging support.
29844269bb5Schristos
29944269bb5Schristos - ENHANCE: Clean up some variable names.
30044269bb5Schristos============================================================================
30144269bb5SchristosOpenPAM Daffodil						2003-01-06
30244269bb5Schristos
30344269bb5Schristos - ENHANCE: Document dependency on <sys/types.h> (for size_t)
30444269bb5Schristos
30544269bb5Schristos - ENHANCE: Slightly improve error detection in openpam_ttyconv().
30644269bb5Schristos
30744269bb5Schristos - BUGFIX: Fix several typos in debugging macros.
30844269bb5Schristos============================================================================
30944269bb5SchristosOpenPAM Cyclamen						2002-12-12
31044269bb5Schristos
31144269bb5Schristos - ENHANCE: Improve recursion detection in openpam_dispatch().
31244269bb5Schristos
31344269bb5Schristos - ENHANCE: Add debugging messages at entry and exit points of most
31444269bb5Schristos   functions.
31544269bb5Schristos
31644269bb5Schristos - ENHANCE: Fix some minor style issues.
31744269bb5Schristos
31844269bb5Schristos - BUGFIX: Add default cases to the switches in openpam_log.c.
31944269bb5Schristos
32044269bb5Schristos - ENHANCE: Add /usr/local/etc/pam.conf to policy search path.
32144269bb5Schristos
32244269bb5Schristos - BUGFIX: In openpam_ttyconv(3), print the prompt to stdout rather
32344269bb5Schristos   than stderr.
32444269bb5Schristos============================================================================
32544269bb5SchristosOpenPAM Citronella						2002-06-30
32644269bb5Schristos
32744269bb5Schristos - ENHANCE: Add the "binding" control flag (from Solaris 9).
32844269bb5Schristos
32944269bb5Schristos - ENHANCE: Define struct pam_repository and PAM_REPOSITORY (from
33044269bb5Schristos   Solaris 9).
33144269bb5Schristos
33244269bb5Schristos - ENHANCE: Flesh out the pam(3) man page.
33344269bb5Schristos
33444269bb5Schristos - ENHANCE: Add an openpam(3) page with cross-references to all the
33544269bb5Schristos   documented OpenPAM API extensions.
33644269bb5Schristos
33744269bb5Schristos - ENHANCE: Add a pam_conv(3) man page describing the conversation
33844269bb5Schristos   system.
33944269bb5Schristos
34044269bb5Schristos - ENHANCE: Improved sample application.
34144269bb5Schristos
34244269bb5Schristos - ENHANCE: Added sample pam_unix module.
34344269bb5Schristos
34444269bb5Schristos - BUGFIX: Various documentation nits.
34544269bb5Schristos============================================================================
34644269bb5SchristosOpenPAM Cinquefoil						2002-05-24
34744269bb5Schristos
34844269bb5Schristos - BUGFIX: Various warnings uncovered by gcc 3.1.
34944269bb5Schristos
35044269bb5Schristos - ENHANCE: Add a null conversation function, openpam_nullconv(3).
35144269bb5Schristos
35244269bb5Schristos - BUGFIX: Initialize the "other" chain to all zeroes.
35344269bb5Schristos
35444269bb5Schristos - ENHANCE: Document openpam_ttyconv(3).
35544269bb5Schristos============================================================================
35644269bb5SchristosOpenPAM Cinnamon						2002-05-02
35744269bb5Schristos
35844269bb5Schristos - ENHANCE: Add a null conversation function, openpam_nullconv().
35944269bb5Schristos
36044269bb5Schristos - BUGFIX: Various markup bugs in the documentation.
36144269bb5Schristos
36244269bb5Schristos - BUGFIX: Document <security/openpam.h>.
36344269bb5Schristos
36444269bb5Schristos - BUGFIX: Duplicate expansion of openpam_log() macro arguments.
36544269bb5Schristos
36644269bb5Schristos - ENHANCE: Restructure the policy-loading code and align our use of
36744269bb5Schristos   the "other" policy with Solaris and Linux-PAM.
36844269bb5Schristos
36944269bb5Schristos - ENHANCE: Log dlopen() and dlsym() failures.
37044269bb5Schristos
37144269bb5Schristos - ENHANCE: In openpam_ttyconv(), emit a newline after error and info
37244269bb5Schristos   messages unless the message contains one already.
37344269bb5Schristos
37444269bb5Schristos - BUGFIX: In pam_vprompt(), initialize the response pointer to NULL
37544269bb5Schristos   so we can detect whether the conversation function touched it.
37644269bb5Schristos============================================================================
37744269bb5SchristosOpenPAM Cineraria						2002-04-14
37844269bb5Schristos
37944269bb5Schristos - BUGFIX: Fix confusion between token and prompt in
38044269bb5Schristos   pam_get_authtok(3).
38144269bb5Schristos
38244269bb5Schristos - ENHANCE: Improved documentation.
38344269bb5Schristos
38444269bb5Schristos - ENHANCE: Adopt the same preprocessor tricks that were used in
38544269bb5Schristos   FreeBSD's version of Linux-PAM to simplify static linking without
38644269bb5Schristos   requiring dummy primitives.
38744269bb5Schristos
38844269bb5Schristos - ENHANCE: Move the policy-loading code out of pam_start.c.
38944269bb5Schristos
39044269bb5Schristos - BUGFIX: Fix typo in one of the versions of the openpam_log macro.
39144269bb5Schristos
39244269bb5Schristos - ENHANCE: Add versioning macros.
39344269bb5Schristos============================================================================
39444269bb5SchristosOpenPAM Cinchona						2002-04-08
39544269bb5Schristos
39644269bb5Schristos - ENHANCE: Improved documentation for several API functions.
39744269bb5Schristos
39844269bb5Schristos - BUGFIX: Fix bug in pam_set_data() that would result in corruption
39944269bb5Schristos   of the module data list.
40044269bb5Schristos
40144269bb5Schristos - BUGFIX: Allocate the correct amount of memory for the environment
40244269bb5Schristos   list in pam_putenv().
40344269bb5Schristos
40444269bb5Schristos - ENHANCE: Change pam_get_authtok()'s prototype so the caller can
40544269bb5Schristos   specify what token it wants.  Also introduce PAM_OLDAUTHTOK_PROMPT.
40644269bb5Schristos
40744269bb5Schristos - BUGFIX: Plug memory leak in pam_get_user() / pam_get_authtok(), and
40844269bb5Schristos   reduce differences between these very similar functions.
40944269bb5Schristos
41044269bb5Schristos - ENHANCE: Check flags carefully in pam_authenticate() and
41144269bb5Schristos   pam_chauthtok().
41244269bb5Schristos
41344269bb5Schristos - BUGFIX: Fix bugs in portability code; libpam now builds on NetBSD.
41444269bb5Schristos
41544269bb5Schristos - ENHANCE: In pam_get_authtok(), if PAM_OLDAUTHTOK is set, we're
41644269bb5Schristos   asked for PAM_AUTHTOK, and we have to prompt the user, prompt her
41744269bb5Schristos   twice and compare the responses.
41844269bb5Schristos
41944269bb5Schristos - ENHANCE: Add openpam_{borrow,restore}_cred(), for temporarily
42044269bb5Schristos   switching to user credentials.
42144269bb5Schristos
42244269bb5Schristos - ENHANCE: Add openpam_free_data(), a generic cleanup function for
42344269bb5Schristos   pam_set_data() consumers.
42444269bb5Schristos============================================================================
42544269bb5SchristosOpenPAM Centaury						2002-03-14
42644269bb5Schristos
42744269bb5Schristos - BUGFIX: Add missing #include <string.h> to openpam_log.c.
42844269bb5Schristos
42944269bb5Schristos - BUGFIX: s/PAM_REINITIALISE_CRED/PAM_REINITIALIZE_CRED/.  XSSO uses
43044269bb5Schristos   the former, but Solaris and Linux-PAM use the latter.
43144269bb5Schristos
43244269bb5Schristos - BUGFIX: The dynamic loader and the module cache contained a number
43344269bb5Schristos   of bugs which would cause a segmentation fault if pam_start(3) was
43444269bb5Schristos   called again after pam_end(3), as happens in login(1), xdm(1) etc.
43544269bb5Schristos   after a failed login.
43644269bb5Schristos
43744269bb5Schristos - BUGFIX: Refer to a module by the name used in the policy file, even
43844269bb5Schristos   if the module that was actually loaded was versioned.
43944269bb5Schristos
44044269bb5Schristos - ENHANCE: Suppress debugging logs, unless compiled with -DDEBUG.
44144269bb5Schristos============================================================================
44244269bb5SchristosOpenPAM Celandine						2002-03-05
44344269bb5Schristos
44444269bb5Schristos - BUGFIX: PAM_TRY_AGAIN is a valid return value for pam_chauthtok().
44544269bb5Schristos
44644269bb5Schristos - BUGFIX: Run passwd chain twice, first with the PAM_PRELIM_CHECK
44744269bb5Schristos   flag set, then with the PAM_UPDATE_AUTHTOK flag set.
44844269bb5Schristos
44944269bb5Schristos - BUGFIX: Failure of a "sufficient" module should not terminate the
45044269bb5Schristos   passwd chain if the PAM_PRELIM_CHECK flag is set.
45144269bb5Schristos
45244269bb5Schristos - BUGFIX: Clear PAM_AUTHTOK after running the service modules.
45344269bb5Schristos
45444269bb5Schristos - ENHANCE: Prevent applications from specifying the PAM_PRELIM_CHECK
45544269bb5Schristos   or PAM_UPDATE_AUTHTOK flags themselves.
45644269bb5Schristos
45744269bb5Schristos - BUGFIX: openpam_set_option() did not support changing the value of
45844269bb5Schristos   an existing option.
45944269bb5Schristos
46044269bb5Schristos - ENHANCE: Add support for module versioning.  OpenPAM will prefer a
46144269bb5Schristos   module with the same version number as the library itself to one
46244269bb5Schristos   with no version number at all.
46344269bb5Schristos============================================================================
46444269bb5SchristosOpenPAM Cantaloupe						2002-02-22
46544269bb5Schristos
46644269bb5Schristos - BUGFIX: The proper use of PAM_SYMBOL_ERR is to indicate an invalid
46744269bb5Schristos   argument to pam_[gs]et_item(3), not to indicate dlsym(3) failures.
46844269bb5Schristos
46944269bb5Schristos - ENHANCE: Add in-line documentation in most source files, and a Perl
47044269bb5Schristos   script that generates mdoc code from that.
47144269bb5Schristos
47244269bb5Schristos - BUGFIX: The environment list was not properly NULL-terminated.
47344269bb5Schristos
47444269bb5Schristos - ENHANCE: Allow the PAM_AUTHTOK_PROMPT item to override the prompt
47544269bb5Schristos   specified by the module.
47644269bb5Schristos
47744269bb5Schristos - BUGFIX: PAM_NUM_ITEMS was set too low.  It has been moved to
47844269bb5Schristos   pam_constants.h to avoid it going stale again.
47944269bb5Schristos
48044269bb5Schristos - ENHANCE: Move all code related to static modules into a separate
48144269bb5Schristos   file.
48244269bb5Schristos
48344269bb5Schristos - ENHANCE: openpam_ttyconv() now masks most signals while prompting the
48444269bb5Schristos   user, and supports setting a timeout (which defaults to off).
48544269bb5Schristos
48644269bb5Schristos - BUGFIX: Some manual pages referenced XSSO even though they
48744269bb5Schristos   documented OpenPAM-specific functions.
48844269bb5Schristos
48944269bb5Schristos - ENHANCE: Added openpam_get_option() and openpam_set_option().
49044269bb5Schristos
49144269bb5Schristos - ENHANCE: openpam_get_authtok() now respects the echo_pass,
49244269bb5Schristos   try_first_pass, and use_first_pass options.
49344269bb5Schristos============================================================================
49444269bb5SchristosOpenPAM Caliopsis						2002-02-13
49544269bb5Schristos
49644269bb5SchristosFixed a number of bugs in the previous release, including:
49744269bb5Schristos  - a number of bugs in and related to pam_[gs]et_item(3)
49844269bb5Schristos  - off-by-one bug in pam_start.c would trim last character off certain
49944269bb5Schristos    configuration lines
50044269bb5Schristos  - incorrect ordering of an array in openpam_load.c would cause service
50144269bb5Schristos    module functions to get mixed up
50244269bb5Schristos  - missing 'continue' in openpam_dispatch.c caused successes to be
50344269bb5Schristos    counted as failures
50444269bb5Schristos============================================================================
50544269bb5SchristosOpenPAM Calamite						2002-02-09
50644269bb5Schristos
50744269bb5SchristosFirst (beta) release.
508