From 9bb6880e3e4952719189ae2a6519835a737f5903 Mon Sep 17 00:00:00 2001 From: Marco van Wieringen Date: Sat, 11 Oct 2014 16:15:57 +0200 Subject: [PATCH] Fix build when not using OpenSSL. Apply some fixes to the alternative crypto solutions so they work again with the new MD5 and SHA1 fallback code in the library. --- src/lib/crypto_gnutls.c | 25 ++++++++----------------- src/lib/crypto_none.c | 25 ++++++++----------------- src/lib/crypto_nss.c | 25 ++++++++----------------- src/lib/sha1.c | 6 +++--- 4 files changed, 27 insertions(+), 54 deletions(-) diff --git a/src/lib/crypto_gnutls.c b/src/lib/crypto_gnutls.c index 8998b9476f3..06b372ff244 100644 --- a/src/lib/crypto_gnutls.c +++ b/src/lib/crypto_gnutls.c @@ -62,7 +62,7 @@ DIGEST *crypto_digest_new(JCR *jcr, crypto_digest_t type) switch (type) { case CRYPTO_DIGEST_MD5: - MD5Init(&digest->md5); + MD5_Init(&digest->md5); break; case CRYPTO_DIGEST_SHA1: SHA1Init(&digest->sha1); @@ -81,17 +81,12 @@ bool crypto_digest_update(DIGEST *digest, const uint8_t *data, uint32_t length) switch (digest->type) { case CRYPTO_DIGEST_MD5: /* Doesn't return anything ... */ - MD5Update(&digest->md5, (unsigned char *) data, length); + MD5_Update(&digest->md5, (unsigned char *) data, length); return true; case CRYPTO_DIGEST_SHA1: - int ret; - if ((ret = SHA1Update(&digest->sha1, (const u_int8_t *) data, length)) == shaSuccess) { - return true; - } else { - Jmsg1(NULL, M_ERROR, 0, _("SHA1Update() returned an error: %d\n"), ret); - return false; - } - break; + /* Doesn't return anything ... */ + SHA1Update(&digest->sha1, (const u_int8_t *) data, (unsigned int)length); + return true; default: return false; } @@ -106,19 +101,15 @@ bool crypto_digest_finalize(DIGEST *digest, uint8_t *dest, uint32_t *length) assert(*length >= CRYPTO_DIGEST_MD5_SIZE); *length = CRYPTO_DIGEST_MD5_SIZE; /* Doesn't return anything ... */ - MD5Final((unsigned char *)dest, &digest->md5); + MD5_Final((unsigned char *)dest, &digest->md5); return true; case CRYPTO_DIGEST_SHA1: /* Guard against programmer error by either the API client or * an out-of-sync CRYPTO_DIGEST_MAX_SIZE */ assert(*length >= CRYPTO_DIGEST_SHA1_SIZE); *length = CRYPTO_DIGEST_SHA1_SIZE; - if (SHA1Final(&digest->sha1, (u_int8_t *) dest) == shaSuccess) { - return true; - } else { - return false; - } - break; + SHA1Final((u_int8_t *) dest, &digest->sha1); + return true; default: return false; } diff --git a/src/lib/crypto_none.c b/src/lib/crypto_none.c index 360b19b2a5e..0d901aa38af 100644 --- a/src/lib/crypto_none.c +++ b/src/lib/crypto_none.c @@ -56,7 +56,7 @@ DIGEST *crypto_digest_new(JCR *jcr, crypto_digest_t type) switch (type) { case CRYPTO_DIGEST_MD5: - MD5Init(&digest->md5); + MD5_Init(&digest->md5); break; case CRYPTO_DIGEST_SHA1: SHA1Init(&digest->sha1); @@ -75,17 +75,12 @@ bool crypto_digest_update(DIGEST *digest, const uint8_t *data, uint32_t length) switch (digest->type) { case CRYPTO_DIGEST_MD5: /* Doesn't return anything ... */ - MD5Update(&digest->md5, (unsigned char *) data, length); + MD5_Update(&digest->md5, (unsigned char *) data, length); return true; case CRYPTO_DIGEST_SHA1: - int ret; - if ((ret = SHA1Update(&digest->sha1, (const u_int8_t *) data, length)) == shaSuccess) { - return true; - } else { - Jmsg1(NULL, M_ERROR, 0, _("SHA1Update() returned an error: %d\n"), ret); - return false; - } - break; + /* Doesn't return anything ... */ + SHA1Update(&digest->sha1, (const u_int8_t *) data, (unsigned int)length); + return true; default: return false; } @@ -100,19 +95,15 @@ bool crypto_digest_finalize(DIGEST *digest, uint8_t *dest, uint32_t *length) assert(*length >= CRYPTO_DIGEST_MD5_SIZE); *length = CRYPTO_DIGEST_MD5_SIZE; /* Doesn't return anything ... */ - MD5Final((unsigned char *)dest, &digest->md5); + MD5_Final((unsigned char *)dest, &digest->md5); return true; case CRYPTO_DIGEST_SHA1: /* Guard against programmer error by either the API client or * an out-of-sync CRYPTO_DIGEST_MAX_SIZE */ assert(*length >= CRYPTO_DIGEST_SHA1_SIZE); *length = CRYPTO_DIGEST_SHA1_SIZE; - if (SHA1Final(&digest->sha1, (u_int8_t *) dest) == shaSuccess) { - return true; - } else { - return false; - } - break; + SHA1Final((u_int8_t *) dest, &digest->sha1); + return true; default: return false; } diff --git a/src/lib/crypto_nss.c b/src/lib/crypto_nss.c index 64cf92d0c73..99d29e234b5 100644 --- a/src/lib/crypto_nss.c +++ b/src/lib/crypto_nss.c @@ -58,7 +58,7 @@ DIGEST *crypto_digest_new(JCR *jcr, crypto_digest_t type) switch (type) { case CRYPTO_DIGEST_MD5: - MD5Init(&digest->md5); + MD5_Init(&digest->md5); break; case CRYPTO_DIGEST_SHA1: SHA1Init(&digest->sha1); @@ -77,17 +77,12 @@ bool crypto_digest_update(DIGEST *digest, const uint8_t *data, uint32_t length) switch (digest->type) { case CRYPTO_DIGEST_MD5: /* Doesn't return anything ... */ - MD5Update(&digest->md5, (unsigned char *) data, length); + MD5_Update(&digest->md5, (unsigned char *) data, length); return true; case CRYPTO_DIGEST_SHA1: - int ret; - if ((ret = SHA1Update(&digest->sha1, (const u_int8_t *) data, length)) == shaSuccess) { - return true; - } else { - Jmsg1(NULL, M_ERROR, 0, _("SHA1Update() returned an error: %d\n"), ret); - return false; - } - break; + /* Doesn't return anything ... */ + SHA1Update(&digest->sha1, (const u_int8_t *) data, (unsigned int)length); + return true; default: return false; } @@ -102,19 +97,15 @@ bool crypto_digest_finalize(DIGEST *digest, uint8_t *dest, uint32_t *length) assert(*length >= CRYPTO_DIGEST_MD5_SIZE); *length = CRYPTO_DIGEST_MD5_SIZE; /* Doesn't return anything ... */ - MD5Final((unsigned char *)dest, &digest->md5); + MD5_Final((unsigned char *)dest, &digest->md5); return true; case CRYPTO_DIGEST_SHA1: /* Guard against programmer error by either the API client or * an out-of-sync CRYPTO_DIGEST_MAX_SIZE */ assert(*length >= CRYPTO_DIGEST_SHA1_SIZE); *length = CRYPTO_DIGEST_SHA1_SIZE; - if (SHA1Final(&digest->sha1, (u_int8_t *) dest) == shaSuccess) { - return true; - } else { - return false; - } - break; + SHA1Final((u_int8_t *) dest, &digest->sha1); + return true; default: return false; } diff --git a/src/lib/sha1.c b/src/lib/sha1.c index 6a38522c839..9972cb2847d 100644 --- a/src/lib/sha1.c +++ b/src/lib/sha1.c @@ -24,7 +24,7 @@ A million repetitions of "a" #include "sha1.h" -void SHA1Transform(u_int32_t state[5], u_int8_t buffer[64]); +void SHA1Transform(u_int32_t state[5], const u_int8_t buffer[64]); #define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) @@ -49,7 +49,7 @@ void SHA1Transform(u_int32_t state[5], u_int8_t buffer[64]); /* Hash a single 512-bit block. This is the core of the algorithm. */ -void SHA1Transform(u_int32_t state[5], u_int8_t buffer[64]) +void SHA1Transform(u_int32_t state[5], const u_int8_t buffer[64]) { u_int32_t a, b, c, d, e; typedef union { @@ -118,7 +118,7 @@ void SHA1Init(SHA1_CTX* context) /* Run your data through this. */ -void SHA1Update(SHA1_CTX* context, u_int8_t* data, unsigned int len) +void SHA1Update(SHA1_CTX* context, const u_int8_t* data, unsigned int len) { unsigned int i, j;