diff -ruN coda-6.0.15/coda-src/auth2/krb5.c coda-6.0.15-fixed/coda-src/auth2/krb5.c --- coda-6.0.15/coda-src/auth2/krb5.c 2005-04-13 16:27:00.000000000 +0200 +++ coda-6.0.15-fixed/coda-src/auth2/krb5.c 2006-06-08 14:11:17.287528250 +0200 @@ -54,14 +54,14 @@ #define tkt_realm(t) ((t)->client->realm) #define tkt_realmlen(t) (strlen((t)->client->realm)) #define tkt_client(t) ((t)->client) -#define tkt_key(t) ((t)->ticket.key) +#define tkt_key(t) (&(t)->ticket.key) #define key_data(k) ((k)->keyvalue.data) #define key_length(k) ((k)->keyvalue.length) #else #define tkt_realm(t) ((t)->enc_part2->client->realm.data) #define tkt_realmlen(t) ((t)->enc_part2->client->realm.length) #define tkt_client(t) ((t)->enc_part2->client) -#define tkt_key(t) ((t)->session) +#define tkt_key(t) ((t)->enc_part2->session) #define key_data(k) ((k)->contents) #define key_length(k) ((k)->length) #endif @@ -334,7 +334,7 @@ /* now prepare the keys */ /* hKey is the md5 hash of the kerberos session secret */ - HashSecret(key_data(&tkt_key(ticket)), key_length(&tkt_key(ticket)), hKey); + HashSecret(key_data(tkt_key(ticket)), key_length(tkt_key(ticket)), hKey); /* sKey is a random sequence of bytes */ GenerateSecret(sKey);