Commit Graph

177 Commits

Author SHA1 Message Date
Nicolas Williams c1841f2f67 gssapi: Import elric1's gss-token 2019-11-19 23:00:41 -06:00
Luke Howard 83d2951c0d gssapi: SPNEGO does not reset NTLM RC4 state (#509) 2019-01-06 20:50:24 -06:00
Luke Howard 735039dbdc gssapi: implement gss_set_neg_mechs() (#495)
Implementation of gss_set_neg_mechs() and gss_get_neg_mechs() as defined in RFC
4178. New gss_release_cred_by_mech() API for dropping a credential from a
mechanism glue credential.
2019-01-04 15:50:11 +11:00
Luke Howard 83f15553e0 gssapi: import mechglue allocation utility functions from Heimdal-520
Apple's Heimdal impelmentation uses a number of utility functions for
allocating names and credentials, to avoid calling malloc or calloc directly.
Import them.
2019-01-03 14:38:39 -06:00
Luke Howard e0bb9c10ca gssapi: credential store extensions (#451)
Implement the GSS-API credential store API extensions defined by MIT here:

https://k5wiki.kerberos.org/wiki/Projects/Credential_Store_extensions

Note: we kill off gss_acquire_cred_ext() here. This was never a public API,
although mechanisms could have implemented it and I briefly used it in my
BrowserID prototype mechanism. gss_acquire_cred_ext_from() occupies the place
in the dispatch table where gss_acquire_cred_ext() used to, but this structure
was never visible outside Heimdal (i.e. it is only used by internal
mechanisms);

(Mechanisms that need to accept arbitrary key/value dictionaries from
applications should now implement gss_acquire_cred_from().)
2019-01-03 14:38:39 -06:00
Nicolas Williams e6d1c10808 Rewrite gss_add_cred() (fix #413)
It turns out gss_add_cred() really needed a complete rewrite.  It's much
better to first have a gss_duplicate_cred() (which has been needed for
other reasons anyways), and use that when the input_cred_handle is not
GSS_C_NO_CREDENTIAL and output_cred_handle is not NULL, then mutate that
duplicate credential handle (or the input_cred_handle if
output_cred_handle is NULL).
2018-12-28 19:26:25 -06:00
Nicolas Williams 3e65dfbc32 Fix make dist missing files (#228) 2016-12-15 12:15:56 -06:00
Nicolas Williams 59b47eb7bb Fix lib/gssapi build race (fix #135) 2016-04-15 15:18:30 -05: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 f73c4edf69 Fix gss_store_cred() 2015-03-24 11:50:01 -05:00
Love Hörnquist Åstrand 923246a66e clean files 2014-02-16 11:51:25 -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
Love Hörnquist Åstrand 24332f87a0 no more krb4 2011-08-10 09:22:52 -07:00
Linus Nordberg 2e35198908 Add version-script.map to _DEPENDENCIES.
Added to 11 out of 14 directories with map files.  Not lib/ntlm,
lib/hcrypto and kdc which have the map file as an explicit dependency
to _OBBJECTS.

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
2011-07-24 14:07:59 -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 9cf61bc762 add mech/compat.h for distribution 2011-05-19 00:02:06 -07:00
Luke Howard 88e3968a9e implement gss_add_cred_with_password over gss_acquire_cred_ext 2011-05-14 17:57:09 +02:00
Luke Howard 48719d5651 shim acquire_cred_with_password SPI into acquire_cred_ext 2011-05-14 17:00:55 +02:00
Luke Howard dfba868910 Merge branch 'master' into lukeh/acquire-cred-ex-moonshot-integ
Conflicts:
	lib/gssapi/Makefile.am
	lib/gssapi/mech/gss_acquire_cred_with_password.c
	lib/gssapi/test_context.c
	lib/gssapi/version-script.map
2011-05-14 16:48:49 +02:00
Luke Howard 02cf28e20b implement gss_acquire_cred_ex with password support
add missing SPIs to gss_mech_switch

s/acquire_cred_ex/acquire_cred_ext/g
2011-04-16 11:06:24 +02:00
Luke Howard 6c6e483e00 gss_authorize_localname implementation 2011-04-08 10:58:57 +10:00
Luke Howard ca48b27fe7 add _gsskrb5_pname_to_uid implementation 2011-03-20 23:31:32 +11:00
Luke Howard 0dff021161 add krb5 glue for userok 2011-03-20 20:57:24 +11:00
Luke Howard e78371829c implement gss_userok/gss_pname_to_uid 2011-03-20 20:34:59 +11:00
Luke Howard 9455577b65 Merge branch 'master' of github.com:heimdal/heimdal
Conflicts:
	lib/gssapi/gssapi/gssapi.h
	lib/gssapi/gssapi_mech.h
	lib/gssapi/mech/gss_mech_switch.c
2011-03-20 19:08:10 +11:00
Love Hornquist Astrand c3905ff795 glue in some more functions 2011-03-12 19:29:00 -08:00
Love Hornquist Astrand c05773d443 drop gss_name_any since it removed from the draft 2011-03-12 12:50:59 -08:00
Luke Howard 6ffdb884e8 Add naming extension SPIs
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2011-03-12 12:30:41 -08:00
Luke Howard 65ebfb5712 Merge branch 'master' of github.com:heimdal/heimdal
Conflicts:
	lib/gssapi/gssapi/gssapi.h
	lib/gssapi/mech/gss_mech_switch.c
2011-02-28 10:21:31 +11:00
Love Hornquist Astrand 1ec5eff475 bump version of libgssapi, from Eray Aslan 2011-02-26 13:10:06 -08:00
Luke Howard cace66a435 Add naming extension SPIs 2011-01-03 14:45:07 +11:00
Luke Howard 098148ac20 MIT SPI compat 2011-01-02 20:30:57 +11:00
Love Hornquist Astrand 6ab92598d0 rename gss to gsstool 2010-11-25 21:34:26 -08:00
Love Hornquist Astrand ab9267c04e constify 2010-11-25 19:20:26 -08:00
Love Hornquist Astrand dbeeb18a53 generate oids using table 2010-11-25 18:32:33 -08:00
Love Hornquist Astrand ca1b7bfcc3 initial drop of gss-mo 2010-11-25 11:48:02 -08:00
Love Hornquist Astrand ad0c3839b5 clean better 2010-09-14 09:29:35 -07:00
Love Hornquist Astrand aa7f658e16 add more depencies 2009-11-21 23:09:50 -08:00
Love Hornquist Astrand 3d7488398a abstract out depenecy tracking for tools 2009-09-16 05:40:55 -07:00
Love Hornquist Astrand dc4e8669ea Abstract out asn1_compile and slc 2009-09-16 00:12:13 -07:00
Love Hornquist Astrand 07f0c8be5d Clean better 2009-08-06 10:18:52 +02:00
Love Hornquist Astrand 3cebc3767f add more test to test_acquire_cred that removes the need of test_init_creds.c 2009-08-03 13:05:36 +02:00
Love Hornquist Astrand fa502c6648 Add support for gss_{import,export}_cred() as requested by metze
Works for krb5 and SPNEGO mechanisms. Kerberos credentials are passed as
credential cache names, or if there are memory based credentials, inband in the protocol. This means that the credentials buffers must be keep secret.

As documented by IBM (they have the wrong prototype though)
and GGF (GSS-API Extensions) back in 2001
2009-07-29 13:36:02 +02:00
Love Hornquist Astrand 517be51cc5 Test init_sec_context using keytab based credentials
Based on problem description from Rick Macklem in [HEIMDAL-197],
problem still not fixed.
2009-07-17 15:57:45 -07:00
Love Hörnquist Åstrand 012eae7f34 rename gssapi/ntlm/digest.c to kdc.c since that is what its talking too
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25292 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-07-03 03:16:21 +00:00
Love Hörnquist Åstrand f93dd564c3 fix depencies for asn1 headers
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25268 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-06-03 17:25:58 +00:00
Love Hörnquist Åstrand a158e74fc4 add depencies for asn1 headers
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25267 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-06-03 17:25:48 +00:00
Love Hörnquist Åstrand f030017f6f add store-cred
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24931 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-03-25 15:34:58 +00:00
Love Hörnquist Åstrand 61b8032de0 add store_cred.c
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24928 ec53bebd-3082-4978-b11e-865c3cabbd6b
2009-03-22 17:24:57 +00:00