OSDN Git Service

mptcp: use SHA256_BLOCK_SIZE, not SHA_MESSAGE_BYTES
authorEric Biggers <ebiggers@google.com>
Sat, 2 May 2020 18:24:21 +0000 (11:24 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 May 2020 05:32:16 +0000 (15:32 +1000)
In preparation for naming the SHA-1 stuff in <linux/cryptohash.h>
properly and moving it to a more appropriate header, fix the HMAC-SHA256
code in mptcp_crypto_hmac_sha() to use SHA256_BLOCK_SIZE instead of
"SHA_MESSAGE_BYTES" which is actually the SHA-1 block size.
(Fortunately these are both 64 bytes, so this wasn't a "real" bug...)

Cc: Paolo Abeni <pabeni@redhat.com>
Cc: mptcp@lists.01.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
net/mptcp/crypto.c

index c151628..81b06d8 100644 (file)
@@ -61,7 +61,7 @@ void mptcp_crypto_hmac_sha(u64 key1, u64 key2, u8 *msg, int len, void *hmac)
        put_unaligned_be64(key2, key2be);
 
        /* Generate key xored with ipad */
-       memset(input, 0x36, SHA_MESSAGE_BYTES);
+       memset(input, 0x36, SHA256_BLOCK_SIZE);
        for (i = 0; i < 8; i++)
                input[i] ^= key1be[i];
        for (i = 0; i < 8; i++)
@@ -78,7 +78,7 @@ void mptcp_crypto_hmac_sha(u64 key1, u64 key2, u8 *msg, int len, void *hmac)
        sha256_final(&state, &input[SHA256_BLOCK_SIZE]);
 
        /* Prepare second part of hmac */
-       memset(input, 0x5C, SHA_MESSAGE_BYTES);
+       memset(input, 0x5C, SHA256_BLOCK_SIZE);
        for (i = 0; i < 8; i++)
                input[i] ^= key1be[i];
        for (i = 0; i < 8; i++)