pull up r23829 from trunk
authorTom Yu <tlyu@mit.edu>
Tue, 23 Mar 2010 07:21:04 +0000 (07:21 +0000)
committerTom Yu <tlyu@mit.edu>
Tue, 23 Mar 2010 07:21:04 +0000 (07:21 +0000)
 ------------------------------------------------------------------------
 r23829 | tlyu | 2010-03-22 23:09:02 -0700 (Mon, 22 Mar 2010) | 10 lines

 ticket: 6689
 target_version: 1.8.1
 tags: pullup
 subject: 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
version_fixed: 1.8.1
status: resolved

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-8@23830 dc483132-0cff-0310-8789-dd5450dbe970

src/include/k5-int-pkinit.h
src/include/krb5/krb5.hin

index 8dcbd5d4f3b6086260834d5901d50080390cdb04..0c5ab0e0e786fa47af02caa9886b790e61c5bb52 100644 (file)
@@ -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;
index 875d14a60502849b39f1c2f6433e2147dde406df..d9f3ba86409970df8570d1784960fabe7e0c5d11 100644 (file)
@@ -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? */