Commit b7e0fe9f authored by Vlad Yasevich's avatar Vlad Yasevich

SCTP: Fix build issues with SCTP AUTH.

SCTP-AUTH requires selection of CRYPTO, HMAC and SHA1 since
SHA1 is a MUST requirement for AUTH.  We also support SHA256,
but that's optional, so fix the code to treat it as such.
Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
parent 555d3d5d
...@@ -441,11 +441,14 @@ enum { ...@@ -441,11 +441,14 @@ enum {
SCTP_AUTH_HMAC_ID_RESERVED_0, SCTP_AUTH_HMAC_ID_RESERVED_0,
SCTP_AUTH_HMAC_ID_SHA1, SCTP_AUTH_HMAC_ID_SHA1,
SCTP_AUTH_HMAC_ID_RESERVED_2, SCTP_AUTH_HMAC_ID_RESERVED_2,
SCTP_AUTH_HMAC_ID_SHA256 #if defined (CONFIG_CRYPTO_SHA256) || defined (CONFIG_CRYPTO_SHA256_MODULE)
SCTP_AUTH_HMAC_ID_SHA256,
#endif
__SCTP_AUTH_HMAC_MAX
}; };
#define SCTP_AUTH_HMAC_ID_MAX SCTP_AUTH_HMAC_ID_SHA256 #define SCTP_AUTH_HMAC_ID_MAX __SCTP_AUTH_HMAC_MAX - 1
#define SCTP_AUTH_NUM_HMACS (SCTP_AUTH_HMAC_ID_SHA256 + 1) #define SCTP_AUTH_NUM_HMACS __SCTP_AUTH_HMAC_MAX
#define SCTP_SHA1_SIG_SIZE 20 #define SCTP_SHA1_SIG_SIZE 20
#define SCTP_SHA256_SIG_SIZE 32 #define SCTP_SHA256_SIG_SIZE 32
......
...@@ -6,9 +6,9 @@ menuconfig IP_SCTP ...@@ -6,9 +6,9 @@ menuconfig IP_SCTP
tristate "The SCTP Protocol (EXPERIMENTAL)" tristate "The SCTP Protocol (EXPERIMENTAL)"
depends on INET && EXPERIMENTAL depends on INET && EXPERIMENTAL
depends on IPV6 || IPV6=n depends on IPV6 || IPV6=n
select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5 select CRYPTO
select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5 select CRYPTO_HMAC
select CRYPTO_SHA1 if SCTP_HMAC_SHA1 select CRYPTO_SHA1
select CRYPTO_MD5 if SCTP_HMAC_MD5 select CRYPTO_MD5 if SCTP_HMAC_MD5
---help--- ---help---
Stream Control Transmission Protocol Stream Control Transmission Protocol
......
...@@ -54,11 +54,13 @@ static struct sctp_hmac sctp_hmac_list[SCTP_AUTH_NUM_HMACS] = { ...@@ -54,11 +54,13 @@ static struct sctp_hmac sctp_hmac_list[SCTP_AUTH_NUM_HMACS] = {
/* id 2 is reserved as well */ /* id 2 is reserved as well */
.hmac_id = SCTP_AUTH_HMAC_ID_RESERVED_2, .hmac_id = SCTP_AUTH_HMAC_ID_RESERVED_2,
}, },
#if defined (CONFIG_CRYPTO_SHA256) || defined (CONFIG_CRYPTO_SHA256_MODULE)
{ {
.hmac_id = SCTP_AUTH_HMAC_ID_SHA256, .hmac_id = SCTP_AUTH_HMAC_ID_SHA256,
.hmac_name="hmac(sha256)", .hmac_name="hmac(sha256)",
.hmac_len = SCTP_SHA256_SIG_SIZE, .hmac_len = SCTP_SHA256_SIG_SIZE,
} }
#endif
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment