libica/libica-2.3-fixes.patch
2014-03-14 15:55:22 +01:00

73 lines
2.8 KiB
Diff

From 0ce5ef52839237b852e75ab5f11121beedd7eca1 Mon Sep 17 00:00:00 2001
From: Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>
Date: Tue, 11 Mar 2014 16:42:26 +0100
Subject: [PATCH] AES_CCM: fixed 64/31 bit compatibility
Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@linux.vnet.ibm.com>
---
src/ica_api.c | 2 +-
src/s390_ccm.c | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/ica_api.c b/src/ica_api.c
index 4939675..7649e4c 100644
--- a/src/ica_api.c
+++ b/src/ica_api.c
@@ -248,7 +248,7 @@ static unsigned int check_ccm_parms(unsigned long payload_length,
* is only limited by the value range of its data type unsigned long
* and need no further checking */
if ((nonce_length > S390_CCM_MIN_NONCE_LENGTH) &&
- (payload_length > ((1ul << (8*(15-nonce_length))))))
+ (payload_length > ((1ull << (8*(15-nonce_length))))))
return EINVAL;
if (mac == NULL)
diff --git a/src/s390_ccm.c b/src/s390_ccm.c
index 1503ea9..f61dc30 100644
--- a/src/s390_ccm.c
+++ b/src/s390_ccm.c
@@ -68,7 +68,7 @@ static inline unsigned int fc_to_key_length(unsigned int function_code)
static inline void __compute_meta_b0(const unsigned char *nonce,
unsigned long nonce_length,
unsigned long assoc_data_length,
- unsigned long payload_length,
+ uint64_t payload_length,
unsigned long mac_length,
unsigned char *meta_b0)
{
@@ -122,7 +122,7 @@ static inline void __compute_initial_ctr(const unsigned char *nonce,
static inline unsigned int __auth_assoc_data(unsigned int function_code,
const unsigned char *assoc_data,
- unsigned long assoc_data_length,
+ uint64_t assoc_data_length,
const unsigned char *key,
unsigned int key_length,
unsigned char *iv)
@@ -138,11 +138,11 @@ static inline unsigned int __auth_assoc_data(unsigned int function_code,
unsigned long tail_length;
/* preparing first block of assoc_data */
- if (assoc_data_length < ((1ul << 16)-(1ul << 8))) {
+ if (assoc_data_length < ((1ull << 16)-(1ull << 8))) {
meta.small.length = assoc_data_length;
meta_data = meta.small.data;
meta_data_length = sizeof(meta.small.data);
- } else if (assoc_data_length < (1ul << 32)) {
+ } else if (assoc_data_length < (1ull << 32)) {
meta.medium.prefix[0] = 0xff;
meta.medium.prefix[1] = 0xfe;
meta.medium.length = assoc_data_length;
@@ -213,7 +213,7 @@ static inline unsigned int __auth_assoc_data(unsigned int function_code,
static unsigned int s390_ccm_authenticate(unsigned int function_code,
const unsigned char *payload,
- unsigned long payload_length,
+ uint64_t payload_length,
const unsigned char *assoc_data,
unsigned long assoc_data_length,
const unsigned char *nonce,
--
1.8.5.3