Running regress/lib/libcrypto/aead fails on big-endian platforms without
the following diff, for the ``Test vector from RFC7539 2.8.2'' test, due
to 64-bit counters being truncated to size_t.
Index: chacha/chacha.c
===================================================================
RCS file: /OpenBSD/src/lib/libssl/src/crypto/chacha/chacha.c,v
retrieving revision 1.6
diff -u -p -r1.6 chacha.c
--- chacha/chacha.c 8 Jul 2014 14:30:23 -0000 1.6
+++ chacha/chacha.c 6 Nov 2015 05:37:19 -0000
@@ -57,7 +57,7 @@ ChaCha(ChaCha_ctx *ctx, unsigned char *o
void
CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len,
- const unsigned char key[32], const unsigned char iv[8], size_t counter)
+ const unsigned char key[32], const unsigned char iv[8], uint64_t counter)
{
struct chacha_ctx ctx;
Index: chacha/chacha.h
===================================================================
RCS file: /OpenBSD/src/lib/libssl/src/crypto/chacha/chacha.h,v
retrieving revision 1.6
diff -u -p -r1.6 chacha.h
--- chacha/chacha.h 25 Jul 2014 14:04:51 -0000 1.6
+++ chacha/chacha.h 6 Nov 2015 05:37:19 -0000
@@ -44,7 +44,7 @@ void ChaCha(ChaCha_ctx *ctx, unsigned ch
size_t len);
void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len,
- const unsigned char key[32], const unsigned char iv[8], size_t counter);
+ const unsigned char key[32], const unsigned char iv[8], uint64_t counter);
#ifdef __cplusplus
}