Author: abartlet
Date: 2006-11-07 06:23:57 +0000 (Tue, 07 Nov 2006)
New Revision: 654

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=654

Log:
With this patch, WinXP as a client accepts our replies from the
DCE/RPC server.

Andrew Bartlett

Modified:
   trunk/heimdal/lib/gssapi/krb5/arcfour.c


Changeset:
Modified: trunk/heimdal/lib/gssapi/krb5/arcfour.c
===================================================================
--- trunk/heimdal/lib/gssapi/krb5/arcfour.c     2006-11-07 03:19:22 UTC (rev 
653)
+++ trunk/heimdal/lib/gssapi/krb5/arcfour.c     2006-11-07 06:23:57 UTC (rev 
654)
@@ -355,12 +355,14 @@
     if (conf_state)
        *conf_state = 0;
 
-    datalen = input_message_buffer->length + 1 /* padding */;
+    if ((context_handle->flags & GSS_C_DCE_STYLE) == 0) {
+       datalen = input_message_buffer->length + 1 /* padding */;
 
-    if ((context_handle->flags & GSS_C_DCE_STYLE) == 0) {
        len = datalen + GSS_ARCFOUR_WRAP_TOKEN_SIZE;
        _gssapi_encap_length(len, &len, &total_len, GSS_KRB5_MECHANISM);
     } else {
+       datalen = input_message_buffer->length;
+
        len = GSS_ARCFOUR_WRAP_TOKEN_SIZE;
        _gssapi_encap_length(len, &len, &total_len, GSS_KRB5_MECHANISM);
        total_len += datalen;
@@ -416,7 +418,9 @@
     p = p0 + GSS_ARCFOUR_WRAP_TOKEN_SIZE;
     memcpy(p, input_message_buffer->value, input_message_buffer->length);
 
-    p[input_message_buffer->length] = 1; /* PADDING */
+    if ((context_handle->flags & GSS_C_DCE_STYLE) == 0) {
+       p[input_message_buffer->length] = 1; /* PADDING */
+    }
 
     ret = arcfour_mic_cksum(key, KRB5_KU_USAGE_SEAL,
                            p0 + 16, 8, /* SGN_CKSUM */ 

Reply via email to