From 837f283f813a98a321d193a3d5c9ce8c8ea72a0a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 18 Feb 2007 23:49:29 +0000 Subject: r21438: create the PAC element in the same order as w2k3, maybe there's some broken code in windows which relies on this... love: can you merge this to heimdal? metze (This used to be commit b64abf9113a939308dc9e92ff7ddaad7be6ab551) --- source4/heimdal/lib/krb5/pac.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'source4/heimdal/lib/krb5') diff --git a/source4/heimdal/lib/krb5/pac.c b/source4/heimdal/lib/krb5/pac.c index 5bc7235459..283759c98b 100644 --- a/source4/heimdal/lib/krb5/pac.c +++ b/source4/heimdal/lib/krb5/pac.c @@ -850,12 +850,12 @@ _krb5_pac_sign(krb5_context context, krb5_data_zero(&logon); + if (p->logon_name == NULL) + num++; if (p->server_checksum == NULL) num++; if (p->privsvr_checksum == NULL) num++; - if (p->logon_name == NULL) - num++; if (num) { void *ptr; @@ -867,6 +867,11 @@ _krb5_pac_sign(krb5_context context, } p->pac = ptr; + if (p->logon_name == NULL) { + p->logon_name = &p->pac->buffers[p->pac->numbuffers++]; + memset(p->logon_name, 0, sizeof(*p->logon_name)); + p->logon_name->type = PAC_LOGON_NAME; + } if (p->server_checksum == NULL) { p->server_checksum = &p->pac->buffers[p->pac->numbuffers++]; memset(p->server_checksum, 0, sizeof(*p->server_checksum)); @@ -877,11 +882,6 @@ _krb5_pac_sign(krb5_context context, memset(p->privsvr_checksum, 0, sizeof(*p->privsvr_checksum)); p->privsvr_checksum->type = PAC_PRIVSVR_CHECKSUM; } - if (p->logon_name == NULL) { - p->logon_name = &p->pac->buffers[p->pac->numbuffers++]; - memset(p->logon_name, 0, sizeof(*p->logon_name)); - p->logon_name->type = PAC_LOGON_NAME; - } } /* Calculate LOGON NAME */ -- cgit