summaryrefslogtreecommitdiff
path: root/source4/heimdal/lib/gssapi/mech
diff options
context:
space:
mode:
Diffstat (limited to 'source4/heimdal/lib/gssapi/mech')
-rw-r--r--source4/heimdal/lib/gssapi/mech/gss_accept_sec_context.c7
-rw-r--r--source4/heimdal/lib/gssapi/mech/gss_mech_switch.c2
2 files changed, 4 insertions, 5 deletions
diff --git a/source4/heimdal/lib/gssapi/mech/gss_accept_sec_context.c b/source4/heimdal/lib/gssapi/mech/gss_accept_sec_context.c
index 4d634bf20f..d3a21464da 100644
--- a/source4/heimdal/lib/gssapi/mech/gss_accept_sec_context.c
+++ b/source4/heimdal/lib/gssapi/mech/gss_accept_sec_context.c
@@ -72,10 +72,11 @@ OM_uint32 gss_accept_sec_context(OM_uint32 *minor_status,
/*
* Token must start with [APPLICATION 0] SEQUENCE.
* But if it doesn't assume its DCE-STYLE Kerberos!
+ * And if it's not there at all, then we are requesting a mech list from SPNEGO
*/
- if (len == 0)
- return (GSS_S_DEFECTIVE_TOKEN);
- if (*p != 0x60) {
+ if (len == 0) {
+ mech_oid = *GSS_SPNEGO_MECHANISM;
+ } else if (*p != 0x60) {
mech_oid = *GSS_KRB5_MECHANISM;
} else {
p++;
diff --git a/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c b/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
index b6f261fe29..3d01ba69d4 100644
--- a/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
+++ b/source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
@@ -213,9 +213,7 @@ _gss_load_mech(void)
}
add_builtin(__gss_krb5_initialize());
-#ifndef _SAMBA_BUILD_
add_builtin(__gss_spnego_initialize());
-#endif
fp = fopen(_PATH_GSS_MECH, "r");
if (!fp) {