Commit Graph

38 Commits

Author SHA1 Message Date
christos 0d9d0fd8a3 merge openpam ximenia 2023-06-30 21:46:20 +00:00
christos 024a2e8c04 Import ximenia (last was tabebuia)
- BUGFIX: Fix race condition in openpam_ttyconv(3) when used with
  expect scripts.

- BUGFIX: In openpam_set_option(3), when removing an option, properly
  decrement the option count.

- BUGFIX: In openpam_subst(3), avoid incrementing past the end of the
  template.
2023-06-30 21:44:02 +00:00
christos 6463100770 use const for strchr assignment. 2021-08-11 09:11:04 +00:00
christos 72d8d6c36a Appease new lint enum errors 2021-03-08 19:38:10 +00:00
christos 8ddd93c13f print the widest int 2020-03-03 00:45:37 +00:00
christos 04265baa16 the uid is not a pam item! 2020-03-03 00:45:21 +00:00
christos a3dd92aca3 resolve conflicts 2019-12-15 17:08:21 +00:00
christos 77513ecfba OpenPAM Tabebuia 2019-02-24
- BUGFIX: Fix off-by-one bug in pam_getenv(3) which was introduced in
   OpenPAM Radula.

 - ENHANCE: Add unit tests for pam_{get,put,set}env(3).
2019-12-15 16:44:27 +00:00
joerg da40fa177a Cast enum explicitly to different type. 2018-05-16 13:54:03 +00:00
christos d4a3515981 non-null arg. 2018-02-11 00:25:12 +00:00
christos 4cb4af11b1 merge conflicts 2017-05-06 19:50:09 +00:00
christos 5ca1223004 OpenPAM Resedacea 2017-04-30
- BUGFIX: Reinstore the NULL check in pam_end(3) which was removed in
   OpenPAM Radula, as it breaks common error-handling constructs.

 - BUGFIX: Return PAM_SYMBOL_ERR instead of PAM_SYSTEM_ERR from the
   dispatcher when the required service function could not be found.

 - ENHANCE: Introduce the PAM_BAD_HANDLE error code for when pamh is
   NULL in API functions that have a NULL check.

 - ENHANCE: Introduce the PAM_BAD_ITEM, PAM_BAD_FEATURE and
   PAM_BAD_CONSTANT error codes for situations where we previously
   incorrectly used PAM_SYMBOL_ERR to denote that an invalid constant
   had been passed to an API function.

 - ENHANCE: Improve the RETURN VALUES section in API man pages,
   especially for functions that cannot fail, which were incorrectly
   documented as returning -1 on failure.
============================================================================
OpenPAM Radula							2017-02-19

 - BUGFIX: Fix an inverted test which prevented pam_get_authtok(3) and
   pam_get_user(3) from using application-provided custom prompts.

 - BUGFIX: Plug a memory leak in pam_set_item(3).

 - BUGFIX: Plug a potential memory leak in openpam_readlinev(3).

 - BUGFIX: In openpam_readword(3), support line continuations within
   whitespace.

 - ENHANCE: Add a feature flag to control fallback to "other" policy.

 - ENHANCE: Add a pam_return(8) module which returns an arbitrary
   code specified in the module options.

 - ENHANCE: More and better unit tests.
2017-05-06 19:32:37 +00:00
christos 201780c4cf merge conflicts 2014-10-24 18:17:55 +00:00
christos 76e8c54297 OpenPAM Ourouparia 2014-09-12
- ENHANCE: When executing a chain, require at least one service
   function to succeed.  This mitigates fail-open scenarios caused by
   misconfigurations or missing modules.

 - ENHANCE: Make sure to overwrite buffers which may have contained an
   authentication token when they're no longer needed.

 - BUGFIX: Under certain circumstances, specifying a non-existent
   module (or misspelling the name of a module) in a policy could
   result in a fail-open scenario.  (CVE-2014-3879)

 - FEATURE: Add a search path for modules.  This was implemented in
   Nummularia but inadvertently left out of the release notes.

 - BUGFIX: The is_upper() predicate only accepted the letter A as an
   upper-case character instead of the entire A-Z range.  As a result,
   service and module names containing upper-case letters other than A
   would be rejected.
2014-10-24 18:15:36 +00:00
spz 0c0b9daba7 make sure we have a log message at the appropriate level (error) on
why pam is failing in the case of an included pam config file missing.

