rxkad-private-reorder-structures-20060713
authorDerrick Brashear <shadow@dementia.org>
Thu, 13 Jul 2006 18:55:10 +0000 (18:55 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 13 Jul 2006 18:55:10 +0000 (18:55 +0000)
based on fix from tkeiser@gmail.com for aix segfaulting issue; keep offsets of
cprivate and sprivate's copies of type and level the same

src/rxkad/private_data.h

index 8c4507b..b10f194 100644 (file)
@@ -51,11 +51,12 @@ struct rxkad_cidgen {
 #define PDATA_SIZE(l) (sizeof(struct rxkad_cprivate) - MAXKTCTICKETLEN + (l))
 
 /* private data in client-side security object */
+/* type and level offsets should match sprivate */
 struct rxkad_cprivate {
-    afs_int32 kvno;            /* key version of ticket */
-    afs_int16 ticketLen;       /* length of ticket */
     rxkad_type type;           /* always client */
     rxkad_level level;         /* minimum security level of client */
+    afs_int32 kvno;            /* key version of ticket */
+    afs_int16 ticketLen;       /* length of ticket */
     fc_KeySchedule keysched;   /* the session key */
     fc_InitializationVector ivec;      /* initialization vector for cbc */
     char ticket[MAXKTCTICKETLEN];      /* the ticket for the server */
@@ -69,12 +70,13 @@ struct rxkad_cconn {
 };
 
 /* private data in server-side security object */
+/* type and level offsets should match cprivate */
 struct rxkad_sprivate {
+    rxkad_type type;           /* always server */
+    rxkad_level level;         /* minimum security level of server */
     char *get_key_rock;                /* rock for get_key function */
     int (*get_key) ();         /* func. of kvno and server key ptr */
     int (*user_ok) ();         /* func called with new client name */
-    rxkad_type type;           /* always server */
-    rxkad_level level;         /* minimum security level of server */
 };
 
 /* private data in server-side connection */