summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/heimdal/lib/gssapi/8003.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/source4/heimdal/lib/gssapi/8003.c b/source4/heimdal/lib/gssapi/8003.c
index b60d2608e2..0062068d5b 100644
--- a/source4/heimdal/lib/gssapi/8003.c
+++ b/source4/heimdal/lib/gssapi/8003.c
@@ -182,9 +182,18 @@ gssapi_krb5_verify_8003_checksum(
*minor_status = 0;
return GSS_S_BAD_BINDINGS;
}
-
+
+ /* This is the case where Samba3 has built GSSAPI out of
+ * krb5 the 'dodgy' way. We have to accept the non-GSSAPI
+ * checksum because windows does */
+
+ if(cksum->cksumtype != CKSUMTYPE_GSSAPI) {
+ *flags = 0;
+ return GSS_S_COMPLETE;
+ }
+
/* XXX should handle checksums > 24 bytes */
- if(cksum->cksumtype != CKSUMTYPE_GSSAPI || cksum->checksum.length < 24) {
+ if(cksum->checksum.length < 24) {
*minor_status = 0;
return GSS_S_BAD_BINDINGS;
}