Commit Graph

104 Commits

Author SHA1 Message Date
Luke Howard
ce58eb9081 kdc: annotate libkdc Windows function annotations
Annotate libkdc APIs with KDC_LIB_{CALL,FUNCTION} to ensure correct calling
convention and optimized DLL importing on Windows.

Ensure Windows and libtool export tables are consistent.
2022-01-04 12:27:43 +11:00
Luke Howard
fcff5933ad kdc: rename windc to kdc plugin
Rename the "windc" plugin API to the more general "kdc" plugin API, for two
reasons: the Heimdal KDC uses the Windows PAC even when not emulating a domain
controller, and the plugin API has accreted methods that are not specific to
emulating a domain controller (such as referral_policy and finalize_reply).
2022-01-03 16:17:01 +11:00
Luke Howard
957633b793 kdc: remove unused rx.h header
We no longer support Kerberos 4, remove rx.h.
2022-01-03 13:12:03 +11:00
Luke Howard
01ef38b743 kdc: add sample GSS preauth authorization plugin
Add a sample GSS preauth authorization plugin, which will be built and
installed if OpenLDAP is available, but otherwise not enabled (by virtue of not
being installed into the plugin directory).

The plugin authorizes federated GSS preauth clients by querying an Active
Directory domain controller for the altSecurityIdentities attribute.

Once the user entry is found, the name is canonicalized by reading the
sAMAccountName attribute and concatenating it with the KDC realm.
2021-08-31 11:00:13 +00:00
Luke Howard
774f50b28b gss: move GSS pre-auth helpers to convenience lib
GSS pre-auth helpers do not belong in libgssapi, so move them to a separate
convenience library.
2021-08-27 15:20:07 +10:00
Luke Howard
49f3f5bd99 kdc: support for GSS-API pre-authentication
Add support for GSS-API pre-authentication to the KDC, using a simplified
variation of draft-perez-krb-wg-gss-preauth-02 that encodes GSS-API context
tokens directly in PADATA, and uses FX-COOKIE for state management.

More information on the protocol and implementation may be found in
lib/gssapi/preauth/README.md.
2021-08-12 17:37:01 +10:00
Nicolas Williams
e80ac3ae22 kdc: Install bx509d and httpkadmind man pages 2021-04-23 22:15:51 -05:00
Nicolas Williams
9574783d04 kdc: Add httpkadmind
TBD:

 - improve error handling, logging, tracing!
 - move all REST services out of kdc/
2020-09-08 14:34:08 -05:00
Nicolas Williams
73c424ea66 bx509d: Get KDC config out of bx509d 2020-09-08 00:25:24 -05:00
Luke Howard
8fd3cc84eb kdc: link test_token_validator against libgssapi
The Negotiate token validation plugin links against libgssapi, but on macOS the
dynamic linker cannot find it before Heimdal is installed. This causes tests to
fail. Although test_token_validator itself does not require libgsaspi, link
against it so that the test can proceed.
2020-01-01 19:15:59 +11:00
Nicolas Williams
a79714da93 kdc: Fix build race 2019-12-20 16:05:03 -06:00
Nicolas Williams
9a41785682 bx509: Fix cjwt_token_validator build 2019-12-20 15:58:44 -06:00
Nicolas Williams
18df68d6e9 bx509: Add proper logging 2019-12-10 21:26:47 -06:00
Nicolas Williams
52b8fae5e0 Fix Travis build moar 2019-12-05 15:34:09 -06:00
Nicolas Williams
2d1454c686 Fix Travis build 2019-12-04 23:12:04 -06:00
Nicolas Williams
575c67806b Add bx509d 2019-12-04 21:34:44 -06:00
Andrew Bartlett
b01d527a35 Merge pull request #171 from jelmer/parallel
Fix parallel builds.
2016-05-14 22:28:25 +12:00
Viktor Dukhovni
1017a594ef Use OpenSSL include path as needed
For consistency make "-I" part of the macro value set by autoconf.

For now, don't attempt to handle OpenSSL rpath in cf/crypto.m4.
That's much easier by just setting LDFLAGS when running configure.
Otherwise too many Makefiles to edit and libtool and automake do
their best to undo the rpath.
2016-05-07 05:29:12 -04:00
Jelmer Vernooij
a460601ee3 Properly fix parallel builds. 2016-04-20 12:15:27 +00:00
Nicolas Williams
490337f4f9 Make OpenSSL an hcrypto backend proper
This adds a new backend for libhcrypto: the OpenSSL backend.

Now libhcrypto has these backends:

 - hcrypto itself (i.e., the algorithms coded in lib/hcrypto)
 - Common Crypto (OS X)
 - PKCS#11 (specifically for Solaris, but not Solaris-specific)
 - Windows CNG (Windows)
 - OpenSSL (generic)

The ./configure --with-openssl=... option no longer disables the use of
hcrypto.  Instead it enables the use of OpenSSL as a (and the default)
backend in libhcrypto.  The libhcrypto framework is now always used.

