diff mbox

RxRPC: Fix v1 keys

Message ID 20110228132753.30463.24909.stgit@warthog.procyon.org.uk
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

David Howells Feb. 28, 2011, 1:27 p.m. UTC
From: Anton Blanchard <anton@au1.ibm.com>

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>
---

 include/keys/rxrpc-type.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Andrew Morton Feb. 28, 2011, 11:01 p.m. UTC | #1
On Mon, 28 Feb 2011 13:27:53 +0000
David Howells <dhowells@redhat.com> wrote:

> From: Anton Blanchard <anton@au1.ibm.com>
> 
> 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>
> ---
> 
>  include/keys/rxrpc-type.h |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/include/keys/rxrpc-type.h b/include/keys/rxrpc-type.h
> index 5cb86c3..fc48754 100644
> --- 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 */

Isn't the patch also needed in 2.6.37.x?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller March 3, 2011, 6:19 a.m. UTC | #2
From: David Howells <dhowells@redhat.com>
Date: Mon, 28 Feb 2011 13:27:53 +0000

> From: Anton Blanchard <anton@au1.ibm.com>
> 
> 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>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/keys/rxrpc-type.h b/include/keys/rxrpc-type.h
index 5cb86c3..fc48754 100644
--- 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 */