Commit Graph

30935 Commits

Author SHA1 Message Date
Nicolas Williams 7d16663dfa gsskrb5: Fix part of the enctype negotiation problems 2026-01-18 16:08:40 -06:00
Nicolas Williams 6dc1508e8c gss: Add threaded testing of GSS-API! 2026-01-18 16:08:40 -06:00
Nicolas Williams 1274238948 gss: Fix mech attr matching (test_mech_attrs()) 2026-01-18 16:08:40 -06:00
Nicolas Williams b0c925797a gss: Use the 'gss_mo' in each mech to find mech_attrs (needed by SPNEGO) 2026-01-18 16:08:40 -06:00
Nicolas Williams b6c3116400 base: Treat KRB5_TRACE=<path> as KRB5_TRACE=0-5/FILE:<path> 2026-01-18 16:08:40 -06:00
Nicolas Williams 3451950db7 base: NULL-terminate getarg_strings 2026-01-18 16:08:40 -06:00
Nicolas Williams a7bba71ab8 base: Implement appended-error concat 2026-01-18 16:08:40 -06:00
Nicolas Williams e74f785367 hxtool: Fix leak in acert sub-command 2026-01-18 16:08:40 -06:00
Nicolas Williams 50244ef92d hxtool: Enable extended MANDOC generation 2026-01-18 16:08:39 -06:00
Nicolas Williams ff67770aa1 hx509: Quiet warnings 2026-01-18 16:08:39 -06:00
Nicolas Williams 74a613c67d sl: Add extended MANDOC generation 2026-01-18 16:08:39 -06:00
Nicolas Williams 90d116d641 asn1: Quiet warnings 2026-01-18 16:08:39 -06:00
Nicolas Williams 4db2636862 asn1: Print negative enum values correctly 2026-01-18 16:08:39 -06:00
Nicolas Williams bd9a03d498 asn1: Add ASN1_MALLOC_ENCODE_SAVE() macro 2026-01-18 16:08:39 -06:00
Nicolas Williams ec942cd5a1 asn1: Add util der_show_heim_oid_sym() for use in gdb 2026-01-18 16:08:39 -06:00
Nicolas Williams 3c9d0f3033 gssmask: Daemonize the Heimdal way to avoid need for sleeping in the test
This commit authored by Claude with human guidance and review.
2026-01-18 16:08:39 -06:00
Nicolas Williams f74b82d6f0 windows: Add missing exports in lib/asn1 2026-01-18 16:08:39 -06:00
Nicolas Williams 4a4567fa17 windows: No SSIZE_MAX on Windows... 2026-01-18 16:08:39 -06:00
Nicolas Williams 049b1b176b windows: #define _Atomic 2026-01-18 16:08:39 -06:00
Nicolas Williams 27a64459dc threads: Add HEIMDAL_THREAD_join() 2026-01-18 16:08:39 -06:00
Nicolas Williams 1042807a1c base: Fix JSON encoder crash 2026-01-18 16:08:39 -06:00
Nicolas Williams 28b05924c5 roken: Add URL-safe base64 2026-01-18 16:08:39 -06:00
Nicolas Williams 788e2ee3c3 roken: Fix getarg run-on help bug 2026-01-18 16:08:39 -06:00
Nicolas Williams 5fa7d6edd8 roken: Add getdelim()/getline()
Ported from lib/libedit's.
2026-01-18 16:08:39 -06:00
Nicolas Williams e60f02aed1 roken: Use secure_getenv() in socket_wrapper 2026-01-07 17:49:17 -06:00
Nicolas Williams 771fb1c367 roken: Split up mini_inetd_addrinfo()
To speed up tests/gss/check-gssmask we need to remove the `sleep 10`
found there, and to do that we need to make the gssmask daemons use
roken_detach_prep()/roken_detach_finish(), and to do that we need to
split up mini_inetd_addrinfo().

This commit authored by Claude with human guidance and review.
2026-01-07 17:49:17 -06:00
Nicolas Williams 0d2ee355ee tests: Fix intr --version 2026-01-07 17:49:17 -06:00
Nicolas Williams 7cc3f3bbc8 cf: Add support for using Helgrind 2026-01-07 17:49:17 -06:00
Nicolas Williams f052cdc8e5 cf: Use valgrind w/ --show-leak-kinds=definite to reduce noise 2026-01-07 17:49:17 -06:00
Nicolas Williams c3a88a61b7 include: Fix leak in bits.c 2026-01-07 17:49:17 -06:00
Nicolas Williams 7c8ef887d4 doc: Obsolete the Layman's Guide to ASN.1 2026-01-07 17:49:17 -06:00
Nicolas Williams 907d6195f5 GHA: Set core pattern on Linux 2026-01-07 16:20:46 -06:00
Nicolas Williams 55a8949f2a GHA: Always grab the test logs, core dumps 2026-01-07 16:20:46 -06:00
Nicolas Williams 1c9f184561 GHA: Get GHA working again 2025-12-08 20:32:13 -06:00
Jan Palus 7510cc5ba2 cf/largefile.m4: improve compatibility with autoconf 2.72
as of autoconf 2.72 neither ac_cv_sys_large_files nor
ac_cv_sys_file_offset_bits are populated. 1b57b62 introduced a
workaround just for ac_cv_sys_file_offset_bits by checking if it's not
empty.

