Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7e0fe9f81e19c4f2a1369b324c3c062c1738be4
Commit:     b7e0fe9f81e19c4f2a1369b324c3c062c1738be4
Parent:     555d3d5d2be13675490a80df0d7961551822ef1f
Author:     Vlad Yasevich <[EMAIL PROTECTED]>
AuthorDate: Thu Nov 29 09:53:52 2007 -0500
Committer:  Vlad Yasevich <[EMAIL PROTECTED]>
CommitDate: Thu Nov 29 10:17:42 2007 -0500

    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: Vlad Yasevich <[EMAIL PROTECTED]>
---
 include/net/sctp/constants.h |    9 ++++++---
 net/sctp/Kconfig             |    6 +++---
 net/sctp/auth.c              |    2 ++
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h
index f30b537..05f22a6 100644
--- a/include/net/sctp/constants.h
+++ b/include/net/sctp/constants.h
@@ -441,11 +441,14 @@ enum {
        SCTP_AUTH_HMAC_ID_RESERVED_0,
        SCTP_AUTH_HMAC_ID_SHA1,
        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_NUM_HMACS (SCTP_AUTH_HMAC_ID_SHA256 + 1)
+#define SCTP_AUTH_HMAC_ID_MAX  __SCTP_AUTH_HMAC_MAX - 1
+#define SCTP_AUTH_NUM_HMACS    __SCTP_AUTH_HMAC_MAX
 #define SCTP_SHA1_SIG_SIZE 20
 #define SCTP_SHA256_SIG_SIZE 32
 
diff --git a/net/sctp/Kconfig b/net/sctp/Kconfig
index 8210f54..5390bc7 100644
--- a/net/sctp/Kconfig
+++ b/net/sctp/Kconfig
@@ -6,9 +6,9 @@ menuconfig IP_SCTP
        tristate "The SCTP Protocol (EXPERIMENTAL)"
        depends on INET && EXPERIMENTAL
        depends on IPV6 || IPV6=n
-       select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
-       select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
-       select CRYPTO_SHA1 if SCTP_HMAC_SHA1
+       select CRYPTO
+       select CRYPTO_HMAC
+       select CRYPTO_SHA1
        select CRYPTO_MD5 if SCTP_HMAC_MD5
        ---help---
          Stream Control Transmission Protocol
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 6d89e35..97e6ebd 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -54,11 +54,13 @@ static struct sctp_hmac sctp_hmac_list[SCTP_AUTH_NUM_HMACS] 
= {
                /* id 2 is reserved as well */
                .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_name="hmac(sha256)",
                .hmac_len = SCTP_SHA256_SIG_SIZE,
        }
+#endif
 };
 
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to