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 */