example: instead of logging with the default log settings:
Jun 17 08:49:37 tucana su: pam_start failed: system error
it will log:
Jun 17 08:55:49 tucana su: in openpam_parse_chain(): failed loading include for service gibbetnich in /etc/pam.d/su(15): No such file or directory
Jun 17 08:55:49 tucana su: pam_start failed: system error
2014-06-17 07:08:47 +00:00
christos 175b819734 For consistency, handle REQUISITE modules the same way as we handle REQUIRED
and BINDING.
2014-06-03 20:22:54 +00:00
christos dab998a96b CVE-2014-3879: Incorrect error handling in PAM policy parser:
Missing module files were treated as soft failures leading to
unexpected behavior if policy files were copied between hosts with
differently installed modules or in the short period during upgrades
when module files were being replaced.
2014-06-03 20:21:32 +00:00
joerg 29cb017282 Apply diagnostic overwrite for clang too. 2014-01-23 13:41:58 +00:00
christos 22bb103ac9 gcc 4.1 does not support pragma diagnostic ignored 2014-01-20 01:15:03 +00:00
joerg 6fdbf705b4 Ignore non-literal format strings, the modifications can't be expressed
with the current framework.
2014-01-07 02:15:02 +00:00
joerg 6466ad0c14 Avoid implicit cast on the return value. 2014-01-03 22:49:21 +00:00
christos a7fd76f87e - add casts for sign-changing conversions
- fix types
2013-12-29 22:55:32 +00:00
christos 8fa0fefe00 merge conflicts 2013-12-27 20:10:20 +00:00
christos 64e8a5e66f Import openpam-20130907 2013-12-27 19:27:40 +00:00
christos 0bbc3b9f79 Import openpam-20130907 2013-12-27 19:16:04 +00:00
christos e1b25b170f merge conflicts 2013-04-06 02:20:24 +00:00
christos 23e44a7766 Import openpam-20120526 2013-04-06 01:23:24 +00:00
christos 0730293fd3 - dlopen(3) errors should be printed with dlerror(3) so we get the reason the
module link failed, instead of printing "Undefined error 0".
- don't print free'd variable on error, restructure so that we free at the
  end and print the consistent name of the path dlopened.
2013-02-05 23:47:42 +00:00
christos bf2f922fd2 PR/46801: Izumi Tsutsui:
- downgrade the error of not finding a file to load to a debug message.
  Statically linked OpenPAM (like on sun2) does not have shared objects.
- make sure we preserve errno around dlclose() which will call munmap()
XXX: Pullup to 6
2012-08-15 06:16:41 +00:00
christos 42b74229c1 use a function constant instead of NetBSD 2012-04-14 15:14:08 +00:00
christos f1232d151c replace the custom getpass with getpassfd() 2012-04-13 16:36:37 +00:00
christos aa2f39e93f Add sigquit for completeness to the list of blocked signals with int and tstp.
Does not have any security implication. From Pierre Carrier
2012-04-11 02:28:46 +00:00
christos 020854a4e2 don't use %m in openpam_log, because it does not necessarily call syslog()
to process the message.
2012-01-03 18:56:49 +00:00
christos ed5ecc934e Reverse the order of printf formatting to make it easier for compilers to
check printf arguments.
From joerg@
2011-12-28 14:53:38 +00:00
christos f7d28ae6f9 don't allocate variable arrays on the stack for SSP (from joerg) 2011-12-27 20:29:08 +00:00
christos 14a012c5ad lint and static module fixes 2011-12-25 23:18:56 +00:00
christos 1ae23164b0 apply our changes. 2011-12-25 22:27:55 +00:00
christos 44269bb5a3 from sourceforge
ENHANCE: removed static build autodetection, which didn't work anyway.
	 Use an explicit, user-specified preprocessor variable instead.
ENHANCE: cleaned up the documentation a bit.
ENHANCE: added openpam_subst(3), allowing certain PAM items to be embedded
	 in strings such as prompts. Apply it to the prompts used by
	 pam_get_user(3) and pam_get_authtok(3).
ENHANCE: added support for the user_prompt, authtok_prompt and
	 oldauthtok_prompt module options, which override the prompts passed
	 by the module to pam_set_user(3) and pam_get_authtok(3).
ENHANCE: rewrote the policy parser to support quoted option values.
ENHANCE: added pamtest(1), a tool for testing modules and policies.
ENHANCE: added code to check the ownership and permissions of a module before
	 loading it.
ENHANCE: added / improved input validation in many cases, including the policy
	 file and some function arguments.
2011-12-25 21:42:28 +00:00