Commit Graph

25 Commits

Author SHA1 Message Date
Nicolas Williams
1aa0a495c2 tests: Use kadmin w/ here-document to speed up tests 2024-01-16 16:28:35 -06:00
Nicolas Williams
016373931d tests: Kill daemons on ^C 2024-01-16 16:28:35 -06:00
Nicolas Williams
848c21b9b9 tests: Kill kdc harder when failing 2022-02-10 00:57:31 -06:00
Nicolas Williams
06ba7b1597 test: When kdc fails to start, show the log
This is an attempt to find out why the GitHub Actions OS X build is
failing.
2022-01-20 14:32:17 -06:00
Luke Howard
06232dfcce gss: fix import/export of accumulating contexts
gss_{import,export}_sec_context did not work with partially accumulating
contexts, where the initial context token had not been completely accumulated,

Further, in gss_import_sec_context(), ctx->gc_input.value was not allocated to
a buffer sufficiently large to accumulate the target length.
2021-08-08 14:46:49 +10:00
Roland C. Dowdeswell
3a6229f64a gss_accept_sec_context: support reassembling split tokens.
Microsoft will sometimes split GSS tokens when they exceed a certain
size in some protocols.  This is specified in

	[MS-SPNG]: Simple and Protected GSS-API Negotiation
	Mechanism (SPNEGO) Extension

https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-SPNG/%5bMS-SPNG%5d.pdf

sections 3.1.5.4 to 3.1.5.9.

We extend gss_accept_sec_context() to recognise partial tokens and
to accumulate the fragments until an entire token is available to
be processed.  If the entire token is not yet available,
GSS_S_CONTINUE_NEEDED is returned with a zero length output token.
This is specified in RFC2744 page 25-26 to indicate that no reply
need be sent.

We include updates to the test framework to test split tokens when
using SPNEGO.
2021-08-07 18:54:56 +10:00
Luke Howard
4fb6a6adc9 gss: port NegoEx implementation from MIT
An implementation of draft-zhu-negoex-04 for MIT Kerberos was developed in
2011. This has been recently integrated, with many fixes from Greg Hudson. This
commit ports it to Heimdal. The implementation has been interoperability tested
with MIT Kerberos and Windows, using the GSS EAP mechanism developed as part of
the Moonshot project.

The SPNEGO code was also updated to import the state machine from Apple which
improves mechListMIC processing and avoids discarding initial context tokens
generated during mechanism probing, that can be used for optimistic tokens.

Finally, to aid in testing, the GSS-API mechanism glue configuration file can
be changed using the environment variable GSS_MECH_CONFIG. This environment
variable name, along with the format of the configuration file, is compatible
with MIT (although it would be difficult for a single mechanism binary to
support both implementations).
2020-02-04 17:28:35 +11: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
Quanah Gibson-Mount
7c16ce3457 Minor typo/grammar fixes 2017-03-10 15:47:43 -05:00
Nicolas Williams
2027aa11ed Use --detach in tests to avoid waiting 2016-12-07 19:52:29 -06:00
Nicolas Williams
8735d47d8b Add missing tests/gss env setup 2016-12-06 22:44:34 -06:00
Nicolas Williams
feb245f741 Undo workaround for NTLM and mechglue bugs 2015-04-17 10:55:47 -05:00
Nicolas Williams
5d50d06845 Better test workaround for NTLM bug 2015-04-16 19:53:22 -05:00
Nicolas Williams
d6a7d14fc5 Workaround bugs exposed by test_context changes
Bugs exposed by 61720a0:

 - test_context --client-name=... --mech-type=ntlm ... fails;

 - gss_acquire_cred() with desired_mech=NTLM and
   desired_name==GSS_C_NO_NAME fails;

 - gss_init_sec_context() with non-default cred handle calls the
   mechanism even when the given cred handle has no element for the
   requencet mechanism.

tests/gss/check-ntlm works by accident: gss_acquire_cred() with
desired_mechs==GSS_C_NO_OID_SET succeeds mostly because there are
Kerberos credentials available, and then the subsequent
gss_init_sec_context() call works because of the third bug described
above.
2015-04-16 18:42:51 -05:00
Love Hornquist Astrand
12c3c12160 pass in client name 2011-05-22 13:01:00 -07:00
Love Hornquist Astrand
86da42df1d abstract out --no-afslog and --no-unlog 2010-06-01 14:42:16 -07:00
Love Hörnquist Åstrand
e172367898 switch to utf8 encoding of all files
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23814 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-09-13 08:53:55 +00:00
Love Hörnquist Åstrand
ffe5bc187e make delegated checks work....
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23407 ec53bebd-3082-4978-b11e-865c3cabbd6b
2008-07-26 18:32:17 +00:00
Love Hörnquist Åstrand
dc491b7b73 empty messages.log
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21847 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-08-08 06:55:32 +00:00
Love Hörnquist Åstrand
06bae6ea10 use @port@ as port
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20203 ec53bebd-3082-4978-b11e-865c3cabbd6b
2007-02-08 01:04:54 +00:00
Love Hörnquist Åstrand
9afb696dc5 test wrapunwrap
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19455 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-19 18:16:29 +00:00
Love Hörnquist Åstrand
0270e1d1af Test get and verify MIC.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19449 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-19 15:44:40 +00:00
Love Hörnquist Åstrand
89a05cc5da test more combination of spnego contexts
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19417 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-18 18:03:27 +00:00
Love Hörnquist Åstrand
dcdaf46f23 less bash in the automated version.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19407 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-18 13:14:08 +00:00
Love Hörnquist Åstrand
a831db29b4 check spnego combinations.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19403 ec53bebd-3082-4978-b11e-865c3cabbd6b
2006-12-18 13:05:26 +00:00