*/
#include <ccan/crypto/sha256/sha256.h>
#include <ccan/endian/endian.h>
+#include <ccan/compiler/compiler.h>
#include <stdbool.h>
#include <assert.h>
#include <string.h>
#ifdef CCAN_CRYPTO_SHA256_USE_OPENSSL
ctx->c.md_len = 0;
#else
- ctx->bytes = -1ULL;
+ ctx->bytes = (size_t)-1;
#endif
}
-static void check_sha256(struct sha256_ctx *ctx)
+static void check_sha256(struct sha256_ctx *ctx UNUSED)
{
#ifdef CCAN_CRYPTO_SHA256_USE_OPENSSL
assert(ctx->c.md_len != 0);
#else
- assert(ctx->bytes != -1ULL);
+ assert(ctx->bytes != (size_t)-1);
#endif
}
s[7] += h;
}
-static bool alignment_ok(const void *p, size_t n)
+static bool alignment_ok(const void *p UNUSED, size_t n UNUSED)
{
#if HAVE_UNALIGNED_ACCESS
return true;
uint64_t sizedesc;
size_t i;
- sizedesc = cpu_to_be64(ctx->bytes << 3);
+ sizedesc = cpu_to_be64((uint64_t)ctx->bytes << 3);
/* Add '1' bit to terminate, then all 0 bits, up to next block - 8. */
- add(ctx, pad, 1 + ((119 - (ctx->bytes % 64)) % 64));
+ add(ctx, pad, 1 + ((128 - 8 - (ctx->bytes % 64) - 1) % 64));
/* Add number of bits of data (big endian) */
add(ctx, &sizedesc, 8);
for (i = 0; i < sizeof(ctx->s) / sizeof(ctx->s[0]); i++)
*/
struct sha256 {
union {
- /* Array of chars */
- unsigned char u8[32];
- /* Array of uint32_t */
uint32_t u32[8];
+ unsigned char u8[32];
} u;
};
SHA256_CTX c;
#else
uint32_t s[8];
- uint64_t bytes;
union {
- uint32_t u32[8];
+ uint32_t u32[16];
unsigned char u8[64];
} buf;
+ size_t bytes;
#endif
};
#else
#define SHA256_INIT \
{ { 0x6a09e667ul, 0xbb67ae85ul, 0x3c6ef372ul, 0xa54ff53aul, \
- 0x510e527ful, 0x9b05688cul, 0x1f83d9abul, 0x5be0cd19ul }, 0 }
+ 0x510e527ful, 0x9b05688cul, 0x1f83d9abul, 0x5be0cd19ul }, \
+ { { 0 } }, 0 }
#endif
/**
LE32_TO_CPU(0xd407a8fc), LE32_TO_CPU(0x1fad409b),
LE32_TO_CPU(0x51fa46cc), LE32_TO_CPU(0xea528ae5),
LE32_TO_CPU(0x5fa58ebb), LE32_TO_CPU(0x8be97931) },
- 1073741824,
{ .u32 = { 0x64636261, 0x68676665, 0x65646362, 0x69686766,
- 0x66656463, 0x6a696867, 0x67666564, 0x6b6a6968 } }
+ 0x66656463, 0x6a696867, 0x67666564, 0x6b6a6968 } },
+ 1073741824
#endif
};