summaryrefslogtreecommitdiffstats
path: root/3rd_party
diff options
context:
space:
mode:
Diffstat (limited to '3rd_party')
-rw-r--r--3rd_party/ed25519/Makefile.am2
-rw-r--r--3rd_party/ed25519/seed.c2
-rw-r--r--3rd_party/libsrp6a-sha512/Makefile.am12
-rw-r--r--3rd_party/libsrp6a-sha512/t_conv.c35
-rw-r--r--3rd_party/libsrp6a-sha512/t_math.c111
-rw-r--r--3rd_party/libsrp6a-sha512/t_misc.c21
-rw-r--r--3rd_party/libsrp6a-sha512/t_sha.c40
-rw-r--r--3rd_party/libsrp6a-sha512/t_sha.h24
-rw-r--r--3rd_party/libsrp6a-sha512/t_truerand.c3
9 files changed, 117 insertions, 133 deletions
diff --git a/3rd_party/ed25519/Makefile.am b/3rd_party/ed25519/Makefile.am
index c475331..d8e4e04 100644
--- a/3rd_party/ed25519/Makefile.am
+++ b/3rd_party/ed25519/Makefile.am
@@ -6,7 +6,7 @@ AM_CPPFLAGS = \
AM_CFLAGS = \
$(GLOBAL_CFLAGS) \
- $(openssl_CFLAGS)
+ $(ssl_lib_CFLAGS)
AM_LDFLAGS =
diff --git a/3rd_party/ed25519/seed.c b/3rd_party/ed25519/seed.c
index 11a2e3e..cf252b8 100644
--- a/3rd_party/ed25519/seed.c
+++ b/3rd_party/ed25519/seed.c
@@ -30,7 +30,7 @@ int ed25519_create_seed(unsigned char *seed) {
return 1;
}
- fread(seed, 1, 32, f);
+ if(fread(seed, 1, 32, f)){}
fclose(f);
#endif
diff --git a/3rd_party/libsrp6a-sha512/Makefile.am b/3rd_party/libsrp6a-sha512/Makefile.am
index d304585..2acd582 100644
--- a/3rd_party/libsrp6a-sha512/Makefile.am
+++ b/3rd_party/libsrp6a-sha512/Makefile.am
@@ -5,8 +5,6 @@ AM_CPPFLAGS = \
-I$(top_srcdir) \
-Wno-incompatible-pointer-types
-include_HEADERS = srp.h srp_aux.h cstr.h
-
AM_CFLAGS = -DHAVE_CONFIG_H
if HAVE_OPENSSL
AM_CFLAGS += -DOPENSSL=1 $(openssl_CFLAGS)
@@ -25,7 +23,9 @@ noinst_LTLIBRARIES = libsrp6a-sha512.la
libsrp6a_sha512_la_SOURCES = \
t_conv.c t_math.c t_misc.c \
t_truerand.c cstr.c \
- srp.c srp6a_sha512_client.c
-if !HAVE_OPENSSL
-libsrp6a_sha512_la_SOURCES += t_sha.c
-endif
+ srp.c srp6a_sha512_client.c \
+ srp.h srp_aux.h cstr.h \
+ t_sha.c
+#if !HAVE_OPENSSL
+#libsrp6a_sha512_la_SOURCES += t_sha.c
+#endif
diff --git a/3rd_party/libsrp6a-sha512/t_conv.c b/3rd_party/libsrp6a-sha512/t_conv.c
index f7f50e2..76d4e58 100644
--- a/3rd_party/libsrp6a-sha512/t_conv.c
+++ b/3rd_party/libsrp6a-sha512/t_conv.c
@@ -33,8 +33,7 @@
#include "cstr.h"
static int
-hexDigitToInt(c)
- char c;
+hexDigitToInt(char c)
{
if(c >= '0' && c <= '9')
return c - '0';
@@ -50,9 +49,7 @@ hexDigitToInt(c)
* Convert a hex string to a string of bytes; return size of dst
*/
_TYPE( int )
-t_fromhex(dst, src)
- char * dst;
- const char * src;
+t_fromhex(char *dst, const char *src)
{
register char *chp = dst;
register unsigned size = strlen(src);
@@ -76,10 +73,7 @@ t_fromhex(dst, src)
* Convert a string of bytes to their hex representation
*/
_TYPE( char * )
-t_tohex(dst, src, size)
- char * dst;
- const char * src;
- unsigned size;
+t_tohex(char *dst, const char *src, unsigned size)
{
int notleading = 0;
@@ -103,10 +97,7 @@ t_tohex(dst, src, size)
}
_TYPE( char * )
-t_tohexcstr(dst, src, size)
- cstr * dst;
- const char * src;
- unsigned size;
+t_tohexcstr(cstr *dst, const char *src, unsigned size)
{
cstr_set_length(dst, 2 * size + 1);
return t_tohex(dst->data, src, size);
@@ -119,9 +110,7 @@ static char b64table[] =
* Convert a base64 string into raw byte array representation.
*/
_TYPE( int )
-t_fromb64(dst, src)
- char * dst;
- const char * src;
+t_fromb64(char *dst, const char *src)
{
unsigned char *a;
char *loc;
@@ -179,9 +168,7 @@ t_fromb64(dst, src)
}
_TYPE( int )
-t_cstrfromb64(dst, src)
- cstr * dst;
- const char * src;
+t_cstrfromb64(cstr *dst, const char *src)
{
int len;
cstr_set_length(dst, (strlen(src) * 6 + 7) / 8);
@@ -194,10 +181,7 @@ t_cstrfromb64(dst, src)
* Convert a raw byte string into a null-terminated base64 ASCII string.
*/
_TYPE( char * )
-t_tob64(dst, src, size)
- char * dst;
- const char * src;
- unsigned size;
+t_tob64(char *dst, const char *src, unsigned size)
{
int c, pos = size % 3;
unsigned char b0 = 0, b1 = 0, b2 = 0, notleading = 0;
@@ -248,10 +232,7 @@ t_tob64(dst, src, size)
}
_TYPE( char * )
-t_tob64cstr(dst, src, sz)
- cstr * dst;
- const char * src;
- unsigned int sz;
+t_tob64cstr(cstr *dst, const char *src, unsigned int sz)
{
cstr_set_length(dst, (sz * 8 + 5) / 6 + 1);
return t_tob64(dst->data, src, sz);
diff --git a/3rd_party/libsrp6a-sha512/t_math.c b/3rd_party/libsrp6a-sha512/t_math.c
index e655daa..037650e 100644
--- a/3rd_party/libsrp6a-sha512/t_math.c
+++ b/3rd_party/libsrp6a-sha512/t_math.c
@@ -39,11 +39,13 @@ typedef BIGNUM * BigInteger;
typedef BN_CTX * BigIntegerCtx;
typedef BN_MONT_CTX * BigIntegerModAccel;
#include <limits.h>
+#if OPENSSL_VERSION_NUMBER < 0x30000000L
# ifndef OPENSSL_NO_ENGINE
# define OPENSSL_ENGINE
# include "openssl/engine.h"
static ENGINE * default_engine = NULL;
# endif /* OPENSSL_ENGINE */
+#endif
typedef int (*modexp_meth)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *mctx);
static modexp_meth default_modexp = NULL;
@@ -99,8 +101,7 @@ typedef void * BigIntegerModAccel;
/* Math library interface stubs */
BigInteger
-BigIntegerFromInt(n)
- unsigned int n;
+BigIntegerFromInt(unsigned int n)
{
#ifdef OPENSSL
BIGNUM * a = BN_new();
@@ -136,9 +137,7 @@ BigIntegerFromInt(n)
}
BigInteger
-BigIntegerFromBytes(bytes, length)
- const unsigned char * bytes;
- int length;
+BigIntegerFromBytes(const unsigned char *bytes, int length)
{
#ifdef OPENSSL
BIGNUM * a = BN_new();
@@ -206,10 +205,7 @@ BigIntegerFromBytes(bytes, length)
}
int
-BigIntegerToBytes(src, dest, destlen)
- BigInteger src;
- unsigned char * dest;
- int destlen;
+BigIntegerToBytes(BigInteger src, unsigned char *dest, int destlen)
{
#ifdef OPENSSL
return BN_bn2bin(src, dest);
@@ -290,10 +286,7 @@ BigIntegerToCstrEx(BigInteger x, cstr * out, int len)
}
BigIntegerResult
-BigIntegerToHex(src, dest, destlen)
- BigInteger src;
- char * dest;
- int destlen;
+BigIntegerToHex(BigInteger src, char *dest, int destlen)
{
#ifdef OPENSSL
strncpy(dest, BN_bn2hex(src), destlen);
@@ -317,11 +310,7 @@ static char b64table[] =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./";
BigIntegerResult
-BigIntegerToString(src, dest, destlen, radix)
- BigInteger src;
- char * dest;
- int destlen;
- unsigned int radix;
+BigIntegerToString(BigInteger src, char *dest, int destlen, unsigned int radix)
{
BigInteger t = BigIntegerFromInt(0);
char * p = dest;
@@ -345,8 +334,7 @@ BigIntegerToString(src, dest, destlen, radix)
}
int
-BigIntegerBitLen(b)
- BigInteger b;
+BigIntegerBitLen(BigInteger b)
{
#ifdef OPENSSL
return BN_num_bits(b);
@@ -364,8 +352,7 @@ BigIntegerBitLen(b)
}
int
-BigIntegerCmp(c1, c2)
- BigInteger c1, c2;
+BigIntegerCmp(BigInteger c1, BigInteger c2)
{
#ifdef OPENSSL
return BN_cmp(c1, c2);
@@ -383,9 +370,7 @@ BigIntegerCmp(c1, c2)
}
int
-BigIntegerCmpInt(c1, c2)
- BigInteger c1;
- unsigned int c2;
+BigIntegerCmpInt(BigInteger c1, unsigned int c2)
{
#ifdef OPENSSL
BigInteger bc2 = BigIntegerFromInt(c2);
@@ -414,9 +399,7 @@ BigIntegerCmpInt(c1, c2)
}
BigIntegerResult
-BigIntegerLShift(result, x, bits)
- BigInteger result, x;
- unsigned int bits;
+BigIntegerLShift(BigInteger result, BigInteger x, unsigned int bits)
{
#ifdef OPENSSL
BN_lshift(result, x, bits);
@@ -436,8 +419,7 @@ BigIntegerLShift(result, x, bits)
}
BigIntegerResult
-BigIntegerAdd(result, a1, a2)
- BigInteger result, a1, a2;
+BigIntegerAdd(BigInteger result, BigInteger a1, BigInteger a2)
{
#ifdef OPENSSL
BN_add(result, a1, a2);
@@ -456,9 +438,7 @@ BigIntegerAdd(result, a1, a2)
}
BigIntegerResult
-BigIntegerAddInt(result, a1, a2)
- BigInteger result, a1;
- unsigned int a2;
+BigIntegerAddInt(BigInteger result, BigInteger a1, unsigned int a2)
{
#ifdef OPENSSL
if(result != a1)
@@ -483,8 +463,7 @@ BigIntegerAddInt(result, a1, a2)
}
BigIntegerResult
-BigIntegerSub(result, s1, s2)
- BigInteger result, s1, s2;
+BigIntegerSub(BigInteger result, BigInteger s1, BigInteger s2)
{
#ifdef OPENSSL
BN_sub(result, s1, s2);
@@ -503,9 +482,7 @@ BigIntegerSub(result, s1, s2)
}
BigIntegerResult
-BigIntegerSubInt(result, s1, s2)
- BigInteger result, s1;
- unsigned int s2;
+BigIntegerSubInt(BigInteger result, BigInteger s1, unsigned int s2)
{
#ifdef OPENSSL
if(result != s1)
@@ -530,9 +507,7 @@ BigIntegerSubInt(result, s1, s2)
}
BigIntegerResult
-BigIntegerMul(result, m1, m2, c)
- BigInteger result, m1, m2;
- BigIntegerCtx c;
+BigIntegerMul(BigInteger result, BigInteger m1, BigInteger m2, BigIntegerCtx c)
{
#ifdef OPENSSL
BN_CTX * ctx = NULL;
@@ -556,10 +531,7 @@ BigIntegerMul(result, m1, m2, c)
}
BigIntegerResult
-BigIntegerMulInt(result, m1, m2, c)
- BigInteger result, m1;
- unsigned int m2;
- BigIntegerCtx c;
+BigIntegerMulInt(BigInteger result, BigInteger m1, unsigned int m2, BigIntegerCtx c)
{
#ifdef OPENSSL
if(result != m1)
@@ -584,10 +556,7 @@ BigIntegerMulInt(result, m1, m2, c)
}
BigIntegerResult
-BigIntegerDivInt(result, d, m, c)
- BigInteger result, d;
- unsigned int m;
- BigIntegerCtx c;
+BigIntegerDivInt(BigInteger result, BigInteger d, unsigned int m, BigIntegerCtx c)
{
#ifdef OPENSSL
if(result != d)
@@ -624,9 +593,7 @@ BigIntegerDivInt(result, d, m, c)
}
BigIntegerResult
-BigIntegerMod(result, d, m, c)
- BigInteger result, d, m;
- BigIntegerCtx c;
+BigIntegerMod(BigInteger result, BigInteger d, BigInteger m, BigIntegerCtx c)
{
#ifdef OPENSSL
BN_CTX * ctx = NULL;
@@ -650,10 +617,7 @@ BigIntegerMod(result, d, m, c)
}
unsigned int
-BigIntegerModInt(d, m, c)
- BigInteger d;
- unsigned int m;
- BigIntegerCtx c;
+BigIntegerModInt(BigInteger d, unsigned int m, BigIntegerCtx c)
{
#ifdef OPENSSL
return BN_mod_word(d, m);
@@ -711,9 +675,7 @@ BigIntegerModInt(d, m, c)
}
BigIntegerResult
-BigIntegerModMul(r, m1, m2, modulus, c)
- BigInteger r, m1, m2, modulus;
- BigIntegerCtx c;
+BigIntegerModMul(BigInteger r, BigInteger m1, BigInteger m2, BigInteger modulus, BigIntegerCtx c)
{
#ifdef OPENSSL
BN_CTX * ctx = NULL;
@@ -743,10 +705,7 @@ BigIntegerModMul(r, m1, m2, modulus, c)
}
BigIntegerResult
-BigIntegerModExp(r, b, e, m, c, a)
- BigInteger r, b, e, m;
- BigIntegerCtx c;
- BigIntegerModAccel a;
+BigIntegerModExp(BigInteger r, BigInteger b, BigInteger e, BigInteger m, BigIntegerCtx c, BigIntegerModAccel a)
{
#ifdef OPENSSL
#if OPENSSL_VERSION_NUMBER >= 0x00906000
@@ -793,9 +752,7 @@ int _mbedtls_f_rng(void* unused, unsigned char *buf, size_t size)
#endif
int
-BigIntegerCheckPrime(n, c)
- BigInteger n;
- BigIntegerCtx c;
+BigIntegerCheckPrime(BigInteger n, BigIntegerCtx c)
{
#ifdef OPENSSL
int rv;
@@ -803,7 +760,11 @@ BigIntegerCheckPrime(n, c)
if(c == NULL)
c = ctx = BN_CTX_new();
#if OPENSSL_VERSION_NUMBER >= 0x00908000
- rv = BN_is_prime_ex(n, 25, c, NULL);
+ #if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ rv = BN_check_prime(n, c, NULL);
+ #else
+ rv = BN_is_prime_ex(n, 25, c, NULL);
+ #endif
#else
rv = BN_is_prime(n, 25, NULL, c, NULL);
#endif
@@ -846,8 +807,7 @@ BigIntegerCheckPrime(n, c)
}
BigIntegerResult
-BigIntegerFree(b)
- BigInteger b;
+BigIntegerFree(BigInteger b)
{
#ifdef OPENSSL
BN_free(b);
@@ -869,8 +829,7 @@ BigIntegerFree(b)
}
BigIntegerResult
-BigIntegerClearFree(b)
- BigInteger b;
+BigIntegerClearFree(BigInteger b)
{
#ifdef OPENSSL
BN_clear_free(b);
@@ -906,8 +865,7 @@ BigIntegerCtxNew()
}
BigIntegerResult
-BigIntegerCtxFree(ctx)
- BigIntegerCtx ctx;
+BigIntegerCtxFree(BigIntegerCtx ctx)
{
#ifdef OPENSSL
if(ctx)
@@ -917,9 +875,7 @@ BigIntegerCtxFree(ctx)
}
BigIntegerModAccel
-BigIntegerModAccelNew(m, c)
- BigInteger m;
- BigIntegerCtx c;
+BigIntegerModAccelNew(BigInteger m, BigIntegerCtx c)
{
#ifdef OPENSSL
BN_CTX * ctx = NULL;
@@ -939,8 +895,7 @@ BigIntegerModAccelNew(m, c)
}
BigIntegerResult
-BigIntegerModAccelFree(accel)
- BigIntegerModAccel accel;
+BigIntegerModAccelFree(BigIntegerModAccel accel)
{
#ifdef OPENSSL
if(accel)
diff --git a/3rd_party/libsrp6a-sha512/t_misc.c b/3rd_party/libsrp6a-sha512/t_misc.c
index 3053358..3a2cda1 100644
--- a/3rd_party/libsrp6a-sha512/t_misc.c
+++ b/3rd_party/libsrp6a-sha512/t_misc.c
@@ -80,8 +80,7 @@ SHA1_CTX randctxt;
extern char ** environ;
static void
-t_envhash(out)
- unsigned char * out;
+t_envhash(unsigned char * out)
{
char ** ptr;
char ebuf[256];
@@ -115,8 +114,7 @@ t_envhash(out)
* The entire buffer is run once through SHA to obtain the final result.
*/
static void
-t_fshash(out)
- unsigned char * out;
+t_fshash(unsigned char * out)
{
char dotpath[128];
struct stat st;
@@ -317,9 +315,7 @@ t_stronginitrand()
* Each cycle generates 20 bytes of new output.
*/
_TYPE( void )
-t_random(data, size)
- unsigned char * data;
- unsigned size;
+t_random(unsigned char * data, unsigned size)
{
if(!initialized)
t_initrand();
@@ -369,10 +365,7 @@ t_random(data, size)
* single 320-bit value.
*/
_TYPE( unsigned char * )
-t_sessionkey(key, sk, sklen)
- unsigned char * key;
- unsigned char * sk;
- unsigned sklen;
+t_sessionkey(unsigned char * key, unsigned char * sk, unsigned sklen)
{
unsigned i, klen;
unsigned char * hbuf;
@@ -411,11 +404,7 @@ t_sessionkey(key, sk, sklen)
}
_TYPE( void )
-t_mgf1(mask, masklen, seed, seedlen)
- unsigned char * mask;
- unsigned masklen;
- const unsigned char * seed;
- unsigned seedlen;
+t_mgf1(unsigned char * mask, unsigned masklen, const unsigned char * seed, unsigned seedlen)
{
SHA1_CTX ctxt;
unsigned i = 0;
diff --git a/3rd_party/libsrp6a-sha512/t_sha.c b/3rd_party/libsrp6a-sha512/t_sha.c
index 4029de8..8e54cb6 100644
--- a/3rd_party/libsrp6a-sha512/t_sha.c
+++ b/3rd_party/libsrp6a-sha512/t_sha.c
@@ -107,6 +107,44 @@ SHA512Final_mbed(unsigned char digest[64], SHA512_CTX * ctx)
mbedtls_md_free(ctx);
}
+#elif defined(OPENSSL_SHA)
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+void
+SHA1Init_openssl(SHA1_CTX *ctx)
+{
+ *ctx = EVP_MD_CTX_new();
+ EVP_DigestInit(*ctx, EVP_sha1());
+}
+
+void SHA1Update_openssl(SHA1_CTX *ctx, const void *data, unsigned int len)
+{
+ EVP_DigestUpdate(*ctx, data, (size_t)len);
+}
+
+void SHA1Final_openssl(unsigned char digest[20], SHA1_CTX *ctx)
+{
+ EVP_DigestFinal(*ctx, digest, NULL);
+ EVP_MD_CTX_destroy(*ctx);
+}
+
+void
+SHA512Init_openssl(SHA512_CTX *ctx)
+{
+ *ctx = EVP_MD_CTX_new();
+ EVP_DigestInit(*ctx, EVP_sha512());
+}
+
+void SHA512Update_openssl(SHA512_CTX *ctx, const void *data, unsigned int len)
+{
+ EVP_DigestUpdate(*ctx, data, (size_t)len);
+}
+
+void SHA512Final_openssl(unsigned char digest[64], SHA512_CTX *ctx)
+{
+ EVP_DigestFinal(*ctx, digest, NULL);
+ EVP_MD_CTX_destroy(*ctx);
+}
+#endif
#elif !defined(OPENSSL_SHA) && !defined(TOMCRYPT_SHA)
/* Use the free SHA1 if the library doesn't have it */
@@ -273,4 +311,4 @@ unsigned char finalcount[8];
SHA1Transform(context->state, context->buffer);
#endif
}
-#endif /* OPENSSL */
+#endif
diff --git a/3rd_party/libsrp6a-sha512/t_sha.h b/3rd_party/libsrp6a-sha512/t_sha.h
index 18deec5..2e38067 100644
--- a/3rd_party/libsrp6a-sha512/t_sha.h
+++ b/3rd_party/libsrp6a-sha512/t_sha.h
@@ -38,6 +38,28 @@
#endif
#ifdef OPENSSL_SHA
+#include <openssl/err.h>
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+#include <openssl/evp.h>
+
+typedef EVP_MD_CTX* SHA1_CTX;
+#define SHA1Init SHA1Init_openssl
+#define SHA1Update SHA1Update_openssl
+#define SHA1Final SHA1Final_openssl
+
+typedef EVP_MD_CTX* SHA512_CTX;
+#define SHA512Init SHA512Init_openssl
+#define SHA512Update SHA512Update_openssl
+#define SHA512Final SHA512Final_openssl
+
+void SHA1Init_openssl(SHA1_CTX *ctx);
+void SHA1Update_openssl(SHA1_CTX *ctx, const void *data, unsigned int len);
+void SHA1Final_openssl(unsigned char digest[20], SHA1_CTX *ctx);
+
+void SHA512Init_openssl(SHA512_CTX *ctx);
+void SHA512Update_openssl(SHA512_CTX *ctx, const void *data, unsigned int len);
+void SHA512Final_openssl(unsigned char digest[64], SHA1_CTX *ctx);
+#else /* for OpenSSL < 3.0 */
#include <openssl/sha.h>
typedef SHA_CTX SHA1_CTX;
@@ -48,7 +70,7 @@ typedef SHA_CTX SHA1_CTX;
#define SHA512Init SHA512_Init
#define SHA512Update SHA512_Update
#define SHA512Final SHA512_Final
-
+#endif /* for OpenSSL < 3.0 */
#elif defined(TOMCRYPT_SHA)
/* mycrypt.h already included above */
diff --git a/3rd_party/libsrp6a-sha512/t_truerand.c b/3rd_party/libsrp6a-sha512/t_truerand.c
index 4a4c3d2..f995ed7 100644
--- a/3rd_party/libsrp6a-sha512/t_truerand.c
+++ b/3rd_party/libsrp6a-sha512/t_truerand.c
@@ -227,8 +227,7 @@ raw_truerand()
}
int
-raw_n_truerand(n)
-int n;
+raw_n_truerand(int n)
{
int slop, v;