STABLE14-rxkad-private-reorder-structures-20060713

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


(cherry picked from commit 845b4ac1cf8f97c5c4d84e36109ef477edef4a31)
This commit is contained in:
Derrick Brashear 2006-07-13 18:56:33 +00:00
parent 4beaec411e
commit 913d0efa5c

View File

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