RxRPC: Fix v1 keys
commita33be6e69f2527f2e8f0bcfe3b77a51c8210ad3f
authorAnton Blanchard <anton@au1.ibm.com>
Mon, 28 Feb 2011 03:27:53 +0000 (28 03:27 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Mar 2011 21:29:53 +0000 (14 14:29 -0700)
tree1b4a6d729454a079cb6a6d020ba3de2a3b616d80
parentd5719ed81492a21fa0ba5b10ba366153f2b49fb3
RxRPC: Fix v1 keys

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