Commit Graph

30337 Commits

Author SHA1 Message Date
Nicolas Williams
0929561de3 Update badges at bottom of README.md 2022-02-12 15:00:59 -06:00
Nicolas Williams
a894fc4527 asn1: Add a GitHub Markdown manual 2022-02-12 15:00:59 -06:00
Nicolas Williams
47432b907b krb5: Fix leak in krb5_set_config()
We were leaking context->configured_default_cc_name.
2022-02-11 16:02:27 -06:00
Nicolas Williams
6923b822b8 krb5: Fix leaks in test_cc.c 2022-02-11 16:02:27 -06:00
Nicolas Williams
deb0c7f940 uu_server: Fix a few leaks 2022-02-11 15:19:58 -06:00
Nicolas Williams
c3ea1ac37e kafs: Fix OS X build (warning/error) 2022-02-11 15:17:32 -06:00
Nicolas Williams
6b39972113 krb5: Fix acc_move() crash (CCAPI) 2022-02-11 15:13:13 -06:00
Nicolas Williams
b92cf79543 Revert "osx: Never load OS X CCAPI while testing"
This reverts commit 79d87af910.
2022-02-11 15:13:13 -06:00
Nicolas Williams
88d0102c82 GitHub: Fix OS X make install step 2022-02-11 15:13:13 -06:00
Nicolas Williams
23462018e3 GitHub: Document how to get a shell on OS X runner 2022-02-11 15:13:13 -06:00
Nicolas Williams
e9c0adf11e GitHub: Run OS X build on pushes to osx-build 2022-02-11 15:13:13 -06:00
Nicolas Williams
454dc82a99 GitHub: Build with debug on OS X 2022-02-11 15:13:13 -06:00
Nicolas Williams
7b3a993236 roken: do not override system network address functions
Roken functions rk_copyhostent(), rk_freeaddrinfo(), rk_freehostent()
rk_getaddrinfo(), rk_getipnodebyaddr(),  rk_getipnodebyname(), and
rk_getnameinfo() should never be built without the "rk_" prefix.  Doing
so overrides the system provided functions of the same name when they
exist.
2022-02-10 12:37:01 -06:00
Nicolas Williams
add605ee58 tests: cat messages.log in gss/check-basic trap 2022-02-10 00:57:31 -06:00
Nicolas Williams
848c21b9b9 tests: Kill kdc harder when failing 2022-02-10 00:57:31 -06:00
Nicolas Williams
79d87af910 osx: Never load OS X CCAPI while testing 2022-02-10 00:56:44 -06:00
Nicolas Williams
66e1a8baf2 osx: Disable GCD deprecation warning 2022-02-09 23:49:40 -06:00
Nicolas Williams
1da235c9c3 osx: Avoid blocking the KDC in KEYCHAIN in tests
If a client tries to use PKINIT we can block in the OS X keychain if no
anchors are configured.
2022-02-09 23:49:40 -06:00
Nicolas Williams
584a2d3a2b krb5: Fix error clobbering in test_cc 2022-02-01 15:54:31 -06:00
Nicolas Williams
f06657ff64 krb5: Make more cc configs non-critical
MSLSA can't handle cc configs.
2022-02-01 15:54:31 -06:00
Nicolas Williams
13cb84d465 GitHub: Skip check-tester in valgrind build 2022-02-01 13:38:48 -06:00
Luke Howard
69973757ce gss: remove gss_get_instance() 2022-01-30 14:20:05 -05:00
Jeffrey Altman
301b7ce711 Revert "asn1: Fix Windows build"
This reverts commit ff4033eb59.
2022-01-29 00:15:59 -05:00
Jeffrey Altman
543b94637f more dealloc functions require HEIM_CALLCONV
Change-Id: I68168a387c088b45e2572d5c982d33dfe0aa38a8
2022-01-29 00:15:59 -05:00
Luke Howard
6340602ddc base: ensure HEIM_CALLCONV used for all dealloc functions
Fixes regression introduced in 917e1604.
2022-01-29 14:29:37 +11:00
Luke Howard
87e96b97bd kdc: fix warning in kdc_array_iterate()
Do not call return in a function returning void.
2022-01-29 10:26:54 +11:00
Luke Howard
144caf67fa kdc: add wrappers for heimbase object accessors
Add libkdc wrappers for heimbase object accessors so plugins can use audit and
request attribute APIs without consuming libheimbase. Exposed API surface is
minimal and is limited to reading array collections, and reading/creating base
and custom types.
2022-01-28 17:24:57 -06:00
Luke Howard
917e16049a base: make heim_alloc deallocator use HEIM_CALLCONV 2022-01-28 17:24:57 -06:00
Nicolas Williams
4748f3a19d asn1: Revert heim_object_t support 2022-01-28 17:24:57 -06:00
Luke Howard
327ec7e75c krb5: use void * instead of heim_object for PAC decoration 2022-01-28 17:24:57 -06:00
Luke Howard
5a579901fd kdc: fix warning in GSS pre-authentication support
Do not read an int32_t directly into a CKSUMTYPE enum.
2022-01-29 10:23:09 +11:00
Nicolas Williams
a835b9053d lib/asn1: generate_type_free heim_release not heim_retain
Do not leak the object when the intent is to free it.