expand fix to cover ac_cv_sys_large_files as well and check
ac_cv_sys_largefile_opts which is populated in autoconf 2.72 [1]

1. https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=cf09f48841b66fe76f606dd6018bb3a93242a7c9
2025-10-09 12:46:44 -04:00
Jeffrey Altman de6776e66b appl/test: AUTOMAKE_OPTIONS = subdir-objects
Avoid the following warning

   warning: source file '../../kuser/kinit.c' is in a subdirectory,
   but option 'subdir-objects' is disabled
2025-10-09 12:41:39 -04:00
Ivan Korytov 5cf652bf35 kdc: Fix memory leak of encrypted preauthentication data
Deallocate r->ek.encrypted_pa_data after response was sent to client.

Signed-off-by: Ivan Korytov <korytovip@basealt.ru>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2025-10-09 12:33:43 -04:00
Daria Phoebe Brashear de065a739b update workflow artifacts to v4 to get the check infrastructure working again 2025-10-09 10:46:05 -04:00
Daria Phoebe Brashear 7e4950042c update artifacts version to v4 for github workflows 2025-10-09 10:39:57 -04:00
abstrm 14c78d8837 Update copyright.texi with LibTomMath Unlicense (#1283)
Co-authored-by: Alexander Boström <abo@root.snowtree.se>
2025-10-09 09:56:02 -04:00
Stefan Metzmacher 8c3c97bdf6 gsskrb5: let GSS_C_DCE_STYLE imply GSS_C_MUTUAL_FLAG as acceptor
Windows clients forget GSS_C_MUTUAL_FLAG in some situations where they
use GSS_C_DCE_STYLE, in the assumption that GSS_C_MUTUAL_FLAG is
implied.

Both Windows and MIT as server already imply GSS_C_MUTUAL_FLAG
when GSS_C_DCE_STYLE is used.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15740

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2025-04-16 12:59:37 -04:00
Ihar Hrachyshka f0fd2d51b6 Link tests with -lresolv that depend on it 2025-04-16 10:37:27 -04:00
Stefan Metzmacher 50067e8171 kdc: clear et->flags.ok_as_delegate if cross-realm krbtgt does not have it
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2025-04-16 10:27:45 -04:00
Stefan Metzmacher 225d1c4c0e kdc: Constrained delegation requires a local delegating server
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15837

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2025-04-16 10:27:19 -04:00
Stefan Metzmacher c0f63fba5c kdc: KRB5_ANON_REALM needs 'const Realm'
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2025-04-16 10:25:39 -04:00
Jeffrey Altman c3bd400fa2 base: heim_config_parse_file_multi fix plist config parsing
4c34168b01 ("base: Fix use of
HEIM_USE_PATH_TOKENS") relocated the expansion of path tokens
within heim_config_parse_file_multi() so it is only performed
for non-plist files.  However, parse_plist_config() does not
understand tokens and will treat them as path components.  As
a result, plist paths such as

  %{USERCONFIG}/Library/Preferences/com.apple.Kerberos.plist

will not be expanded. If parse_plist_config() fails with ENOENT,
then the plist configuration will be skipped and krb5_init_context()
will succeed.  However, if the current working directory is invalid,
then parse_plist_config() would return ENOMEM which is a fatal
error and krb5_init_context() would fail.

For example, on macOS, if the cwd is in /afs and the user's
tokens have expired:

  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 %{USERCONFIG} is expanded and parse_plist_config()
is called with an absolute path.  Even though the specified file
is inaccessible, the krb5_init_context() call succeeds.
2025-04-16 10:25:24 -04:00
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
Jeffrey Altman caf18a8ef4 cf: dns_search test requires resolv library
When building for Apple operating systems rk_dns_lookup() must
use dns_search() instead of res_search().  Although res_search()
is available, it only issues queries using the /etc/resolv.conf
configuration.  Whereas dns_search() will issue the query against
alternate resolver configurations such as those created by VPN
services.
2025-04-16 09:30:28 -04:00
czurnieden fd2d434dd3 libtommath: Fix possible integer overflow CVE-2023-36328
Cherry picked from libtommath 7bbc1f8e4fe6dce75055957645117180768efb15.

Vulnerability Detail:
  CVE Identifier: CVE-2023-36328
  Description: Integer Overflow vulnerability in mp_grow in libtom
    libtommath before commit beba892bc0d4e4ded4d667ab1d2a94f4d75109a9,
    allows attackers to execute arbitrary code and cause a denial of
    service (DoS).
  Reference: https://nvd.nist.gov/vuln/detail/CVE-2023-36328

Reported-by: https://github.com/Crispy-fried-chicken
2024-09-10 09:00:32 -04:00
Jeffrey Altman 614bc16130 update .gitignore
/confdefs.h
/conftest.c
/conftest.err
/tmp.h
2024-09-04 10:24:44 -04:00