| From f009918a1c1bbf8607b8aab3959876913a30193a Mon Sep 17 00:00:00 2001 |
| From: Anton Blanchard <anton@au1.ibm.com> |
| Date: Mon, 28 Feb 2011 03:27:53 +0000 |
| Subject: RxRPC: Fix v1 keys |
| |
| From: Anton Blanchard <anton@au1.ibm.com> |
| |
| commit f009918a1c1bbf8607b8aab3959876913a30193a upstream. |
| |
| commit 339412841d7 (RxRPC: Allow key payloads to be passed in XDR form) |
| broke klog for me. I notice the v1 key struct had a kif_version field |
| added: |
| |
| -struct rxkad_key { |
| - u16 security_index; /* RxRPC header security index */ |
| - u16 ticket_len; /* length of ticket[] */ |
| - u32 expiry; /* time at which expires */ |
| - u32 kvno; /* key version number */ |
| - u8 session_key[8]; /* DES session key */ |
| - u8 ticket[0]; /* the encrypted ticket */ |
| -}; |
| |
| +struct rxrpc_key_data_v1 { |
| + u32 kif_version; /* 1 */ |
| + u16 security_index; |
| + u16 ticket_length; |
| + u32 expiry; /* time_t */ |
| + u32 kvno; |
| + u8 session_key[8]; |
| + u8 ticket[0]; |
| +}; |
| |
| However the code in rxrpc_instantiate strips it away: |
| |
| data += sizeof(kver); |
| datalen -= sizeof(kver); |
| |
| Removing kif_version fixes my problem. |
| |
| Signed-off-by: Anton Blanchard <anton@samba.org> |
| Signed-off-by: David Howells <dhowells@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| include/keys/rxrpc-type.h | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- a/include/keys/rxrpc-type.h |
| +++ b/include/keys/rxrpc-type.h |
| @@ -99,7 +99,6 @@ struct rxrpc_key_token { |
| * structure of raw payloads passed to add_key() or instantiate key |
| */ |
| struct rxrpc_key_data_v1 { |
| - u32 kif_version; /* 1 */ |
| u16 security_index; |
| u16 ticket_length; |
| u32 expiry; /* time_t */ |