Introduced by 40d1271094
("asn1: Expand decoration w/ C types")

Change-Id: If8cd502f61d6f9b72118630839525933911c6697
2022-01-28 13:54:16 -05:00
Jeffrey Altman
4185e87a6c lib/krb5: domain_X500_Compress not domain_X500_compress
3a7c2c6a7f
("krb5.h: define DOMAIN_X500_COMPRESS macro")
defined DOMAIN_X500_COMPRESS to the wrong name.

Change-Id: I5c60d86b856ce6d3fa94b1fa8d7ffe17b97c8513
2022-01-28 13:49:16 -05:00
Jeffrey Altman
7ad9d0ee0e windows: invert NODEBUG for cvarsmt and cvarsdll
ec866e635e
("Windows 10 SDK build fixes") inverted the meaning selecting
Debug versions for NODEBUG and vice versa.

Change-Id: I90771a71cd3efc93ba47076fbf5cd1efb0948f6f
2022-01-27 17:23:28 -05:00
Nicolas Williams
09da53f456 klist: Better recognize cc collection default 2022-01-26 16:40:38 -06:00
Nicolas Williams
2dec179e35 krb5: Add krb5_cccol_get_default_ccname() 2022-01-26 16:40:16 -06:00
Luke Howard
a8037d1916 hdb: define HDB flags using hex instead of decimal constants
Define HDB_F_XXX flags in lib/hdb/hdb.h using hexidecimal constants as they are
easier to read.
2022-01-26 11:17:35 +11:00
Luke Howard
11fa99416d hdb: remove HDB_F_CURRENT_KVNO flag
remove HDB_F_CURRENT_KVNO flag from hdb.h, it is no longer used
2022-01-26 11:10:03 +11:00
Nicolas Williams
5cd49a8032 krb5: Manually expand some macros in fcc_move()
To help in debugging.
2022-01-25 17:22:23 -06:00
Nicolas Williams
a4396ee819 krb5: Fix leak in kcm_gen_new() 2022-01-25 15:38:55 -06:00
Nicolas Williams
df244493ee krb5: Test KCM
Finally, we have a test for KCM.  It shall not break again.
2022-01-25 15:38:55 -06:00
Nicolas Williams
4dcfd968d0 krb5: Better default KCM cache logic (moar)
Ah, we can't use context->default_cc_name because that will be taken
from KRB5CCNAME if it's set, and then we'll think whatever that value is
is the default, but we're really looking to special case resolving of
the "%{UID}" KCM cache name.  So do that.
2022-01-25 14:46:32 -06:00
Nicolas Williams
1a719bdc0e krb5: Better default KCM cache logic
Our kcm daemon will resolve default cache names (%{UID}) to the user's
session's default cache name.  SSSD's kcm daemon will not.

Therefore we add a heuristic for "if we're resolving what may be the
local configured default KCM cache, and it doesn't exist as such in the
KCM session, then use the KCM session's default cache".

This allows our kinit and klist to work as intended.
2022-01-25 13:12:06 -06:00
Nicolas Williams
ae181ee52e krb5: Check for KRB5_CC_NOSUPP in krb5_cc_move()
The KCM cache can return KRB5_CC_NOSUPP instead of ENOTSUP.
2022-01-25 13:12:06 -06:00
Jeffrey Altman
468a06e612 lib/krb5: krb5_store_string*() input must be non-NULL
krb5_store_string, krb5_store_stringz, krb5_store_stringnl

If the input string is NULL, fail the call with EINVAL.
Do not pass the NULL pointer to strlen().

Change-Id: Id87d72e263dde798f300353ec4c1656b310d17a4
2022-01-25 12:42:09 -05:00
Nicolas Williams
a56382ce4d kcm: Treat default name as alias
Both MIT and Heimdal are unable to, in krb5_cc_default(), call to KCM
(or CCAPI, or LSA, or...) to get the user's default ccache name in their
collection.  Instead, the default ccache name is obtained in a static
way, and for KCM that's "%{UID}".  When we krb5_cc_switch(), we simply
maintain a pointer to the name of the ccache that was made the default,
but klist can't make use of this because krb5_cc_default() can't.

The solution here is to first try resolving the ccache name given by the
client, and if that fails but the name happens to be what would be the
library's default KCM ccache name for that user, then try resolving it
through the default ccache name pointer saved at switch time.
2022-01-25 01:17:04 -06:00
Nicolas Williams
727682ec41 krb5: Fix KCM/API ccache type name confusion
Wrap all KCM cc ops that need to call kcm_alloc() so that they pass in
the cc ops pointer that they're associated with so that kcm_alloc() can
use the correct ccache type name if needed.
2022-01-25 01:16:08 -06:00
Nicolas Williams
c44f94fa7e krb5: Use krb5_enomem() in KCM 2022-01-24 22:11:49 -06:00
Nicolas Williams
2a7095971a krb5: Fix cccol support in KCM 2022-01-24 22:11:35 -06:00
Nicolas Williams
2137f0c28e kcm: Do not clobber error from server 2022-01-24 18:27:35 -06:00