Jeffrey Altman fd85f7ccb6 base: parse_plist_config CFReadStreamCreateWithFile fail errors
If parse_plist_config() is called with a non-absolute path which
is defined as a path whose first character is not '/', then
CFReadStreamCreateWithFile() must determine the current working
directory in order to return a CFURLRef to an absolute path.
If getcwd() fails, then CFReadStreamCreateWithFile() returns
NULL.

Instead of unconditionally returning ENOMEM when NULL is returned,
check if the path is non-absolute and call getcwd().  If getcwd()
fails, return errno.  Otherwise, return ENOMEM.  This permits
ENOENT (a component of the pathname no longer exists) or EACCES
(read or search permission was denied for a component of the
pathname) to be returned as the reason.

ENOMEM is a fatal error when constructing the configuration for
krb5_init_context() whereas ENOENT and EACCES are not fatal.

Without this patch on macOS, if the cwd is in /afs and the user's
tokens have expired, then krb5_init_context() fails with ENOMEM (12).

  user@MacBookAir user % ~/src/heimdal/kuser/heimtools klist
  shell-init: error retrieving current directory: \
    getcwd: cannot access parent directories: Permission denied
  chdir: error retrieving current directory: \
    getcwd: cannot access parent directories: Permission denied
  heimtools: krb5_init_context failed: 12

With this change krb5_init_context() succeeds.
2025-04-16 10:25:24 -04:00
2023-05-26 12:42:22 -05:00
2024-06-16 23:30:48 -04:00
2022-11-17 19:20:08 -06:00
2020-04-15 19:05:21 -05:00
2024-09-04 10:24:44 -04:00
2004-02-12 14:19:16 +00:00
2000-06-07 10:01:25 +00:00
2002-08-21 13:29:08 +00:00
2024-06-16 23:30:48 -04:00
2024-06-16 23:30:48 -04:00
2024-06-16 23:30:48 -04:00
2019-06-07 22:03:05 -04:00
2024-01-16 16:28:35 -06:00
2023-01-12 10:19:35 -06:00
2014-08-23 19:14:10 -07:00
2022-01-14 20:10:19 -06:00
2022-11-15 17:53:54 -06:00
2019-11-20 18:14:44 -05:00
2020-06-26 11:29:15 -04:00
2022-02-12 15:00:59 -06:00
2019-06-09 13:43:47 -04:00
2010-01-05 19:21:45 +01:00

GitHub Build Workflow GitHub Build Workflow GitHub Build Workflow Appveyor-CI build (Windows) Coverage Status

Heimdal

Heimdal is an implementation of:

  • ASN.1/DER,
  • PKIX, and
  • Kerberos.

For information how to install see here.

There are man pages for most of the commands.

Bug reports and bugs are appreciated. Use GitHub issues.

For more information see the project homepage https://heimdal.software/heimdal/ or the mailing lists:

heimdal-announce@heimdal.software low-volume announcement heimdal-discuss@heimdal.software high-volume discussion

send mail to heimdal-announce-subscribe@heimdal.software and heimdal-discuss-subscribe@heimdal.software respectively to subscribe.

Build Status

GitHub Build Workflow GitHub Build Workflow GitHub Build Workflow Appveyor-CI build (Windows) Coverage Status

Languages
C 91.5%
Roff 3.2%
Shell 2.8%
Makefile 0.6%
M4 0.6%
Other 1.1%