summaryrefslogtreecommitdiff
path: root/cipher/cipher-internal.h
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2016-03-18 18:57:19 +0100
committerWerner Koch <wk@gnupg.org>2016-03-18 18:57:19 +0100
commit897ccd21b7221982806b5c024518f4e989152f14 (patch)
tree14eb21b32255c176e1cdfad843fe35edf0471eac /cipher/cipher-internal.h
parent9ecc2690181ba0bb44f66451a7dce2fc19965793 (diff)
downloadlibgcrypt-897ccd21b7221982806b5c024518f4e989152f14.tar.gz
Always require a 64 bit integer type
* configure.ac (available_digests_64): Merge with available_digests. (available_kdfs_64): Merge with available_kdfs. <64 bit datatype test>: Bail out if no such type is available. * src/types.h: Emit #error if no u64 can be defined. (PROPERLY_ALIGNED_TYPE): Always add u64 type. * cipher/bithelp.h: Remove all code paths which handle the case of !HAVE_U64_TYPEDEF. * cipher/bufhelp.h: Ditto. * cipher/cipher-ccm.c: Ditto. * cipher/cipher-gcm.c: Ditto. * cipher/cipher-internal.h: Ditto. * cipher/cipher.c: Ditto. * cipher/hash-common.h: Ditto. * cipher/md.c: Ditto. * cipher/poly1305.c: Ditto. * cipher/scrypt.c: Ditto. * cipher/tiger.c: Ditto. * src/g10lib.h: Ditto. * tests/basic.c: Ditto. * tests/bench-slope.c: Ditto. * tests/benchmark.c: Ditto. -- Given that SHA-2 and some other algorithms require a 64 bit type it does not make anymore sense to conditionally compile some part when the platform does not provide such a type. GnuPG-bug-id: 1815. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'cipher/cipher-internal.h')
-rw-r--r--cipher/cipher-internal.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/cipher/cipher-internal.h b/cipher/cipher-internal.h
index 29c6f338..80e7c092 100644
--- a/cipher/cipher-internal.h
+++ b/cipher/cipher-internal.h
@@ -168,7 +168,6 @@ struct gcry_cipher_handle
int unused; /* Number of unused bytes in LASTIV. */
union {
-#ifdef HAVE_U64_TYPEDEF
/* Mode specific storage for CCM mode. */
struct {
u64 encryptlen;
@@ -185,7 +184,6 @@ struct gcry_cipher_handle
unsigned int lengths:1; /* Set to 1 if CCM length parameters has been
processed. */
} ccm;
-#endif
/* Mode specific storage for Poly1305 mode. */
struct {
@@ -248,8 +246,7 @@ struct gcry_cipher_handle
/* Pre-calculated table for GCM. */
#ifdef GCM_USE_TABLES
- #if defined(HAVE_U64_TYPEDEF) && (SIZEOF_UNSIGNED_LONG == 8 \
- || defined(__x86_64__))
+ #if (SIZEOF_UNSIGNED_LONG == 8 || defined(__x86_64__))
#define GCM_TABLES_USE_U64 1
u64 gcm_table[2 * 16];
#else
@@ -362,10 +359,8 @@ gcry_err_code_t _gcry_cipher_ccm_set_nonce
size_t noncelen);
gcry_err_code_t _gcry_cipher_ccm_authenticate
/* */ (gcry_cipher_hd_t c, const unsigned char *abuf, size_t abuflen);
-#ifdef HAVE_U64_TYPEDEF
gcry_err_code_t _gcry_cipher_ccm_set_lengths
/* */ (gcry_cipher_hd_t c, u64 encryptedlen, u64 aadlen, u64 taglen);
-#endif
gcry_err_code_t _gcry_cipher_ccm_get_tag
/* */ (gcry_cipher_hd_t c,
unsigned char *outtag, size_t taglen);