OpenSSL should no longer be used directly within Heimdal, except in the
OpenSSL hcrypto backend itself, and files where elliptic curve (EC)
crypto is needed.

Because libhcrypto's EC support is incomplete, we can only use OpenSSL
for EC.  Currently that means separating all EC-using code so that it
does not use hcrypto, thus the libhx509/hxtool and PKINIT EC code has
been moved out of the files it used to be in.
2016-04-15 00:16:17 -05:00
Nicolas Williams
c6f24e99f0 Revamp cf/db.m4; test LMDB 2016-02-26 00:55:32 -06:00
Brian May
6b5933337b Fix parallel build
Fix problem due to missing makefile dependency on a generated file.

See http://bugs.debian.org/800728 for details

Signed-off-by: Nicolas Williams <nico@twosigma.com>
2016-02-05 17:23:39 -06:00
Love Hörnquist Åstrand
4fb41b50cf use noinst_HEADERS for kdc-private.h 2014-02-16 09:16:18 -08:00
Roland C. Dowdeswell
be5afdbf7f Make concurrent builds work.
To stop the errors when building concurrently, we make a number of
changes:

        1.  stop including generated files in *_SOURCES,

        2.  make *-protos.h and *-private.h depend on the *_SOURCES,

        3.  make all objects depend on *-{protos,private}.h,

        4.  in a few places change dir/header.h to $(srcdir)/dir/header.h,

This appears to work for me with make -j16 on a 4-way box.
2012-08-08 00:04:04 +01:00
Russ Allbery
0f81a468a3 Link kdc-tester with libheimbase directly
It directly uses symbols provided by that library.

Signed-off-by: Nicolas Williams <nico@cryptonector.com>
2011-12-22 14:52:58 -06:00
Love Hörnquist Åstrand
503266c4a3 use json to drive kdc-tester 2011-11-21 20:34:35 -08:00
Love Hörnquist Åstrand
1a1bd736c0 merge support for FAST in as-req codepath 2011-10-28 19:25:48 -07:00
Love Hörnquist Åstrand
7cb8e7f742 no more krb4 2011-08-10 09:24:43 -07:00
Love Hornquist Astrand
78bef36409 include fast.c 2011-07-24 20:24:36 -07:00
Love Hörnquist Åstrand
12403a31ce sprinkle more windows files 2011-07-23 11:18:21 -07:00
Love Hörnquist Åstrand
7aaba443bc add NTMakefile and windows directories 2011-07-17 12:16:59 -07:00
Love Hornquist Astrand
00b3524892 link with libheimntlm.la 2011-04-14 12:54:15 -07:00
Love Hornquist Astrand
9fba958c90 remove kadb leftovers 2010-11-26 10:31:37 -08:00
Love Hornquist Astrand
cc42e85e7f Remove deprecated krb4 kdc components 2010-11-20 14:11:35 -08:00
Guido Günther
45a94f309b Use libcapng to drop all privileges
except for CAPNG_NET_BIND_SERVICE so we can bind to ports < 1024.

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-02-18 19:08:45 -08:00
Love Hornquist Astrand
c867fd3e2e Make libtool pull in the depenency on libldap
Put in explicy depenency on libdap so that libtool
might to the right thing for us.

Patch from Jan Rekorajski
2009-12-08 00:15:10 -08:00
Love Hornquist Astrand
270c4feaf1 add digest-service and announce 2009-11-22 06:42:14 -08:00
Love Hörnquist Åstrand
7fe1196c96 finish support for libintl
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23752 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-07 21:13:13 +00:00
Love Hörnquist Åstrand
d2387e033f drop CHECK_SYMBOLS
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22489 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-01-21 11:49:06 +00:00
Love Hörnquist Åstrand
a9ccb1a578 New library version.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21429 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-07-10 12:36:43 +00:00
Love Hörnquist Åstrand
007d16660b Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21405 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-07-04 10:35:45 +00:00
Love Hörnquist Åstrand
71bc52d5ac EXTRA_DIST += version-script.map.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21020 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-06-08 15:35:50 +00:00
Love Hörnquist Åstrand
7d1da27427 Add kdc-replay.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20953 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-06-07 03:20:22 +00:00
Love Hörnquist Åstrand
7e6b98aa96 version script for libkdc
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20551 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-04-24 11:45:04 +00:00
Love Hörnquist Åstrand
7ba2b2006c rename des to hcrypto
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20466 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-04-20 08:29:05 +00:00
Love Hörnquist Åstrand
023089fbf8 Include windc.c and use windc_plugin.h
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19631 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-01-03 15:38:44 +00:00
Love Hörnquist Åstrand
2aff6e5795 add kx509.c
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19548 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-28 21:06:18 +00:00
Love Hörnquist Åstrand
95936540f6 libkdc needs libheimntlm.la
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19371 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-15 21:17:50 +00:00
Love Hörnquist Åstrand
c264018278 Add LIB_pkinit to pacify AIX
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19188 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-11-29 07:39:58 +00:00
Love Hörnquist Åstrand
1b9fae5253 more files
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18653 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-10-20 15:52:20 +00:00