sunrpc: trim off trailing checksum before returning decrypted or integrity authentica...
authorJeff Layton <jlayton@redhat.com>
Wed, 6 Feb 2013 13:28:55 +0000 (08:28 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 8 Feb 2013 20:19:10 +0000 (15:19 -0500)
When GSSAPI integrity signatures are in use, or when we're using GSSAPI
privacy with the v2 token format, there is a trailing checksum on the
xdr_buf that is returned.

It's checked during the authentication stage, and afterward nothing
cares about it. Ordinarily, it's not a problem since the XDR code
generally ignores it, but it will be when we try to compute a checksum
over the buffer to help prevent XID collisions in the duplicate reply
cache.

Fix the code to trim off the checksums after verifying them. Note that
in unwrap_integ_data, we must avoid trying to reverify the checksum if
the request was deferred since it will no longer be present when it's
revisited.

Signed-off-by: Jeff Layton <jlayton@redhat.com>

No differences found