rxrpc: Fix rxkad token xdr encoding
authorMarc Dionne <marc.dionne@auristor.com>
Fri, 4 Sep 2020 17:01:24 +0000 (14:01 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Oct 2020 07:46:23 +0000 (09:46 +0200)
commitbccdc2fd68a6d067e113332b9c2db5ca064a2916
tree8d2daaba1f396fd0467a3e78ae5c3d6e8361060b
parentaaf8fe791e1618a171bd36c39225e3ec8e478abb
rxrpc: Fix rxkad token xdr encoding

[ Upstream commit 56305118e05b2db8d0395bba640ac9a3aee92624 ]

The session key should be encoded with just the 8 data bytes and
no length; ENCODE_DATA precedes it with a 4 byte length, which
confuses some existing tools that try to parse this format.

Add an ENCODE_BYTES macro that does not include a length, and use
it for the key.  Also adjust the expected length.

Note that commit 774521f353e1d ("rxrpc: Fix an assertion in
rxrpc_read()") had fixed a BUG by changing the length rather than
fixing the encoding.  The original length was correct.

Fixes: 99455153d067 ("RxRPC: Parse security index 5 keys (Kerberos 5)")
Signed-off-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/rxrpc/ar-key.c