From 1085c316471a8ec60ae0693ba8b964b03b2b660f Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Tue, 23 Mar 2010 06:09:02 +0000 Subject: [PATCH] krb5_typed_data not castable to krb5_pa_data on 64-bit MacOSX Move krb5_typed_data to krb5.hin from k5-int-pkinit.h because krb5int_fast_process_error was assuming that it was safe to cast it to krb5_pa_data. It's not safe to do the cast on 64-bit MacOSX because krb5.hin uses #pragma pack on that platform. ticket: 6689 target_version: 1.8.1 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23829 dc483132-0cff-0310-8789-dd5450dbe970 --- src/include/k5-int-pkinit.h | 11 ----------- src/include/krb5/krb5.hin | 13 +++++++++++++ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/include/k5-int-pkinit.h b/src/include/k5-int-pkinit.h index 8dcbd5d4f..0c5ab0e0e 100644 --- a/src/include/k5-int-pkinit.h +++ b/src/include/k5-int-pkinit.h @@ -101,17 +101,6 @@ typedef struct _krb5_trusted_ca { } u; } krb5_trusted_ca; -/* typed data */ -/* The FAST error handling logic currently assumes that this structure and krb5_pa_data * can be safely cast to each other - * if this structure changes, that code needs to be updated to copy. - */ -typedef struct _krb5_typed_data { - krb5_magic magic; - krb5_int32 type; - unsigned int length; - krb5_octet *data; -} krb5_typed_data; - /* PA-PK-AS-REQ (Draft 9 -- PA TYPE 14) */ typedef struct _krb5_pa_pk_as_req_draft9 { krb5_octet_data signedAuthPack; diff --git a/src/include/krb5/krb5.hin b/src/include/krb5/krb5.hin index 875d14a60..d9f3ba864 100644 --- a/src/include/krb5/krb5.hin +++ b/src/include/krb5/krb5.hin @@ -1184,6 +1184,19 @@ typedef struct _krb5_pa_data { krb5_octet *contents; } krb5_pa_data; +/* typed data */ +/* + * The FAST error handling logic currently assumes that this structure and + * krb5_pa_data * can be safely cast to each other if this structure changes, + * that code needs to be updated to copy. + */ +typedef struct _krb5_typed_data { + krb5_magic magic; + krb5_int32 type; + unsigned int length; + krb5_octet *data; +} krb5_typed_data; + typedef struct _krb5_kdc_req { krb5_magic magic; krb5_msgtype msg_type; /* AS_REQ or TGS_REQ? */ -- 2.26.2