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