diff --git a/src/ssl.c b/src/ssl.c index 8ec563d8e..a392ee952 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -18960,12 +18960,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_MD5_Final(byte* input, WOLFSSL_MD5_CTX* md5) + int wolfSSL_MD5_Final(byte* output, WOLFSSL_MD5_CTX* md5) { int ret; WOLFSSL_ENTER("MD5_Final"); - ret = wc_Md5Final((wc_Md5*)md5, input); + ret = wc_Md5Final((wc_Md5*)md5, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19057,12 +19057,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA_Final(byte* input, WOLFSSL_SHA_CTX* sha) + int wolfSSL_SHA_Final(byte* output, WOLFSSL_SHA_CTX* sha) { int ret; WOLFSSL_ENTER("SHA_Final"); - ret = wc_ShaFinal((wc_Sha*)sha, input); + ret = wc_ShaFinal((wc_Sha*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19121,10 +19121,10 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA1_Final(byte* input, WOLFSSL_SHA_CTX* sha) + int wolfSSL_SHA1_Final(byte* output, WOLFSSL_SHA_CTX* sha) { WOLFSSL_ENTER("SHA1_Final"); - return SHA_Final(input, sha); + return SHA_Final(output, sha); } #if defined(OPENSSL_EXTRA) #if !defined(HAVE_SELFTEST) && (!defined(HAVE_FIPS) || \ @@ -19176,12 +19176,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA224_Final(byte* input, WOLFSSL_SHA224_CTX* sha) + int wolfSSL_SHA224_Final(byte* output, WOLFSSL_SHA224_CTX* sha) { int ret; WOLFSSL_ENTER("SHA224_Final"); - ret = wc_Sha224Final((wc_Sha224*)sha, input); + ret = wc_Sha224Final((wc_Sha224*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19232,12 +19232,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA256_Final(byte* input, WOLFSSL_SHA256_CTX* sha) + int wolfSSL_SHA256_Final(byte* output, WOLFSSL_SHA256_CTX* sha) { int ret; WOLFSSL_ENTER("SHA256_Final"); - ret = wc_Sha256Final((wc_Sha256*)sha, input); + ret = wc_Sha256Final((wc_Sha256*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19318,12 +19318,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA384_Final(byte* input, WOLFSSL_SHA384_CTX* sha) + int wolfSSL_SHA384_Final(byte* output, WOLFSSL_SHA384_CTX* sha) { int ret; WOLFSSL_ENTER("SHA384_Final"); - ret = wc_Sha384Final((wc_Sha384*)sha, input); + ret = wc_Sha384Final((wc_Sha384*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19376,12 +19376,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA512_Final(byte* input, WOLFSSL_SHA512_CTX* sha) + int wolfSSL_SHA512_Final(byte* output, WOLFSSL_SHA512_CTX* sha) { int ret; WOLFSSL_ENTER("SHA512_Final"); - ret = wc_Sha512Final((wc_Sha512*)sha, input); + ret = wc_Sha512Final((wc_Sha512*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19451,12 +19451,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, return WOLFSSL_FAILURE; } - int wolfSSL_SHA512_224_Final(byte* input, WOLFSSL_SHA512_224_CTX* sha) + int wolfSSL_SHA512_224_Final(byte* output, WOLFSSL_SHA512_224_CTX* sha) { int ret; WOLFSSL_ENTER("wolfSSL_SHA512_224_Final"); - ret = wc_Sha512_224Final((wc_Sha512*)sha, input); + ret = wc_Sha512_224Final((wc_Sha512*)sha, output); /* return WOLFSSL_SUCCESS on success, WOLFSSL_FAILURE otherwise */ if (ret == 0) @@ -19464,6 +19464,32 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, return WOLFSSL_FAILURE; } + + #if !defined(HAVE_SELFTEST) && (!defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION > 2))) + /* Apply SHA512 transformation to the data */ + int wolfSSL_SHA512_224_Transform(WOLFSSL_SHA512_CTX* sha512, + const unsigned char* data) + { + int ret; + + WOLFSSL_ENTER("SHA512_224_Transform"); + /* sanity check */ + if (sha512 == NULL || data == NULL) { + return WOLFSSL_FAILURE; + } + + ret = wc_Sha512_224Transform((wc_Sha512*)sha512, data); + + /* return 1 on success, 0 otherwise */ + if (ret == 0) + return WOLFSSL_SUCCESS; + else + return WOLFSSL_FAILURE; + } + #endif /* !defined(HAVE_FIPS) || (defined(HAVE_FIPS_VERSION) && \ + (HAVE_FIPS_VERSION > 2)) */ + #endif /* !WOLFSSL_NOSHA512_224 */ #if !defined(WOLFSSL_NOSHA512_256) int wolfSSL_SHA512_256_Init(WOLFSSL_SHA512_256_CTX* sha) @@ -19495,12 +19521,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, return WOLFSSL_FAILURE; } - int wolfSSL_SHA512_256_Final(byte* input, WOLFSSL_SHA512_256_CTX* sha) + int wolfSSL_SHA512_256_Final(byte* output, WOLFSSL_SHA512_256_CTX* sha) { int ret; WOLFSSL_ENTER("wolfSSL_SHA512_256_Final"); - ret = wc_Sha512_256Final((wc_Sha512*)sha, input); + ret = wc_Sha512_256Final((wc_Sha512*)sha, output); /* return WOLFSSL_SUCCESS on success, 0 otherwise */ if (ret == 0) @@ -19508,6 +19534,32 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, return WOLFSSL_FAILURE; } + + #if !defined(HAVE_SELFTEST) && (!defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION > 2))) + /* Apply SHA512 transformation to the data */ + int wolfSSL_SHA512_256_Transform(WOLFSSL_SHA512_CTX* sha512, + const unsigned char* data) + { + int ret; + + WOLFSSL_ENTER("SHA512_256_Transform"); + /* sanity check */ + if (sha512 == NULL || data == NULL) { + return WOLFSSL_FAILURE; + } + + ret = wc_Sha512_256Transform((wc_Sha512*)sha512, data); + + /* return 1 on success, 0 otherwise */ + if (ret == 0) + return WOLFSSL_SUCCESS; + else + return WOLFSSL_FAILURE; + } + #endif /* !defined(HAVE_FIPS) || (defined(HAVE_FIPS_VERSION) && \ + (HAVE_FIPS_VERSION > 2)) */ + #endif /* !WOLFSSL_NOSHA512_256 */ #endif /* !HAVE_FIPS && !HAVE_SELFTEST */ @@ -19550,12 +19602,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA3_224_Final(byte* input, WOLFSSL_SHA3_224_CTX* sha) + int wolfSSL_SHA3_224_Final(byte* output, WOLFSSL_SHA3_224_CTX* sha) { int ret; WOLFSSL_ENTER("SHA3_224_Final"); - ret = wc_Sha3_224_Final((wc_Sha3*)sha, input); + ret = wc_Sha3_224_Final((wc_Sha3*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19607,12 +19659,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA3_256_Final(byte* input, WOLFSSL_SHA3_256_CTX* sha) + int wolfSSL_SHA3_256_Final(byte* output, WOLFSSL_SHA3_256_CTX* sha) { int ret; WOLFSSL_ENTER("SHA3_256_Final"); - ret = wc_Sha3_256_Final((wc_Sha3*)sha, input); + ret = wc_Sha3_256_Final((wc_Sha3*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19662,12 +19714,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA3_384_Final(byte* input, WOLFSSL_SHA3_384_CTX* sha) + int wolfSSL_SHA3_384_Final(byte* output, WOLFSSL_SHA3_384_CTX* sha) { int ret; WOLFSSL_ENTER("SHA3_384_Final"); - ret = wc_Sha3_384_Final((wc_Sha3*)sha, input); + ret = wc_Sha3_384_Final((wc_Sha3*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). @@ -19719,12 +19771,12 @@ size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, } - int wolfSSL_SHA3_512_Final(byte* input, WOLFSSL_SHA3_512_CTX* sha) + int wolfSSL_SHA3_512_Final(byte* output, WOLFSSL_SHA3_512_CTX* sha) { int ret; WOLFSSL_ENTER("SHA3_512_Final"); - ret = wc_Sha3_512_Final((wc_Sha3*)sha, input); + ret = wc_Sha3_512_Final((wc_Sha3*)sha, output); /* have to actually free the resources (if any) here, because the * OpenSSL API doesn't include SHA*_Free(). diff --git a/src/wolfio.c b/src/wolfio.c index c1cd7b7df..d159d35bd 100644 --- a/src/wolfio.c +++ b/src/wolfio.c @@ -813,7 +813,8 @@ int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec) char strPort[6]; #else #if !defined(WOLFSSL_USE_POPEN_HOST) -#if (__GLIBC__ >= 2) && defined(__USE_MISC) && !defined(SINGLE_THREADED) +#if defined(__GLIBC__) && (__GLIBC__ >= 2) && defined(__USE_MISC) && \ + !defined(SINGLE_THREADED) HOSTENT entry_buf, *entry = NULL; char *ghbn_r_buf = NULL; int ghbn_r_errno; @@ -917,7 +918,8 @@ int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec) } } #else -#if (__GLIBC__ >= 2) && defined(__USE_MISC) && !defined(SINGLE_THREADED) +#if defined(__GLIBC__) && (__GLIBC__ >= 2) && defined(__USE_MISC) && \ + !defined(SINGLE_THREADED) /* 2048 is a magic number that empirically works. the header and * documentation provide no guidance on appropriate buffer size other than * "if buf is too small, the functions will return ERANGE, and the call @@ -938,7 +940,8 @@ int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, word16 port, int to_sec) XMEMCPY(&sin->sin_addr.s_addr, entry->h_addr_list[0], entry->h_length); } -#if (__GLIBC__ >= 2) && defined(__USE_MISC) && !defined(SINGLE_THREADED) +#if defined(__GLIBC__) && (__GLIBC__ >= 2) && defined(__USE_MISC) && \ + !defined(SINGLE_THREADED) XFREE(ghbn_r_buf, NULL, DYNAMIC_TYPE_TMP_BUFFER); #endif diff --git a/tests/unit.h b/tests/unit.h index 33e78b4a9..8e0e59554 100644 --- a/tests/unit.h +++ b/tests/unit.h @@ -60,8 +60,8 @@ } while(0) #define AssertInt(x, y, op, er) do { \ - int _x = (int)x; \ - int _y = (int)y; \ + int _x = (int)(x); \ + int _y = (int)(y); \ \ Assert(_x op _y, ("%s " #op " %s", #x, #y), ("%d " #er " %d", _x, _y)); \ } while(0) @@ -90,8 +90,8 @@ #define AssertStrLE(x, y) AssertStr(x, y, <=, >) #define AssertPtr(x, y, op, er) do { \ - void* _x = (void*)x; \ - void* _y = (void*)y; \ + void* _x = (void*)(x); \ + void* _y = (void*)(y); \ Assert(_x op _y, ("%s " #op " %s", #x, #y), ("%p " #er " %p", _x, _y)); \ } while(0) diff --git a/wolfcrypt/benchmark/benchmark.h b/wolfcrypt/benchmark/benchmark.h index 38d9a3a60..aedd9bee4 100644 --- a/wolfcrypt/benchmark/benchmark.h +++ b/wolfcrypt/benchmark/benchmark.h @@ -40,17 +40,17 @@ int benchmark_init(void); int benchmark_free(void); void benchmark_configure(int block_size); -void bench_des(int); +void bench_des(int doAsync); void bench_idea(void); -void bench_arc4(int); +void bench_arc4(int doAsync); void bench_rabbit(void); void bench_chacha(void); void bench_chacha20_poly1305_aead(void); -void bench_aescbc(int); -void bench_aesgcm(int); +void bench_aescbc(int doAsync); +void bench_aesgcm(int doAsync); void bench_gmac(void); void bench_aesccm(void); -void bench_aesecb(int); +void bench_aesecb(int doAsync); void bench_aesxts(void); void bench_aesctr(void); void bench_aescfb(void); @@ -58,35 +58,35 @@ void bench_aesofb(void); void bench_aessiv(void); void bench_poly1305(void); void bench_camellia(void); -void bench_md5(int); -void bench_sha(int); -void bench_sha224(int); -void bench_sha256(int); -void bench_sha384(int); -void bench_sha512(int); -void bench_sha3_224(int); -void bench_sha3_256(int); -void bench_sha3_384(int); -void bench_sha3_512(int); +void bench_md5(int doAsync); +void bench_sha(int doAsync); +void bench_sha224(int doAsync); +void bench_sha256(int doAsync); +void bench_sha384(int doAsync); +void bench_sha512(int doAsync); +void bench_sha3_224(int doAsync); +void bench_sha3_256(int doAsync); +void bench_sha3_384(int doAsync); +void bench_sha3_512(int doAsync); int bench_ripemd(void); void bench_cmac(void); void bench_scrypt(void); -void bench_hmac_md5(int); -void bench_hmac_sha(int); -void bench_hmac_sha224(int); -void bench_hmac_sha256(int); -void bench_hmac_sha384(int); -void bench_hmac_sha512(int); +void bench_hmac_md5(int doAsync); +void bench_hmac_sha(int doAsync); +void bench_hmac_sha224(int doAsync); +void bench_hmac_sha256(int doAsync); +void bench_hmac_sha384(int doAsync); +void bench_hmac_sha512(int doAsync); void bench_siphash(void); -void bench_rsaKeyGen(int); -void bench_rsaKeyGen_size(int, int); -void bench_rsa(int); -void bench_rsa_key(int, int); -void bench_dh(int); +void bench_rsaKeyGen(int doAsync); +void bench_rsaKeyGen_size(int doAsync, int keySz); +void bench_rsa(int doAsync); +void bench_rsa_key(int doAsync, int keySz); +void bench_dh(int doAsync); void bench_ecc_curve(int curveId); -void bench_eccMakeKey(int, int); -void bench_ecc(int, int); -void bench_eccEncrypt(int); +void bench_eccMakeKey(int doAsync, int curveId); +void bench_ecc(int doAsync, int curveId); +void bench_eccEncrypt(int curveId); void bench_curve25519KeyGen(void); void bench_curve25519KeyAgree(void); void bench_ed25519KeyGen(void); diff --git a/wolfcrypt/src/fe_x25519_128.i b/wolfcrypt/src/fe_x25519_128.i index 4f5aaf3df..aa47a16d9 100644 --- a/wolfcrypt/src/fe_x25519_128.i +++ b/wolfcrypt/src/fe_x25519_128.i @@ -193,30 +193,30 @@ void fe_copy(fe r, const fe a) * b A field element. * c If 1 then swap and if 0 then don't swap. */ -void fe_cswap(fe a, fe b, int c) +void fe_cswap(fe f, fe g, int b) { - sword64 m = c; + sword64 m = b; sword64 t0, t1, t2, t3, t4; /* Convert conditional into mask. */ m = -m; - t0 = m & (a[0] ^ b[0]); - t1 = m & (a[1] ^ b[1]); - t2 = m & (a[2] ^ b[2]); - t3 = m & (a[3] ^ b[3]); - t4 = m & (a[4] ^ b[4]); + t0 = m & (f[0] ^ g[0]); + t1 = m & (f[1] ^ g[1]); + t2 = m & (f[2] ^ g[2]); + t3 = m & (f[3] ^ g[3]); + t4 = m & (f[4] ^ g[4]); - a[0] ^= t0; - a[1] ^= t1; - a[2] ^= t2; - a[3] ^= t3; - a[4] ^= t4; + f[0] ^= t0; + f[1] ^= t1; + f[2] ^= t2; + f[3] ^= t3; + f[4] ^= t4; - b[0] ^= t0; - b[1] ^= t1; - b[2] ^= t2; - b[3] ^= t3; - b[4] ^= t4; + g[0] ^= t0; + g[1] ^= t1; + g[2] ^= t2; + g[3] ^= t3; + g[4] ^= t4; } /* Subtract b from a into r. (r = a - b) @@ -505,24 +505,24 @@ void fe_neg(fe r, const fe a) * b A field element. * c If 1 then copy and if 0 then don't copy. */ -void fe_cmov(fe a, const fe b, int c) +void fe_cmov(fe f, const fe g, int b) { - sword64 m = c; + sword64 m = b; sword64 t0, t1, t2, t3, t4; /* Convert conditional into mask. */ m = -m; - t0 = m & (a[0] ^ b[0]); - t1 = m & (a[1] ^ b[1]); - t2 = m & (a[2] ^ b[2]); - t3 = m & (a[3] ^ b[3]); - t4 = m & (a[4] ^ b[4]); + t0 = m & (f[0] ^ g[0]); + t1 = m & (f[1] ^ g[1]); + t2 = m & (f[2] ^ g[2]); + t3 = m & (f[3] ^ g[3]); + t4 = m & (f[4] ^ g[4]); - a[0] ^= t0; - a[1] ^= t1; - a[2] ^= t2; - a[3] ^= t3; - a[4] ^= t4; + f[0] ^= t0; + f[1] ^= t1; + f[2] ^= t2; + f[3] ^= t3; + f[4] ^= t4; } void fe_pow22523(fe r, const fe a) diff --git a/wolfssl/crl.h b/wolfssl/crl.h index 308f2a8ad..d45ab3c3c 100644 --- a/wolfssl/crl.h +++ b/wolfssl/crl.h @@ -34,12 +34,14 @@ extern "C" { #endif -WOLFSSL_LOCAL int InitCRL(WOLFSSL_CRL*, WOLFSSL_CERT_MANAGER*); -WOLFSSL_LOCAL void FreeCRL(WOLFSSL_CRL*, int dynamic); +WOLFSSL_LOCAL int InitCRL(WOLFSSL_CRL* crl, WOLFSSL_CERT_MANAGER* cm); +WOLFSSL_LOCAL void FreeCRL(WOLFSSL_CRL* crl, int dynamic); -WOLFSSL_LOCAL int LoadCRL(WOLFSSL_CRL* crl, const char* path, int type, int mon); -WOLFSSL_LOCAL int BufferLoadCRL(WOLFSSL_CRL*, const byte*, long, int, int); -WOLFSSL_LOCAL int CheckCertCRL(WOLFSSL_CRL*, DecodedCert*); +WOLFSSL_LOCAL int LoadCRL(WOLFSSL_CRL* crl, const char* path, int type, + int monitor); +WOLFSSL_LOCAL int BufferLoadCRL(WOLFSSL_CRL* crl, const byte* buff, long sz, + int type, int verify); +WOLFSSL_LOCAL int CheckCertCRL(WOLFSSL_CRL* crl, DecodedCert* cert); #ifdef __cplusplus diff --git a/wolfssl/internal.h b/wolfssl/internal.h index 6583b21df..0eb6c57e7 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -1476,7 +1476,7 @@ enum Misc { TLS13_MAX_TICKET_AGE = 7*24*60*60, /* max ticket age in seconds, 7 days */ #ifndef MAX_WOLFSSL_FILE_SIZE - MAX_WOLFSSL_FILE_SIZE = 1024ul * 1024ul * 4, /* 4 mb file size alloc limit */ + MAX_WOLFSSL_FILE_SIZE = 1024UL * 1024UL * 4, /* 4 mb file size alloc limit */ #endif #if defined(HAVE_PQC) @@ -1588,8 +1588,8 @@ enum Misc { /* assumes MAX_CHAIN_DEPTH number of certificates at 2kb per certificate */ #ifndef MAX_CERTIFICATE_SZ #define MAX_CERTIFICATE_SZ \ - CERT_HEADER_SZ + \ - (MAX_X509_SIZE + CERT_HEADER_SZ) * MAX_CHAIN_DEPTH + (CERT_HEADER_SZ + \ + (MAX_X509_SIZE + CERT_HEADER_SZ) * MAX_CHAIN_DEPTH) #endif /* max size of a handshake message, currently set to the certificate */ @@ -1714,7 +1714,7 @@ typedef struct Suites Suites; /* defaults to client */ -WOLFSSL_LOCAL void InitSSL_Method(WOLFSSL_METHOD*, ProtocolVersion); +WOLFSSL_LOCAL void InitSSL_Method(WOLFSSL_METHOD* method, ProtocolVersion pv); WOLFSSL_LOCAL int InitSSL_Suites(WOLFSSL* ssl); WOLFSSL_LOCAL int InitSSL_Side(WOLFSSL* ssl, word16 side); @@ -1734,14 +1734,14 @@ WOLFSSL_LOCAL int HandleTlsResumption(WOLFSSL* ssl, int bogusID, #ifdef WOLFSSL_TLS13 WOLFSSL_LOCAL byte SuiteMac(byte* suite); #endif -WOLFSSL_LOCAL int DoClientHello(WOLFSSL* ssl, const byte* input, word32*, - word32); +WOLFSSL_LOCAL int DoClientHello(WOLFSSL* ssl, const byte* input, word32* inOutIdx, + word32 helloSz); #ifdef WOLFSSL_TLS13 WOLFSSL_LOCAL int DoTls13ClientHello(WOLFSSL* ssl, const byte* input, word32* inOutIdx, word32 helloSz); #endif -WOLFSSL_LOCAL int DoServerHello(WOLFSSL* ssl, const byte* input, word32*, - word32); +WOLFSSL_LOCAL int DoServerHello(WOLFSSL* ssl, const byte* input, word32* inOutIdx, + word32 helloSz); WOLFSSL_LOCAL int CompleteServerHello(WOLFSSL *ssl); WOLFSSL_LOCAL int CheckVersion(WOLFSSL *ssl, ProtocolVersion pv); WOLFSSL_LOCAL int PickHashSigAlgo(WOLFSSL* ssl, const byte* hashSigAlgo, @@ -1895,8 +1895,9 @@ WOLFSSL_LOCAL void InitSuites(Suites* suites, ProtocolVersion pv, int keySz, word16 haveAnon, int side); WOLFSSL_LOCAL int MatchSuite(WOLFSSL* ssl, Suites* peerSuites); -WOLFSSL_LOCAL int SetCipherList(WOLFSSL_CTX*, Suites*, const char* list); -WOLFSSL_LOCAL int SetSuitesHashSigAlgo(Suites*, const char* list); +WOLFSSL_LOCAL int SetCipherList(WOLFSSL_CTX* ctx, Suites* suites, + const char* list); +WOLFSSL_LOCAL int SetSuitesHashSigAlgo(Suites* suites, const char* list); #ifndef PSK_TYPES_DEFINED typedef unsigned int (*wc_psk_client_callback)(WOLFSSL*, const char*, char*, @@ -2107,11 +2108,15 @@ struct WOLFSSL_CERT_MANAGER { }; -WOLFSSL_LOCAL int CM_SaveCertCache(WOLFSSL_CERT_MANAGER*, const char*); -WOLFSSL_LOCAL int CM_RestoreCertCache(WOLFSSL_CERT_MANAGER*, const char*); -WOLFSSL_LOCAL int CM_MemSaveCertCache(WOLFSSL_CERT_MANAGER*, void*, int, int*); -WOLFSSL_LOCAL int CM_MemRestoreCertCache(WOLFSSL_CERT_MANAGER*, const void*, int); -WOLFSSL_LOCAL int CM_GetCertCacheMemSize(WOLFSSL_CERT_MANAGER*); +WOLFSSL_LOCAL int CM_SaveCertCache(WOLFSSL_CERT_MANAGER* cm, + const char* fname); +WOLFSSL_LOCAL int CM_RestoreCertCache(WOLFSSL_CERT_MANAGER* cm, + const char* fname); +WOLFSSL_LOCAL int CM_MemSaveCertCache(WOLFSSL_CERT_MANAGER* cm, void* mem, + int sz, int* used); +WOLFSSL_LOCAL int CM_MemRestoreCertCache(WOLFSSL_CERT_MANAGER* cm, + const void* mem, int sz); +WOLFSSL_LOCAL int CM_GetCertCacheMemSize(WOLFSSL_CERT_MANAGER* cm); WOLFSSL_LOCAL int CM_VerifyBuffer_ex(WOLFSSL_CERT_MANAGER* cm, const byte* buff, long sz, int format, int err_val); @@ -2406,7 +2411,7 @@ WOLFSSL_LOCAL int TLSX_ALPN_GetRequest(TLSX* extensions, WOLFSSL_LOCAL int TLSX_UseALPN(TLSX** extensions, const void* data, word16 size, byte options, void* heap); -WOLFSSL_LOCAL int TLSX_ALPN_SetOptions(TLSX** extensions, const byte option); +WOLFSSL_LOCAL int TLSX_ALPN_SetOptions(TLSX** extensions, byte option); #endif /* HAVE_ALPN */ @@ -3087,11 +3092,11 @@ struct WOLFSSL_CTX { }; WOLFSSL_LOCAL -int InitSSL_Ctx(WOLFSSL_CTX*, WOLFSSL_METHOD*, void* heap); +int InitSSL_Ctx(WOLFSSL_CTX* ctx, WOLFSSL_METHOD* method, void* heap); WOLFSSL_LOCAL -void FreeSSL_Ctx(WOLFSSL_CTX*); +void FreeSSL_Ctx(WOLFSSL_CTX* ctx); WOLFSSL_LOCAL -void SSL_CtxResourceFree(WOLFSSL_CTX*); +void SSL_CtxResourceFree(WOLFSSL_CTX* ctx); #ifdef HAVE_EX_DATA_CLEANUP_HOOKS void wolfSSL_CRYPTO_cleanup_ex_data(WOLFSSL_CRYPTO_EX_DATA* ex_data); @@ -3166,10 +3171,10 @@ enum SignatureAlgorithm { }; #define PSS_RSAE_TO_PSS_PSS(macAlgo) \ - (macAlgo + (pss_sha256 - sha256_mac)) + ((macAlgo) + (pss_sha256 - sha256_mac)) #define PSS_PSS_HASH_TO_MAC(macAlgo) \ - (macAlgo - (pss_sha256 - sha256_mac)) + ((macAlgo) - (pss_sha256 - sha256_mac)) enum SigAlgRsaPss { pss_sha256 = 0x09, @@ -3439,16 +3444,17 @@ struct WOLFSSL_SESSION { WOLFSSL_LOCAL WOLFSSL_SESSION* wolfSSL_NewSession(void* heap); -WOLFSSL_LOCAL WOLFSSL_SESSION* wolfSSL_GetSession(WOLFSSL*, byte*, byte); -WOLFSSL_LOCAL WOLFSSL_SESSION* wolfSSL_GetSessionRef(WOLFSSL*); -WOLFSSL_LOCAL int wolfSSL_SetSession(WOLFSSL*, WOLFSSL_SESSION*); -WOLFSSL_LOCAL void wolfSSL_FreeSession(WOLFSSL_SESSION*); +WOLFSSL_LOCAL WOLFSSL_SESSION* wolfSSL_GetSession( + WOLFSSL* ssl, byte* masterSecret, byte restoreSessionCerts); +WOLFSSL_LOCAL WOLFSSL_SESSION* wolfSSL_GetSessionRef(WOLFSSL* ssl); +WOLFSSL_LOCAL int wolfSSL_SetSession(WOLFSSL* ssl, WOLFSSL_SESSION* session); +WOLFSSL_LOCAL void wolfSSL_FreeSession(WOLFSSL_SESSION* session); typedef int (*hmacfp) (WOLFSSL*, byte*, const byte*, word32, int, int, int, int); #ifndef NO_CLIENT_CACHE - WOLFSSL_LOCAL - WOLFSSL_SESSION* wolfSSL_GetSessionClient(WOLFSSL*, const byte*, int); + WOLFSSL_LOCAL WOLFSSL_SESSION* wolfSSL_GetSessionClient( + WOLFSSL* ssl, const byte* id, int len); #endif /* client connect state for nonblocking restart */ @@ -4600,22 +4606,22 @@ struct WOLFSSL { * Always use SSL specific objects when available and revert to CTX otherwise. */ #ifdef WOLFSSL_LOCAL_X509_STORE -#define SSL_CM(ssl) (ssl->x509_store_pt ? ssl->x509_store_pt->cm : ssl->ctx->cm) -#define SSL_STORE(ssl) (ssl->x509_store_pt ? ssl->x509_store_pt : \ - (ssl->ctx->x509_store_pt ? ssl->ctx->x509_store_pt : \ - &ssl->ctx->x509_store)) +#define SSL_CM(ssl) ((ssl)->x509_store_pt ? (ssl)->x509_store_pt->cm : (ssl)->ctx->cm) +#define SSL_STORE(ssl) ((ssl)->x509_store_pt ? (ssl)->x509_store_pt : \ + ((ssl)->ctx->x509_store_pt ? (ssl)->ctx->x509_store_pt : \ + &(ssl)->ctx->x509_store)) #else -#define SSL_CM(ssl) ssl->ctx->cm +#define SSL_CM(ssl) (ssl)->ctx->cm #endif -#define SSL_CA_NAMES(ssl) (ssl->ca_names != NULL ? ssl->ca_names : \ - ssl->ctx->ca_names) +#define SSL_CA_NAMES(ssl) ((ssl)->ca_names != NULL ? (ssl)->ca_names : \ + (ssl)->ctx->ca_names) WOLFSSL_LOCAL int SSL_CTX_RefCount(WOLFSSL_CTX* ctx, int incr); -WOLFSSL_LOCAL int SetSSL_CTX(WOLFSSL*, WOLFSSL_CTX*, int); -WOLFSSL_LOCAL int InitSSL(WOLFSSL*, WOLFSSL_CTX*, int); -WOLFSSL_LOCAL void FreeSSL(WOLFSSL*, void* heap); -WOLFSSL_API void SSL_ResourceFree(WOLFSSL*); /* Micrium uses */ +WOLFSSL_LOCAL int SetSSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup); +WOLFSSL_LOCAL int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup); +WOLFSSL_LOCAL void FreeSSL(WOLFSSL* ssl, void* heap); +WOLFSSL_API void SSL_ResourceFree(WOLFSSL* ssl); /* Micrium uses */ #ifndef NO_CERTS @@ -4633,24 +4639,17 @@ WOLFSSL_API void SSL_ResourceFree(WOLFSSL*); /* Micrium uses */ #if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) - WOLFSSL_LOCAL - void InitHandShakeInfo(HandShakeInfo*, WOLFSSL*); - WOLFSSL_LOCAL - void FinishHandShakeInfo(HandShakeInfo*); - WOLFSSL_LOCAL - void AddPacketName(WOLFSSL* ssl, const char* name); + WOLFSSL_LOCAL void InitHandShakeInfo(HandShakeInfo* info, WOLFSSL* ssl); + WOLFSSL_LOCAL void FinishHandShakeInfo(HandShakeInfo* info); + WOLFSSL_LOCAL void AddPacketName(WOLFSSL* ssl, const char* name); - WOLFSSL_LOCAL - void InitTimeoutInfo(TimeoutInfo*); - WOLFSSL_LOCAL - void FreeTimeoutInfo(TimeoutInfo*, void*); - WOLFSSL_LOCAL - void AddPacketInfo(WOLFSSL* ssl, const char* name, int type, + WOLFSSL_LOCAL void InitTimeoutInfo(TimeoutInfo* info); + WOLFSSL_LOCAL void FreeTimeoutInfo(TimeoutInfo* info, void* heap); + WOLFSSL_LOCAL void AddPacketInfo(WOLFSSL* ssl, const char* name, int type, const byte* data, int sz, int written, void* heap); - WOLFSSL_LOCAL - void AddLateName(const char*, TimeoutInfo*); - WOLFSSL_LOCAL - void AddLateRecordHeader(const RecordLayerHeader* rl, TimeoutInfo* info); + WOLFSSL_LOCAL void AddLateName(const char* name, TimeoutInfo* info); + WOLFSSL_LOCAL void AddLateRecordHeader(const RecordLayerHeader* rl, + TimeoutInfo* info); #endif @@ -4737,44 +4736,45 @@ extern const WOLF_EC_NIST_NAME kNistCurves[]; #endif /* internal functions */ -WOLFSSL_LOCAL int SendChangeCipher(WOLFSSL*); -WOLFSSL_LOCAL int SendTicket(WOLFSSL*); -WOLFSSL_LOCAL int DoClientTicket(WOLFSSL*, const byte*, word32); -WOLFSSL_LOCAL int SendData(WOLFSSL*, const void*, int); +WOLFSSL_LOCAL int SendChangeCipher(WOLFSSL* ssl); +WOLFSSL_LOCAL int SendTicket(WOLFSSL* ssl); +WOLFSSL_LOCAL int DoClientTicket(WOLFSSL* ssl, const byte* input, word32 len); +WOLFSSL_LOCAL int SendData(WOLFSSL* ssl, const void* data, int sz); #ifdef WOLFSSL_TLS13 -WOLFSSL_LOCAL int SendTls13ServerHello(WOLFSSL*, byte); +WOLFSSL_LOCAL int SendTls13ServerHello(WOLFSSL* ssl, byte extMsgType); #endif -WOLFSSL_LOCAL int SendCertificate(WOLFSSL*); -WOLFSSL_LOCAL int SendCertificateRequest(WOLFSSL*); +WOLFSSL_LOCAL int SendCertificate(WOLFSSL* ssl); +WOLFSSL_LOCAL int SendCertificateRequest(WOLFSSL* ssl); #if defined(HAVE_CERTIFICATE_STATUS_REQUEST) \ || defined(HAVE_CERTIFICATE_STATUS_REQUEST_V2) -WOLFSSL_LOCAL int CreateOcspResponse(WOLFSSL*, OcspRequest**, buffer*); +WOLFSSL_LOCAL int CreateOcspResponse(WOLFSSL* ssl, OcspRequest** ocspRequest, + buffer* response); #endif #if defined(HAVE_SECURE_RENEGOTIATION) && \ !defined(WOLFSSL_NO_SERVER) -WOLFSSL_LOCAL int SendHelloRequest(WOLFSSL*); +WOLFSSL_LOCAL int SendHelloRequest(WOLFSSL* ssl); #endif -WOLFSSL_LOCAL int SendCertificateStatus(WOLFSSL*); -WOLFSSL_LOCAL int SendServerKeyExchange(WOLFSSL*); -WOLFSSL_LOCAL int SendBuffered(WOLFSSL*); -WOLFSSL_LOCAL int ReceiveData(WOLFSSL*, byte*, int, int); -WOLFSSL_LOCAL int SendFinished(WOLFSSL*); -WOLFSSL_LOCAL int SendAlert(WOLFSSL*, int, int); -WOLFSSL_LOCAL int ProcessReply(WOLFSSL*); -WOLFSSL_LOCAL int ProcessReplyEx(WOLFSSL*, int); +WOLFSSL_LOCAL int SendCertificateStatus(WOLFSSL* ssl); +WOLFSSL_LOCAL int SendServerKeyExchange(WOLFSSL* ssl); +WOLFSSL_LOCAL int SendBuffered(WOLFSSL* ssl); +WOLFSSL_LOCAL int ReceiveData(WOLFSSL* ssl, byte* output, int sz, int peek); +WOLFSSL_LOCAL int SendFinished(WOLFSSL* ssl); +WOLFSSL_LOCAL int SendAlert(WOLFSSL* ssl, int severity, int type); +WOLFSSL_LOCAL int ProcessReply(WOLFSSL* ssl); +WOLFSSL_LOCAL int ProcessReplyEx(WOLFSSL* ssl, int allowSocketErr); -WOLFSSL_LOCAL const char* AlertTypeToString(int); +WOLFSSL_LOCAL const char* AlertTypeToString(int type); -WOLFSSL_LOCAL int SetCipherSpecs(WOLFSSL*); -WOLFSSL_LOCAL int MakeMasterSecret(WOLFSSL*); +WOLFSSL_LOCAL int SetCipherSpecs(WOLFSSL* ssl); +WOLFSSL_LOCAL int MakeMasterSecret(WOLFSSL* ssl); -WOLFSSL_LOCAL int AddSession(WOLFSSL*); +WOLFSSL_LOCAL int AddSession(WOLFSSL* ssl); WOLFSSL_LOCAL int DeriveKeys(WOLFSSL* ssl); WOLFSSL_LOCAL int StoreKeys(WOLFSSL* ssl, const byte* keyData, int side); WOLFSSL_LOCAL int IsTLS(const WOLFSSL* ssl); WOLFSSL_LOCAL int IsAtLeastTLSv1_2(const WOLFSSL* ssl); -WOLFSSL_LOCAL int IsAtLeastTLSv1_3(const ProtocolVersion pv); +WOLFSSL_LOCAL int IsAtLeastTLSv1_3(ProtocolVersion pv); WOLFSSL_LOCAL int TLSv1_3_Capable(WOLFSSL* ssl); WOLFSSL_LOCAL void FreeHandshakeResources(WOLFSSL* ssl); @@ -4783,7 +4783,7 @@ WOLFSSL_LOCAL void ShrinkOutputBuffer(WOLFSSL* ssl); WOLFSSL_LOCAL int VerifyClientSuite(WOLFSSL* ssl); -WOLFSSL_LOCAL int SetTicket(WOLFSSL*, const byte*, word32); +WOLFSSL_LOCAL int SetTicket(WOLFSSL* ssl, const byte* ticket, word32 length); WOLFSSL_LOCAL int wolfSSL_GetMaxFragSize(WOLFSSL* ssl, int maxFragment); #if defined(WOLFSSL_IOTSAFE) && defined(HAVE_PK_CALLBACKS) @@ -4875,7 +4875,7 @@ WOLFSSL_LOCAL int CheckAvailableSize(WOLFSSL *ssl, int size); WOLFSSL_LOCAL int GrowInputBuffer(WOLFSSL* ssl, int size, int usedLength); #ifndef NO_TLS - WOLFSSL_LOCAL int MakeTlsMasterSecret(WOLFSSL*); + WOLFSSL_LOCAL int MakeTlsMasterSecret(WOLFSSL* ssl); #ifndef WOLFSSL_AEAD_ONLY WOLFSSL_LOCAL int TLS_hmac(WOLFSSL* ssl, byte* digest, const byte* in, word32 sz, int padSz, int content, int verify, int epochOrder); @@ -4883,37 +4883,42 @@ WOLFSSL_LOCAL int GrowInputBuffer(WOLFSSL* ssl, int size, int usedLength); #endif #ifndef NO_WOLFSSL_CLIENT - WOLFSSL_LOCAL int SendClientHello(WOLFSSL*); + WOLFSSL_LOCAL int SendClientHello(WOLFSSL* ssl); #ifdef WOLFSSL_TLS13 - WOLFSSL_LOCAL int SendTls13ClientHello(WOLFSSL*); + WOLFSSL_LOCAL int SendTls13ClientHello(WOLFSSL* ssl); #endif - WOLFSSL_LOCAL int SendClientKeyExchange(WOLFSSL*); - WOLFSSL_LOCAL int SendCertificateVerify(WOLFSSL*); + WOLFSSL_LOCAL int SendClientKeyExchange(WOLFSSL* ssl); + WOLFSSL_LOCAL int SendCertificateVerify(WOLFSSL* ssl); #endif /* NO_WOLFSSL_CLIENT */ #ifndef NO_WOLFSSL_SERVER - WOLFSSL_LOCAL int SendServerHello(WOLFSSL*); - WOLFSSL_LOCAL int SendServerHelloDone(WOLFSSL*); + WOLFSSL_LOCAL int SendServerHello(WOLFSSL* ssl); + WOLFSSL_LOCAL int SendServerHelloDone(WOLFSSL* ssl); #endif /* NO_WOLFSSL_SERVER */ #ifdef WOLFSSL_DTLS - WOLFSSL_LOCAL DtlsMsg* DtlsMsgNew(word32, void*); - WOLFSSL_LOCAL void DtlsMsgDelete(DtlsMsg*, void*); - WOLFSSL_LOCAL void DtlsMsgListDelete(DtlsMsg*, void*); + WOLFSSL_LOCAL DtlsMsg* DtlsMsgNew(word32 sz, void* heap); + WOLFSSL_LOCAL void DtlsMsgDelete(DtlsMsg* item, void* heap); + WOLFSSL_LOCAL void DtlsMsgListDelete(DtlsMsg* head, void* heap); WOLFSSL_LOCAL void DtlsTxMsgListClean(WOLFSSL* ssl); - WOLFSSL_LOCAL int DtlsMsgSet(DtlsMsg*, word32, word16, const byte*, byte, - word32, word32, void*); - WOLFSSL_LOCAL DtlsMsg* DtlsMsgFind(DtlsMsg*, word32, word32); - WOLFSSL_LOCAL void DtlsMsgStore(WOLFSSL*, word32, word32, const byte*, word32, - byte, word32, word32, void*); - WOLFSSL_LOCAL DtlsMsg* DtlsMsgInsert(DtlsMsg*, DtlsMsg*); + WOLFSSL_LOCAL int DtlsMsgSet(DtlsMsg* msg, word32 seq, word16 epoch, + const byte* data, byte type, + word32 fragOffset, word32 fragSz, void* heap); + WOLFSSL_LOCAL DtlsMsg* DtlsMsgFind(DtlsMsg* head, word32 epoch, word32 seq); + WOLFSSL_LOCAL void DtlsMsgStore(WOLFSSL* ssl, word32 epoch, word32 seq, + const byte* data, word32 dataSz, byte type, + word32 fragOffset, word32 fragSz, + void* heap); + WOLFSSL_LOCAL DtlsMsg* DtlsMsgInsert(DtlsMsg* head, DtlsMsg* item); - WOLFSSL_LOCAL int DtlsMsgPoolSave(WOLFSSL*, const byte*, word32, enum HandShakeType); - WOLFSSL_LOCAL int DtlsMsgPoolTimeout(WOLFSSL*); - WOLFSSL_LOCAL int VerifyForDtlsMsgPoolSend(WOLFSSL*, byte, word32); - WOLFSSL_LOCAL int VerifyForTxDtlsMsgDelete(WOLFSSL* ssl, DtlsMsg* head); - WOLFSSL_LOCAL void DtlsMsgPoolReset(WOLFSSL*); - WOLFSSL_LOCAL int DtlsMsgPoolSend(WOLFSSL*, int); + WOLFSSL_LOCAL int DtlsMsgPoolSave(WOLFSSL* ssl, const byte* data, + word32 dataSz, enum HandShakeType type); + WOLFSSL_LOCAL int DtlsMsgPoolTimeout(WOLFSSL* ssl); + WOLFSSL_LOCAL int VerifyForDtlsMsgPoolSend(WOLFSSL* ssl, byte type, + word32 fragOffset); + WOLFSSL_LOCAL int VerifyForTxDtlsMsgDelete(WOLFSSL* ssl, DtlsMsg* item); + WOLFSSL_LOCAL void DtlsMsgPoolReset(WOLFSSL* ssl); + WOLFSSL_LOCAL int DtlsMsgPoolSend(WOLFSSL* ssl, int sendOnlyFirstPacket); #endif /* WOLFSSL_DTLS */ #if defined(HAVE_SECURE_RENEGOTIATION) && defined(WOLFSSL_DTLS) @@ -4935,11 +4940,14 @@ WOLFSSL_LOCAL int GrowInputBuffer(WOLFSSL* ssl, int size, int usedLength); WOLFSSL_LOCAL word32 LowResTimer(void); #ifndef NO_CERTS - WOLFSSL_LOCAL void InitX509Name(WOLFSSL_X509_NAME*, int, void*); + WOLFSSL_LOCAL void InitX509Name(WOLFSSL_X509_NAME* name, int dynamicFlag, + void* heap); WOLFSSL_LOCAL void FreeX509Name(WOLFSSL_X509_NAME* name); - WOLFSSL_LOCAL void InitX509(WOLFSSL_X509*, int, void* heap); - WOLFSSL_LOCAL void FreeX509(WOLFSSL_X509*); - WOLFSSL_LOCAL int CopyDecodedToX509(WOLFSSL_X509*, DecodedCert*); + WOLFSSL_LOCAL void InitX509(WOLFSSL_X509* x509, int dynamicFlag, + void* heap); + WOLFSSL_LOCAL void FreeX509(WOLFSSL_X509* x509); + WOLFSSL_LOCAL int CopyDecodedToX509(WOLFSSL_X509* x509, + DecodedCert* dCert); #endif #ifndef MAX_CIPHER_NAME @@ -4969,15 +4977,15 @@ typedef struct CipherSuiteInfo { WOLFSSL_LOCAL const CipherSuiteInfo* GetCipherNames(void); WOLFSSL_LOCAL int GetCipherNamesSize(void); -WOLFSSL_LOCAL const char* GetCipherNameInternal(const byte cipherSuite0, const byte cipherSuite); +WOLFSSL_LOCAL const char* GetCipherNameInternal(byte cipherSuite0, byte cipherSuite); #if defined(OPENSSL_ALL) || defined(WOLFSSL_QT) /* used in wolfSSL_sk_CIPHER_description */ #define MAX_SEGMENTS 5 #define MAX_SEGMENT_SZ 20 -WOLFSSL_LOCAL int wolfSSL_sk_CIPHER_description(WOLFSSL_CIPHER*); +WOLFSSL_LOCAL int wolfSSL_sk_CIPHER_description(WOLFSSL_CIPHER* cipher); WOLFSSL_LOCAL const char* GetCipherSegment(const WOLFSSL_CIPHER* cipher, char n[][MAX_SEGMENT_SZ]); -WOLFSSL_LOCAL const char* GetCipherProtocol(const byte minor); +WOLFSSL_LOCAL const char* GetCipherProtocol(byte minor); WOLFSSL_LOCAL const char* GetCipherKeaStr(char n[][MAX_SEGMENT_SZ]); WOLFSSL_LOCAL const char* GetCipherAuthStr(char n[][MAX_SEGMENT_SZ]); WOLFSSL_LOCAL const char* GetCipherEncStr(char n[][MAX_SEGMENT_SZ]); @@ -4985,7 +4993,7 @@ WOLFSSL_LOCAL const char* GetCipherMacStr(char n[][MAX_SEGMENT_SZ]); WOLFSSL_LOCAL int SetCipherBits(const char* enc); WOLFSSL_LOCAL int IsCipherAEAD(char n[][MAX_SEGMENT_SZ]); #endif -WOLFSSL_LOCAL const char* GetCipherNameIana(const byte cipherSuite0, const byte cipherSuite); +WOLFSSL_LOCAL const char* GetCipherNameIana(byte cipherSuite0, byte cipherSuite); WOLFSSL_LOCAL const char* wolfSSL_get_cipher_name_internal(WOLFSSL* ssl); WOLFSSL_LOCAL const char* wolfSSL_get_cipher_name_iana(WOLFSSL* ssl); WOLFSSL_LOCAL int GetCipherSuiteFromName(const char* name, byte* cipherSuite0, @@ -4998,7 +5006,7 @@ enum encrypt_side { ENCRYPT_AND_DECRYPT_SIDE }; -WOLFSSL_LOCAL int SetKeysSide(WOLFSSL*, enum encrypt_side); +WOLFSSL_LOCAL int SetKeysSide(WOLFSSL* ssl, enum encrypt_side side); /* Set*Internal and Set*External functions */ WOLFSSL_LOCAL int SetDsaInternal(WOLFSSL_DSA* dsa); diff --git a/wolfssl/ocsp.h b/wolfssl/ocsp.h index 81f2f638f..7e863c3a1 100644 --- a/wolfssl/ocsp.h +++ b/wolfssl/ocsp.h @@ -50,13 +50,13 @@ typedef struct OcspRequest WOLFSSL_OCSP_ONEREQ; typedef struct OcspRequest WOLFSSL_OCSP_REQUEST; #endif -WOLFSSL_LOCAL int InitOCSP(WOLFSSL_OCSP*, WOLFSSL_CERT_MANAGER*); -WOLFSSL_LOCAL void FreeOCSP(WOLFSSL_OCSP*, int dynamic); +WOLFSSL_LOCAL int InitOCSP(WOLFSSL_OCSP* ocsp, WOLFSSL_CERT_MANAGER* cm); +WOLFSSL_LOCAL void FreeOCSP(WOLFSSL_OCSP* ocsp, int dynamic); -WOLFSSL_LOCAL int CheckCertOCSP(WOLFSSL_OCSP*, DecodedCert*, - WOLFSSL_BUFFER_INFO* responseBuffer); -WOLFSSL_LOCAL int CheckCertOCSP_ex(WOLFSSL_OCSP*, DecodedCert*, - WOLFSSL_BUFFER_INFO* responseBuffer, WOLFSSL* ssl); +WOLFSSL_LOCAL int CheckCertOCSP(WOLFSSL_OCSP* ocsp, DecodedCert* cert, + WOLFSSL_BUFFER_INFO* responseBuffer); +WOLFSSL_LOCAL int CheckCertOCSP_ex(WOLFSSL_OCSP* ocsp, DecodedCert* cert, + WOLFSSL_BUFFER_INFO* responseBuffer, WOLFSSL* ssl); WOLFSSL_LOCAL int CheckOcspRequest(WOLFSSL_OCSP* ocsp, OcspRequest* ocspRequest, WOLFSSL_BUFFER_INFO* responseBuffer); WOLFSSL_LOCAL int CheckOcspResponse(WOLFSSL_OCSP *ocsp, byte *response, int responseSz, @@ -103,14 +103,17 @@ WOLFSSL_API int wolfSSL_i2d_OCSP_REQUEST(OcspRequest* request, unsigned char** data); WOLFSSL_API WOLFSSL_OCSP_ONEREQ* wolfSSL_OCSP_request_add0_id(OcspRequest *req, WOLFSSL_OCSP_CERTID *cid); -WOLFSSL_API WOLFSSL_OCSP_CERTID* wolfSSL_OCSP_CERTID_dup(WOLFSSL_OCSP_CERTID*); +WOLFSSL_API WOLFSSL_OCSP_CERTID* wolfSSL_OCSP_CERTID_dup( + WOLFSSL_OCSP_CERTID* id); #ifndef NO_BIO WOLFSSL_API int wolfSSL_i2d_OCSP_REQUEST_bio(WOLFSSL_BIO* out, WOLFSSL_OCSP_REQUEST *req); #endif -WOLFSSL_API int wolfSSL_i2d_OCSP_CERTID(WOLFSSL_OCSP_CERTID *, unsigned char **); -WOLFSSL_API const WOLFSSL_OCSP_CERTID* wolfSSL_OCSP_SINGLERESP_get0_id(const WOLFSSL_OCSP_SINGLERESP *single); +WOLFSSL_API int wolfSSL_i2d_OCSP_CERTID(WOLFSSL_OCSP_CERTID* id, + unsigned char** data); +WOLFSSL_API const WOLFSSL_OCSP_CERTID* wolfSSL_OCSP_SINGLERESP_get0_id( + const WOLFSSL_OCSP_SINGLERESP *single); WOLFSSL_API int wolfSSL_OCSP_id_cmp(WOLFSSL_OCSP_CERTID *a, WOLFSSL_OCSP_CERTID *b); WOLFSSL_API int wolfSSL_OCSP_single_get0_status(WOLFSSL_OCSP_SINGLERESP *single, int *reason, @@ -118,7 +121,8 @@ WOLFSSL_API int wolfSSL_OCSP_single_get0_status(WOLFSSL_OCSP_SINGLERESP *single, WOLFSSL_ASN1_TIME **thisupd, WOLFSSL_ASN1_TIME **nextupd); WOLFSSL_API int wolfSSL_OCSP_resp_count(WOLFSSL_OCSP_BASICRESP *bs); -WOLFSSL_API WOLFSSL_OCSP_SINGLERESP* wolfSSL_OCSP_resp_get0(WOLFSSL_OCSP_BASICRESP *bs, int idx); +WOLFSSL_API WOLFSSL_OCSP_SINGLERESP* wolfSSL_OCSP_resp_get0( + WOLFSSL_OCSP_BASICRESP *bs, int idx); #endif #ifdef OPENSSL_EXTRA @@ -128,9 +132,9 @@ WOLFSSL_API OcspResponse* wolfSSL_OCSP_response_create(int status, WOLFSSL_OCSP_BASICRESP* bs); WOLFSSL_API const char* wolfSSL_OCSP_crl_reason_str(long s); -WOLFSSL_API int wolfSSL_OCSP_id_get0_info(WOLFSSL_ASN1_STRING**, - WOLFSSL_ASN1_OBJECT**, WOLFSSL_ASN1_STRING**, - WOLFSSL_ASN1_INTEGER**, WOLFSSL_OCSP_CERTID*); +WOLFSSL_API int wolfSSL_OCSP_id_get0_info(WOLFSSL_ASN1_STRING **name, + WOLFSSL_ASN1_OBJECT **pmd, WOLFSSL_ASN1_STRING **keyHash, + WOLFSSL_ASN1_INTEGER **serial, WOLFSSL_OCSP_CERTID *cid); WOLFSSL_API int wolfSSL_OCSP_request_add1_nonce(OcspRequest* req, unsigned char* val, int sz); diff --git a/wolfssl/openssl/aes.h b/wolfssl/openssl/aes.h index c8b8c587c..d941bc5a7 100644 --- a/wolfssl/openssl/aes.h +++ b/wolfssl/openssl/aes.h @@ -46,25 +46,24 @@ typedef struct WOLFSSL_AES_KEY { } WOLFSSL_AES_KEY; typedef WOLFSSL_AES_KEY AES_KEY; -WOLFSSL_API int wolfSSL_AES_set_encrypt_key - (const unsigned char *, const int bits, AES_KEY *); -WOLFSSL_API int wolfSSL_AES_set_decrypt_key - (const unsigned char *, const int bits, AES_KEY *); -WOLFSSL_API void wolfSSL_AES_cbc_encrypt - (const unsigned char *in, unsigned char* out, size_t len, - AES_KEY *key, unsigned char* iv, const int enc); -WOLFSSL_API void wolfSSL_AES_ecb_encrypt - (const unsigned char *in, unsigned char* out, - AES_KEY *key, const int enc); -WOLFSSL_API void wolfSSL_AES_cfb128_encrypt - (const unsigned char *in, unsigned char* out, size_t len, - AES_KEY *key, unsigned char* iv, int* num, const int enc); -WOLFSSL_API int wolfSSL_AES_wrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, unsigned int inlen); -WOLFSSL_API int wolfSSL_AES_unwrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, unsigned int inlen); +WOLFSSL_API int wolfSSL_AES_set_encrypt_key( + const unsigned char *key, int bits, AES_KEY *aes); +WOLFSSL_API int wolfSSL_AES_set_decrypt_key( + const unsigned char *key, int bits, AES_KEY *aes); +WOLFSSL_API void wolfSSL_AES_cbc_encrypt( + const unsigned char *in, unsigned char* out, size_t len, AES_KEY *key, + unsigned char* iv, int enc); +WOLFSSL_API void wolfSSL_AES_ecb_encrypt( + const unsigned char *in, unsigned char* out, AES_KEY *key, int enc); +WOLFSSL_API void wolfSSL_AES_cfb128_encrypt( + const unsigned char *in, unsigned char* out, size_t len, AES_KEY *key, + unsigned char* iv, int* num, int enc); +WOLFSSL_API int wolfSSL_AES_wrap_key( + AES_KEY *key, const unsigned char *iv, unsigned char *out, + const unsigned char *in, unsigned int inlen); +WOLFSSL_API int wolfSSL_AES_unwrap_key( + AES_KEY *key, const unsigned char *iv, unsigned char *out, + const unsigned char *in, unsigned int inlen); #define AES_cbc_encrypt wolfSSL_AES_cbc_encrypt #define AES_ecb_encrypt wolfSSL_AES_ecb_encrypt @@ -75,10 +74,10 @@ WOLFSSL_API int wolfSSL_AES_unwrap_key(AES_KEY *key, const unsigned char *iv, #define AES_unwrap_key wolfSSL_AES_unwrap_key #ifdef WOLFSSL_AES_DIRECT -WOLFSSL_API void wolfSSL_AES_encrypt - (const unsigned char* input, unsigned char* output, AES_KEY *); -WOLFSSL_API void wolfSSL_AES_decrypt - (const unsigned char* input, unsigned char* output, AES_KEY *); +WOLFSSL_API void wolfSSL_AES_encrypt( + const unsigned char* input, unsigned char* output, AES_KEY *key); +WOLFSSL_API void wolfSSL_AES_decrypt( + const unsigned char* input, unsigned char* output, AES_KEY *key); #define AES_encrypt wolfSSL_AES_encrypt #define AES_decrypt wolfSSL_AES_decrypt diff --git a/wolfssl/openssl/asn1.h b/wolfssl/openssl/asn1.h index 8698e99ee..ab894f184 100644 --- a/wolfssl/openssl/asn1.h +++ b/wolfssl/openssl/asn1.h @@ -107,7 +107,7 @@ WOLFSSL_API WOLFSSL_ASN1_INTEGER *wolfSSL_BN_to_ASN1_INTEGER( - const WOLFSSL_BIGNUM*, WOLFSSL_ASN1_INTEGER*); + const WOLFSSL_BIGNUM *bn, WOLFSSL_ASN1_INTEGER *ai); WOLFSSL_API void wolfSSL_ASN1_TYPE_set(WOLFSSL_ASN1_TYPE *a, int type, void *value); @@ -164,6 +164,7 @@ WOLFSSL_API int wolfSSL_ASN1_item_i2d(const void *src, byte **dest, const WOLFSSL_ASN1_ITEM *tpl); /* Need function declaration otherwise compiler complains */ +// NOLINTBEGIN(readability-named-parameter) #define IMPLEMENT_ASN1_FUNCTIONS(type) \ type *type##_new(void); \ type *type##_new(void){ \ @@ -178,6 +179,7 @@ WOLFSSL_API int wolfSSL_ASN1_item_i2d(const void *src, byte **dest, { \ return wolfSSL_ASN1_item_i2d(src, dest, &type##_template_data);\ } +// NOLINTEND(readability-named-parameter) #endif /* OPENSSL_ALL */ diff --git a/wolfssl/openssl/bn.h b/wolfssl/openssl/bn.h index 7945816b2..3d98ef047 100644 --- a/wolfssl/openssl/bn.h +++ b/wolfssl/openssl/bn.h @@ -54,100 +54,107 @@ typedef struct WOLFSSL_BN_CTX WOLFSSL_BN_CTX; typedef struct WOLFSSL_BN_GENCB WOLFSSL_BN_GENCB; WOLFSSL_API WOLFSSL_BN_CTX* wolfSSL_BN_CTX_new(void); -WOLFSSL_API void wolfSSL_BN_CTX_init(WOLFSSL_BN_CTX*); -WOLFSSL_API void wolfSSL_BN_CTX_free(WOLFSSL_BN_CTX*); +WOLFSSL_API void wolfSSL_BN_CTX_init(WOLFSSL_BN_CTX* ctx); +WOLFSSL_API void wolfSSL_BN_CTX_free(WOLFSSL_BN_CTX* ctx); WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_new(void); #if defined(USE_FAST_MATH) && !defined(HAVE_WOLF_BIGINT) -WOLFSSL_API void wolfSSL_BN_init(WOLFSSL_BIGNUM *); +WOLFSSL_API void wolfSSL_BN_init(WOLFSSL_BIGNUM* bn); #endif -WOLFSSL_API void wolfSSL_BN_free(WOLFSSL_BIGNUM*); -WOLFSSL_API void wolfSSL_BN_clear_free(WOLFSSL_BIGNUM*); -WOLFSSL_API void wolfSSL_BN_clear(WOLFSSL_BIGNUM*); +WOLFSSL_API void wolfSSL_BN_free(WOLFSSL_BIGNUM* bn); +WOLFSSL_API void wolfSSL_BN_clear_free(WOLFSSL_BIGNUM* bn); +WOLFSSL_API void wolfSSL_BN_clear(WOLFSSL_BIGNUM* bn); -WOLFSSL_API int wolfSSL_BN_sub(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, - const WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_mul(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*, - WOLFSSL_BIGNUM*, WOLFSSL_BN_CTX*); -WOLFSSL_API int wolfSSL_BN_div(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*, - const WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, WOLFSSL_BN_CTX*); +WOLFSSL_API int wolfSSL_BN_sub(WOLFSSL_BIGNUM* r, const WOLFSSL_BIGNUM* a, + const WOLFSSL_BIGNUM* b); +WOLFSSL_API int wolfSSL_BN_mul(WOLFSSL_BIGNUM *r, WOLFSSL_BIGNUM *a, + WOLFSSL_BIGNUM *b, WOLFSSL_BN_CTX *ctx); +WOLFSSL_API int wolfSSL_BN_div(WOLFSSL_BIGNUM* dv, WOLFSSL_BIGNUM* rem, + const WOLFSSL_BIGNUM* a, const WOLFSSL_BIGNUM* d, + WOLFSSL_BN_CTX* ctx); #if defined(WOLFSSL_KEY_GEN) && !defined(NO_RSA) -WOLFSSL_API int wolfSSL_BN_gcd(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*, - WOLFSSL_BIGNUM*, WOLFSSL_BN_CTX*); +WOLFSSL_API int wolfSSL_BN_gcd(WOLFSSL_BIGNUM* r, WOLFSSL_BIGNUM* a, + WOLFSSL_BIGNUM* b, WOLFSSL_BN_CTX* ctx); #endif -WOLFSSL_API int wolfSSL_BN_mod(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, - const WOLFSSL_BIGNUM*, const WOLFSSL_BN_CTX*); +WOLFSSL_API int wolfSSL_BN_mod(WOLFSSL_BIGNUM* r, const WOLFSSL_BIGNUM* a, + const WOLFSSL_BIGNUM* b, const WOLFSSL_BN_CTX* c); WOLFSSL_API int wolfSSL_BN_mod_exp(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a, - const WOLFSSL_BIGNUM *p, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx); + const WOLFSSL_BIGNUM *p, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx); WOLFSSL_API int wolfSSL_BN_mod_mul(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a, - const WOLFSSL_BIGNUM *b, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx); + const WOLFSSL_BIGNUM *p, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx); WOLFSSL_API const WOLFSSL_BIGNUM* wolfSSL_BN_value_one(void); -WOLFSSL_API int wolfSSL_BN_num_bytes(const WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_num_bits(const WOLFSSL_BIGNUM*); +WOLFSSL_API int wolfSSL_BN_num_bytes(const WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_num_bits(const WOLFSSL_BIGNUM* bn); -WOLFSSL_API void wolfSSL_BN_zero(WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_one(WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_is_zero(const WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_is_one(const WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_is_odd(const WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_is_negative(const WOLFSSL_BIGNUM*); -WOLFSSL_API int wolfSSL_BN_is_word(const WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG); +WOLFSSL_API void wolfSSL_BN_zero(WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_one(WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_is_zero(const WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_is_one(const WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_is_odd(const WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_is_negative(const WOLFSSL_BIGNUM* bn); +WOLFSSL_API int wolfSSL_BN_is_word(const WOLFSSL_BIGNUM* bn, WOLFSSL_BN_ULONG w); -WOLFSSL_API int wolfSSL_BN_cmp(const WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*); +WOLFSSL_API int wolfSSL_BN_cmp(const WOLFSSL_BIGNUM* a, const WOLFSSL_BIGNUM* b); -WOLFSSL_API int wolfSSL_BN_bn2bin(const WOLFSSL_BIGNUM*, unsigned char*); -WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_bin2bn(const unsigned char*, int len, - WOLFSSL_BIGNUM* ret); +WOLFSSL_API int wolfSSL_BN_bn2bin(const WOLFSSL_BIGNUM* bn, unsigned char* r); +WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_bin2bn(const unsigned char* str, int len, + WOLFSSL_BIGNUM* ret); -WOLFSSL_API int wolfSSL_mask_bits(WOLFSSL_BIGNUM*, int n); +WOLFSSL_API int wolfSSL_mask_bits(WOLFSSL_BIGNUM* bn, int n); -WOLFSSL_API int wolfSSL_BN_pseudo_rand(WOLFSSL_BIGNUM*, int bits, int top, - int bottom); +WOLFSSL_API int wolfSSL_BN_pseudo_rand(WOLFSSL_BIGNUM* bn, int bits, int top, + int bottom); WOLFSSL_API int wolfSSL_BN_rand_range(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *range); -WOLFSSL_API int wolfSSL_BN_rand(WOLFSSL_BIGNUM*, int bits, int top, int bottom); -WOLFSSL_API int wolfSSL_BN_is_bit_set(const WOLFSSL_BIGNUM*, int n); -WOLFSSL_API int wolfSSL_BN_hex2bn(WOLFSSL_BIGNUM**, const char* str); +WOLFSSL_API int wolfSSL_BN_rand(WOLFSSL_BIGNUM* bn, int bits, int top, int bottom); +WOLFSSL_API int wolfSSL_BN_is_bit_set(const WOLFSSL_BIGNUM* bn, int n); +WOLFSSL_API int wolfSSL_BN_hex2bn(WOLFSSL_BIGNUM** bn, const char* str); -WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_dup(const WOLFSSL_BIGNUM*); -WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_copy(WOLFSSL_BIGNUM*, - const WOLFSSL_BIGNUM*); +WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_dup(const WOLFSSL_BIGNUM* bn); +WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_copy(WOLFSSL_BIGNUM* r, + const WOLFSSL_BIGNUM* bn); -WOLFSSL_API int wolfSSL_BN_dec2bn(WOLFSSL_BIGNUM**, const char* str); -WOLFSSL_API char* wolfSSL_BN_bn2dec(const WOLFSSL_BIGNUM*); +WOLFSSL_API int wolfSSL_BN_dec2bn(WOLFSSL_BIGNUM** bn, const char* str); +WOLFSSL_API char* wolfSSL_BN_bn2dec(const WOLFSSL_BIGNUM* bn); -WOLFSSL_API int wolfSSL_BN_lshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int); -WOLFSSL_API int wolfSSL_BN_add_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG); -WOLFSSL_API int wolfSSL_BN_sub_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG); -WOLFSSL_API int wolfSSL_BN_set_bit(WOLFSSL_BIGNUM*, int); -WOLFSSL_API int wolfSSL_BN_clear_bit(WOLFSSL_BIGNUM*, int); -WOLFSSL_API int wolfSSL_BN_set_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG); -WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_get_word(const WOLFSSL_BIGNUM*); +WOLFSSL_API int wolfSSL_BN_lshift(WOLFSSL_BIGNUM* r, const WOLFSSL_BIGNUM* bn, + int n); +WOLFSSL_API int wolfSSL_BN_add_word(WOLFSSL_BIGNUM* bn, WOLFSSL_BN_ULONG w); +WOLFSSL_API int wolfSSL_BN_sub_word(WOLFSSL_BIGNUM* bn, WOLFSSL_BN_ULONG w); +WOLFSSL_API int wolfSSL_BN_set_bit(WOLFSSL_BIGNUM* bn, int n); +WOLFSSL_API int wolfSSL_BN_clear_bit(WOLFSSL_BIGNUM* bn, int n); +WOLFSSL_API int wolfSSL_BN_set_word(WOLFSSL_BIGNUM* bn, WOLFSSL_BN_ULONG w); +WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_get_word(const WOLFSSL_BIGNUM* bn); -WOLFSSL_API int wolfSSL_BN_add(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*, - WOLFSSL_BIGNUM*); +WOLFSSL_API int wolfSSL_BN_add(WOLFSSL_BIGNUM* r, WOLFSSL_BIGNUM* a, + WOLFSSL_BIGNUM* b); WOLFSSL_API int wolfSSL_BN_mod_add(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a, const WOLFSSL_BIGNUM *b, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx); -WOLFSSL_API char *wolfSSL_BN_bn2hex(const WOLFSSL_BIGNUM*); +WOLFSSL_API char *wolfSSL_BN_bn2hex(const WOLFSSL_BIGNUM* bn); #if defined(WOLFSSL_KEY_GEN) && (!defined(NO_RSA) || !defined(NO_DH) || !defined(NO_DSA)) -WOLFSSL_API int wolfSSL_BN_generate_prime_ex(WOLFSSL_BIGNUM*, int, int, - const WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, WOLFSSL_BN_GENCB*); -WOLFSSL_API int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM*, int, - WOLFSSL_BN_CTX*, WOLFSSL_BN_GENCB*); -WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM*, - WOLFSSL_BN_ULONG); +WOLFSSL_API int wolfSSL_BN_generate_prime_ex( + WOLFSSL_BIGNUM* prime, int bits, int safe, const WOLFSSL_BIGNUM* add, + const WOLFSSL_BIGNUM* rem, WOLFSSL_BN_GENCB* cb); +WOLFSSL_API int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM *bn, int nbchecks, + WOLFSSL_BN_CTX *ctx, WOLFSSL_BN_GENCB *cb); +WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM *bn, + WOLFSSL_BN_ULONG w); #endif #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) - WOLFSSL_API int wolfSSL_BN_print_fp(XFILE, const WOLFSSL_BIGNUM*); + WOLFSSL_API int wolfSSL_BN_print_fp(XFILE fp, const WOLFSSL_BIGNUM *bn); #endif -WOLFSSL_API int wolfSSL_BN_rshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int); +WOLFSSL_API int wolfSSL_BN_rshift(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *bn, + int n); WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_BN_CTX_get(WOLFSSL_BN_CTX *ctx); WOLFSSL_API void wolfSSL_BN_CTX_start(WOLFSSL_BN_CTX *ctx); -WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_BN_mod_inverse(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*, - const WOLFSSL_BIGNUM*, WOLFSSL_BN_CTX *ctx); +WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_BN_mod_inverse( + WOLFSSL_BIGNUM *r, + WOLFSSL_BIGNUM *a, + const WOLFSSL_BIGNUM *n, + WOLFSSL_BN_CTX *ctx); typedef WOLFSSL_BIGNUM BIGNUM; typedef WOLFSSL_BN_CTX BN_CTX; diff --git a/wolfssl/openssl/cmac.h b/wolfssl/openssl/cmac.h index a022e3762..ed741580d 100644 --- a/wolfssl/openssl/cmac.h +++ b/wolfssl/openssl/cmac.h @@ -38,11 +38,14 @@ typedef WOLFSSL_CMAC_CTX CMAC_CTX; WOLFSSL_API WOLFSSL_CMAC_CTX* wolfSSL_CMAC_CTX_new(void); WOLFSSL_API void wolfSSL_CMAC_CTX_free(WOLFSSL_CMAC_CTX *ctx); WOLFSSL_API WOLFSSL_EVP_CIPHER_CTX* wolfSSL_CMAC_CTX_get0_cipher_ctx( - WOLFSSL_CMAC_CTX*); -WOLFSSL_API int wolfSSL_CMAC_Init(WOLFSSL_CMAC_CTX*, const void*, size_t , - const WOLFSSL_EVP_CIPHER*, WOLFSSL_ENGINE*); -WOLFSSL_API int wolfSSL_CMAC_Update(WOLFSSL_CMAC_CTX*, const void*, size_t); -WOLFSSL_API int wolfSSL_CMAC_Final(WOLFSSL_CMAC_CTX*, unsigned char*, size_t*); + WOLFSSL_CMAC_CTX* ctx); +WOLFSSL_API int wolfSSL_CMAC_Init( + WOLFSSL_CMAC_CTX* ctx, const void *key, size_t keyLen, + const WOLFSSL_EVP_CIPHER* cipher, WOLFSSL_ENGINE* engine); +WOLFSSL_API int wolfSSL_CMAC_Update( + WOLFSSL_CMAC_CTX* ctx, const void* data, size_t len); +WOLFSSL_API int wolfSSL_CMAC_Final( + WOLFSSL_CMAC_CTX* ctx, unsigned char* out, size_t* len); #define CMAC_CTX_new wolfSSL_CMAC_CTX_new #define CMAC_CTX_free wolfSSL_CMAC_CTX_free diff --git a/wolfssl/openssl/crypto.h b/wolfssl/openssl/crypto.h index b9ee29fe7..93907b361 100644 --- a/wolfssl/openssl/crypto.h +++ b/wolfssl/openssl/crypto.h @@ -52,7 +52,7 @@ WOLFSSL_API unsigned long wolfSSLeay(void); WOLFSSL_API unsigned long wolfSSL_OpenSSL_version_num(void); #ifdef OPENSSL_EXTRA -WOLFSSL_API void wolfSSL_OPENSSL_free(void*); +WOLFSSL_API void wolfSSL_OPENSSL_free(void* p); WOLFSSL_API void *wolfSSL_OPENSSL_malloc(size_t a); WOLFSSL_API int wolfSSL_OPENSSL_hexchar2int(unsigned char c); WOLFSSL_API unsigned char *wolfSSL_OPENSSL_hexstr2buf(const char *str, long *len); diff --git a/wolfssl/openssl/des.h b/wolfssl/openssl/des.h index d7a6ef809..1fbad9885 100644 --- a/wolfssl/openssl/des.h +++ b/wolfssl/openssl/des.h @@ -62,8 +62,8 @@ WOLFSSL_API int wolfSSL_DES_set_key(WOLFSSL_const_DES_cblock* myDes, WOLFSSL_DES_key_schedule* key); WOLFSSL_API int wolfSSL_DES_set_key_checked(WOLFSSL_const_DES_cblock* myDes, WOLFSSL_DES_key_schedule* key); -WOLFSSL_API void wolfSSL_DES_set_key_unchecked(WOLFSSL_const_DES_cblock*, - WOLFSSL_DES_key_schedule*); +WOLFSSL_API void wolfSSL_DES_set_key_unchecked(WOLFSSL_const_DES_cblock* myDes, + WOLFSSL_DES_key_schedule* key); WOLFSSL_API int wolfSSL_DES_key_sched(WOLFSSL_const_DES_cblock* key, WOLFSSL_DES_key_schedule* schedule); WOLFSSL_API void wolfSSL_DES_cbc_encrypt(const unsigned char* input, @@ -81,10 +81,10 @@ WOLFSSL_API void wolfSSL_DES_ncbc_encrypt(const unsigned char* input, WOLFSSL_DES_key_schedule* schedule, WOLFSSL_DES_cblock* ivec, int enc); -WOLFSSL_API void wolfSSL_DES_set_odd_parity(WOLFSSL_DES_cblock*); -WOLFSSL_API void wolfSSL_DES_ecb_encrypt(WOLFSSL_DES_cblock*, WOLFSSL_DES_cblock*, - WOLFSSL_DES_key_schedule*, int); -WOLFSSL_API int wolfSSL_DES_check_key_parity(WOLFSSL_DES_cblock*); +WOLFSSL_API void wolfSSL_DES_set_odd_parity(WOLFSSL_DES_cblock* myDes); +WOLFSSL_API void wolfSSL_DES_ecb_encrypt(WOLFSSL_DES_cblock* desa, + WOLFSSL_DES_cblock* desb, WOLFSSL_DES_key_schedule* key, int enc); +WOLFSSL_API int wolfSSL_DES_check_key_parity(WOLFSSL_DES_cblock *myDes); typedef WOLFSSL_DES_cblock DES_cblock; diff --git a/wolfssl/openssl/dh.h b/wolfssl/openssl/dh.h index 751024f81..c3fef1c7a 100644 --- a/wolfssl/openssl/dh.h +++ b/wolfssl/openssl/dh.h @@ -58,18 +58,19 @@ WOLFSSL_API WOLFSSL_DH *wolfSSL_d2i_DHparams(WOLFSSL_DH **dh, const unsigned char **pp, long length); WOLFSSL_API int wolfSSL_i2d_DHparams(const WOLFSSL_DH *dh, unsigned char **out); WOLFSSL_API WOLFSSL_DH* wolfSSL_DH_new(void); -WOLFSSL_API void wolfSSL_DH_free(WOLFSSL_DH*); +WOLFSSL_API void wolfSSL_DH_free(WOLFSSL_DH* dh); WOLFSSL_API WOLFSSL_DH* wolfSSL_DH_dup(WOLFSSL_DH* dh); WOLFSSL_API int wolfSSL_DH_check(const WOLFSSL_DH *dh, int *codes); -WOLFSSL_API int wolfSSL_DH_size(WOLFSSL_DH*); -WOLFSSL_API int wolfSSL_DH_generate_key(WOLFSSL_DH*); +WOLFSSL_API int wolfSSL_DH_size(WOLFSSL_DH* dh); +WOLFSSL_API int wolfSSL_DH_generate_key(WOLFSSL_DH* dh); WOLFSSL_API int wolfSSL_DH_compute_key(unsigned char* key, const WOLFSSL_BIGNUM* pub, - WOLFSSL_DH*); -WOLFSSL_API int wolfSSL_DH_LoadDer(WOLFSSL_DH*, const unsigned char*, int sz); -WOLFSSL_API int wolfSSL_DH_set_length(WOLFSSL_DH*, long); -WOLFSSL_API int wolfSSL_DH_set0_pqg(WOLFSSL_DH*, WOLFSSL_BIGNUM*, - WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*); + WOLFSSL_DH* dh); +WOLFSSL_API int wolfSSL_DH_LoadDer(WOLFSSL_DH* dh, const unsigned char* derBuf, + int derSz); +WOLFSSL_API int wolfSSL_DH_set_length(WOLFSSL_DH* dh, long len); +WOLFSSL_API int wolfSSL_DH_set0_pqg(WOLFSSL_DH *dh, WOLFSSL_BIGNUM *p, + WOLFSSL_BIGNUM *q, WOLFSSL_BIGNUM *g); #define DH_new wolfSSL_DH_new #define DH_free wolfSSL_DH_free @@ -86,7 +87,7 @@ WOLFSSL_API int wolfSSL_DH_set0_pqg(WOLFSSL_DH*, WOLFSSL_BIGNUM*, #define DH_get0_pqg wolfSSL_DH_get0_pqg #define DH_get0_key wolfSSL_DH_get0_key #define DH_set0_key wolfSSL_DH_set0_key -#define DH_bits(x) (BN_num_bits(x->p)) +#define DH_bits(x) (BN_num_bits((x)->p)) #define DH_GENERATOR_2 2 #define DH_CHECK_P_NOT_PRIME 0x01 diff --git a/wolfssl/openssl/dsa.h b/wolfssl/openssl/dsa.h index 7312e389a..b34529791 100644 --- a/wolfssl/openssl/dsa.h +++ b/wolfssl/openssl/dsa.h @@ -56,18 +56,18 @@ struct WOLFSSL_DSA { WOLFSSL_API WOLFSSL_DSA* wolfSSL_DSA_new(void); -WOLFSSL_API void wolfSSL_DSA_free(WOLFSSL_DSA*); +WOLFSSL_API void wolfSSL_DSA_free(WOLFSSL_DSA* dsa); #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) -WOLFSSL_API int wolfSSL_DSA_print_fp(XFILE, WOLFSSL_DSA*, int); +WOLFSSL_API int wolfSSL_DSA_print_fp(XFILE fp, WOLFSSL_DSA* dsa, int indent); #endif /* !NO_FILESYSTEM && NO_STDIO_FILESYSTEM */ -WOLFSSL_API int wolfSSL_DSA_generate_key(WOLFSSL_DSA*); +WOLFSSL_API int wolfSSL_DSA_generate_key(WOLFSSL_DSA* dsa); typedef void (*WOLFSSL_BN_CB)(int i, int j, void* exArg); WOLFSSL_API WOLFSSL_DSA* wolfSSL_DSA_generate_parameters(int bits, unsigned char* seed, int seedLen, int* counterRet, unsigned long* hRet, WOLFSSL_BN_CB cb, void* CBArg); -WOLFSSL_API int wolfSSL_DSA_generate_parameters_ex(WOLFSSL_DSA*, int bits, +WOLFSSL_API int wolfSSL_DSA_generate_parameters_ex(WOLFSSL_DSA* dsa, int bits, unsigned char* seed, int seedLen, int* counterRet, unsigned long* hRet, void* cb); @@ -82,17 +82,17 @@ WOLFSSL_API int wolfSSL_DSA_set0_key(WOLFSSL_DSA *d, WOLFSSL_BIGNUM *pub_key, WOLFSSL_BIGNUM *priv_key); -WOLFSSL_API int wolfSSL_DSA_LoadDer(WOLFSSL_DSA*, const unsigned char*, int sz); +WOLFSSL_API int wolfSSL_DSA_LoadDer( + WOLFSSL_DSA* dsa, const unsigned char* derBuf, int derSz); -WOLFSSL_API int wolfSSL_DSA_LoadDer_ex(WOLFSSL_DSA*, const unsigned char*, - int sz, int opt); +WOLFSSL_API int wolfSSL_DSA_LoadDer_ex( + WOLFSSL_DSA* dsa, const unsigned char* derBuf, int derSz, int opt); -WOLFSSL_API int wolfSSL_DSA_do_sign(const unsigned char* d, - unsigned char* sigRet, WOLFSSL_DSA* dsa); +WOLFSSL_API int wolfSSL_DSA_do_sign( + const unsigned char* d, unsigned char* sigRet, WOLFSSL_DSA* dsa); -WOLFSSL_API int wolfSSL_DSA_do_verify(const unsigned char* d, - unsigned char* sig, - WOLFSSL_DSA* dsa, int *dsacheck); +WOLFSSL_API int wolfSSL_DSA_do_verify( + const unsigned char* d, unsigned char* sig, WOLFSSL_DSA* dsa, int *dsacheck); WOLFSSL_API int wolfSSL_DSA_bits(const WOLFSSL_DSA *d); @@ -112,9 +112,10 @@ WOLFSSL_API WOLFSSL_DSA_SIG* wolfSSL_DSA_do_sign_ex(const unsigned char* digest, WOLFSSL_API int wolfSSL_DSA_do_verify_ex(const unsigned char* digest, int digest_len, WOLFSSL_DSA_SIG* sig, WOLFSSL_DSA* dsa); -WOLFSSL_API int wolfSSL_i2d_DSAparams(const WOLFSSL_DSA*, unsigned char**); -WOLFSSL_API WOLFSSL_DSA* wolfSSL_d2i_DSAparams(WOLFSSL_DSA**, - const unsigned char **, long); +WOLFSSL_API int wolfSSL_i2d_DSAparams( + const WOLFSSL_DSA* dsa, unsigned char** out); +WOLFSSL_API WOLFSSL_DSA* wolfSSL_d2i_DSAparams( + WOLFSSL_DSA** dsa, const unsigned char** der, long derLen); #define WOLFSSL_DSA_LOAD_PRIVATE 1 #define WOLFSSL_DSA_LOAD_PUBLIC 2 diff --git a/wolfssl/openssl/ecdsa.h b/wolfssl/openssl/ecdsa.h index 9b0e8c7fa..c644ade56 100644 --- a/wolfssl/openssl/ecdsa.h +++ b/wolfssl/openssl/ecdsa.h @@ -46,10 +46,10 @@ struct WOLFSSL_ECDSA_SIG { WOLFSSL_API void wolfSSL_ECDSA_SIG_free(WOLFSSL_ECDSA_SIG *sig); WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_SIG_new(void); -WOLFSSL_API void wolfSSL_ECDSA_SIG_get0(const WOLFSSL_ECDSA_SIG*, - const WOLFSSL_BIGNUM**, const WOLFSSL_BIGNUM**); -WOLFSSL_API int wolfSSL_ECDSA_SIG_set0(WOLFSSL_ECDSA_SIG*, WOLFSSL_BIGNUM*, - WOLFSSL_BIGNUM*); +WOLFSSL_API void wolfSSL_ECDSA_SIG_get0(const WOLFSSL_ECDSA_SIG* sig, + const WOLFSSL_BIGNUM** r, const WOLFSSL_BIGNUM** s); +WOLFSSL_API int wolfSSL_ECDSA_SIG_set0(WOLFSSL_ECDSA_SIG* sig, WOLFSSL_BIGNUM* r, + WOLFSSL_BIGNUM* s); WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_do_sign(const unsigned char *dgst, int dgst_len, WOLFSSL_EC_KEY *eckey); diff --git a/wolfssl/openssl/evp.h b/wolfssl/openssl/evp.h index e0d287980..f4be3d2e3 100644 --- a/wolfssl/openssl/evp.h +++ b/wolfssl/openssl/evp.h @@ -75,7 +75,7 @@ #ifndef NO_MD5 WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_md5(void); #endif -WOLFSSL_API void wolfSSL_EVP_set_pw_prompt(const char *); +WOLFSSL_API void wolfSSL_EVP_set_pw_prompt(const char *prompt); WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_mdc2(void); WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha1(void); WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha224(void); @@ -464,10 +464,10 @@ WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_blake2s256(void); #define EVP_PKEY_PRINT_INDENT_MAX 128 WOLFSSL_API void wolfSSL_EVP_init(void); -WOLFSSL_API int wolfSSL_EVP_MD_size(const WOLFSSL_EVP_MD* ); -WOLFSSL_API int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD*); -WOLFSSL_API int wolfSSL_EVP_MD_block_size(const WOLFSSL_EVP_MD*); -WOLFSSL_API int wolfSSL_EVP_MD_pkey_type(const WOLFSSL_EVP_MD*); +WOLFSSL_API int wolfSSL_EVP_MD_size(const WOLFSSL_EVP_MD* type); +WOLFSSL_API int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type); +WOLFSSL_API int wolfSSL_EVP_MD_block_size(const WOLFSSL_EVP_MD* type); +WOLFSSL_API int wolfSSL_EVP_MD_pkey_type(const WOLFSSL_EVP_MD* type); WOLFSSL_API WOLFSSL_EVP_MD_CTX *wolfSSL_EVP_MD_CTX_new (void); WOLFSSL_API void wolfSSL_EVP_MD_CTX_free(WOLFSSL_EVP_MD_CTX* ctx); @@ -520,17 +520,17 @@ WOLFSSL_API int wolfSSL_EVP_Digest(const unsigned char* in, int inSz, unsigned c WOLFSSL_ENGINE* eng); -WOLFSSL_API int wolfSSL_EVP_BytesToKey(const WOLFSSL_EVP_CIPHER*, - const WOLFSSL_EVP_MD*, const unsigned char*, - const unsigned char*, int, int, unsigned char*, - unsigned char*); +WOLFSSL_API int wolfSSL_EVP_BytesToKey(const WOLFSSL_EVP_CIPHER* type, + const WOLFSSL_EVP_MD* md, const byte* salt, + const byte* data, int sz, int count, byte* key, byte* iv); WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_init(WOLFSSL_EVP_CIPHER_CTX* ctx); WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_cleanup(WOLFSSL_EVP_CIPHER_CTX* ctx); WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_ctrl(WOLFSSL_EVP_CIPHER_CTX *ctx, \ int type, int arg, void *ptr); -WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_iv_length(const WOLFSSL_EVP_CIPHER_CTX*); -WOLFSSL_API int wolfSSL_EVP_CIPHER_iv_length(const WOLFSSL_EVP_CIPHER*); +WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_iv_length( + const WOLFSSL_EVP_CIPHER_CTX* ctx); +WOLFSSL_API int wolfSSL_EVP_CIPHER_iv_length(const WOLFSSL_EVP_CIPHER* cipher); WOLFSSL_API int wolfSSL_EVP_Cipher_key_length(const WOLFSSL_EVP_CIPHER* c); @@ -597,8 +597,8 @@ WOLFSSL_API int wolfSSL_EVP_Cipher(WOLFSSL_EVP_CIPHER_CTX* ctx, unsigned char* dst, unsigned char* src, unsigned int len); -WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_get_cipherbynid(int); -WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_get_digestbynid(int); +WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_get_cipherbynid(int id); +WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_get_digestbynid(int id); WOLFSSL_API const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_CIPHER_CTX_cipher(const WOLFSSL_EVP_CIPHER_CTX *ctx); WOLFSSL_API int wolfSSL_EVP_PKEY_assign_RSA(WOLFSSL_EVP_PKEY* pkey, @@ -609,8 +609,8 @@ WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DSA(EVP_PKEY* pkey, WOLFSSL_DSA* key); WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DH(EVP_PKEY* pkey, WOLFSSL_DH* key); WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get0_RSA(struct WOLFSSL_EVP_PKEY *pkey); WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get0_DSA(struct WOLFSSL_EVP_PKEY *pkey); -WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get1_RSA(WOLFSSL_EVP_PKEY*); -WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get1_DSA(WOLFSSL_EVP_PKEY*); +WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get1_RSA(WOLFSSL_EVP_PKEY* key); +WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get1_DSA(WOLFSSL_EVP_PKEY* key); WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get0_EC_KEY(WOLFSSL_EVP_PKEY *pkey); WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get1_EC_KEY(WOLFSSL_EVP_PKEY *key); WOLFSSL_API WOLFSSL_DH* wolfSSL_EVP_PKEY_get0_DH(WOLFSSL_EVP_PKEY* key); @@ -664,7 +664,7 @@ WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt(WOLFSSL_EVP_PKEY_CTX *ctx, WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx); WOLFSSL_API WOLFSSL_EVP_PKEY *wolfSSL_EVP_PKEY_new(void); WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_ex(void* heap); -WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY*); +WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY* key); WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey); WOLFSSL_API int wolfSSL_EVP_PKEY_copy_parameters(WOLFSSL_EVP_PKEY *to, const WOLFSSL_EVP_PKEY *from); WOLFSSL_API int wolfSSL_EVP_PKEY_missing_parameters(WOLFSSL_EVP_PKEY *pkey); diff --git a/wolfssl/openssl/md4.h b/wolfssl/openssl/md4.h index 10a6d642b..8e64975bd 100644 --- a/wolfssl/openssl/md4.h +++ b/wolfssl/openssl/md4.h @@ -41,9 +41,10 @@ typedef struct WOLFSSL_MD4_CTX { } WOLFSSL_MD4_CTX; -WOLFSSL_API void wolfSSL_MD4_Init(WOLFSSL_MD4_CTX*); -WOLFSSL_API void wolfSSL_MD4_Update(WOLFSSL_MD4_CTX*, const void*, unsigned long); -WOLFSSL_API void wolfSSL_MD4_Final(unsigned char*, WOLFSSL_MD4_CTX*); +WOLFSSL_API void wolfSSL_MD4_Init(WOLFSSL_MD4_CTX* md4); +WOLFSSL_API void wolfSSL_MD4_Update(WOLFSSL_MD4_CTX* md4, const void* data, + unsigned long len); +WOLFSSL_API void wolfSSL_MD4_Final(unsigned char* digest, WOLFSSL_MD4_CTX* md4); typedef WOLFSSL_MD4_CTX MD4_CTX; diff --git a/wolfssl/openssl/md5.h b/wolfssl/openssl/md5.h index 6903e5f81..e312b60e3 100644 --- a/wolfssl/openssl/md5.h +++ b/wolfssl/openssl/md5.h @@ -49,12 +49,14 @@ typedef struct WOLFSSL_MD5_CTX { #endif } WOLFSSL_MD5_CTX; -WOLFSSL_API int wolfSSL_MD5_Init(WOLFSSL_MD5_CTX*); -WOLFSSL_API int wolfSSL_MD5_Update(WOLFSSL_MD5_CTX*, const void*, unsigned long); -WOLFSSL_API int wolfSSL_MD5_Final(unsigned char*, WOLFSSL_MD5_CTX*); -WOLFSSL_API int wolfSSL_MD5_Transform(WOLFSSL_MD5_CTX*, const unsigned char*); +WOLFSSL_API int wolfSSL_MD5_Init(WOLFSSL_MD5_CTX* md5); +WOLFSSL_API int wolfSSL_MD5_Update(WOLFSSL_MD5_CTX* md5, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_MD5_Final(unsigned char* output, WOLFSSL_MD5_CTX* md5); +WOLFSSL_API int wolfSSL_MD5_Transform(WOLFSSL_MD5_CTX* md5, const unsigned char* data); -WOLFSSL_API unsigned char *wolfSSL_MD5(const unsigned char*, size_t, unsigned char*); +WOLFSSL_API unsigned char *wolfSSL_MD5(const unsigned char* data, size_t len, + unsigned char* hash); typedef WOLFSSL_MD5_CTX MD5_CTX; diff --git a/wolfssl/openssl/ocsp.h b/wolfssl/openssl/ocsp.h index b1e9166d8..0768aa418 100644 --- a/wolfssl/openssl/ocsp.h +++ b/wolfssl/openssl/ocsp.h @@ -34,7 +34,7 @@ #define OCSP_CERTID WOLFSSL_OCSP_CERTID #define OCSP_ONEREQ WOLFSSL_OCSP_ONEREQ -#define OCSP_REVOKED_STATUS_NOSTATUS -1 +#define OCSP_REVOKED_STATUS_NOSTATUS (-1) #define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 diff --git a/wolfssl/openssl/pem.h b/wolfssl/openssl/pem.h index 4a585c8ca..ca3e62bf9 100644 --- a/wolfssl/openssl/pem.h +++ b/wolfssl/openssl/pem.h @@ -47,9 +47,7 @@ int wolfSSL_PEM_write_bio_RSAPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa, wc_pem_password_cb* cb, void* arg); WOLFSSL_API WOLFSSL_RSA* wolfSSL_PEM_read_bio_RSAPrivateKey(WOLFSSL_BIO* bio, - WOLFSSL_RSA**, - wc_pem_password_cb* cb, - void* arg); + WOLFSSL_RSA** rsa, wc_pem_password_cb* cb, void* pass); WOLFSSL_API int wolfSSL_PEM_write_bio_RSA_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa); @@ -160,9 +158,9 @@ WOLFSSL_EC_KEY* wolfSSL_PEM_read_bio_EC_PUBKEY(WOLFSSL_BIO* bio, /* EVP_KEY */ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_PEM_read_bio_PrivateKey(WOLFSSL_BIO* bio, - WOLFSSL_EVP_PKEY**, + WOLFSSL_EVP_PKEY** key, wc_pem_password_cb* cb, - void* arg); + void* pass); WOLFSSL_API WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_bio_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY **key, diff --git a/wolfssl/openssl/rsa.h b/wolfssl/openssl/rsa.h index 6700866dd..eb1061741 100644 --- a/wolfssl/openssl/rsa.h +++ b/wolfssl/openssl/rsa.h @@ -50,11 +50,11 @@ #define RSA_FLAG_NO_CONSTTIME (1 << 8) /* Salt length same as digest length */ -#define RSA_PSS_SALTLEN_DIGEST -1 +#define RSA_PSS_SALTLEN_DIGEST (-1) /* Old max salt length */ -#define RSA_PSS_SALTLEN_MAX_SIGN -2 +#define RSA_PSS_SALTLEN_MAX_SIGN (-2) /* Max salt length */ -#define RSA_PSS_SALTLEN_MAX -3 +#define RSA_PSS_SALTLEN_MAX (-3) typedef struct WOLFSSL_RSA_METHOD { int flags; @@ -103,43 +103,49 @@ typedef WOLFSSL_RSA_METHOD RSA_METHOD; WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSA_new_ex(void* heap, int devId); WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSA_new(void); -WOLFSSL_API void wolfSSL_RSA_free(WOLFSSL_RSA*); +WOLFSSL_API void wolfSSL_RSA_free(WOLFSSL_RSA* rsa); -WOLFSSL_API int wolfSSL_RSA_generate_key_ex(WOLFSSL_RSA*, int bits, WOLFSSL_BIGNUM*, - void* cb); +WOLFSSL_API int wolfSSL_RSA_generate_key_ex(WOLFSSL_RSA* rsa, int bits, + WOLFSSL_BIGNUM* bn, void* cb); -WOLFSSL_API int wolfSSL_RSA_blinding_on(WOLFSSL_RSA*, WOLFSSL_BN_CTX*); -WOLFSSL_API int wolfSSL_RSA_check_key(const WOLFSSL_RSA*); +WOLFSSL_API int wolfSSL_RSA_blinding_on(WOLFSSL_RSA* rsa, WOLFSSL_BN_CTX* bn); +WOLFSSL_API int wolfSSL_RSA_check_key(const WOLFSSL_RSA* rsa); WOLFSSL_API int wolfSSL_RSA_public_encrypt(int len, const unsigned char* fr, - unsigned char* to, WOLFSSL_RSA*, int padding); + unsigned char* to, WOLFSSL_RSA* rsa, + int padding); WOLFSSL_API int wolfSSL_RSA_private_decrypt(int len, const unsigned char* fr, - unsigned char* to, WOLFSSL_RSA*, int padding); + unsigned char* to, WOLFSSL_RSA* rsa, + int padding); WOLFSSL_API int wolfSSL_RSA_private_encrypt(int len, const unsigned char* in, unsigned char* out, WOLFSSL_RSA* rsa, int padding); -WOLFSSL_API int wolfSSL_RSA_size(const WOLFSSL_RSA*); -WOLFSSL_API int wolfSSL_RSA_bits(const WOLFSSL_RSA*); +WOLFSSL_API int wolfSSL_RSA_size(const WOLFSSL_RSA* rsa); +WOLFSSL_API int wolfSSL_RSA_bits(const WOLFSSL_RSA* rsa); WOLFSSL_API int wolfSSL_RSA_sign(int type, const unsigned char* m, unsigned int mLen, unsigned char* sigRet, - unsigned int* sigLen, WOLFSSL_RSA*); + unsigned int* sigLen, WOLFSSL_RSA* rsa); WOLFSSL_API int wolfSSL_RSA_sign_ex(int type, const unsigned char* m, unsigned int mLen, unsigned char* sigRet, - unsigned int* sigLen, WOLFSSL_RSA*, int); + unsigned int* sigLen, WOLFSSL_RSA* rsa, + int flag); WOLFSSL_API int wolfSSL_RSA_sign_generic_padding(int type, const unsigned char* m, unsigned int mLen, unsigned char* sigRet, - unsigned int* sigLen, WOLFSSL_RSA*, int, int); + unsigned int* sigLen, WOLFSSL_RSA* rsa, int flag, + int padding); WOLFSSL_API int wolfSSL_RSA_verify(int type, const unsigned char* m, unsigned int mLen, const unsigned char* sig, - unsigned int sigLen, WOLFSSL_RSA*); + unsigned int sigLen, WOLFSSL_RSA* rsa); WOLFSSL_API int wolfSSL_RSA_verify_ex(int type, const unsigned char* m, unsigned int mLen, const unsigned char* sig, unsigned int sigLen, WOLFSSL_RSA* rsa, int padding); WOLFSSL_API int wolfSSL_RSA_public_decrypt(int flen, const unsigned char* from, - unsigned char* to, WOLFSSL_RSA*, int padding); -WOLFSSL_API int wolfSSL_RSA_GenAdd(WOLFSSL_RSA*); -WOLFSSL_API int wolfSSL_RSA_LoadDer(WOLFSSL_RSA*, const unsigned char*, int sz); -WOLFSSL_API int wolfSSL_RSA_LoadDer_ex(WOLFSSL_RSA*, const unsigned char*, int sz, int opt); + unsigned char* to, WOLFSSL_RSA* rsa, int padding); +WOLFSSL_API int wolfSSL_RSA_GenAdd(WOLFSSL_RSA* rsa); +WOLFSSL_API int wolfSSL_RSA_LoadDer(WOLFSSL_RSA* rsa, + const unsigned char* derBuf, int derSz); +WOLFSSL_API int wolfSSL_RSA_LoadDer_ex(WOLFSSL_RSA* rsa, + const unsigned char* derBuf, int derSz, int opt); WOLFSSL_API WOLFSSL_RSA_METHOD *wolfSSL_RSA_meth_new(const char *name, int flags); WOLFSSL_API void wolfSSL_RSA_meth_free(WOLFSSL_RSA_METHOD *meth); diff --git a/wolfssl/openssl/sha.h b/wolfssl/openssl/sha.h index bafafe89b..85bc03138 100644 --- a/wolfssl/openssl/sha.h +++ b/wolfssl/openssl/sha.h @@ -49,16 +49,18 @@ typedef struct WOLFSSL_SHA_CTX { #endif } WOLFSSL_SHA_CTX; -WOLFSSL_API int wolfSSL_SHA_Init(WOLFSSL_SHA_CTX*); -WOLFSSL_API int wolfSSL_SHA_Update(WOLFSSL_SHA_CTX*, const void*, unsigned long); -WOLFSSL_API int wolfSSL_SHA_Final(unsigned char*, WOLFSSL_SHA_CTX*); -WOLFSSL_API int wolfSSL_SHA_Transform(WOLFSSL_SHA_CTX*, - const unsigned char *data); +WOLFSSL_API int wolfSSL_SHA_Init(WOLFSSL_SHA_CTX* sha); +WOLFSSL_API int wolfSSL_SHA_Update(WOLFSSL_SHA_CTX* sha, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_SHA_Final(byte* input, WOLFSSL_SHA_CTX* sha); +WOLFSSL_API int wolfSSL_SHA_Transform(WOLFSSL_SHA_CTX* sha, + const unsigned char* data); /* SHA1 points to above, shouldn't use SHA0 ever */ -WOLFSSL_API int wolfSSL_SHA1_Init(WOLFSSL_SHA_CTX*); -WOLFSSL_API int wolfSSL_SHA1_Update(WOLFSSL_SHA_CTX*, const void*, unsigned long); -WOLFSSL_API int wolfSSL_SHA1_Final(unsigned char*, WOLFSSL_SHA_CTX*); -WOLFSSL_API int wolfSSL_SHA1_Transform(WOLFSSL_SHA_CTX*, +WOLFSSL_API int wolfSSL_SHA1_Init(WOLFSSL_SHA_CTX* sha); +WOLFSSL_API int wolfSSL_SHA1_Update(WOLFSSL_SHA_CTX* sha, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_SHA1_Final(byte* output, WOLFSSL_SHA_CTX* sha); +WOLFSSL_API int wolfSSL_SHA1_Transform(WOLFSSL_SHA_CTX* sha, const unsigned char *data); enum { SHA_DIGEST_LENGTH = 20 @@ -95,10 +97,10 @@ typedef struct WOLFSSL_SHA224_CTX { ALIGN16 void* holder[(272 + WC_ASYNC_DEV_SIZE) / sizeof(void*)]; } WOLFSSL_SHA224_CTX; -WOLFSSL_API int wolfSSL_SHA224_Init(WOLFSSL_SHA224_CTX*); -WOLFSSL_API int wolfSSL_SHA224_Update(WOLFSSL_SHA224_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA224_Final(unsigned char*, WOLFSSL_SHA224_CTX*); +WOLFSSL_API int wolfSSL_SHA224_Init(WOLFSSL_SHA224_CTX* sha); +WOLFSSL_API int wolfSSL_SHA224_Update(WOLFSSL_SHA224_CTX* sha, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_SHA224_Final(byte* output, WOLFSSL_SHA224_CTX* sha); enum { SHA224_DIGEST_LENGTH = 28 @@ -129,11 +131,11 @@ typedef struct WOLFSSL_SHA256_CTX { ALIGN16 void* holder[(272 + WC_ASYNC_DEV_SIZE) / sizeof(void*)]; } WOLFSSL_SHA256_CTX; -WOLFSSL_API int wolfSSL_SHA256_Init(WOLFSSL_SHA256_CTX*); -WOLFSSL_API int wolfSSL_SHA256_Update(WOLFSSL_SHA256_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA256_Final(unsigned char*, WOLFSSL_SHA256_CTX*); -WOLFSSL_API int wolfSSL_SHA256_Transform(WOLFSSL_SHA256_CTX*, +WOLFSSL_API int wolfSSL_SHA256_Init(WOLFSSL_SHA256_CTX* sha256); +WOLFSSL_API int wolfSSL_SHA256_Update(WOLFSSL_SHA256_CTX* sha, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_SHA256_Final(byte* output, WOLFSSL_SHA256_CTX* sha); +WOLFSSL_API int wolfSSL_SHA256_Transform(WOLFSSL_SHA256_CTX* sha256, const unsigned char *data); enum { SHA256_DIGEST_LENGTH = 32 @@ -172,10 +174,10 @@ typedef struct WOLFSSL_SHA384_CTX { void* holder[(268 + WC_ASYNC_DEV_SIZE) / sizeof(void*)]; } WOLFSSL_SHA384_CTX; -WOLFSSL_API int wolfSSL_SHA384_Init(WOLFSSL_SHA384_CTX*); -WOLFSSL_API int wolfSSL_SHA384_Update(WOLFSSL_SHA384_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA384_Final(unsigned char*, WOLFSSL_SHA384_CTX*); +WOLFSSL_API int wolfSSL_SHA384_Init(WOLFSSL_SHA384_CTX* sha); +WOLFSSL_API int wolfSSL_SHA384_Update(WOLFSSL_SHA384_CTX* sha, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_SHA384_Final(byte* output, WOLFSSL_SHA384_CTX* sha); enum { SHA384_DIGEST_LENGTH = 48 @@ -201,12 +203,12 @@ typedef struct WOLFSSL_SHA512_CTX { void* holder[(288 + WC_ASYNC_DEV_SIZE) / sizeof(void*)]; } WOLFSSL_SHA512_CTX; -WOLFSSL_API int wolfSSL_SHA512_Init(WOLFSSL_SHA512_CTX*); -WOLFSSL_API int wolfSSL_SHA512_Update(WOLFSSL_SHA512_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA512_Final(unsigned char*, WOLFSSL_SHA512_CTX*); -WOLFSSL_API int wolfSSL_SHA512_Transform(WOLFSSL_SHA512_CTX*, - const unsigned char*); +WOLFSSL_API int wolfSSL_SHA512_Init(WOLFSSL_SHA512_CTX* sha); +WOLFSSL_API int wolfSSL_SHA512_Update(WOLFSSL_SHA512_CTX* sha, + const void* input, unsigned long sz); +WOLFSSL_API int wolfSSL_SHA512_Final(byte* output, WOLFSSL_SHA512_CTX* sha); +WOLFSSL_API int wolfSSL_SHA512_Transform(WOLFSSL_SHA512_CTX* sha512, + const unsigned char* data); enum { SHA512_DIGEST_LENGTH = 64 }; @@ -228,12 +230,13 @@ typedef WOLFSSL_SHA512_CTX SHA512_CTX; typedef struct WOLFSSL_SHA512_CTX WOLFSSL_SHA512_224_CTX; typedef WOLFSSL_SHA512_224_CTX SHA512_224_CTX; -WOLFSSL_API int wolfSSL_SHA512_224_Init(WOLFSSL_SHA512_CTX*); -WOLFSSL_API int wolfSSL_SHA512_224_Update(WOLFSSL_SHA512_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA512_224_Final(unsigned char*, WOLFSSL_SHA512_CTX*); -WOLFSSL_API int wolfSSL_SHA512_224_Transform(WOLFSSL_SHA512_CTX*, - const unsigned char*); +WOLFSSL_API int wolfSSL_SHA512_224_Init(WOLFSSL_SHA512_CTX* sha); +WOLFSSL_API int wolfSSL_SHA512_224_Update(WOLFSSL_SHA512_224_CTX* sha, + const void* input, unsigned long sz); +WOLFSSL_API int wolfSSL_SHA512_224_Final(byte* output, + WOLFSSL_SHA512_224_CTX* sha); +WOLFSSL_API int wolfSSL_SHA512_224_Transform(WOLFSSL_SHA512_CTX* sha512, + const unsigned char* data); #define SHA512_224_Init wolfSSL_SHA512_224_Init @@ -250,12 +253,12 @@ WOLFSSL_API int wolfSSL_SHA512_224_Transform(WOLFSSL_SHA512_CTX*, typedef struct WOLFSSL_SHA512_CTX WOLFSSL_SHA512_256_CTX; typedef WOLFSSL_SHA512_256_CTX SHA512_256_CTX; -WOLFSSL_API int wolfSSL_SHA512_256_Init(WOLFSSL_SHA512_CTX*); -WOLFSSL_API int wolfSSL_SHA512_256_Update(WOLFSSL_SHA512_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA512_256_Final(unsigned char*, WOLFSSL_SHA512_CTX*); -WOLFSSL_API int wolfSSL_SHA512_256_Transform(WOLFSSL_SHA512_CTX*, - const unsigned char*); +WOLFSSL_API int wolfSSL_SHA512_256_Init(WOLFSSL_SHA512_CTX* sha); +WOLFSSL_API int wolfSSL_SHA512_256_Update(WOLFSSL_SHA512_256_CTX* sha, + const void* input, unsigned long sz); +WOLFSSL_API int wolfSSL_SHA512_256_Final(byte* output, WOLFSSL_SHA512_256_CTX* sha); +WOLFSSL_API int wolfSSL_SHA512_256_Transform(WOLFSSL_SHA512_CTX* sha512, + const unsigned char* data); #define SHA512_256_Init wolfSSL_SHA512_256_Init #define SHA512_256_Update wolfSSL_SHA512_256_Update diff --git a/wolfssl/openssl/sha3.h b/wolfssl/openssl/sha3.h index 4a8050100..c23bbf7f3 100644 --- a/wolfssl/openssl/sha3.h +++ b/wolfssl/openssl/sha3.h @@ -47,10 +47,11 @@ struct WOLFSSL_SHA3_CTX { #ifndef WOLFSSL_NOSHA3_224 typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_224_CTX; -WOLFSSL_API int wolfSSL_SHA3_224_Init(WOLFSSL_SHA3_224_CTX*); -WOLFSSL_API int wolfSSL_SHA3_224_Update(WOLFSSL_SHA3_224_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA3_224_Final(unsigned char*, WOLFSSL_SHA3_224_CTX*); +WOLFSSL_API int wolfSSL_SHA3_224_Init(WOLFSSL_SHA3_224_CTX* sha); +WOLFSSL_API int wolfSSL_SHA3_224_Update(WOLFSSL_SHA3_224_CTX* sha, const void* input, + unsigned long sz); +WOLFSSL_API int wolfSSL_SHA3_224_Final(unsigned char* output, + WOLFSSL_SHA3_224_CTX* sha); enum { SHA3_224_DIGEST_LENGTH = 28 @@ -71,10 +72,11 @@ typedef WOLFSSL_SHA3_224_CTX SHA3_224_CTX; typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_256_CTX; -WOLFSSL_API int wolfSSL_SHA3_256_Init(WOLFSSL_SHA3_256_CTX*); -WOLFSSL_API int wolfSSL_SHA3_256_Update(WOLFSSL_SHA3_256_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA3_256_Final(unsigned char*, WOLFSSL_SHA3_256_CTX*); +WOLFSSL_API int wolfSSL_SHA3_256_Init(WOLFSSL_SHA3_256_CTX* sha); +WOLFSSL_API int wolfSSL_SHA3_256_Update(WOLFSSL_SHA3_256_CTX* sha, + const void* input, unsigned long sz); +WOLFSSL_API int wolfSSL_SHA3_256_Final(unsigned char* output, + WOLFSSL_SHA3_256_CTX* sha); enum { SHA3_256_DIGEST_LENGTH = 32 @@ -94,10 +96,11 @@ typedef WOLFSSL_SHA3_256_CTX SHA3_256_CTX; typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_384_CTX; -WOLFSSL_API int wolfSSL_SHA3_384_Init(WOLFSSL_SHA3_384_CTX*); -WOLFSSL_API int wolfSSL_SHA3_384_Update(WOLFSSL_SHA3_384_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA3_384_Final(unsigned char*, WOLFSSL_SHA3_384_CTX*); +WOLFSSL_API int wolfSSL_SHA3_384_Init(WOLFSSL_SHA3_384_CTX* sha); +WOLFSSL_API int wolfSSL_SHA3_384_Update(WOLFSSL_SHA3_384_CTX* sha, + const void* input, unsigned long sz); +WOLFSSL_API int wolfSSL_SHA3_384_Final(unsigned char* output, + WOLFSSL_SHA3_384_CTX* sha); enum { SHA3_384_DIGEST_LENGTH = 48 @@ -117,10 +120,11 @@ typedef WOLFSSL_SHA3_384_CTX SHA3_384_CTX; typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_512_CTX; -WOLFSSL_API int wolfSSL_SHA3_512_Init(WOLFSSL_SHA3_512_CTX*); -WOLFSSL_API int wolfSSL_SHA3_512_Update(WOLFSSL_SHA3_512_CTX*, const void*, - unsigned long); -WOLFSSL_API int wolfSSL_SHA3_512_Final(unsigned char*, WOLFSSL_SHA3_512_CTX*); +WOLFSSL_API int wolfSSL_SHA3_512_Init(WOLFSSL_SHA3_512_CTX* sha); +WOLFSSL_API int wolfSSL_SHA3_512_Update(WOLFSSL_SHA3_512_CTX* sha, + const void* input, unsigned long sz); +WOLFSSL_API int wolfSSL_SHA3_512_Final(unsigned char* output, + WOLFSSL_SHA3_512_CTX* sha); enum { SHA3_512_DIGEST_LENGTH = 64 diff --git a/wolfssl/openssl/ssl.h b/wolfssl/openssl/ssl.h index 39a9f972c..10958265d 100644 --- a/wolfssl/openssl/ssl.h +++ b/wolfssl/openssl/ssl.h @@ -288,8 +288,8 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; #define SSL_connect wolfSSL_connect #define SSL_clear wolfSSL_clear #define SSL_state wolfSSL_state -#define SSL_read_early_data(ssl, d, dLen, len) wolfSSL_read_early_data(ssl, d, (int)dLen, (int *)len) -#define SSL_write_early_data(ssl, d, dLen, len) wolfSSL_write_early_data(ssl, d, (int)dLen, (int *)len) +#define SSL_read_early_data(ssl, d, dLen, len) wolfSSL_read_early_data(ssl, d, (int)(dLen), (int *)(len)) +#define SSL_write_early_data(ssl, d, dLen, len) wolfSSL_write_early_data(ssl, d, (int)(dLen), (int *)(len)) #define SSL_write wolfSSL_write #define SSL_read wolfSSL_read @@ -878,7 +878,7 @@ wolfSSL_X509_STORE_set_verify_cb((WOLFSSL_X509_STORE *)(s), (WOLFSSL_X509_STORE_ #define SSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb #define SSL_CTX_set_timeout(ctx, to) \ - wolfSSL_CTX_set_timeout(ctx, (unsigned int) to) + wolfSSL_CTX_set_timeout(ctx, (unsigned int)(to)) #define SSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback #define SSL_CTX_set_alpn_protos wolfSSL_CTX_set_alpn_protos @@ -1089,7 +1089,7 @@ typedef WOLFSSL_SRTP_PROTECTION_PROFILE SRTP_PROTECTION_PROFILE; #define SSL_get_srtp_profiles wolfSSL_get_srtp_profiles #ifndef NO_WOLFSSL_STUB -#define SSL_CTX_set_current_time_cb(ssl, cb) ({ (void)ssl; (void)cb; }) +#define SSL_CTX_set_current_time_cb(ssl, cb) ({ (void)(ssl); (void)(cb); }) #endif #define SSL_CTX_use_certificate wolfSSL_CTX_use_certificate @@ -1426,7 +1426,7 @@ typedef WOLFSSL_SRTP_PROTECTION_PROFILE SRTP_PROTECTION_PROFILE; * PEM_read_bio_X509 is called and the return error is lost. * The error that needs to be detected is: SSL_NO_PEM_HEADER. */ -#define ERR_GET_FUNC(l) (int)((((unsigned long)l) >> 12L) & 0xfffL) +#define ERR_GET_FUNC(l) (int)((((unsigned long)(l)) >> 12L) & 0xfffL) #define PEM_F_PEM_DEF_CALLBACK 100 diff --git a/wolfssl/openssl/stack.h b/wolfssl/openssl/stack.h index 8040574fe..fd410b041 100644 --- a/wolfssl/openssl/stack.h +++ b/wolfssl/openssl/stack.h @@ -30,8 +30,8 @@ typedef void (*wolfSSL_sk_freefunc)(void *); -WOLFSSL_API void wolfSSL_sk_GENERIC_pop_free(WOLFSSL_STACK* sk, wolfSSL_sk_freefunc); -WOLFSSL_API void wolfSSL_sk_GENERIC_free(WOLFSSL_STACK *); +WOLFSSL_API void wolfSSL_sk_GENERIC_pop_free(WOLFSSL_STACK* sk, wolfSSL_sk_freefunc f); +WOLFSSL_API void wolfSSL_sk_GENERIC_free(WOLFSSL_STACK *sk); WOLFSSL_API int wolfSSL_sk_GENERIC_push(WOLFSSL_STACK *sk, void *data); WOLFSSL_API void wolfSSL_sk_pop_free(WOLFSSL_STACK *st, void (*func) (void *)); WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_new_null(void); diff --git a/wolfssl/ssl.h b/wolfssl/ssl.h index e01abd32a..6e989d3c1 100644 --- a/wolfssl/ssl.h +++ b/wolfssl/ssl.h @@ -884,7 +884,7 @@ WOLFSSL_ABI WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void); #endif #ifdef HAVE_POLY1305 - WOLFSSL_API int wolfSSL_use_old_poly(WOLFSSL*, int); + WOLFSSL_API int wolfSSL_use_old_poly(WOLFSSL* ssl, int value); #endif #ifdef WOLFSSL_SESSION_EXPORT @@ -931,10 +931,10 @@ WOLFSSL_API int wolfSSL_is_static_memory(WOLFSSL* ssl, #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX*, - const char*, int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, - const char*, int); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_certificate_file( + WOLFSSL_CTX* ctx, const char* file, int format); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file( + WOLFSSL_CTX* ctx, const char* file, int format); #endif @@ -962,76 +962,80 @@ WOLFSSL_API void wolfSSL_CTX_set_verify_depth(WOLFSSL_CTX *ctx,int depth); #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) -WOLFSSL_API int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX*, const char*, - const char*, unsigned int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX*, - const char*, const char*); +WOLFSSL_API int wolfSSL_CTX_load_verify_locations_ex( + WOLFSSL_CTX* ctx, const char* file, const char* path, word32 flags); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_load_verify_locations( + WOLFSSL_CTX* ctx, const char* file, const char* path); #ifdef WOLFSSL_TRUST_PEER_CERT -WOLFSSL_API int wolfSSL_CTX_trust_peer_cert(WOLFSSL_CTX*, const char*, int); +WOLFSSL_API int wolfSSL_CTX_trust_peer_cert( + WOLFSSL_CTX* ctx, const char* file, int type); #endif WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file( - WOLFSSL_CTX*, const char*); -WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file_format(WOLFSSL_CTX *, - const char *file, int format); -WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, int); + WOLFSSL_CTX* ctx, const char* file); +WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file_format( + WOLFSSL_CTX* ctx, const char* file, int format); +WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file( + WOLFSSL_CTX* ctx,const char* file, int format); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_certificate_file(WOLFSSL*, const char*, - int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_PrivateKey_file(WOLFSSL*, const char*, - int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_certificate_chain_file(WOLFSSL*, - const char*); -WOLFSSL_API int wolfSSL_use_certificate_chain_file_format(WOLFSSL*, - const char *file, int format); -WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_certificate_file( + WOLFSSL* ssl, const char* file, int format); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_PrivateKey_file( + WOLFSSL* ssl, const char* file, int format); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_certificate_chain_file( + WOLFSSL* ssl, const char* file); +WOLFSSL_API int wolfSSL_use_certificate_chain_file_format( + WOLFSSL* ssl, const char* file, int format); +WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file( + WOLFSSL* ssl, const char* file, int format); #ifdef WOLFSSL_DER_LOAD - WOLFSSL_API int wolfSSL_CTX_der_load_verify_locations(WOLFSSL_CTX*, - const char*, int); + WOLFSSL_API int wolfSSL_CTX_der_load_verify_locations( + WOLFSSL_CTX* ctx, const char* file, int format); #endif #endif /* !NO_FILESYSTEM && !NO_CERTS */ WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new_ex(WOLFSSL_METHOD* method, void* heap); -WOLFSSL_ABI WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*); +WOLFSSL_ABI WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD* method); #ifdef OPENSSL_EXTRA -WOLFSSL_API int wolfSSL_CTX_up_ref(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_up_ref(WOLFSSL_CTX* ctx); WOLFSSL_API int wolfSSL_CTX_set_ecdh_auto(WOLFSSL_CTX* ctx, int onoff); WOLFSSL_API int wolfSSL_get_signature_nid(WOLFSSL* ssl, int* nid); WOLFSSL_API int wolfSSL_CTX_set1_sigalgs_list(WOLFSSL_CTX* ctx, const char* list); WOLFSSL_API int wolfSSL_set1_sigalgs_list(WOLFSSL* ssl, const char* list); #endif -WOLFSSL_ABI WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX*); +WOLFSSL_ABI WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX* ctx); WOLFSSL_API WOLFSSL_CTX* wolfSSL_get_SSL_CTX(WOLFSSL* ssl); WOLFSSL_API WOLFSSL_X509_VERIFY_PARAM* wolfSSL_CTX_get0_param(WOLFSSL_CTX* ctx); WOLFSSL_API WOLFSSL_X509_VERIFY_PARAM* wolfSSL_get0_param(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_CTX_set1_param(WOLFSSL_CTX* ctx, WOLFSSL_X509_VERIFY_PARAM *vpm); -WOLFSSL_API int wolfSSL_is_server(WOLFSSL*); -WOLFSSL_API WOLFSSL* wolfSSL_write_dup(WOLFSSL*); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_fd (WOLFSSL*, int); -WOLFSSL_API int wolfSSL_set_write_fd (WOLFSSL*, int); -WOLFSSL_API int wolfSSL_set_read_fd (WOLFSSL*, int); +WOLFSSL_API int wolfSSL_is_server(WOLFSSL* ssl); +WOLFSSL_API WOLFSSL* wolfSSL_write_dup(WOLFSSL* ssl); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_fd(WOLFSSL* ssl, int fd); +WOLFSSL_API int wolfSSL_set_write_fd (WOLFSSL* ssl, int fd); +WOLFSSL_API int wolfSSL_set_read_fd (WOLFSSL* ssl, int fd); WOLFSSL_API char* wolfSSL_get_cipher_list(int priority); WOLFSSL_API char* wolfSSL_get_cipher_list_ex(WOLFSSL* ssl, int priority); -WOLFSSL_API int wolfSSL_get_ciphers(char*, int); -WOLFSSL_API int wolfSSL_get_ciphers_iana(char*, int); +WOLFSSL_API int wolfSSL_get_ciphers(char* buf, int len); +WOLFSSL_API int wolfSSL_get_ciphers_iana(char* buf, int len); WOLFSSL_API const char* wolfSSL_get_cipher_name(WOLFSSL* ssl); -WOLFSSL_API const char* wolfSSL_get_cipher_name_from_suite(const unsigned char, - const unsigned char); +WOLFSSL_API const char* wolfSSL_get_cipher_name_from_suite( + unsigned char cipherSuite0, unsigned char cipherSuite); WOLFSSL_API const char* wolfSSL_get_cipher_name_iana_from_suite( - const unsigned char, const unsigned char); + unsigned char cipherSuite0, unsigned char cipherSuite); WOLFSSL_API int wolfSSL_get_cipher_suite_from_name(const char* name, - byte* cipherSuite0, byte* cipherSuite, int* flags); + unsigned char* cipherSuite0, unsigned char* cipherSuite, int *flags); WOLFSSL_API const char* wolfSSL_get_shared_ciphers(WOLFSSL* ssl, char* buf, int len); WOLFSSL_API const char* wolfSSL_get_curve_name(WOLFSSL* ssl); -WOLFSSL_API int wolfSSL_get_fd(const WOLFSSL*); +WOLFSSL_API int wolfSSL_get_fd(const WOLFSSL* ssl); /* please see note at top of README if you get an error from connect */ -WOLFSSL_ABI WOLFSSL_API int wolfSSL_connect(WOLFSSL*); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_write(WOLFSSL*, const void*, int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_read(WOLFSSL*, void*, int); -WOLFSSL_API int wolfSSL_peek(WOLFSSL*, void*, int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_accept(WOLFSSL*); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_connect(WOLFSSL* ssl); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_write( + WOLFSSL* ssl, const void* data, int sz); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_read(WOLFSSL* ssl, void* data, int sz); +WOLFSSL_API int wolfSSL_peek(WOLFSSL* ssl, void* data, int sz); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_accept(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_CTX_mutual_auth(WOLFSSL_CTX* ctx, int req); WOLFSSL_API int wolfSSL_mutual_auth(WOLFSSL* ssl, int req); #ifdef WOLFSSL_TLS13 @@ -1061,8 +1065,8 @@ WOLFSSL_API int wolfSSL_CTX_set1_groups(WOLFSSL_CTX* ctx, int* groups, WOLFSSL_API int wolfSSL_set1_groups(WOLFSSL* ssl, int* groups, int count); #endif -WOLFSSL_API int wolfSSL_connect_TLSv13(WOLFSSL*); -WOLFSSL_API int wolfSSL_accept_TLSv13(WOLFSSL*); +WOLFSSL_API int wolfSSL_connect_TLSv13(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_accept_TLSv13(WOLFSSL* ssl); #ifdef WOLFSSL_EARLY_DATA @@ -1082,28 +1086,28 @@ WOLFSSL_API int wolfSSL_read_early_data(WOLFSSL* ssl, void* data, int sz, WOLFSSL_API int wolfSSL_get_early_data_status(const WOLFSSL* ssl); #endif /* WOLFSSL_EARLY_DATA */ #endif /* WOLFSSL_TLS13 */ -WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_free(WOLFSSL_CTX*); -WOLFSSL_ABI WOLFSSL_API void wolfSSL_free(WOLFSSL*); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_shutdown(WOLFSSL*); -WOLFSSL_API int wolfSSL_send(WOLFSSL*, const void*, int sz, int flags); -WOLFSSL_API int wolfSSL_recv(WOLFSSL*, void*, int sz, int flags); +WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_free(WOLFSSL_CTX* ctx); +WOLFSSL_ABI WOLFSSL_API void wolfSSL_free(WOLFSSL* ssl); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_shutdown(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_send(WOLFSSL* ssl, const void* data, int sz, int flags); +WOLFSSL_API int wolfSSL_recv(WOLFSSL* ssl, void* data, int sz, int flags); -WOLFSSL_API void wolfSSL_CTX_set_quiet_shutdown(WOLFSSL_CTX*, int); -WOLFSSL_API void wolfSSL_set_quiet_shutdown(WOLFSSL*, int); +WOLFSSL_API void wolfSSL_CTX_set_quiet_shutdown(WOLFSSL_CTX* ctx, int mode); +WOLFSSL_API void wolfSSL_set_quiet_shutdown(WOLFSSL* ssl, int mode); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_get_error(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL*, WOLFSSL_ALERT_HISTORY *); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_get_error(WOLFSSL* ssl, int ret); +WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL* ssl, WOLFSSL_ALERT_HISTORY *h); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_session(WOLFSSL*, WOLFSSL_SESSION*); -WOLFSSL_API long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION*, long); -WOLFSSL_ABI WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL*); -WOLFSSL_ABI WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX*, long); -WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL*, const unsigned char*, int, int); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_session(WOLFSSL* ssl, WOLFSSL_SESSION* session); +WOLFSSL_API long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION* ses, long t); +WOLFSSL_ABI WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL* ssl); +WOLFSSL_ABI WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX* ctx, long tm); +WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL* ssl, const unsigned char* id, int len, int newSession); #if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY) \ || defined(WOLFSSL_NGINX) -WOLFSSL_API int wolfSSL_BIO_new_bio_pair(WOLFSSL_BIO**, size_t, - WOLFSSL_BIO**, size_t); +WOLFSSL_API int wolfSSL_BIO_new_bio_pair(WOLFSSL_BIO** bio1_p, size_t writebuf1, + WOLFSSL_BIO** bio2_p, size_t writebuf2); WOLFSSL_API int wolfSSL_RSA_padding_add_PKCS1_PSS(WOLFSSL_RSA *rsa, unsigned char *EM, @@ -1113,11 +1117,11 @@ WOLFSSL_API int wolfSSL_RSA_padding_add_PKCS1_PSS(WOLFSSL_RSA *rsa, WOLFSSL_API int wolfSSL_RSA_verify_PKCS1_PSS(WOLFSSL_RSA *rsa, const unsigned char *mHash, const WOLFSSL_EVP_MD *hashAlg, const unsigned char *EM, int saltLen); -WOLFSSL_API WOLFSSL_RSA* wolfSSL_d2i_RSAPrivateKey_bio(WOLFSSL_BIO*, WOLFSSL_RSA**); -WOLFSSL_API int wolfSSL_CTX_use_certificate_ASN1(WOLFSSL_CTX*, - int, const unsigned char*); -WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey(WOLFSSL_CTX*, WOLFSSL_RSA*); -WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey_bio(WOLFSSL_BIO*, WOLFSSL_EVP_PKEY**); +WOLFSSL_API WOLFSSL_RSA* wolfSSL_d2i_RSAPrivateKey_bio(WOLFSSL_BIO* bio, WOLFSSL_RSA** out); +WOLFSSL_API int wolfSSL_CTX_use_certificate_ASN1(WOLFSSL_CTX* ctx, + int derSz, const unsigned char* der); +WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey(WOLFSSL_CTX* ctx, WOLFSSL_RSA* rsa); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey_bio(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY** pkey); #endif /* OPENSSL_ALL || WOLFSSL_ASIO */ #ifdef SESSION_INDEX @@ -1132,7 +1136,7 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_SESSION_get0_peer(WOLFSSL_SESSION* session); #endif /* SESSION_INDEX && SESSION_CERTS */ typedef int (*VerifyCallback)(int, WOLFSSL_X509_STORE_CTX*); -typedef void (CallbackInfoState)(const WOLFSSL*, int, int); +typedef void (CallbackInfoState)(const WOLFSSL* ssl, int, int); /* class index for wolfSSL_CRYPTO_get_ex_new_index */ #define CRYPTO_EX_INDEX_SSL 0 @@ -1167,7 +1171,7 @@ WOLFSSL_API int wolfSSL_get_ex_new_index(long argValue, void* arg, #endif -WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_set_verify(WOLFSSL_CTX*, int, +WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_set_verify(WOLFSSL_CTX* ctx, int mode, VerifyCallback verify_callback); #ifdef OPENSSL_ALL @@ -1176,54 +1180,54 @@ WOLFSSL_API void wolfSSL_CTX_set_cert_verify_callback(WOLFSSL_CTX* ctx, CertVerifyCallback cb, void* arg); #endif -WOLFSSL_API void wolfSSL_set_verify(WOLFSSL*, int, VerifyCallback verify_callback); -WOLFSSL_API void wolfSSL_set_verify_result(WOLFSSL*, long); +WOLFSSL_API void wolfSSL_set_verify(WOLFSSL* ssl, int mode, VerifyCallback verify_callback); +WOLFSSL_API void wolfSSL_set_verify_result(WOLFSSL* ssl, long v); #if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \ defined(WOLFSSL_TLS13) && defined(WOLFSSL_POST_HANDSHAKE_AUTH) -WOLFSSL_API int wolfSSL_verify_client_post_handshake(WOLFSSL*); -WOLFSSL_API int wolfSSL_CTX_set_post_handshake_auth(WOLFSSL_CTX*, int); -WOLFSSL_API int wolfSSL_set_post_handshake_auth(WOLFSSL*, int); +WOLFSSL_API int wolfSSL_verify_client_post_handshake(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_CTX_set_post_handshake_auth(WOLFSSL_CTX* ctx, int val); +WOLFSSL_API int wolfSSL_set_post_handshake_auth(WOLFSSL* ssl, int val); #endif -WOLFSSL_API void wolfSSL_SetCertCbCtx(WOLFSSL*, void*); +WOLFSSL_API void wolfSSL_SetCertCbCtx(WOLFSSL* ssl, void* ctx); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_pending(WOLFSSL*); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_pending(WOLFSSL* ssl); WOLFSSL_API void wolfSSL_load_error_strings(void); WOLFSSL_API int wolfSSL_library_init(void); -WOLFSSL_ABI WOLFSSL_API long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX*, - long); +WOLFSSL_ABI WOLFSSL_API long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX* ctx, + long mode); #ifdef HAVE_SECRET_CALLBACK typedef int (*SessionSecretCb)(WOLFSSL* ssl, void* secret, int* secretSz, void* ctx); -WOLFSSL_API int wolfSSL_set_session_secret_cb(WOLFSSL*, SessionSecretCb, +WOLFSSL_API int wolfSSL_set_session_secret_cb(WOLFSSL* ssl, SessionSecretCb, void*); #ifdef WOLFSSL_TLS13 typedef int (*Tls13SecretCb)(WOLFSSL* ssl, int id, const unsigned char* secret, int secretSz, void* ctx); -WOLFSSL_API int wolfSSL_set_tls13_secret_cb(WOLFSSL*, Tls13SecretCb, void*); +WOLFSSL_API int wolfSSL_set_tls13_secret_cb(WOLFSSL* ssl, Tls13SecretCb, void*); #endif #endif /* HAVE_SECRET_CALLBACK */ /* session cache persistence */ -WOLFSSL_API int wolfSSL_save_session_cache(const char*); -WOLFSSL_API int wolfSSL_restore_session_cache(const char*); -WOLFSSL_API int wolfSSL_memsave_session_cache(void*, int); -WOLFSSL_API int wolfSSL_memrestore_session_cache(const void*, int); +WOLFSSL_API int wolfSSL_save_session_cache(const char* fname); +WOLFSSL_API int wolfSSL_restore_session_cache(const char* fname); +WOLFSSL_API int wolfSSL_memsave_session_cache(void* mem, int sz); +WOLFSSL_API int wolfSSL_memrestore_session_cache(const void* mem, int sz); WOLFSSL_API int wolfSSL_get_session_cache_memsize(void); /* certificate cache persistence, uses ctx since certs are per ctx */ -WOLFSSL_API int wolfSSL_CTX_save_cert_cache(WOLFSSL_CTX*, const char*); -WOLFSSL_API int wolfSSL_CTX_restore_cert_cache(WOLFSSL_CTX*, const char*); -WOLFSSL_API int wolfSSL_CTX_memsave_cert_cache(WOLFSSL_CTX*, void*, int, int*); -WOLFSSL_API int wolfSSL_CTX_memrestore_cert_cache(WOLFSSL_CTX*, const void*, int); -WOLFSSL_API int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_save_cert_cache(WOLFSSL_CTX* ctx, const char* fname); +WOLFSSL_API int wolfSSL_CTX_restore_cert_cache(WOLFSSL_CTX* ctx, const char* fname); +WOLFSSL_API int wolfSSL_CTX_memsave_cert_cache(WOLFSSL_CTX* ctx, void* mem, int sz, int* used); +WOLFSSL_API int wolfSSL_CTX_memrestore_cert_cache(WOLFSSL_CTX* ctx, const void* mem, int sz); +WOLFSSL_API int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX* ctx); /* only supports full name from cipher_name[] delimited by : */ -WOLFSSL_API int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX*, const char*); -WOLFSSL_API int wolfSSL_set_cipher_list(WOLFSSL*, const char*); +WOLFSSL_API int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX* ctx, const char* list); +WOLFSSL_API int wolfSSL_set_cipher_list(WOLFSSL* ssl, const char* list); #ifdef HAVE_KEYING_MATERIAL /* Keying Material Exporter for TLS */ @@ -1266,8 +1270,8 @@ WOLFSSL_API int wolfSSL_set_ConnectFilter( #endif /* WOLFSSL_WOLFSENTRY_HOOKS */ /* Nonblocking DTLS helper functions */ -WOLFSSL_API void wolfSSL_dtls_set_using_nonblock(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_dtls_get_using_nonblock(WOLFSSL*); +WOLFSSL_API void wolfSSL_dtls_set_using_nonblock(WOLFSSL* ssl, int nonblock); +WOLFSSL_API int wolfSSL_dtls_get_using_nonblock(WOLFSSL* ssl); #define wolfSSL_set_using_nonblock wolfSSL_dtls_set_using_nonblock #define wolfSSL_get_using_nonblock wolfSSL_dtls_get_using_nonblock /* The old names are deprecated. */ @@ -1278,19 +1282,19 @@ WOLFSSL_API void wolfSSL_DTLSv1_set_initial_timeout_duration(WOLFSSL* ssl, word32 duration_ms); WOLFSSL_API int wolfSSL_DTLSv1_handle_timeout(WOLFSSL* ssl); -WOLFSSL_API int wolfSSL_dtls_set_timeout_init(WOLFSSL* ssl, int); -WOLFSSL_API int wolfSSL_dtls_set_timeout_max(WOLFSSL* ssl, int); +WOLFSSL_API int wolfSSL_dtls_set_timeout_init(WOLFSSL* ssl, int timeout); +WOLFSSL_API int wolfSSL_dtls_set_timeout_max(WOLFSSL* ssl, int timeout); WOLFSSL_API int wolfSSL_dtls_got_timeout(WOLFSSL* ssl); -WOLFSSL_API int wolfSSL_dtls_retransmit(WOLFSSL*); +WOLFSSL_API int wolfSSL_dtls_retransmit(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_dtls(WOLFSSL* ssl); -WOLFSSL_API int wolfSSL_dtls_set_peer(WOLFSSL*, void*, unsigned int); -WOLFSSL_API int wolfSSL_dtls_get_peer(WOLFSSL*, void*, unsigned int*); +WOLFSSL_API int wolfSSL_dtls_set_peer(WOLFSSL* ssl, void* peer, unsigned int peerSz); +WOLFSSL_API int wolfSSL_dtls_get_peer(WOLFSSL* ssl, void* peer, unsigned int* peerSz); -WOLFSSL_API int wolfSSL_CTX_dtls_set_sctp(WOLFSSL_CTX*); -WOLFSSL_API int wolfSSL_dtls_set_sctp(WOLFSSL*); -WOLFSSL_API int wolfSSL_CTX_dtls_set_mtu(WOLFSSL_CTX*, unsigned short); -WOLFSSL_API int wolfSSL_dtls_set_mtu(WOLFSSL*, unsigned short); +WOLFSSL_API int wolfSSL_CTX_dtls_set_sctp(WOLFSSL_CTX* ctx); +WOLFSSL_API int wolfSSL_dtls_set_sctp(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_CTX_dtls_set_mtu(WOLFSSL_CTX* ctx, unsigned short); +WOLFSSL_API int wolfSSL_dtls_set_mtu(WOLFSSL* ssl, unsigned short); #ifdef WOLFSSL_SRTP @@ -1313,47 +1317,47 @@ typedef struct WOLFSSL_SRTP_PROTECTION_PROFILE { } WOLFSSL_SRTP_PROTECTION_PROFILE; /* Compatibility API's for SRTP */ -WOLFSSL_API int wolfSSL_CTX_set_tlsext_use_srtp(WOLFSSL_CTX*, const char*); -WOLFSSL_API int wolfSSL_set_tlsext_use_srtp(WOLFSSL*, const char*); +WOLFSSL_API int wolfSSL_CTX_set_tlsext_use_srtp(WOLFSSL_CTX* ctx, const char*); +WOLFSSL_API int wolfSSL_set_tlsext_use_srtp(WOLFSSL* ssl, const char*); WOLFSSL_API const WOLFSSL_SRTP_PROTECTION_PROFILE* - wolfSSL_get_selected_srtp_profile(WOLFSSL*); + wolfSSL_get_selected_srtp_profile(WOLFSSL* ssl); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_SRTP_PROTECTION_PROFILE)* - wolfSSL_get_srtp_profiles(WOLFSSL*); + wolfSSL_get_srtp_profiles(WOLFSSL* ssl); /* Non standard API for getting the SRTP session keys using KDF */ -WOLFSSL_API int wolfSSL_export_dtls_srtp_keying_material(WOLFSSL*, +WOLFSSL_API int wolfSSL_export_dtls_srtp_keying_material(WOLFSSL* ssl, unsigned char*, size_t*); #endif /* WOLFSSL_SRTP */ -WOLFSSL_API int wolfSSL_dtls_get_drop_stats(WOLFSSL*, +WOLFSSL_API int wolfSSL_dtls_get_drop_stats(WOLFSSL* ssl, unsigned int*, unsigned int*); -WOLFSSL_API int wolfSSL_CTX_mcast_set_member_id(WOLFSSL_CTX*, unsigned short); -WOLFSSL_API int wolfSSL_set_secret(WOLFSSL*, unsigned short, - const unsigned char*, unsigned int, - const unsigned char*, const unsigned char*, - const unsigned char*); -WOLFSSL_API int wolfSSL_mcast_read(WOLFSSL*, unsigned short*, void*, int); -WOLFSSL_API int wolfSSL_mcast_peer_add(WOLFSSL*, unsigned short, int); -WOLFSSL_API int wolfSSL_mcast_peer_known(WOLFSSL*, unsigned short); +WOLFSSL_API int wolfSSL_CTX_mcast_set_member_id(WOLFSSL_CTX* ctx, unsigned short id); +WOLFSSL_API int wolfSSL_set_secret(WOLFSSL* ssl, unsigned short epoch, + const unsigned char* preMasterSecret, unsigned int preMasterSz, + const unsigned char* clientRandom, const unsigned char* serverRandom, + const unsigned char* suite); +WOLFSSL_API int wolfSSL_mcast_read(WOLFSSL* ssl, unsigned short* id, void* data, int sz); +WOLFSSL_API int wolfSSL_mcast_peer_add(WOLFSSL* ssl, unsigned short peerId, int sub); +WOLFSSL_API int wolfSSL_mcast_peer_known(WOLFSSL* ssl, unsigned short peerId); WOLFSSL_API int wolfSSL_mcast_get_max_peers(void); typedef int (*CallbackMcastHighwater)(unsigned short peerId, unsigned int maxSeq, unsigned int curSeq, void* ctx); -WOLFSSL_API int wolfSSL_CTX_mcast_set_highwater_cb(WOLFSSL_CTX*, - unsigned int, - unsigned int, - unsigned int, - CallbackMcastHighwater); -WOLFSSL_API int wolfSSL_mcast_set_highwater_ctx(WOLFSSL*, void*); +WOLFSSL_API int wolfSSL_CTX_mcast_set_highwater_cb(WOLFSSL_CTX* ctx, + unsigned int maxSeq, + unsigned int first, + unsigned int second, + CallbackMcastHighwater cb); +WOLFSSL_API int wolfSSL_mcast_set_highwater_ctx(WOLFSSL* ssl, void* ctx); WOLFSSL_API int wolfSSL_ERR_GET_LIB(unsigned long err); WOLFSSL_API int wolfSSL_ERR_GET_REASON(unsigned long err); -WOLFSSL_API char* wolfSSL_ERR_error_string(unsigned long,char*); +WOLFSSL_API char* wolfSSL_ERR_error_string(unsigned long errNumber,char* data); WOLFSSL_API void wolfSSL_ERR_error_string_n(unsigned long e, char* buf, unsigned long sz); -WOLFSSL_API const char* wolfSSL_ERR_reason_error_string(unsigned long); -WOLFSSL_API const char* wolfSSL_ERR_func_error_string(unsigned long); -WOLFSSL_API const char* wolfSSL_ERR_lib_error_string(unsigned long); +WOLFSSL_API const char* wolfSSL_ERR_reason_error_string(unsigned long e); +WOLFSSL_API const char* wolfSSL_ERR_func_error_string(unsigned long e); +WOLFSSL_API const char* wolfSSL_ERR_lib_error_string(unsigned long e); /* extras */ @@ -1456,7 +1460,7 @@ WOLFSSL_API int wolfSSL_ASN1_UNIVERSALSTRING_to_string(WOLFSSL_ASN1_STRING *s); WOLFSSL_API int wolfSSL_sk_X509_EXTENSION_num(WOLF_STACK_OF(WOLFSSL_X509_EXTENSION)* sk); WOLFSSL_API WOLFSSL_X509_EXTENSION* wolfSSL_sk_X509_EXTENSION_value( WOLF_STACK_OF(WOLFSSL_X509_EXTENSION)* sk, int idx); -WOLFSSL_API int wolfSSL_set_ex_data(WOLFSSL*, int, void*); +WOLFSSL_API int wolfSSL_set_ex_data(WOLFSSL* ssl, int idx, void* data); #ifdef HAVE_EX_DATA_CLEANUP_HOOKS WOLFSSL_API int wolfSSL_set_ex_data_with_cleanup( WOLFSSL* ssl, @@ -1464,15 +1468,15 @@ WOLFSSL_API int wolfSSL_set_ex_data_with_cleanup( void* data, wolfSSL_ex_data_cleanup_routine_t cleanup_routine); #endif -WOLFSSL_API int wolfSSL_get_shutdown(const WOLFSSL*); -WOLFSSL_API int wolfSSL_set_rfd(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_set_wfd(WOLFSSL*, int); -WOLFSSL_API void wolfSSL_set_shutdown(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_set_session_id_context(WOLFSSL*, const unsigned char*, - unsigned int); -WOLFSSL_API void wolfSSL_set_connect_state(WOLFSSL*); -WOLFSSL_API void wolfSSL_set_accept_state(WOLFSSL*); -WOLFSSL_API int wolfSSL_session_reused(WOLFSSL*); +WOLFSSL_API int wolfSSL_get_shutdown(const WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_set_rfd(WOLFSSL* ssl, int rfd); +WOLFSSL_API int wolfSSL_set_wfd(WOLFSSL* ssl, int wfd); +WOLFSSL_API void wolfSSL_set_shutdown(WOLFSSL* ssl, int opt); +WOLFSSL_API int wolfSSL_set_session_id_context(WOLFSSL* ssl, const unsigned char* id, + unsigned int len); +WOLFSSL_API void wolfSSL_set_connect_state(WOLFSSL* ssl); +WOLFSSL_API void wolfSSL_set_accept_state(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_session_reused(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_SESSION_up_ref(WOLFSSL_SESSION* session); WOLFSSL_API WOLFSSL_SESSION* wolfSSL_SESSION_dup(WOLFSSL_SESSION* session); WOLFSSL_API WOLFSSL_SESSION* wolfSSL_SESSION_new(void); @@ -1480,12 +1484,12 @@ WOLFSSL_API WOLFSSL_SESSION* wolfSSL_SESSION_new_ex(void* heap); WOLFSSL_API void wolfSSL_SESSION_free(WOLFSSL_SESSION* session); WOLFSSL_API int wolfSSL_SESSION_set_cipher(WOLFSSL_SESSION* session, const WOLFSSL_CIPHER* cipher); -WOLFSSL_API int wolfSSL_is_init_finished(WOLFSSL*); +WOLFSSL_API int wolfSSL_is_init_finished(WOLFSSL* ssl); -WOLFSSL_API const char* wolfSSL_get_version(const WOLFSSL*); +WOLFSSL_API const char* wolfSSL_get_version(const WOLFSSL* ssl); WOLFSSL_API int wolfSSL_get_current_cipher_suite(WOLFSSL* ssl); -WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_get_current_cipher(WOLFSSL*); -WOLFSSL_API char* wolfSSL_CIPHER_description(const WOLFSSL_CIPHER*, char*, int); +WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_get_current_cipher(WOLFSSL* ssl); +WOLFSSL_API char* wolfSSL_CIPHER_description(const WOLFSSL_CIPHER* cipher, char* in, int len); WOLFSSL_API const char* wolfSSL_CIPHER_get_name(const WOLFSSL_CIPHER* cipher); WOLFSSL_API const char* wolfSSL_CIPHER_get_version(const WOLFSSL_CIPHER* cipher); WOLFSSL_API word32 wolfSSL_CIPHER_get_id(const WOLFSSL_CIPHER* cipher); @@ -1496,7 +1500,7 @@ WOLFSSL_API int wolfSSL_CIPHER_get_kx_nid(const WOLFSSL_CIPHER* cipher); WOLFSSL_API int wolfSSL_CIPHER_is_aead(const WOLFSSL_CIPHER* cipher); WOLFSSL_API const WOLFSSL_CIPHER* wolfSSL_get_cipher_by_value(word16 value); WOLFSSL_API const char* wolfSSL_SESSION_CIPHER_get_name(WOLFSSL_SESSION* session); -WOLFSSL_API const char* wolfSSL_get_cipher(WOLFSSL*); +WOLFSSL_API const char* wolfSSL_get_cipher(WOLFSSL* ssl); WOLFSSL_API void wolfSSL_sk_CIPHER_free(WOLF_STACK_OF(WOLFSSL_CIPHER)* sk); WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get1_session(WOLFSSL* ssl); @@ -1517,23 +1521,23 @@ WOLFSSL_API WOLFSSL_METHOD* wolfSSLv2_client_method(void); WOLFSSL_API WOLFSSL_METHOD* wolfSSLv2_server_method(void); #if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L -WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new(const WOLFSSL_BIO_METHOD*); +WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new(const WOLFSSL_BIO_METHOD* method); #else WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new(WOLFSSL_BIO_METHOD*); #endif -WOLFSSL_API int wolfSSL_BIO_free(WOLFSSL_BIO*); -WOLFSSL_API void wolfSSL_BIO_vfree(WOLFSSL_BIO*); -WOLFSSL_API void wolfSSL_BIO_free_all(WOLFSSL_BIO*); +WOLFSSL_API int wolfSSL_BIO_free(WOLFSSL_BIO* bio); +WOLFSSL_API void wolfSSL_BIO_vfree(WOLFSSL_BIO* bio); +WOLFSSL_API void wolfSSL_BIO_free_all(WOLFSSL_BIO* bio); WOLFSSL_API int wolfSSL_BIO_gets(WOLFSSL_BIO* bio, char* buf, int sz); WOLFSSL_API int wolfSSL_BIO_puts(WOLFSSL_BIO* bio, const char* buf); WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_next(WOLFSSL_BIO* bio); WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_find_type(WOLFSSL_BIO* bio, int type); -WOLFSSL_API int wolfSSL_BIO_read(WOLFSSL_BIO*, void*, int); -WOLFSSL_API int wolfSSL_BIO_write(WOLFSSL_BIO*, const void*, int); -WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_push(WOLFSSL_BIO*, WOLFSSL_BIO* append); -WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_pop(WOLFSSL_BIO*); -WOLFSSL_API int wolfSSL_BIO_flush(WOLFSSL_BIO*); -WOLFSSL_API int wolfSSL_BIO_pending(WOLFSSL_BIO*); +WOLFSSL_API int wolfSSL_BIO_read(WOLFSSL_BIO* bio, void* buf, int len); +WOLFSSL_API int wolfSSL_BIO_write(WOLFSSL_BIO* bio, const void* data, int len); +WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_push(WOLFSSL_BIO* top, WOLFSSL_BIO* append); +WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_pop(WOLFSSL_BIO* bio); +WOLFSSL_API int wolfSSL_BIO_flush(WOLFSSL_BIO* bio); +WOLFSSL_API int wolfSSL_BIO_pending(WOLFSSL_BIO* bio); WOLFSSL_API void wolfSSL_BIO_set_callback(WOLFSSL_BIO *bio, wolf_bio_info_cb callback_func); WOLFSSL_API wolf_bio_info_cb wolfSSL_BIO_get_callback(WOLFSSL_BIO *bio); @@ -1545,14 +1549,14 @@ WOLFSSL_API int wolfSSL_BIO_get_md_ctx(WOLFSSL_BIO *bio, WOLFSSL_EVP_MD_CTX **mdcp); WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_f_buffer(void); -WOLFSSL_API long wolfSSL_BIO_set_write_buffer_size(WOLFSSL_BIO*, long size); +WOLFSSL_API long wolfSSL_BIO_set_write_buffer_size(WOLFSSL_BIO* bio, long size); WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_f_ssl(void); WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_socket(int sfd, int flag); -WOLFSSL_API int wolfSSL_BIO_eof(WOLFSSL_BIO*); +WOLFSSL_API int wolfSSL_BIO_eof(WOLFSSL_BIO* b); WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_s_mem(void); WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_f_base64(void); -WOLFSSL_API void wolfSSL_BIO_set_flags(WOLFSSL_BIO*, int); +WOLFSSL_API void wolfSSL_BIO_set_flags(WOLFSSL_BIO* bio, int flags); WOLFSSL_API void wolfSSL_BIO_clear_flags(WOLFSSL_BIO *bio, int flags); WOLFSSL_API int wolfSSL_BIO_get_fd(WOLFSSL_BIO *bio, int* fd); WOLFSSL_API int wolfSSL_BIO_set_ex_data(WOLFSSL_BIO *bio, int idx, void *data); @@ -1564,36 +1568,36 @@ WOLFSSL_API int wolfSSL_BIO_set_ex_data_with_cleanup( wolfSSL_ex_data_cleanup_routine_t cleanup_routine); #endif WOLFSSL_API void *wolfSSL_BIO_get_ex_data(WOLFSSL_BIO *bio, int idx); -WOLFSSL_API long wolfSSL_BIO_set_nbio(WOLFSSL_BIO*, long); +WOLFSSL_API long wolfSSL_BIO_set_nbio(WOLFSSL_BIO* bio, long on); WOLFSSL_API int wolfSSL_BIO_get_mem_data(WOLFSSL_BIO* bio,void* p); -WOLFSSL_API void wolfSSL_BIO_set_init(WOLFSSL_BIO*, int); -WOLFSSL_API void wolfSSL_BIO_set_data(WOLFSSL_BIO*, void*); -WOLFSSL_API void* wolfSSL_BIO_get_data(WOLFSSL_BIO*); -WOLFSSL_API void wolfSSL_BIO_set_shutdown(WOLFSSL_BIO*, int); -WOLFSSL_API int wolfSSL_BIO_get_shutdown(WOLFSSL_BIO*); -WOLFSSL_API void wolfSSL_BIO_clear_retry_flags(WOLFSSL_BIO*); +WOLFSSL_API void wolfSSL_BIO_set_init(WOLFSSL_BIO* bio, int init); +WOLFSSL_API void wolfSSL_BIO_set_data(WOLFSSL_BIO* bio, void* ptr); +WOLFSSL_API void* wolfSSL_BIO_get_data(WOLFSSL_BIO* bio); +WOLFSSL_API void wolfSSL_BIO_set_shutdown(WOLFSSL_BIO* bio, int shut); +WOLFSSL_API int wolfSSL_BIO_get_shutdown(WOLFSSL_BIO* bio); +WOLFSSL_API void wolfSSL_BIO_clear_retry_flags(WOLFSSL_BIO* bio); WOLFSSL_API int wolfSSL_BIO_should_retry(WOLFSSL_BIO *bio); -WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_meth_new(int, const char*); -WOLFSSL_API void wolfSSL_BIO_meth_free(WOLFSSL_BIO_METHOD*); -WOLFSSL_API int wolfSSL_BIO_meth_set_write(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_write_cb); -WOLFSSL_API int wolfSSL_BIO_meth_set_read(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_read_cb); -WOLFSSL_API int wolfSSL_BIO_meth_set_puts(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_puts_cb); -WOLFSSL_API int wolfSSL_BIO_meth_set_gets(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_gets_cb); -WOLFSSL_API int wolfSSL_BIO_meth_set_ctrl(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_ctrl_get_cb); -WOLFSSL_API int wolfSSL_BIO_meth_set_create(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_create_cb); -WOLFSSL_API int wolfSSL_BIO_meth_set_destroy(WOLFSSL_BIO_METHOD*, wolfSSL_BIO_meth_destroy_cb); +WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_meth_new(int type, const char* name); +WOLFSSL_API void wolfSSL_BIO_meth_free(WOLFSSL_BIO_METHOD* biom); +WOLFSSL_API int wolfSSL_BIO_meth_set_write(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_write_cb biom_write); +WOLFSSL_API int wolfSSL_BIO_meth_set_read(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_read_cb biom_read); +WOLFSSL_API int wolfSSL_BIO_meth_set_puts(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_puts_cb biom_puts); +WOLFSSL_API int wolfSSL_BIO_meth_set_gets(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_gets_cb biom_gets); +WOLFSSL_API int wolfSSL_BIO_meth_set_ctrl(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_ctrl_get_cb biom_ctrl); +WOLFSSL_API int wolfSSL_BIO_meth_set_create(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_create_cb biom_create); +WOLFSSL_API int wolfSSL_BIO_meth_set_destroy(WOLFSSL_BIO_METHOD* biom, wolfSSL_BIO_meth_destroy_cb biom_destroy); WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_mem_buf(const void* buf, int len); -WOLFSSL_API long wolfSSL_BIO_set_ssl(WOLFSSL_BIO*, WOLFSSL*, int flag); -WOLFSSL_API long wolfSSL_BIO_get_ssl(WOLFSSL_BIO*, WOLFSSL**); +WOLFSSL_API long wolfSSL_BIO_set_ssl(WOLFSSL_BIO* b, WOLFSSL* ssl, int flag); +WOLFSSL_API long wolfSSL_BIO_get_ssl(WOLFSSL_BIO* bio, WOLFSSL** ssl); #ifndef NO_FILESYSTEM WOLFSSL_API long wolfSSL_BIO_set_fd(WOLFSSL_BIO* b, int fd, int flag); #endif WOLFSSL_API int wolfSSL_BIO_set_close(WOLFSSL_BIO *b, long flag); -WOLFSSL_API void wolfSSL_set_bio(WOLFSSL*, WOLFSSL_BIO* rd, WOLFSSL_BIO* wr); +WOLFSSL_API void wolfSSL_set_bio(WOLFSSL* ssl, WOLFSSL_BIO* rd, WOLFSSL_BIO* wr); #ifndef NO_FILESYSTEM WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_file(void); @@ -1605,14 +1609,14 @@ WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void); WOLFSSL_API WOLFSSL_BIO *wolfSSL_BIO_new_connect(const char *str); WOLFSSL_API WOLFSSL_BIO *wolfSSL_BIO_new_accept(const char *port); -WOLFSSL_API long wolfSSL_BIO_set_conn_hostname(WOLFSSL_BIO*, char*); +WOLFSSL_API long wolfSSL_BIO_set_conn_hostname(WOLFSSL_BIO* b, char* name); WOLFSSL_API long wolfSSL_BIO_set_conn_port(WOLFSSL_BIO *b, char* port); WOLFSSL_API long wolfSSL_BIO_do_connect(WOLFSSL_BIO *b); WOLFSSL_API int wolfSSL_BIO_do_accept(WOLFSSL_BIO *b); -WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_ssl_connect(WOLFSSL_CTX*); +WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_ssl_connect(WOLFSSL_CTX* ctx); WOLFSSL_API long wolfSSL_BIO_do_handshake(WOLFSSL_BIO *b); -WOLFSSL_API void wolfSSL_BIO_ssl_shutdown(WOLFSSL_BIO*); +WOLFSSL_API void wolfSSL_BIO_ssl_shutdown(WOLFSSL_BIO* b); WOLFSSL_API long wolfSSL_BIO_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, void *parg); WOLFSSL_API long wolfSSL_BIO_int_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, int iarg); @@ -1634,18 +1638,18 @@ WOLFSSL_API long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *bio, WOLFSSL_BUF_MEM **m); WOLFSSL_API int wolfSSL_BIO_get_len(WOLFSSL_BIO *bio); WOLFSSL_API void wolfSSL_RAND_screen(void); -WOLFSSL_API const char* wolfSSL_RAND_file_name(char*, unsigned long); -WOLFSSL_API int wolfSSL_RAND_write_file(const char*); -WOLFSSL_API int wolfSSL_RAND_load_file(const char*, long); -WOLFSSL_API int wolfSSL_RAND_egd(const char*); -WOLFSSL_API int wolfSSL_RAND_seed(const void*, int); +WOLFSSL_API const char* wolfSSL_RAND_file_name(char* fname, unsigned long len); +WOLFSSL_API int wolfSSL_RAND_write_file(const char* fname); +WOLFSSL_API int wolfSSL_RAND_load_file(const char* fname, long len); +WOLFSSL_API int wolfSSL_RAND_egd(const char* nm); +WOLFSSL_API int wolfSSL_RAND_seed(const void* seed, int len); WOLFSSL_API void wolfSSL_RAND_Cleanup(void); -WOLFSSL_API void wolfSSL_RAND_add(const void*, int, double); +WOLFSSL_API void wolfSSL_RAND_add(const void* add, int len, double entropy); WOLFSSL_API int wolfSSL_RAND_poll(void); WOLFSSL_API WOLFSSL_COMP_METHOD* wolfSSL_COMP_zlib(void); WOLFSSL_API WOLFSSL_COMP_METHOD* wolfSSL_COMP_rle(void); -WOLFSSL_API int wolfSSL_COMP_add_compression_method(int, void*); +WOLFSSL_API int wolfSSL_COMP_add_compression_method(int method, void* data); WOLFSSL_API unsigned long wolfSSL_thread_id(void); WOLFSSL_API void wolfSSL_set_id_callback(unsigned long (*f)(void)); @@ -1660,9 +1664,9 @@ WOLFSSL_API void wolfSSL_set_dynlock_destroy_callback(void (*f) WOLFSSL_API int wolfSSL_num_locks(void); WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_STORE_CTX_get_current_cert( - WOLFSSL_X509_STORE_CTX*); -WOLFSSL_API int wolfSSL_X509_STORE_CTX_get_error(WOLFSSL_X509_STORE_CTX*); -WOLFSSL_API int wolfSSL_X509_STORE_CTX_get_error_depth(WOLFSSL_X509_STORE_CTX*); + WOLFSSL_X509_STORE_CTX* ctx); +WOLFSSL_API int wolfSSL_X509_STORE_CTX_get_error(WOLFSSL_X509_STORE_CTX* ctx); +WOLFSSL_API int wolfSSL_X509_STORE_CTX_get_error_depth(WOLFSSL_X509_STORE_CTX* ctx); WOLFSSL_API void wolfSSL_X509_STORE_CTX_set_verify_cb(WOLFSSL_X509_STORE_CTX *ctx, WOLFSSL_X509_STORE_CTX_verify_cb verify_cb); @@ -1676,7 +1680,7 @@ WOLFSSL_API WOLFSSL_X509_NAME *wolfSSL_d2i_X509_NAME(WOLFSSL_X509_NAME **name, unsigned char **in, long length); #ifndef NO_RSA #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) -WOLFSSL_API int wolfSSL_RSA_print_fp(XFILE, WOLFSSL_RSA*, int); +WOLFSSL_API int wolfSSL_RSA_print_fp(XFILE fp, WOLFSSL_RSA* rsa, int indent); #endif /* !NO_FILESYSTEM && !NO_STDIO_FILESYSTEM */ #ifndef NO_BIO WOLFSSL_API int wolfSSL_RSA_print(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa, int offset); @@ -1693,39 +1697,39 @@ WOLFSSL_API int wolfSSL_X509_signature_print(WOLFSSL_BIO *bp, WOLFSSL_API void wolfSSL_X509_get0_signature(const WOLFSSL_ASN1_BIT_STRING **psig, const WOLFSSL_X509_ALGOR **palg, const WOLFSSL_X509 *x509); WOLFSSL_API int wolfSSL_X509_print(WOLFSSL_BIO* bio, WOLFSSL_X509* x509); -WOLFSSL_ABI WOLFSSL_API char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME*, - char*, int); -WOLFSSL_API unsigned long wolfSSL_X509_NAME_hash(WOLFSSL_X509_NAME*); +WOLFSSL_ABI WOLFSSL_API char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME* name, + char* in, int sz); +WOLFSSL_API unsigned long wolfSSL_X509_NAME_hash(WOLFSSL_X509_NAME* name); #if defined(OPENSSL_EXTRA) && defined(XSNPRINTF) -WOLFSSL_API char* wolfSSL_X509_get_name_oneline(WOLFSSL_X509_NAME*, char*, int); +WOLFSSL_API char* wolfSSL_X509_get_name_oneline(WOLFSSL_X509_NAME* name, char* in, int sz); #endif WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name( - WOLFSSL_X509*); + WOLFSSL_X509* cert); WOLFSSL_API unsigned long wolfSSL_X509_issuer_name_hash(const WOLFSSL_X509* x509); WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name( - WOLFSSL_X509*); + WOLFSSL_X509* cert); WOLFSSL_API unsigned long wolfSSL_X509_subject_name_hash(const WOLFSSL_X509* x509); -WOLFSSL_API int wolfSSL_X509_ext_isSet_by_NID(WOLFSSL_X509*, int); -WOLFSSL_API int wolfSSL_X509_ext_get_critical_by_NID(WOLFSSL_X509*, int); -WOLFSSL_API int wolfSSL_X509_EXTENSION_set_critical(WOLFSSL_X509_EXTENSION*, int); -WOLFSSL_API int wolfSSL_X509_get_isCA(WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_X509_get_isSet_pathLength(WOLFSSL_X509*); -WOLFSSL_API unsigned int wolfSSL_X509_get_pathLength(WOLFSSL_X509*); -WOLFSSL_API unsigned int wolfSSL_X509_get_keyUsage(WOLFSSL_X509*); +WOLFSSL_API int wolfSSL_X509_ext_isSet_by_NID(WOLFSSL_X509* x509, int nid); +WOLFSSL_API int wolfSSL_X509_ext_get_critical_by_NID(WOLFSSL_X509* x509, int nid); +WOLFSSL_API int wolfSSL_X509_EXTENSION_set_critical(WOLFSSL_X509_EXTENSION* ex, int crit); +WOLFSSL_API int wolfSSL_X509_get_isCA(WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_X509_get_isSet_pathLength(WOLFSSL_X509* x509); +WOLFSSL_API unsigned int wolfSSL_X509_get_pathLength(WOLFSSL_X509* x509); +WOLFSSL_API unsigned int wolfSSL_X509_get_keyUsage(WOLFSSL_X509* x509); WOLFSSL_API unsigned char* wolfSSL_X509_get_authorityKeyID( - WOLFSSL_X509*, unsigned char*, int*); + WOLFSSL_X509* x509, unsigned char* dst, int* dstLen); WOLFSSL_API unsigned char* wolfSSL_X509_get_subjectKeyID( - WOLFSSL_X509*, unsigned char*, int*); + WOLFSSL_X509* x509, unsigned char* dst, int* dstLen); WOLFSSL_API int wolfSSL_X509_verify(WOLFSSL_X509* x509, WOLFSSL_EVP_PKEY* pkey); #ifdef WOLFSSL_CERT_REQ WOLFSSL_API int wolfSSL_X509_REQ_verify(WOLFSSL_X509* x509, WOLFSSL_EVP_PKEY* pkey); #endif -WOLFSSL_API int wolfSSL_X509_set_subject_name(WOLFSSL_X509*, - WOLFSSL_X509_NAME*); -WOLFSSL_API int wolfSSL_X509_set_issuer_name(WOLFSSL_X509*, - WOLFSSL_X509_NAME*); -WOLFSSL_API int wolfSSL_X509_set_pubkey(WOLFSSL_X509*, WOLFSSL_EVP_PKEY*); +WOLFSSL_API int wolfSSL_X509_set_subject_name(WOLFSSL_X509* cert, + WOLFSSL_X509_NAME* name); +WOLFSSL_API int wolfSSL_X509_set_issuer_name(WOLFSSL_X509* cert, + WOLFSSL_X509_NAME* name); +WOLFSSL_API int wolfSSL_X509_set_pubkey(WOLFSSL_X509* cert, WOLFSSL_EVP_PKEY* pkey); WOLFSSL_API int wolfSSL_X509_set_notAfter(WOLFSSL_X509* x509, const WOLFSSL_ASN1_TIME* t); WOLFSSL_API int wolfSSL_X509_set_notBefore(WOLFSSL_X509* x509, @@ -1740,13 +1744,13 @@ WOLFSSL_API int wolfSSL_X509_sign(WOLFSSL_X509* x509, WOLFSSL_EVP_PKEY* pkey, WOLFSSL_API int wolfSSL_X509_sign_ctx(WOLFSSL_X509 *x509, WOLFSSL_EVP_MD_CTX *ctx); -WOLFSSL_API int wolfSSL_X509_NAME_entry_count(WOLFSSL_X509_NAME*); -WOLFSSL_API int wolfSSL_X509_NAME_get_sz(WOLFSSL_X509_NAME*); +WOLFSSL_API int wolfSSL_X509_NAME_entry_count(WOLFSSL_X509_NAME* name); +WOLFSSL_API int wolfSSL_X509_NAME_get_sz(WOLFSSL_X509_NAME* name); WOLFSSL_API int wolfSSL_X509_NAME_get_text_by_NID( - WOLFSSL_X509_NAME*, int, char*, int); + WOLFSSL_X509_NAME* name, int nid, char* buf, int len); WOLFSSL_API int wolfSSL_X509_NAME_get_index_by_NID( - WOLFSSL_X509_NAME*, int, int); -WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_X509_NAME_ENTRY_get_data(WOLFSSL_X509_NAME_ENTRY*); + WOLFSSL_X509_NAME* name, int nid, int pos); +WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_X509_NAME_ENTRY_get_data(WOLFSSL_X509_NAME_ENTRY* in); WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_ASN1_STRING_new(void); WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_ASN1_STRING_dup(WOLFSSL_ASN1_STRING* asn1); @@ -1757,35 +1761,35 @@ WOLFSSL_API int wolfSSL_ASN1_STRING_cmp(const WOLFSSL_ASN1_STRING *a, const WOLF WOLFSSL_API void wolfSSL_ASN1_STRING_free(WOLFSSL_ASN1_STRING* asn1); WOLFSSL_API int wolfSSL_ASN1_STRING_set(WOLFSSL_ASN1_STRING* asn1, const void* data, int dataSz); -WOLFSSL_API unsigned char* wolfSSL_ASN1_STRING_data(WOLFSSL_ASN1_STRING*); +WOLFSSL_API unsigned char* wolfSSL_ASN1_STRING_data(WOLFSSL_ASN1_STRING* asn); WOLFSSL_API const unsigned char* wolfSSL_ASN1_STRING_get0_data( - const WOLFSSL_ASN1_STRING*); -WOLFSSL_API int wolfSSL_ASN1_STRING_length(WOLFSSL_ASN1_STRING*); + const WOLFSSL_ASN1_STRING* asn); +WOLFSSL_API int wolfSSL_ASN1_STRING_length(WOLFSSL_ASN1_STRING* asn); WOLFSSL_API int wolfSSL_ASN1_STRING_copy(WOLFSSL_ASN1_STRING* dst, const WOLFSSL_ASN1_STRING* src); -WOLFSSL_API int wolfSSL_X509_verify_cert(WOLFSSL_X509_STORE_CTX*); -WOLFSSL_API const char* wolfSSL_X509_verify_cert_error_string(long); -WOLFSSL_API int wolfSSL_X509_get_signature_type(WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_X509_get_signature(WOLFSSL_X509*, unsigned char*, int*); -WOLFSSL_API int wolfSSL_X509_get_pubkey_buffer(WOLFSSL_X509*, unsigned char*, - int*); +WOLFSSL_API int wolfSSL_X509_verify_cert(WOLFSSL_X509_STORE_CTX* ctx); +WOLFSSL_API const char* wolfSSL_X509_verify_cert_error_string(long err); +WOLFSSL_API int wolfSSL_X509_get_signature_type(WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_X509_get_signature(WOLFSSL_X509* x509, unsigned char* buf, int* bufSz); +WOLFSSL_API int wolfSSL_X509_get_pubkey_buffer(WOLFSSL_X509* x509, unsigned char* buf, + int* bufSz); WOLFSSL_API int wolfSSL_X509_get_pubkey_type(WOLFSSL_X509* x509); -WOLFSSL_API int wolfSSL_X509_LOOKUP_add_dir(WOLFSSL_X509_LOOKUP*,const char*,long); -WOLFSSL_API int wolfSSL_X509_LOOKUP_load_file(WOLFSSL_X509_LOOKUP*, const char*, - long); +WOLFSSL_API int wolfSSL_X509_LOOKUP_add_dir(WOLFSSL_X509_LOOKUP* lookup,const char* dir,long len); +WOLFSSL_API int wolfSSL_X509_LOOKUP_load_file(WOLFSSL_X509_LOOKUP* lookup, const char* file, + long type); WOLFSSL_API WOLFSSL_X509_LOOKUP_METHOD* wolfSSL_X509_LOOKUP_hash_dir(void); WOLFSSL_API WOLFSSL_X509_LOOKUP_METHOD* wolfSSL_X509_LOOKUP_file(void); WOLFSSL_API int wolfSSL_X509_LOOKUP_ctrl(WOLFSSL_X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret); -WOLFSSL_API WOLFSSL_X509_LOOKUP* wolfSSL_X509_STORE_add_lookup(WOLFSSL_X509_STORE*, - WOLFSSL_X509_LOOKUP_METHOD*); +WOLFSSL_API WOLFSSL_X509_LOOKUP* wolfSSL_X509_STORE_add_lookup(WOLFSSL_X509_STORE* store, + WOLFSSL_X509_LOOKUP_METHOD* m); WOLFSSL_API WOLFSSL_X509_STORE* wolfSSL_X509_STORE_new(void); -WOLFSSL_API void wolfSSL_X509_STORE_free(WOLFSSL_X509_STORE*); -WOLFSSL_API int wolfSSL_X509_STORE_up_ref(WOLFSSL_X509_STORE*); +WOLFSSL_API void wolfSSL_X509_STORE_free(WOLFSSL_X509_STORE* store); +WOLFSSL_API int wolfSSL_X509_STORE_up_ref(WOLFSSL_X509_STORE* store); WOLFSSL_API int wolfSSL_X509_STORE_add_cert( - WOLFSSL_X509_STORE*, WOLFSSL_X509*); + WOLFSSL_X509_STORE* store, WOLFSSL_X509* x509); WOLFSSL_API WOLFSSL_STACK* wolfSSL_X509_STORE_CTX_get_chain( WOLFSSL_X509_STORE_CTX* ctx); WOLFSSL_API WOLFSSL_STACK* wolfSSL_X509_STORE_CTX_get1_chain( @@ -1794,23 +1798,23 @@ WOLFSSL_API WOLFSSL_X509_STORE_CTX *wolfSSL_X509_STORE_CTX_get0_parent_ctx( WOLFSSL_X509_STORE_CTX *ctx); WOLFSSL_API int wolfSSL_X509_STORE_set_flags(WOLFSSL_X509_STORE* store, unsigned long flag); -WOLFSSL_API int wolfSSL_X509_STORE_set_default_paths(WOLFSSL_X509_STORE*); -WOLFSSL_API int wolfSSL_X509_STORE_get_by_subject(WOLFSSL_X509_STORE_CTX*, - int, WOLFSSL_X509_NAME*, WOLFSSL_X509_OBJECT*); +WOLFSSL_API int wolfSSL_X509_STORE_set_default_paths(WOLFSSL_X509_STORE* store); +WOLFSSL_API int wolfSSL_X509_STORE_get_by_subject(WOLFSSL_X509_STORE_CTX* ctx, + int idx, WOLFSSL_X509_NAME* name, WOLFSSL_X509_OBJECT* obj); WOLFSSL_API WOLFSSL_X509_STORE_CTX* wolfSSL_X509_STORE_CTX_new(void); -WOLFSSL_API int wolfSSL_X509_STORE_CTX_init(WOLFSSL_X509_STORE_CTX*, - WOLFSSL_X509_STORE*, WOLFSSL_X509*, WOLF_STACK_OF(WOLFSSL_X509)*); -WOLFSSL_API void wolfSSL_X509_STORE_CTX_free(WOLFSSL_X509_STORE_CTX*); -WOLFSSL_API void wolfSSL_X509_STORE_CTX_cleanup(WOLFSSL_X509_STORE_CTX*); +WOLFSSL_API int wolfSSL_X509_STORE_CTX_init(WOLFSSL_X509_STORE_CTX* ctx, + WOLFSSL_X509_STORE* store, WOLFSSL_X509* x509, WOLF_STACK_OF(WOLFSSL_X509)*); +WOLFSSL_API void wolfSSL_X509_STORE_CTX_free(WOLFSSL_X509_STORE_CTX* ctx); +WOLFSSL_API void wolfSSL_X509_STORE_CTX_cleanup(WOLFSSL_X509_STORE_CTX* ctx); WOLFSSL_API void wolfSSL_X509_STORE_CTX_trusted_stack(WOLFSSL_X509_STORE_CTX *ctx, WOLF_STACK_OF(WOLFSSL_X509) *sk); -WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_X509_CRL_get_lastUpdate(WOLFSSL_X509_CRL*); -WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_X509_CRL_get_nextUpdate(WOLFSSL_X509_CRL*); +WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_X509_CRL_get_lastUpdate(WOLFSSL_X509_CRL* crl); +WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_X509_CRL_get_nextUpdate(WOLFSSL_X509_CRL* crl); -WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_X509_get_pubkey(WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_X509_CRL_verify(WOLFSSL_X509_CRL*, WOLFSSL_EVP_PKEY*); -WOLFSSL_API void wolfSSL_X509_OBJECT_free_contents(WOLFSSL_X509_OBJECT*); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_X509_get_pubkey(WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_X509_CRL_verify(WOLFSSL_X509_CRL* crl, WOLFSSL_EVP_PKEY* pkey); +WOLFSSL_API void wolfSSL_X509_OBJECT_free_contents(WOLFSSL_X509_OBJECT* obj); WOLFSSL_API WOLFSSL_PKCS8_PRIV_KEY_INFO* wolfSSL_d2i_PKCS8_PKEY_bio( WOLFSSL_BIO* bio, WOLFSSL_PKCS8_PRIV_KEY_INFO** pkey); WOLFSSL_API WOLFSSL_PKCS8_PRIV_KEY_INFO* wolfSSL_d2i_PKCS8_PKEY( @@ -1820,8 +1824,8 @@ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PUBKEY_bio(WOLFSSL_BIO* bio, WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PUBKEY(WOLFSSL_EVP_PKEY** key, const unsigned char** in, long inSz); WOLFSSL_API int wolfSSL_i2d_PUBKEY(const WOLFSSL_EVP_PKEY *key, unsigned char **der); -WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PublicKey(int, WOLFSSL_EVP_PKEY**, - const unsigned char **, long); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PublicKey(int type, WOLFSSL_EVP_PKEY** pkey, + const unsigned char ** in, long inSz); WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey(int type, WOLFSSL_EVP_PKEY** out, const unsigned char **in, long inSz); #ifdef WOLF_CRYPTO_CB @@ -1839,7 +1843,7 @@ WOLFSSL_API int wolfSSL_EVP_PKEY_print_public(WOLFSSL_BIO* out, const WOLFSSL_EVP_PKEY* pkey, int indent, WOLFSSL_ASN1_PCTX* pctx); #endif /* OPENSSL_EXTRA */ -WOLFSSL_API int wolfSSL_X509_cmp_current_time(const WOLFSSL_ASN1_TIME*); +WOLFSSL_API int wolfSSL_X509_cmp_current_time(const WOLFSSL_ASN1_TIME* asnTime); #ifdef OPENSSL_EXTRA WOLFSSL_API int wolfSSL_X509_cmp_time(const WOLFSSL_ASN1_TIME* asnTime, time_t *cmpTime); @@ -1847,10 +1851,10 @@ WOLFSSL_API WOLFSSL_ASN1_TIME *wolfSSL_X509_time_adj_ex(WOLFSSL_ASN1_TIME *asnTi int offset_day, long offset_sec, time_t *in_tm); WOLFSSL_API WOLFSSL_ASN1_TIME *wolfSSL_X509_time_adj(WOLFSSL_ASN1_TIME *asnTime, long offset_sec, time_t *in_tm); -WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_X509_gmtime_adj(WOLFSSL_ASN1_TIME*, - long); -WOLFSSL_API int wolfSSL_sk_X509_REVOKED_num(WOLFSSL_X509_REVOKED*); -WOLFSSL_API void wolfSSL_X509_STORE_CTX_set_time(WOLFSSL_X509_STORE_CTX*, +WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_X509_gmtime_adj(WOLFSSL_ASN1_TIME* s, + long adj); +WOLFSSL_API int wolfSSL_sk_X509_REVOKED_num(WOLFSSL_X509_REVOKED* revoked); +WOLFSSL_API void wolfSSL_X509_STORE_CTX_set_time(WOLFSSL_X509_STORE_CTX* ctx, unsigned long flags, time_t t); WOLFSSL_API WOLFSSL_X509_VERIFY_PARAM* wolfSSL_X509_VERIFY_PARAM_new(void); @@ -1876,54 +1880,54 @@ WOLFSSL_API int wolfSSL_X509_load_crl_file(WOLFSSL_X509_LOOKUP *ctx, WOLFSSL_API int wolfSSL_X509_load_cert_crl_file(WOLFSSL_X509_LOOKUP *ctx, const char *file, int type); #endif -WOLFSSL_API WOLFSSL_X509_REVOKED* wolfSSL_X509_CRL_get_REVOKED(WOLFSSL_X509_CRL*); +WOLFSSL_API WOLFSSL_X509_REVOKED* wolfSSL_X509_CRL_get_REVOKED(WOLFSSL_X509_CRL* crl); WOLFSSL_API WOLFSSL_X509_REVOKED* wolfSSL_sk_X509_REVOKED_value( - WOLFSSL_X509_REVOKED*,int); -WOLFSSL_API WOLFSSL_ASN1_INTEGER* wolfSSL_X509_get_serialNumber(WOLFSSL_X509*); -WOLFSSL_API void wolfSSL_ASN1_INTEGER_free(WOLFSSL_ASN1_INTEGER*); + WOLFSSL_X509_REVOKED* revoked,int value); +WOLFSSL_API WOLFSSL_ASN1_INTEGER* wolfSSL_X509_get_serialNumber(WOLFSSL_X509* x509); +WOLFSSL_API void wolfSSL_ASN1_INTEGER_free(WOLFSSL_ASN1_INTEGER* in); WOLFSSL_API WOLFSSL_ASN1_INTEGER* wolfSSL_ASN1_INTEGER_new(void); WOLFSSL_API WOLFSSL_ASN1_INTEGER* wolfSSL_ASN1_INTEGER_dup( const WOLFSSL_ASN1_INTEGER* src); WOLFSSL_API int wolfSSL_ASN1_INTEGER_set(WOLFSSL_ASN1_INTEGER *a, long v); -WOLFSSL_API int wolfSSL_ASN1_TIME_print(WOLFSSL_BIO*, const WOLFSSL_ASN1_TIME*); +WOLFSSL_API int wolfSSL_ASN1_TIME_print(WOLFSSL_BIO* bio, const WOLFSSL_ASN1_TIME* asnTime); WOLFSSL_API char* wolfSSL_ASN1_TIME_to_string(WOLFSSL_ASN1_TIME* t, char* buf, int len); #ifndef NO_ASN_TIME -WOLFSSL_API int wolfSSL_ASN1_TIME_to_tm(const WOLFSSL_ASN1_TIME*, struct tm*); +WOLFSSL_API int wolfSSL_ASN1_TIME_to_tm(const WOLFSSL_ASN1_TIME* asnTime, struct tm* tm); #endif -WOLFSSL_API int wolfSSL_ASN1_INTEGER_cmp(const WOLFSSL_ASN1_INTEGER*, - const WOLFSSL_ASN1_INTEGER*); -WOLFSSL_API long wolfSSL_ASN1_INTEGER_get(const WOLFSSL_ASN1_INTEGER*); +WOLFSSL_API int wolfSSL_ASN1_INTEGER_cmp(const WOLFSSL_ASN1_INTEGER* a, + const WOLFSSL_ASN1_INTEGER* b); +WOLFSSL_API long wolfSSL_ASN1_INTEGER_get(const WOLFSSL_ASN1_INTEGER* a); #ifdef OPENSSL_EXTRA WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGER *ai, WOLFSSL_BIGNUM *bn); -WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_adj(WOLFSSL_ASN1_TIME*, time_t, - int, long); +WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_adj(WOLFSSL_ASN1_TIME* s, time_t t, + int offset_day, long offset_sec); WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_new(void); WOLFSSL_API void wolfSSL_ASN1_TIME_free(WOLFSSL_ASN1_TIME* t); #endif -WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_load_client_CA_file(const char*); +WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_load_client_CA_file(const char* fname); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_CTX_get_client_CA_list( const WOLFSSL_CTX *ctx); /* deprecated function name */ #define wolfSSL_SSL_CTX_get_client_CA_list wolfSSL_CTX_get_client_CA_list -WOLFSSL_API void wolfSSL_CTX_set_client_CA_list(WOLFSSL_CTX*, +WOLFSSL_API void wolfSSL_CTX_set_client_CA_list(WOLFSSL_CTX* ctx, WOLF_STACK_OF(WOLFSSL_X509_NAME)*); -WOLFSSL_API void wolfSSL_set_client_CA_list(WOLFSSL*, +WOLFSSL_API void wolfSSL_set_client_CA_list(WOLFSSL* ssl, WOLF_STACK_OF(WOLFSSL_X509_NAME)*); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_get_client_CA_list( const WOLFSSL* ssl); typedef int (*client_cert_cb)(WOLFSSL *ssl, WOLFSSL_X509 **x509, WOLFSSL_EVP_PKEY **pkey); -WOLFSSL_API void wolfSSL_CTX_set_client_cert_cb(WOLFSSL_CTX *ctx, client_cert_cb); +WOLFSSL_API void wolfSSL_CTX_set_client_cert_cb(WOLFSSL_CTX *ctx, client_cert_cb cb); -typedef int (*CertSetupCallback)(WOLFSSL*, void*); +typedef int (*CertSetupCallback)(WOLFSSL* ssl, void*); WOLFSSL_API void wolfSSL_CTX_set_cert_cb(WOLFSSL_CTX* ctx, CertSetupCallback cb, void *arg); WOLFSSL_LOCAL int CertSetupCbWrapper(WOLFSSL* ssl); @@ -1957,72 +1961,72 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_STORE_CTX_get0_current_issuer( WOLFSSL_API WOLFSSL_X509_STORE* wolfSSL_X509_STORE_CTX_get0_store( WOLFSSL_X509_STORE_CTX* ctx); WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_STORE_CTX_get0_cert( - WOLFSSL_X509_STORE_CTX*); + WOLFSSL_X509_STORE_CTX* ctx); WOLFSSL_API int wolfSSL_get_ex_data_X509_STORE_CTX_idx(void); WOLFSSL_API void wolfSSL_X509_STORE_CTX_set_error( WOLFSSL_X509_STORE_CTX* ctx, int er); void wolfSSL_X509_STORE_CTX_set_error_depth(WOLFSSL_X509_STORE_CTX* ctx, int depth); -WOLFSSL_API void* wolfSSL_get_ex_data(const WOLFSSL*, int); +WOLFSSL_API void* wolfSSL_get_ex_data(const WOLFSSL* ssl, int idx); -WOLFSSL_API void wolfSSL_CTX_set_default_passwd_cb_userdata(WOLFSSL_CTX*, +WOLFSSL_API void wolfSSL_CTX_set_default_passwd_cb_userdata(WOLFSSL_CTX* ctx, void* userdata); -WOLFSSL_API void wolfSSL_CTX_set_default_passwd_cb(WOLFSSL_CTX*, - wc_pem_password_cb*); -WOLFSSL_API wc_pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX*); +WOLFSSL_API void wolfSSL_CTX_set_default_passwd_cb(WOLFSSL_CTX* ctx, + wc_pem_password_cb* cb); +WOLFSSL_API wc_pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX* ctx); WOLFSSL_API void *wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx); -WOLFSSL_API void wolfSSL_CTX_set_info_callback(WOLFSSL_CTX*, - void (*)(const WOLFSSL* ssl, int type, int val)); +WOLFSSL_API void wolfSSL_CTX_set_info_callback(WOLFSSL_CTX* ctx, + void (*f)(const WOLFSSL* ssl, int type, int val)); WOLFSSL_API unsigned long wolfSSL_ERR_peek_error(void); WOLFSSL_API int wolfSSL_GET_REASON(int); -WOLFSSL_API const char* wolfSSL_alert_type_string_long(int); -WOLFSSL_API const char* wolfSSL_alert_desc_string_long(int); -WOLFSSL_API const char* wolfSSL_state_string_long(const WOLFSSL*); +WOLFSSL_API const char* wolfSSL_alert_type_string_long(int alertID); +WOLFSSL_API const char* wolfSSL_alert_desc_string_long(int alertID); +WOLFSSL_API const char* wolfSSL_state_string_long(const WOLFSSL* ssl); -WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSA_generate_key(int, unsigned long, - void(*)(int, int, void*), void*); +WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSA_generate_key(int len, unsigned long e, + void(*f)(int, int, void*), void* data); WOLFSSL_API WOLFSSL_RSA *wolfSSL_d2i_RSAPublicKey(WOLFSSL_RSA **r, const unsigned char **pp, long len); -WOLFSSL_API WOLFSSL_RSA *wolfSSL_d2i_RSAPrivateKey(WOLFSSL_RSA**, - const unsigned char**, long); +WOLFSSL_API WOLFSSL_RSA *wolfSSL_d2i_RSAPrivateKey(WOLFSSL_RSA** r, + const unsigned char** derBuf, long derSz); WOLFSSL_API int wolfSSL_i2d_RSAPublicKey(WOLFSSL_RSA *r, unsigned char **pp); WOLFSSL_API int wolfSSL_i2d_RSAPrivateKey(WOLFSSL_RSA *r, unsigned char **pp); -WOLFSSL_API void wolfSSL_CTX_set_tmp_rsa_callback(WOLFSSL_CTX *, - WOLFSSL_RSA *(*)(WOLFSSL *, int, int)); +WOLFSSL_API void wolfSSL_CTX_set_tmp_rsa_callback(WOLFSSL_CTX* ctx, + WOLFSSL_RSA *(*f)(WOLFSSL *, int, int)); -WOLFSSL_API int wolfSSL_PEM_def_callback(char*, int num, int w, void* key); +WOLFSSL_API int wolfSSL_PEM_def_callback(char* name, int num, int w, void* key); -WOLFSSL_API long wolfSSL_CTX_sess_accept(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_connect(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_accept_good(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_connect_good(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_accept_renegotiate(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_connect_renegotiate(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_hits(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_cb_hits(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_cache_full(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_misses(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_timeouts(WOLFSSL_CTX*); -WOLFSSL_API long wolfSSL_CTX_sess_number(WOLFSSL_CTX*); +WOLFSSL_API long wolfSSL_CTX_sess_accept(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_connect(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_accept_good(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_connect_good(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_accept_renegotiate(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_connect_renegotiate(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_hits(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_cb_hits(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_cache_full(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_misses(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_timeouts(WOLFSSL_CTX* ctx); +WOLFSSL_API long wolfSSL_CTX_sess_number(WOLFSSL_CTX* ctx); -WOLFSSL_API long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX*, WOLFSSL_X509*); -WOLFSSL_API long wolfSSL_CTX_sess_set_cache_size(WOLFSSL_CTX*, long); -WOLFSSL_API long wolfSSL_CTX_sess_get_cache_size(WOLFSSL_CTX*); +WOLFSSL_API long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509); +WOLFSSL_API long wolfSSL_CTX_sess_set_cache_size(WOLFSSL_CTX* ctx, long sz); +WOLFSSL_API long wolfSSL_CTX_sess_get_cache_size(WOLFSSL_CTX* ctx); -WOLFSSL_API long wolfSSL_CTX_get_session_cache_mode(WOLFSSL_CTX*); -WOLFSSL_API int wolfSSL_get_read_ahead(const WOLFSSL*); -WOLFSSL_API int wolfSSL_set_read_ahead(WOLFSSL*, int v); -WOLFSSL_API int wolfSSL_CTX_get_read_ahead(WOLFSSL_CTX*); -WOLFSSL_API int wolfSSL_CTX_set_read_ahead(WOLFSSL_CTX*, int v); -WOLFSSL_API long wolfSSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX*, void* arg); +WOLFSSL_API long wolfSSL_CTX_get_session_cache_mode(WOLFSSL_CTX* ctx); +WOLFSSL_API int wolfSSL_get_read_ahead(const WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_set_read_ahead(WOLFSSL* ssl, int v); +WOLFSSL_API int wolfSSL_CTX_get_read_ahead(WOLFSSL_CTX* ctx); +WOLFSSL_API int wolfSSL_CTX_set_read_ahead(WOLFSSL_CTX* ctx, int v); +WOLFSSL_API long wolfSSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX* ctx, void* arg); WOLFSSL_API long wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg( - WOLFSSL_CTX*, void* arg); -WOLFSSL_API int wolfSSL_CTX_add_client_CA(WOLFSSL_CTX*, WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_CTX_set_srp_password(WOLFSSL_CTX*, char*); -WOLFSSL_API int wolfSSL_CTX_set_srp_username(WOLFSSL_CTX*, char*); + WOLFSSL_CTX* ctx, void* arg); +WOLFSSL_API int wolfSSL_CTX_add_client_CA(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_CTX_set_srp_password(WOLFSSL_CTX* ctx, char* password); +WOLFSSL_API int wolfSSL_CTX_set_srp_username(WOLFSSL_CTX* ctx, char* username); WOLFSSL_API int wolfSSL_CTX_set_srp_strength(WOLFSSL_CTX *ctx, int strength); WOLFSSL_API char* wolfSSL_get_srp_username(WOLFSSL *ssl); @@ -2263,7 +2267,7 @@ enum { #else #include #endif -WOLFSSL_API void wolfSSL_ERR_print_errors_fp(XFILE, int err); +WOLFSSL_API void wolfSSL_ERR_print_errors_fp(XFILE fp, int err); #if defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE) WOLFSSL_API void wolfSSL_ERR_dump_errors_fp(XFILE fp); WOLFSSL_API void wolfSSL_ERR_print_errors_cb(int (*cb)(const char *str, @@ -2402,12 +2406,12 @@ enum { /* ssl Constants */ }; #ifndef NO_PSK - typedef unsigned int (*wc_psk_client_callback)(WOLFSSL*, const char*, char*, + typedef unsigned int (*wc_psk_client_callback)(WOLFSSL* ssl, const char*, char*, unsigned int, unsigned char*, unsigned int); - WOLFSSL_API void wolfSSL_CTX_set_psk_client_callback(WOLFSSL_CTX*, - wc_psk_client_callback); - WOLFSSL_API void wolfSSL_set_psk_client_callback(WOLFSSL*, - wc_psk_client_callback); + WOLFSSL_API void wolfSSL_CTX_set_psk_client_callback(WOLFSSL_CTX* ctx, + wc_psk_client_callback cb); + WOLFSSL_API void wolfSSL_set_psk_client_callback(WOLFSSL* ssl, + wc_psk_client_callback cb); #ifdef OPENSSL_EXTRA typedef int (*wc_psk_use_session_cb_func)(WOLFSSL* ssl, const WOLFSSL_EVP_MD* md, const unsigned char **id, @@ -2416,46 +2420,46 @@ enum { /* ssl Constants */ wc_psk_use_session_cb_func cb); #endif #ifdef WOLFSSL_TLS13 - typedef unsigned int (*wc_psk_client_cs_callback)(WOLFSSL*, const char*, + typedef unsigned int (*wc_psk_client_cs_callback)(WOLFSSL* ssl, const char*, char*, unsigned int, unsigned char*, unsigned int, const char*); - WOLFSSL_API void wolfSSL_CTX_set_psk_client_cs_callback(WOLFSSL_CTX*, - wc_psk_client_cs_callback); - WOLFSSL_API void wolfSSL_set_psk_client_cs_callback(WOLFSSL*, - wc_psk_client_cs_callback); + WOLFSSL_API void wolfSSL_CTX_set_psk_client_cs_callback(WOLFSSL_CTX* ctx, + wc_psk_client_cs_callback cb); + WOLFSSL_API void wolfSSL_set_psk_client_cs_callback(WOLFSSL* ssl, + wc_psk_client_cs_callback cb); - typedef unsigned int (*wc_psk_client_tls13_callback)(WOLFSSL*, const char*, + typedef unsigned int (*wc_psk_client_tls13_callback)(WOLFSSL* ssl, const char*, char*, unsigned int, unsigned char*, unsigned int, const char**); - WOLFSSL_API void wolfSSL_CTX_set_psk_client_tls13_callback(WOLFSSL_CTX*, - wc_psk_client_tls13_callback); - WOLFSSL_API void wolfSSL_set_psk_client_tls13_callback(WOLFSSL*, - wc_psk_client_tls13_callback); + WOLFSSL_API void wolfSSL_CTX_set_psk_client_tls13_callback(WOLFSSL_CTX* ctx, + wc_psk_client_tls13_callback cb); + WOLFSSL_API void wolfSSL_set_psk_client_tls13_callback(WOLFSSL* ssl, + wc_psk_client_tls13_callback cb); #endif - WOLFSSL_API const char* wolfSSL_get_psk_identity_hint(const WOLFSSL*); - WOLFSSL_API const char* wolfSSL_get_psk_identity(const WOLFSSL*); + WOLFSSL_API const char* wolfSSL_get_psk_identity_hint(const WOLFSSL* ssl); + WOLFSSL_API const char* wolfSSL_get_psk_identity(const WOLFSSL* ssl); - WOLFSSL_API int wolfSSL_CTX_use_psk_identity_hint(WOLFSSL_CTX*, const char*); - WOLFSSL_API int wolfSSL_use_psk_identity_hint(WOLFSSL*, const char*); + WOLFSSL_API int wolfSSL_CTX_use_psk_identity_hint(WOLFSSL_CTX* ctx, const char* hint); + WOLFSSL_API int wolfSSL_use_psk_identity_hint(WOLFSSL* ssl, const char* hint); - typedef unsigned int (*wc_psk_server_callback)(WOLFSSL*, const char*, + typedef unsigned int (*wc_psk_server_callback)(WOLFSSL* ssl, const char*, unsigned char*, unsigned int); - WOLFSSL_API void wolfSSL_CTX_set_psk_server_callback(WOLFSSL_CTX*, - wc_psk_server_callback); - WOLFSSL_API void wolfSSL_set_psk_server_callback(WOLFSSL*, - wc_psk_server_callback); + WOLFSSL_API void wolfSSL_CTX_set_psk_server_callback(WOLFSSL_CTX* ctx, + wc_psk_server_callback cb); + WOLFSSL_API void wolfSSL_set_psk_server_callback(WOLFSSL* ssl, + wc_psk_server_callback cb); #ifdef WOLFSSL_TLS13 - typedef unsigned int (*wc_psk_server_tls13_callback)(WOLFSSL*, const char*, + typedef unsigned int (*wc_psk_server_tls13_callback)(WOLFSSL* ssl, const char*, unsigned char*, unsigned int, const char**); - WOLFSSL_API void wolfSSL_CTX_set_psk_server_tls13_callback(WOLFSSL_CTX*, - wc_psk_server_tls13_callback); - WOLFSSL_API void wolfSSL_set_psk_server_tls13_callback(WOLFSSL*, - wc_psk_server_tls13_callback); + WOLFSSL_API void wolfSSL_CTX_set_psk_server_tls13_callback(WOLFSSL_CTX* ctx, + wc_psk_server_tls13_callback cb); + WOLFSSL_API void wolfSSL_set_psk_server_tls13_callback(WOLFSSL* ssl, + wc_psk_server_tls13_callback cb); #endif - WOLFSSL_API void* wolfSSL_get_psk_callback_ctx(WOLFSSL*); - WOLFSSL_API int wolfSSL_set_psk_callback_ctx(WOLFSSL*, void*); + WOLFSSL_API void* wolfSSL_get_psk_callback_ctx(WOLFSSL* ssl); + WOLFSSL_API int wolfSSL_set_psk_callback_ctx(WOLFSSL* ssl, void* psk_ctx); - WOLFSSL_API void* wolfSSL_CTX_get_psk_callback_ctx(WOLFSSL_CTX*); - WOLFSSL_API int wolfSSL_CTX_set_psk_callback_ctx(WOLFSSL_CTX*, void*); + WOLFSSL_API void* wolfSSL_CTX_get_psk_callback_ctx(WOLFSSL_CTX* ctx); + WOLFSSL_API int wolfSSL_CTX_set_psk_callback_ctx(WOLFSSL_CTX* ctx, void* psk_ctx); #define PSK_TYPES_DEFINED @@ -2467,7 +2471,7 @@ enum { /* ssl Constants */ #ifdef HAVE_ANON - WOLFSSL_API int wolfSSL_CTX_allow_anon_cipher(WOLFSSL_CTX*); + WOLFSSL_API int wolfSSL_CTX_allow_anon_cipher(WOLFSSL_CTX* ctx); #endif /* HAVE_ANON */ @@ -2487,9 +2491,9 @@ enum { WOLFSSL_API void wolfSSL_ERR_put_error(int lib, int fun, int err, const char* file, int line); -WOLFSSL_API unsigned long wolfSSL_ERR_get_error_line(const char**, int*); -WOLFSSL_API unsigned long wolfSSL_ERR_get_error_line_data(const char**, int*, - const char**, int *); +WOLFSSL_API unsigned long wolfSSL_ERR_get_error_line(const char** file, int* line); +WOLFSSL_API unsigned long wolfSSL_ERR_get_error_line_data(const char** file, int* line, + const char** data, int* flags); WOLFSSL_API unsigned long wolfSSL_ERR_get_error(void); WOLFSSL_API void wolfSSL_ERR_clear_error(void); @@ -2499,17 +2503,17 @@ WOLFSSL_API int wolfSSL_RAND_status(void); WOLFSSL_API int wolfSSL_RAND_pseudo_bytes(unsigned char* buf, int num); WOLFSSL_API int wolfSSL_RAND_bytes(unsigned char* buf, int num); WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_server_method(void); -WOLFSSL_API long wolfSSL_CTX_set_options(WOLFSSL_CTX*, long); +WOLFSSL_API long wolfSSL_CTX_set_options(WOLFSSL_CTX* ctx, long opt); WOLFSSL_API long wolfSSL_CTX_get_options(WOLFSSL_CTX* ctx); -WOLFSSL_API long wolfSSL_CTX_clear_options(WOLFSSL_CTX*, long); +WOLFSSL_API long wolfSSL_CTX_clear_options(WOLFSSL_CTX* ctx, long opt); #if !defined(NO_CHECK_PRIVATE_KEY) - WOLFSSL_API int wolfSSL_CTX_check_private_key(const WOLFSSL_CTX*); + WOLFSSL_API int wolfSSL_CTX_check_private_key(const WOLFSSL_CTX* ctx); #endif -WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_CTX_get0_privatekey(const WOLFSSL_CTX*); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_CTX_get0_privatekey(const WOLFSSL_CTX* ctx); WOLFSSL_API void wolfSSL_ERR_free_strings(void); -WOLFSSL_API void wolfSSL_ERR_remove_state(unsigned long); +WOLFSSL_API void wolfSSL_ERR_remove_state(unsigned long id); WOLFSSL_API int wolfSSL_clear(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_state(WOLFSSL* ssl); @@ -2521,38 +2525,38 @@ WOLFSSL_API void wolfSSL_CTX_set_default_read_ahead(WOLFSSL_CTX* ctx, int m); WOLFSSL_API long wolfSSL_SSL_get_mode(WOLFSSL* ssl); -WOLFSSL_API int wolfSSL_CTX_set_default_verify_paths(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_set_default_verify_paths(WOLFSSL_CTX* ctx); WOLFSSL_API const char* wolfSSL_X509_get_default_cert_file_env(void); WOLFSSL_API const char* wolfSSL_X509_get_default_cert_file(void); WOLFSSL_API const char* wolfSSL_X509_get_default_cert_dir_env(void); WOLFSSL_API const char* wolfSSL_X509_get_default_cert_dir(void); -WOLFSSL_API int wolfSSL_CTX_set_session_id_context(WOLFSSL_CTX*, - const unsigned char*, unsigned int); -WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL*); +WOLFSSL_API int wolfSSL_CTX_set_session_id_context(WOLFSSL_CTX* ctx, + const unsigned char* sid_ctx, unsigned int sid_ctx_len); +WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl); #ifdef OPENSSL_EXTRA -WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_get_peer_cert_chain(const WOLFSSL*); +WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_get_peer_cert_chain(const WOLFSSL* ssl); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_set_peer_cert_chain(WOLFSSL* ssl); #endif #ifdef OPENSSL_EXTRA -WOLFSSL_API int wolfSSL_want(WOLFSSL*); +WOLFSSL_API int wolfSSL_want(WOLFSSL* ssl); #endif -WOLFSSL_API int wolfSSL_want_read(WOLFSSL*); -WOLFSSL_API int wolfSSL_want_write(WOLFSSL*); +WOLFSSL_API int wolfSSL_want_read(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_want_write(WOLFSSL* ssl); #include /* var_arg */ WOLFSSL_API int wolfSSL_BIO_vprintf(WOLFSSL_BIO* bio, const char* format, va_list args); -WOLFSSL_API int wolfSSL_BIO_printf(WOLFSSL_BIO*, const char*, ...); -WOLFSSL_API int wolfSSL_BIO_dump(WOLFSSL_BIO *bio, const char*, int); -WOLFSSL_API int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO*, - const WOLFSSL_ASN1_UTCTIME*); -WOLFSSL_API int wolfSSL_ASN1_GENERALIZEDTIME_print(WOLFSSL_BIO*, - const WOLFSSL_ASN1_GENERALIZEDTIME*); +WOLFSSL_API int wolfSSL_BIO_printf(WOLFSSL_BIO* bio, const char* format, ...); +WOLFSSL_API int wolfSSL_BIO_dump(WOLFSSL_BIO *bio, const char* buf, int length); +WOLFSSL_API int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO* bio, + const WOLFSSL_ASN1_UTCTIME* a); +WOLFSSL_API int wolfSSL_ASN1_GENERALIZEDTIME_print(WOLFSSL_BIO* bio, + const WOLFSSL_ASN1_GENERALIZEDTIME* asnTime); WOLFSSL_API void wolfSSL_ASN1_GENERALIZEDTIME_free(WOLFSSL_ASN1_GENERALIZEDTIME*); -WOLFSSL_API int wolfSSL_ASN1_TIME_check(const WOLFSSL_ASN1_TIME*); -WOLFSSL_API int wolfSSL_ASN1_TIME_diff(int*, int*, const WOLFSSL_ASN1_TIME*, - const WOLFSSL_ASN1_TIME*); +WOLFSSL_API int wolfSSL_ASN1_TIME_check(const WOLFSSL_ASN1_TIME* a); +WOLFSSL_API int wolfSSL_ASN1_TIME_diff(int* days, int* secs, const WOLFSSL_ASN1_TIME* from, + const WOLFSSL_ASN1_TIME* to); #ifdef OPENSSL_EXTRA WOLFSSL_API WOLFSSL_ASN1_TIME *wolfSSL_ASN1_TIME_set(WOLFSSL_ASN1_TIME *s, time_t t); WOLFSSL_API int wolfSSL_ASN1_TIME_set_string(WOLFSSL_ASN1_TIME *s, const char *str); @@ -2577,8 +2581,8 @@ WOLFSSL_API int wolfSSL_CRYPTO_set_ex_data(WOLFSSL_CRYPTO_EX_DATA* ex_data, int #endif /* stunnel 4.28 needs */ -WOLFSSL_API void* wolfSSL_CTX_get_ex_data(const WOLFSSL_CTX*, int); -WOLFSSL_API int wolfSSL_CTX_set_ex_data(WOLFSSL_CTX*, int, void*); +WOLFSSL_API void* wolfSSL_CTX_get_ex_data(const WOLFSSL_CTX* ctx, int idx); +WOLFSSL_API int wolfSSL_CTX_set_ex_data(WOLFSSL_CTX* ctx, int idx, void* data); #ifdef HAVE_EX_DATA_CLEANUP_HOOKS WOLFSSL_API int wolfSSL_CTX_set_ex_data_with_cleanup( WOLFSSL_CTX* ctx, @@ -2586,23 +2590,23 @@ WOLFSSL_API int wolfSSL_CTX_set_ex_data_with_cleanup( void* data, wolfSSL_ex_data_cleanup_routine_t cleanup_routine); #endif -WOLFSSL_API void wolfSSL_CTX_sess_set_get_cb(WOLFSSL_CTX*, - WOLFSSL_SESSION*(*f)(WOLFSSL*, const unsigned char*, int, int*)); -WOLFSSL_API void wolfSSL_CTX_sess_set_new_cb(WOLFSSL_CTX*, - int (*f)(WOLFSSL*, WOLFSSL_SESSION*)); -WOLFSSL_API void wolfSSL_CTX_sess_set_remove_cb(WOLFSSL_CTX*, - void (*f)(WOLFSSL_CTX*, WOLFSSL_SESSION*)); +WOLFSSL_API void wolfSSL_CTX_sess_set_get_cb(WOLFSSL_CTX* ctx, + WOLFSSL_SESSION*(*f)(WOLFSSL* ssl, const unsigned char*, int, int*)); +WOLFSSL_API void wolfSSL_CTX_sess_set_new_cb(WOLFSSL_CTX* ctx, + int (*f)(WOLFSSL* ssl, WOLFSSL_SESSION*)); +WOLFSSL_API void wolfSSL_CTX_sess_set_remove_cb(WOLFSSL_CTX* ctx, + void (*f)(WOLFSSL_CTX* ctx, WOLFSSL_SESSION*)); -WOLFSSL_API int wolfSSL_i2d_SSL_SESSION(WOLFSSL_SESSION*,unsigned char**); -WOLFSSL_API WOLFSSL_SESSION* wolfSSL_d2i_SSL_SESSION(WOLFSSL_SESSION**, - const unsigned char**, long); +WOLFSSL_API int wolfSSL_i2d_SSL_SESSION(WOLFSSL_SESSION* sess,unsigned char** p); +WOLFSSL_API WOLFSSL_SESSION* wolfSSL_d2i_SSL_SESSION(WOLFSSL_SESSION** sess, + const unsigned char** p, long i); -WOLFSSL_API int wolfSSL_SESSION_has_ticket(const WOLFSSL_SESSION*); +WOLFSSL_API int wolfSSL_SESSION_has_ticket(const WOLFSSL_SESSION* session); WOLFSSL_API unsigned long wolfSSL_SESSION_get_ticket_lifetime_hint( const WOLFSSL_SESSION* sess); -WOLFSSL_API long wolfSSL_SESSION_get_timeout(const WOLFSSL_SESSION*); -WOLFSSL_API long wolfSSL_SESSION_get_time(const WOLFSSL_SESSION*); -WOLFSSL_API int wolfSSL_CTX_get_ex_new_index(long, void*, void*, void*, void*); +WOLFSSL_API long wolfSSL_SESSION_get_timeout(const WOLFSSL_SESSION* session); +WOLFSSL_API long wolfSSL_SESSION_get_time(const WOLFSSL_SESSION* session); +WOLFSSL_API int wolfSSL_CTX_get_ex_new_index(long idx, void* arg, void* a, void* b, void* c); /* extra ends */ @@ -2612,7 +2616,7 @@ WOLFSSL_API int wolfSSL_CTX_get_ex_new_index(long, void*, void*, void*, void*); /* call before SSL_connect, if verifying will add name check to date check and signature check */ -WOLFSSL_ABI WOLFSSL_API int wolfSSL_check_domain_name(WOLFSSL*, const char*); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn); /* need to call once to load library (session cache) */ WOLFSSL_ABI WOLFSSL_API int wolfSSL_Init(void); @@ -2634,8 +2638,8 @@ WOLFSSL_API int wolfSSL_negotiate(WOLFSSL* ssl); /* turn on wolfSSL data compression */ WOLFSSL_API int wolfSSL_set_compression(WOLFSSL* ssl); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_timeout(WOLFSSL*, unsigned int); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_set_timeout(WOLFSSL_CTX*, unsigned int); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_timeout(WOLFSSL* ssl, unsigned int to); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_set_timeout(WOLFSSL_CTX* ctx, unsigned int to); WOLFSSL_API void wolfSSL_CTX_set_current_time_cb(WOLFSSL_CTX* ctx, void (*cb)(const WOLFSSL* ssl, WOLFSSL_TIMEVAL* out_clock)); @@ -2649,32 +2653,32 @@ WOLFSSL_API WOLFSSL_X509_CHAIN* wolfSSL_get_peer_alt_chain(WOLFSSL* ssl); /* peer chain count */ WOLFSSL_API int wolfSSL_get_chain_count(WOLFSSL_X509_CHAIN* chain); /* index cert length */ -WOLFSSL_API int wolfSSL_get_chain_length(WOLFSSL_X509_CHAIN*, int idx); +WOLFSSL_API int wolfSSL_get_chain_length(WOLFSSL_X509_CHAIN* chain, int idx); /* index cert */ -WOLFSSL_API unsigned char* wolfSSL_get_chain_cert(WOLFSSL_X509_CHAIN*, int idx); +WOLFSSL_API unsigned char* wolfSSL_get_chain_cert(WOLFSSL_X509_CHAIN* chain, int idx); /* index cert in X509 */ -WOLFSSL_API WOLFSSL_X509* wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN*, int idx); +WOLFSSL_API WOLFSSL_X509* wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN* chain, int idx); /* free X509 */ #define wolfSSL_FreeX509(x509) wolfSSL_X509_free((x509)) -WOLFSSL_ABI WOLFSSL_API void wolfSSL_X509_free(WOLFSSL_X509*); +WOLFSSL_ABI WOLFSSL_API void wolfSSL_X509_free(WOLFSSL_X509* x509); /* get index cert in PEM */ -WOLFSSL_API int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN*, int idx, +WOLFSSL_API int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN* chain, int idx, unsigned char* buf, int inLen, int* outLen); WOLFSSL_ABI WOLFSSL_API const unsigned char* wolfSSL_get_sessionID( const WOLFSSL_SESSION* s); -WOLFSSL_API int wolfSSL_X509_get_serial_number(WOLFSSL_X509*,unsigned char*,int*); -WOLFSSL_API char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509*); -WOLFSSL_API const unsigned char* wolfSSL_X509_get_der(WOLFSSL_X509*, int*); -WOLFSSL_API const unsigned char* wolfSSL_X509_get_tbs(WOLFSSL_X509*, int*); -WOLFSSL_ABI WOLFSSL_API const byte* wolfSSL_X509_notBefore(WOLFSSL_X509*); -WOLFSSL_ABI WOLFSSL_API const byte* wolfSSL_X509_notAfter(WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_X509_version(WOLFSSL_X509*); +WOLFSSL_API int wolfSSL_X509_get_serial_number(WOLFSSL_X509* x509,unsigned char* in,int* inOutSz); +WOLFSSL_API char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509* x509); +WOLFSSL_API const unsigned char* wolfSSL_X509_get_der(WOLFSSL_X509* x509, int* outSz); +WOLFSSL_API const unsigned char* wolfSSL_X509_get_tbs(WOLFSSL_X509* x509, int* outSz); +WOLFSSL_ABI WOLFSSL_API const byte* wolfSSL_X509_notBefore(WOLFSSL_X509* x509); +WOLFSSL_ABI WOLFSSL_API const byte* wolfSSL_X509_notAfter(WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_X509_version(WOLFSSL_X509* x509); -WOLFSSL_API int wolfSSL_cmp_peer_cert_to_file(WOLFSSL*, const char*); +WOLFSSL_API int wolfSSL_cmp_peer_cert_to_file(WOLFSSL* ssl, const char* fname); -WOLFSSL_ABI WOLFSSL_API char* wolfSSL_X509_get_next_altname(WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_X509_add_altname_ex(WOLFSSL_X509*, const char*, word32, int); -WOLFSSL_API int wolfSSL_X509_add_altname(WOLFSSL_X509*, const char*, int); +WOLFSSL_ABI WOLFSSL_API char* wolfSSL_X509_get_next_altname(WOLFSSL_X509* cert); +WOLFSSL_API int wolfSSL_X509_add_altname_ex(WOLFSSL_X509* x509, const char* name, word32 nameSz, int type); +WOLFSSL_API int wolfSSL_X509_add_altname(WOLFSSL_X509* x509, const char* name, int type); WOLFSSL_API WOLFSSL_X509* wolfSSL_d2i_X509(WOLFSSL_X509** x509, const unsigned char** in, int len); @@ -2711,11 +2715,11 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_REQ_load_certificate_buffer( #ifdef WOLFSSL_SEP WOLFSSL_API unsigned char* - wolfSSL_X509_get_device_type(WOLFSSL_X509*, unsigned char*, int*); + wolfSSL_X509_get_device_type(WOLFSSL_X509* x509, unsigned char* in, int* inOutSz); WOLFSSL_API unsigned char* - wolfSSL_X509_get_hw_type(WOLFSSL_X509*, unsigned char*, int*); + wolfSSL_X509_get_hw_type(WOLFSSL_X509* x509, unsigned char* in, int* inOutSz); WOLFSSL_API unsigned char* - wolfSSL_X509_get_hw_serial_number(WOLFSSL_X509*, unsigned char*, int*); + wolfSSL_X509_get_hw_serial_number(WOLFSSL_X509* x509, unsigned char* in, int* inOutSz); #endif /* connect enough to get peer cert */ @@ -2747,55 +2751,55 @@ WOLFSSL_API void wolfSSL_PKCS12_PBE_add(void); #ifndef NO_DH /* server Diffie-Hellman parameters */ -WOLFSSL_API int wolfSSL_SetTmpDH(WOLFSSL*, const unsigned char* p, int pSz, +WOLFSSL_API int wolfSSL_SetTmpDH(WOLFSSL* ssl, const unsigned char* p, int pSz, const unsigned char* g, int gSz); -WOLFSSL_API int wolfSSL_SetTmpDH_buffer(WOLFSSL*, const unsigned char* b, long sz, +WOLFSSL_API int wolfSSL_SetTmpDH_buffer(WOLFSSL* ssl, const unsigned char* b, long sz, int format); -WOLFSSL_API int wolfSSL_SetEnableDhKeyTest(WOLFSSL*, int); +WOLFSSL_API int wolfSSL_SetEnableDhKeyTest(WOLFSSL* ssl, int enable); #ifndef NO_FILESYSTEM - WOLFSSL_API int wolfSSL_SetTmpDH_file(WOLFSSL*, const char* f, int format); + WOLFSSL_API int wolfSSL_SetTmpDH_file(WOLFSSL* ssl, const char* f, int format); #endif /* server ctx Diffie-Hellman parameters */ -WOLFSSL_API int wolfSSL_CTX_SetTmpDH(WOLFSSL_CTX*, const unsigned char* p, +WOLFSSL_API int wolfSSL_CTX_SetTmpDH(WOLFSSL_CTX* ctx, const unsigned char* p, int pSz, const unsigned char* g, int gSz); -WOLFSSL_API int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX*, const unsigned char* b, +WOLFSSL_API int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX* ctx, const unsigned char* b, long sz, int format); #ifndef NO_FILESYSTEM - WOLFSSL_API int wolfSSL_CTX_SetTmpDH_file(WOLFSSL_CTX*, const char* f, + WOLFSSL_API int wolfSSL_CTX_SetTmpDH_file(WOLFSSL_CTX* ctx, const char* f, int format); #endif -WOLFSSL_API int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX*, word16); -WOLFSSL_API int wolfSSL_SetMinDhKey_Sz(WOLFSSL*, word16); -WOLFSSL_API int wolfSSL_CTX_SetMaxDhKey_Sz(WOLFSSL_CTX*, word16); -WOLFSSL_API int wolfSSL_SetMaxDhKey_Sz(WOLFSSL*, word16); -WOLFSSL_API int wolfSSL_GetDhKey_Sz(WOLFSSL*); +WOLFSSL_API int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX* ctx, word16 keySz_bits); +WOLFSSL_API int wolfSSL_SetMinDhKey_Sz(WOLFSSL* ssl, word16 keySz_bits); +WOLFSSL_API int wolfSSL_CTX_SetMaxDhKey_Sz(WOLFSSL_CTX* ctx, word16 keySz_bits); +WOLFSSL_API int wolfSSL_SetMaxDhKey_Sz(WOLFSSL* ssl, word16 keySz_bits); +WOLFSSL_API int wolfSSL_GetDhKey_Sz(WOLFSSL* ssl); #endif /* NO_DH */ #ifndef NO_RSA -WOLFSSL_API int wolfSSL_CTX_SetMinRsaKey_Sz(WOLFSSL_CTX*, short); -WOLFSSL_API int wolfSSL_SetMinRsaKey_Sz(WOLFSSL*, short); +WOLFSSL_API int wolfSSL_CTX_SetMinRsaKey_Sz(WOLFSSL_CTX* ctx, short keySz); +WOLFSSL_API int wolfSSL_SetMinRsaKey_Sz(WOLFSSL* ssl, short keySz); #endif /* NO_RSA */ #ifdef HAVE_ECC -WOLFSSL_API int wolfSSL_CTX_SetMinEccKey_Sz(WOLFSSL_CTX*, short); -WOLFSSL_API int wolfSSL_SetMinEccKey_Sz(WOLFSSL*, short); +WOLFSSL_API int wolfSSL_CTX_SetMinEccKey_Sz(WOLFSSL_CTX* ctx, short keySz); +WOLFSSL_API int wolfSSL_SetMinEccKey_Sz(WOLFSSL* ssl, short keySz); #endif /* NO_RSA */ -WOLFSSL_API int wolfSSL_SetTmpEC_DHE_Sz(WOLFSSL*, word16); -WOLFSSL_API int wolfSSL_CTX_SetTmpEC_DHE_Sz(WOLFSSL_CTX*, word16); +WOLFSSL_API int wolfSSL_SetTmpEC_DHE_Sz(WOLFSSL* ssl, word16 sz); +WOLFSSL_API int wolfSSL_CTX_SetTmpEC_DHE_Sz(WOLFSSL_CTX* ctx, word16 sz); /* keyblock size in bytes or -1 */ /* need to call wolfSSL_KeepArrays before handshake to save keys */ -WOLFSSL_API int wolfSSL_get_keyblock_size(WOLFSSL*); -WOLFSSL_API int wolfSSL_get_keys(WOLFSSL*,unsigned char** ms, unsigned int* msLen, +WOLFSSL_API int wolfSSL_get_keyblock_size(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_get_keys(WOLFSSL* ssl,unsigned char** ms, unsigned int* msLen, unsigned char** sr, unsigned int* srLen, unsigned char** cr, unsigned int* crLen); /* Computes EAP-TLS and EAP-TTLS keying material from the master_secret. */ -WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, +WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL* ssl, void* key, unsigned int len, const char* label); @@ -2820,53 +2824,53 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, #ifndef NO_CERTS /* SSL_CTX versions */ - WOLFSSL_API int wolfSSL_CTX_UnloadCAs(WOLFSSL_CTX*); + WOLFSSL_API int wolfSSL_CTX_UnloadCAs(WOLFSSL_CTX* ctx); #ifdef WOLFSSL_TRUST_PEER_CERT - WOLFSSL_API int wolfSSL_CTX_Unload_trust_peers(WOLFSSL_CTX*); - WOLFSSL_API int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX*, + WOLFSSL_API int wolfSSL_CTX_Unload_trust_peers(WOLFSSL_CTX* ctx); + WOLFSSL_API int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX* ctx, const unsigned char*, long, int); #endif - WOLFSSL_API int wolfSSL_CTX_load_verify_buffer_ex(WOLFSSL_CTX*, - const unsigned char*, long, int, - int, word32); - WOLFSSL_API int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX*, - const unsigned char*, long, int); - WOLFSSL_API int wolfSSL_CTX_load_verify_chain_buffer_format(WOLFSSL_CTX*, - const unsigned char*, long, int); - WOLFSSL_API int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX*, - const unsigned char*, long, int); - WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX*, - const unsigned char*, long, int); - WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_id(WOLFSSL_CTX*, - const unsigned char*, long, - int, long); - WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_Id(WOLFSSL_CTX*, - const unsigned char*, long, - int); - WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_Label(WOLFSSL_CTX*, const char*, - int); - WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_buffer_format(WOLFSSL_CTX*, - const unsigned char*, long, int); - WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_buffer(WOLFSSL_CTX*, - const unsigned char*, long); + WOLFSSL_API int wolfSSL_CTX_load_verify_buffer_ex(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz, int format, + int userChain, word32 flags); + WOLFSSL_API int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz, int format); + WOLFSSL_API int wolfSSL_CTX_load_verify_chain_buffer_format(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz, int format); + WOLFSSL_API int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz, int format); + WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz, int format); + WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_id(WOLFSSL_CTX* ctx, + const unsigned char* id, long sz, + int devId, long keySz); + WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_Id(WOLFSSL_CTX* ctx, + const unsigned char* id, long sz, + int devId); + WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_Label(WOLFSSL_CTX* ctx, const char* label, + int devId); + WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_buffer_format(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz, int format); + WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_buffer(WOLFSSL_CTX* ctx, + const unsigned char* in, long sz); /* SSL versions */ - WOLFSSL_API int wolfSSL_use_certificate_buffer(WOLFSSL*, const unsigned char*, - long, int); + WOLFSSL_API int wolfSSL_use_certificate_buffer(WOLFSSL* ssl, const unsigned char* in, + long sz, int format); WOLFSSL_API int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, const unsigned char* der, int derSz); - WOLFSSL_API int wolfSSL_use_PrivateKey_buffer(WOLFSSL*, const unsigned char*, - long, int); - WOLFSSL_API int wolfSSL_use_PrivateKey_id(WOLFSSL*, const unsigned char*, - long, int, long); - WOLFSSL_API int wolfSSL_use_PrivateKey_Id(WOLFSSL*, const unsigned char*, - long, int); - WOLFSSL_API int wolfSSL_use_PrivateKey_Label(WOLFSSL*, const char*, int); - WOLFSSL_API int wolfSSL_use_certificate_chain_buffer_format(WOLFSSL*, - const unsigned char*, long, int); - WOLFSSL_API int wolfSSL_use_certificate_chain_buffer(WOLFSSL*, - const unsigned char*, long); - WOLFSSL_API int wolfSSL_UnloadCertsKeys(WOLFSSL*); + WOLFSSL_API int wolfSSL_use_PrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in, + long sz, int format); + WOLFSSL_API int wolfSSL_use_PrivateKey_id(WOLFSSL* ssl, const unsigned char* id, + long sz, int devId, long keySz); + WOLFSSL_API int wolfSSL_use_PrivateKey_Id(WOLFSSL* ssl, const unsigned char* id, + long sz, int devId); + WOLFSSL_API int wolfSSL_use_PrivateKey_Label(WOLFSSL* ssl, const char* label, int devId); + WOLFSSL_API int wolfSSL_use_certificate_chain_buffer_format(WOLFSSL* ssl, + const unsigned char* in, long sz, int format); + WOLFSSL_API int wolfSSL_use_certificate_chain_buffer(WOLFSSL* ssl, + const unsigned char* in, long sz); + WOLFSSL_API int wolfSSL_UnloadCertsKeys(WOLFSSL* ssl); #if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)) && \ defined(KEEP_OUR_CERT) @@ -2875,8 +2879,8 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, #endif #endif -WOLFSSL_API int wolfSSL_CTX_set_group_messages(WOLFSSL_CTX*); -WOLFSSL_API int wolfSSL_set_group_messages(WOLFSSL*); +WOLFSSL_API int wolfSSL_CTX_set_group_messages(WOLFSSL_CTX* ctx); +WOLFSSL_API int wolfSSL_set_group_messages(WOLFSSL* ssl); #ifdef HAVE_FUZZER @@ -2895,7 +2899,7 @@ WOLFSSL_API void wolfSSL_SetFuzzerCb(WOLFSSL* ssl, CallbackFuzzer cbf, void* fCt #endif -WOLFSSL_API int wolfSSL_DTLS_SetCookieSecret(WOLFSSL*, const byte*, word32); +WOLFSSL_API int wolfSSL_DTLS_SetCookieSecret(WOLFSSL* ssl, const byte* secret, word32 secretSz); /* I/O Callback default errors */ @@ -2924,15 +2928,15 @@ enum { WOLFSSL_CHAIN_CA = 2 /* added to cache from trusted chain */ }; -WOLFSSL_ABI WOLFSSL_API WC_RNG* wolfSSL_GetRNG(WOLFSSL*); +WOLFSSL_ABI WOLFSSL_API WC_RNG* wolfSSL_GetRNG(WOLFSSL* ssl); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX*, int); -WOLFSSL_API int wolfSSL_SetMinVersion(WOLFSSL*, int); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version); +WOLFSSL_API int wolfSSL_SetMinVersion(WOLFSSL* ssl, int version); WOLFSSL_API int wolfSSL_GetObjectSize(void); /* object size based on build */ WOLFSSL_API int wolfSSL_CTX_GetObjectSize(void); WOLFSSL_API int wolfSSL_METHOD_GetObjectSize(void); -WOLFSSL_API int wolfSSL_GetOutputSize(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_GetMaxOutputSize(WOLFSSL*); +WOLFSSL_API int wolfSSL_GetOutputSize(WOLFSSL* ssl, int inSz); +WOLFSSL_API int wolfSSL_GetMaxOutputSize(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_GetVersion(const WOLFSSL* ssl); WOLFSSL_API int wolfSSL_SetVersion(WOLFSSL* ssl, int version); @@ -2959,7 +2963,7 @@ typedef int (*CallbackMacEncrypt)(WOLFSSL* ssl, unsigned char* macOut, const unsigned char* macIn, unsigned int macInSz, int macContent, int macVerify, unsigned char* encOut, const unsigned char* encIn, unsigned int encSz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetMacEncryptCb(WOLFSSL_CTX*, CallbackMacEncrypt); +WOLFSSL_API void wolfSSL_CTX_SetMacEncryptCb(WOLFSSL_CTX* ctx, CallbackMacEncrypt cb); WOLFSSL_API void wolfSSL_SetMacEncryptCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetMacEncryptCtx(WOLFSSL* ssl); @@ -2967,15 +2971,15 @@ typedef int (*CallbackDecryptVerify)(WOLFSSL* ssl, unsigned char* decOut, const unsigned char* decIn, unsigned int decSz, int content, int verify, unsigned int* padSz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetDecryptVerifyCb(WOLFSSL_CTX*, - CallbackDecryptVerify); +WOLFSSL_API void wolfSSL_CTX_SetDecryptVerifyCb(WOLFSSL_CTX* ctx, + CallbackDecryptVerify cb); WOLFSSL_API void wolfSSL_SetDecryptVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetDecryptVerifyCtx(WOLFSSL* ssl); typedef int (*CallbackEncryptMac)(WOLFSSL* ssl, unsigned char* macOut, int content, int macVerify, unsigned char* encOut, const unsigned char* encIn, unsigned int encSz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEncryptMacCb(WOLFSSL_CTX*, CallbackEncryptMac); +WOLFSSL_API void wolfSSL_CTX_SetEncryptMacCb(WOLFSSL_CTX* ctx, CallbackEncryptMac cb); WOLFSSL_API void wolfSSL_SetEncryptMacCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEncryptMacCtx(WOLFSSL* ssl); @@ -2983,29 +2987,29 @@ typedef int (*CallbackVerifyDecrypt)(WOLFSSL* ssl, unsigned char* decOut, const unsigned char* decIn, unsigned int decSz, int content, int verify, unsigned int* padSz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetVerifyDecryptCb(WOLFSSL_CTX*, - CallbackVerifyDecrypt); +WOLFSSL_API void wolfSSL_CTX_SetVerifyDecryptCb(WOLFSSL_CTX* ctx, + CallbackVerifyDecrypt cb); WOLFSSL_API void wolfSSL_SetVerifyDecryptCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetVerifyDecryptCtx(WOLFSSL* ssl); -WOLFSSL_API const unsigned char* wolfSSL_GetMacSecret(WOLFSSL*, int); -WOLFSSL_API const unsigned char* wolfSSL_GetDtlsMacSecret(WOLFSSL*, int, int); -WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteKey(WOLFSSL*); -WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteIV(WOLFSSL*); -WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteKey(WOLFSSL*); -WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteIV(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetKeySize(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetIVSize(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetSide(WOLFSSL*); -WOLFSSL_API int wolfSSL_IsTLSv1_1(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetBulkCipher(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetCipherBlockSize(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetAeadMacSize(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetHmacSize(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetHmacType(WOLFSSL*); -WOLFSSL_API int wolfSSL_GetCipherType(WOLFSSL*); -WOLFSSL_API int wolfSSL_SetTlsHmacInner(WOLFSSL*, unsigned char*, - word32, int, int); +WOLFSSL_API const unsigned char* wolfSSL_GetMacSecret(WOLFSSL* ssl, int verify); +WOLFSSL_API const unsigned char* wolfSSL_GetDtlsMacSecret(WOLFSSL* ssl, int verify, int epochOrder); +WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteKey(WOLFSSL* ssl); +WOLFSSL_API const unsigned char* wolfSSL_GetClientWriteIV(WOLFSSL* ssl); +WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteKey(WOLFSSL* ssl); +WOLFSSL_API const unsigned char* wolfSSL_GetServerWriteIV(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetKeySize(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetIVSize(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetSide(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_IsTLSv1_1(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetBulkCipher(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetCipherBlockSize(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetAeadMacSize(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetHmacSize(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetHmacType(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_GetCipherType(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_SetTlsHmacInner(WOLFSSL* ssl, + byte* inner, word32 sz, int content, int verify); /* Atomic User Needs */ enum { @@ -3055,7 +3059,7 @@ struct ecc_key; typedef int (*CallbackEccKeyGen)(WOLFSSL* ssl, struct ecc_key* key, unsigned int keySz, int ecc_curve, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEccKeyGenCb(WOLFSSL_CTX*, CallbackEccKeyGen); +WOLFSSL_API void wolfSSL_CTX_SetEccKeyGenCb(WOLFSSL_CTX* ctx, CallbackEccKeyGen cb); WOLFSSL_API void wolfSSL_SetEccKeyGenCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEccKeyGenCtx(WOLFSSL* ssl); @@ -3064,8 +3068,8 @@ typedef int (*CallbackEccSign)(WOLFSSL* ssl, unsigned char* out, word32* outSz, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX*, - CallbackEccSign); +WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX* ctx, + CallbackEccSign cb); WOLFSSL_API void wolfSSL_SetEccSignCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEccSignCtx(WOLFSSL* ssl); @@ -3074,7 +3078,7 @@ typedef int (*CallbackEccVerify)(WOLFSSL* ssl, const unsigned char* hash, unsigned int hashSz, const unsigned char* keyDer, unsigned int keySz, int* result, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX*, CallbackEccVerify); +WOLFSSL_API void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX* ctx, CallbackEccVerify cb); WOLFSSL_API void wolfSSL_SetEccVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEccVerifyCtx(WOLFSSL* ssl); @@ -3082,7 +3086,7 @@ typedef int (*CallbackEccSharedSecret)(WOLFSSL* ssl, struct ecc_key* otherKey, unsigned char* pubKeyDer, word32* pubKeySz, unsigned char* out, word32* outlen, int side, void* ctx); /* side is WOLFSSL_CLIENT_END or WOLFSSL_SERVER_END */ -WOLFSSL_API void wolfSSL_CTX_SetEccSharedSecretCb(WOLFSSL_CTX*, CallbackEccSharedSecret); +WOLFSSL_API void wolfSSL_CTX_SetEccSharedSecretCb(WOLFSSL_CTX* ctx, CallbackEccSharedSecret cb); WOLFSSL_API void wolfSSL_SetEccSharedSecretCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEccSharedSecretCtx(WOLFSSL* ssl); #endif @@ -3091,7 +3095,7 @@ WOLFSSL_API void* wolfSSL_GetEccSharedSecretCtx(WOLFSSL* ssl); #include typedef int (*CallbackHKDFExtract)(byte* prk, const byte* salt, word32 saltLen, byte* ikm, word32 ikmLen, int digest, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetHKDFExtractCb(WOLFSSL_CTX*, CallbackHKDFExtract); +WOLFSSL_API void wolfSSL_CTX_SetHKDFExtractCb(WOLFSSL_CTX* ctx, CallbackHKDFExtract cb); WOLFSSL_API void* wolfSSL_GetHKDFExtractCtx(WOLFSSL* ssl); WOLFSSL_API void wolfSSL_SetHKDFExtractCtx(WOLFSSL* ssl, void *ctx); #endif @@ -3104,7 +3108,7 @@ typedef int (*CallbackDhAgree)(WOLFSSL* ssl, struct DhKey* key, const unsigned char* otherPubKeyDer, unsigned int otherPubKeySz, unsigned char* out, word32* outlen, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetDhAgreeCb(WOLFSSL_CTX*, CallbackDhAgree); +WOLFSSL_API void wolfSSL_CTX_SetDhAgreeCb(WOLFSSL_CTX* ctx, CallbackDhAgree cb); WOLFSSL_API void wolfSSL_SetDhAgreeCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl); #endif /* !NO_DH */ @@ -3116,8 +3120,8 @@ typedef int (*CallbackEd25519Sign)(WOLFSSL* ssl, unsigned char* out, unsigned int* outSz, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEd25519SignCb(WOLFSSL_CTX*, - CallbackEd25519Sign); +WOLFSSL_API void wolfSSL_CTX_SetEd25519SignCb(WOLFSSL_CTX* ctx, + CallbackEd25519Sign cb); WOLFSSL_API void wolfSSL_SetEd25519SignCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEd25519SignCtx(WOLFSSL* ssl); @@ -3126,8 +3130,8 @@ typedef int (*CallbackEd25519Verify)(WOLFSSL* ssl, const unsigned char* msg, unsigned int msgSz, const unsigned char* keyDer, unsigned int keySz, int* result, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEd25519VerifyCb(WOLFSSL_CTX*, - CallbackEd25519Verify); +WOLFSSL_API void wolfSSL_CTX_SetEd25519VerifyCb(WOLFSSL_CTX* ctx, + CallbackEd25519Verify cb); WOLFSSL_API void wolfSSL_SetEd25519VerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEd25519VerifyCtx(WOLFSSL* ssl); #endif @@ -3137,7 +3141,7 @@ struct curve25519_key; typedef int (*CallbackX25519KeyGen)(WOLFSSL* ssl, struct curve25519_key* key, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetX25519KeyGenCb(WOLFSSL_CTX*, CallbackX25519KeyGen); +WOLFSSL_API void wolfSSL_CTX_SetX25519KeyGenCb(WOLFSSL_CTX* ctx, CallbackX25519KeyGen cb); WOLFSSL_API void wolfSSL_SetX25519KeyGenCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetX25519KeyGenCtx(WOLFSSL* ssl); @@ -3147,8 +3151,8 @@ typedef int (*CallbackX25519SharedSecret)(WOLFSSL* ssl, unsigned char* out, unsigned int* outlen, int side, void* ctx); /* side is WOLFSSL_CLIENT_END or WOLFSSL_SERVER_END */ -WOLFSSL_API void wolfSSL_CTX_SetX25519SharedSecretCb(WOLFSSL_CTX*, - CallbackX25519SharedSecret); +WOLFSSL_API void wolfSSL_CTX_SetX25519SharedSecretCb(WOLFSSL_CTX* ctx, + CallbackX25519SharedSecret cb); WOLFSSL_API void wolfSSL_SetX25519SharedSecretCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetX25519SharedSecretCtx(WOLFSSL* ssl); #endif @@ -3160,8 +3164,8 @@ typedef int (*CallbackEd448Sign)(WOLFSSL* ssl, unsigned char* out, unsigned int* outSz, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEd448SignCb(WOLFSSL_CTX*, - CallbackEd448Sign); +WOLFSSL_API void wolfSSL_CTX_SetEd448SignCb(WOLFSSL_CTX* ctx, + CallbackEd448Sign cb); WOLFSSL_API void wolfSSL_SetEd448SignCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEd448SignCtx(WOLFSSL* ssl); @@ -3170,8 +3174,8 @@ typedef int (*CallbackEd448Verify)(WOLFSSL* ssl, const unsigned char* msg, unsigned int msgSz, const unsigned char* keyDer, unsigned int keySz, int* result, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEd448VerifyCb(WOLFSSL_CTX*, - CallbackEd448Verify); +WOLFSSL_API void wolfSSL_CTX_SetEd448VerifyCb(WOLFSSL_CTX* ctx, + CallbackEd448Verify cb); WOLFSSL_API void wolfSSL_SetEd448VerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEd448VerifyCtx(WOLFSSL* ssl); #endif @@ -3181,7 +3185,7 @@ struct curve448_key; typedef int (*CallbackX448KeyGen)(WOLFSSL* ssl, struct curve448_key* key, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetX448KeyGenCb(WOLFSSL_CTX*, CallbackX448KeyGen); +WOLFSSL_API void wolfSSL_CTX_SetX448KeyGenCb(WOLFSSL_CTX* ctx, CallbackX448KeyGen cb); WOLFSSL_API void wolfSSL_SetX448KeyGenCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetX448KeyGenCtx(WOLFSSL* ssl); @@ -3191,8 +3195,8 @@ typedef int (*CallbackX448SharedSecret)(WOLFSSL* ssl, unsigned char* out, unsigned int* outlen, int side, void* ctx); /* side is WOLFSSL_CLIENT_END or WOLFSSL_SERVER_END */ -WOLFSSL_API void wolfSSL_CTX_SetX448SharedSecretCb(WOLFSSL_CTX*, - CallbackX448SharedSecret); +WOLFSSL_API void wolfSSL_CTX_SetX448SharedSecretCb(WOLFSSL_CTX* ctx, + CallbackX448SharedSecret cb); WOLFSSL_API void wolfSSL_SetX448SharedSecretCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetX448SharedSecretCtx(WOLFSSL* ssl); #endif @@ -3203,7 +3207,7 @@ typedef int (*CallbackRsaSign)(WOLFSSL* ssl, unsigned char* out, word32* outSz, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetRsaSignCb(WOLFSSL_CTX*, CallbackRsaSign); +WOLFSSL_API void wolfSSL_CTX_SetRsaSignCb(WOLFSSL_CTX* ctx, CallbackRsaSign cb); WOLFSSL_API void wolfSSL_SetRsaSignCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaSignCtx(WOLFSSL* ssl); @@ -3212,8 +3216,8 @@ typedef int (*CallbackRsaVerify)(WOLFSSL* ssl, unsigned char** out, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX*, CallbackRsaVerify); -WOLFSSL_API void wolfSSL_CTX_SetRsaSignCheckCb(WOLFSSL_CTX*, CallbackRsaVerify); +WOLFSSL_API void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX* ctx, CallbackRsaVerify cb); +WOLFSSL_API void wolfSSL_CTX_SetRsaSignCheckCb(WOLFSSL_CTX* ctx, CallbackRsaVerify cb); WOLFSSL_API void wolfSSL_SetRsaVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaVerifyCtx(WOLFSSL* ssl); @@ -3224,7 +3228,7 @@ typedef int (*CallbackRsaPssSign)(WOLFSSL* ssl, int hash, int mgf, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetRsaPssSignCb(WOLFSSL_CTX*, CallbackRsaPssSign); +WOLFSSL_API void wolfSSL_CTX_SetRsaPssSignCb(WOLFSSL_CTX* ctx, CallbackRsaPssSign cb); WOLFSSL_API void wolfSSL_SetRsaPssSignCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaPssSignCtx(WOLFSSL* ssl); @@ -3234,10 +3238,10 @@ typedef int (*CallbackRsaPssVerify)(WOLFSSL* ssl, int hash, int mgf, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetRsaPssVerifyCb(WOLFSSL_CTX*, - CallbackRsaPssVerify); -WOLFSSL_API void wolfSSL_CTX_SetRsaPssSignCheckCb(WOLFSSL_CTX*, - CallbackRsaPssVerify); +WOLFSSL_API void wolfSSL_CTX_SetRsaPssVerifyCb(WOLFSSL_CTX* ctx, + CallbackRsaPssVerify cb); +WOLFSSL_API void wolfSSL_CTX_SetRsaPssSignCheckCb(WOLFSSL_CTX* ctx, + CallbackRsaPssVerify cb); WOLFSSL_API void wolfSSL_SetRsaPssVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaPssVerifyCtx(WOLFSSL* ssl); #endif @@ -3248,7 +3252,7 @@ typedef int (*CallbackRsaEnc)(WOLFSSL* ssl, unsigned char* out, word32* outSz, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetRsaEncCb(WOLFSSL_CTX*, CallbackRsaEnc); +WOLFSSL_API void wolfSSL_CTX_SetRsaEncCb(WOLFSSL_CTX* ctx, CallbackRsaEnc cb); WOLFSSL_API void wolfSSL_SetRsaEncCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaEncCtx(WOLFSSL* ssl); @@ -3258,34 +3262,34 @@ typedef int (*CallbackRsaDec)(WOLFSSL* ssl, unsigned char** out, const unsigned char* keyDer, unsigned int keySz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX*, CallbackRsaDec); +WOLFSSL_API void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX* ctx, CallbackRsaDec cb); WOLFSSL_API void wolfSSL_SetRsaDecCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); #endif /* Protocol Callback */ typedef int (*CallbackGenMasterSecret)(WOLFSSL* ssl, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetGenMasterSecretCb(WOLFSSL_CTX*, - CallbackGenMasterSecret); +WOLFSSL_API void wolfSSL_CTX_SetGenMasterSecretCb(WOLFSSL_CTX* ctx, + CallbackGenMasterSecret cb); WOLFSSL_API void wolfSSL_SetGenMasterSecretCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetGenMasterSecretCtx(WOLFSSL* ssl); typedef int (*CallbackGenPreMaster)(WOLFSSL* ssl, byte *premaster, word32 preSz, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetGenPreMasterCb(WOLFSSL_CTX*, - CallbackGenPreMaster); +WOLFSSL_API void wolfSSL_CTX_SetGenPreMasterCb(WOLFSSL_CTX* ctx, + CallbackGenPreMaster cb); WOLFSSL_API void wolfSSL_SetGenPreMasterCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetGenPreMasterCtx(WOLFSSL* ssl); typedef int (*CallbackGenSessionKey)(WOLFSSL* ssl, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetGenSessionKeyCb(WOLFSSL_CTX*, - CallbackGenSessionKey); +WOLFSSL_API void wolfSSL_CTX_SetGenSessionKeyCb(WOLFSSL_CTX* ctx, + CallbackGenSessionKey cb); WOLFSSL_API void wolfSSL_SetGenSessionKeyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetGenSessionKeyCtx(WOLFSSL* ssl); typedef int (*CallbackEncryptKeys)(WOLFSSL* ssl, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetEncryptKeysCb(WOLFSSL_CTX*, - CallbackEncryptKeys); +WOLFSSL_API void wolfSSL_CTX_SetEncryptKeysCb(WOLFSSL_CTX* ctx, + CallbackEncryptKeys cb); WOLFSSL_API void wolfSSL_SetEncryptKeysCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEncryptKeysCtx(WOLFSSL* ssl); @@ -3293,14 +3297,14 @@ typedef int (*CallbackTlsFinished)(WOLFSSL* ssl, const byte *side, const byte *handshake_hash, byte *hashes, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetTlsFinishedCb(WOLFSSL_CTX*, CallbackTlsFinished); +WOLFSSL_API void wolfSSL_CTX_SetTlsFinishedCb(WOLFSSL_CTX* ctx, CallbackTlsFinished cb); WOLFSSL_API void wolfSSL_SetTlsFinishedCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetTlsFinishedCtx(WOLFSSL* ssl); #if !defined(WOLFSSL_NO_TLS12) && !defined(WOLFSSL_AEAD_ONLY) typedef int (*CallbackVerifyMac)(WOLFSSL *ssl, const byte* message, word32 messageSz, word32 macSz, word32 content, void* ctx); -WOLFSSL_API void wolfSSL_CTX_SetVerifyMacCb(WOLFSSL_CTX*, CallbackVerifyMac); +WOLFSSL_API void wolfSSL_CTX_SetVerifyMacCb(WOLFSSL_CTX* ctx, CallbackVerifyMac cb); WOLFSSL_API void wolfSSL_SetVerifyMacCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetVerifyMacCtx(WOLFSSL* ssl); #endif @@ -3308,59 +3312,59 @@ WOLFSSL_API void* wolfSSL_GetVerifyMacCtx(WOLFSSL* ssl); #endif /* HAVE_PK_CALLBACKS */ #ifndef NO_CERTS - WOLFSSL_API void wolfSSL_CTX_SetCACb(WOLFSSL_CTX*, CallbackCACache); + WOLFSSL_API void wolfSSL_CTX_SetCACb(WOLFSSL_CTX* ctx, CallbackCACache cb); - WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CTX_GetCertManager(WOLFSSL_CTX*); + WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CTX_GetCertManager(WOLFSSL_CTX* ctx); WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew_ex(void* heap); WOLFSSL_API WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew(void); - WOLFSSL_API void wolfSSL_CertManagerFree(WOLFSSL_CERT_MANAGER*); - WOLFSSL_API int wolfSSL_CertManager_up_ref(WOLFSSL_CERT_MANAGER*); + WOLFSSL_API void wolfSSL_CertManagerFree(WOLFSSL_CERT_MANAGER* cm); + WOLFSSL_API int wolfSSL_CertManager_up_ref(WOLFSSL_CERT_MANAGER* cm); - WOLFSSL_API int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER*, const char* f, + WOLFSSL_API int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER* cm, const char* f, const char* d); - WOLFSSL_API int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER*, + WOLFSSL_API int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER* cm, const unsigned char* in, long sz, int format); WOLFSSL_API int wolfSSL_CertManagerUnloadCAs(WOLFSSL_CERT_MANAGER* cm); #ifdef WOLFSSL_TRUST_PEER_CERT WOLFSSL_API int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER* cm); #endif - WOLFSSL_API int wolfSSL_CertManagerVerify(WOLFSSL_CERT_MANAGER*, const char* f, + WOLFSSL_API int wolfSSL_CertManagerVerify(WOLFSSL_CERT_MANAGER* cm, const char* f, int format); WOLFSSL_API int wolfSSL_CertManagerVerifyBuffer(WOLFSSL_CERT_MANAGER* cm, const unsigned char* buff, long sz, int format); - WOLFSSL_API int wolfSSL_CertManagerCheckCRL(WOLFSSL_CERT_MANAGER*, - unsigned char*, int sz); - WOLFSSL_API int wolfSSL_CertManagerEnableCRL(WOLFSSL_CERT_MANAGER*, + WOLFSSL_API int wolfSSL_CertManagerCheckCRL(WOLFSSL_CERT_MANAGER* cm, + unsigned char* der, int sz); + WOLFSSL_API int wolfSSL_CertManagerEnableCRL(WOLFSSL_CERT_MANAGER* cm, int options); - WOLFSSL_API int wolfSSL_CertManagerDisableCRL(WOLFSSL_CERT_MANAGER*); + WOLFSSL_API int wolfSSL_CertManagerDisableCRL(WOLFSSL_CERT_MANAGER* cm); WOLFSSL_API void wolfSSL_CertManagerSetVerify(WOLFSSL_CERT_MANAGER* cm, VerifyCallback vc); - WOLFSSL_API int wolfSSL_CertManagerLoadCRL(WOLFSSL_CERT_MANAGER*, - const char*, int, int); - WOLFSSL_API int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER*, - const unsigned char*, long sz, int); - WOLFSSL_API int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER*, - CbMissingCRL); - WOLFSSL_API int wolfSSL_CertManagerFreeCRL(WOLFSSL_CERT_MANAGER *); + WOLFSSL_API int wolfSSL_CertManagerLoadCRL(WOLFSSL_CERT_MANAGER* cm, + const char* path, int type, int monitor); + WOLFSSL_API int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER* cm, + const unsigned char* buff, long sz, int type); + WOLFSSL_API int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER* cm, + CbMissingCRL cb); + WOLFSSL_API int wolfSSL_CertManagerFreeCRL(WOLFSSL_CERT_MANAGER* cm); #ifdef HAVE_CRL_IO - WOLFSSL_API int wolfSSL_CertManagerSetCRL_IOCb(WOLFSSL_CERT_MANAGER*, - CbCrlIO); + WOLFSSL_API int wolfSSL_CertManagerSetCRL_IOCb(WOLFSSL_CERT_MANAGER* cm, + CbCrlIO cb); #endif #if defined(HAVE_OCSP) - WOLFSSL_API int wolfSSL_CertManagerCheckOCSPResponse(WOLFSSL_CERT_MANAGER *, + WOLFSSL_API int wolfSSL_CertManagerCheckOCSPResponse(WOLFSSL_CERT_MANAGER* cm, byte *response, int responseSz, WOLFSSL_BUFFER_INFO *responseBuffer, CertStatus *status, OcspEntry *entry, OcspRequest *ocspRequest); #endif - WOLFSSL_API int wolfSSL_CertManagerCheckOCSP(WOLFSSL_CERT_MANAGER*, - unsigned char*, int sz); - WOLFSSL_API int wolfSSL_CertManagerEnableOCSP(WOLFSSL_CERT_MANAGER*, + WOLFSSL_API int wolfSSL_CertManagerCheckOCSP(WOLFSSL_CERT_MANAGER* cm, + unsigned char* der, int sz); + WOLFSSL_API int wolfSSL_CertManagerEnableOCSP(WOLFSSL_CERT_MANAGER* cm, int options); - WOLFSSL_API int wolfSSL_CertManagerDisableOCSP(WOLFSSL_CERT_MANAGER*); - WOLFSSL_API int wolfSSL_CertManagerSetOCSPOverrideURL(WOLFSSL_CERT_MANAGER*, - const char*); - WOLFSSL_API int wolfSSL_CertManagerSetOCSP_Cb(WOLFSSL_CERT_MANAGER*, - CbOCSPIO, CbOCSPRespFree, void*); + WOLFSSL_API int wolfSSL_CertManagerDisableOCSP(WOLFSSL_CERT_MANAGER* cm); + WOLFSSL_API int wolfSSL_CertManagerSetOCSPOverrideURL(WOLFSSL_CERT_MANAGER* cm, + const char* url); + WOLFSSL_API int wolfSSL_CertManagerSetOCSP_Cb(WOLFSSL_CERT_MANAGER* cm, + CbOCSPIO ioCb, CbOCSPRespFree respFreeCb, void* ioCbCtx); WOLFSSL_API int wolfSSL_CertManagerEnableOCSPStapling( WOLFSSL_CERT_MANAGER* cm); @@ -3374,55 +3378,55 @@ WOLFSSL_API void* wolfSSL_GetVerifyMacCtx(WOLFSSL* ssl); !defined(NO_FILESYSTEM) WOLFSSL_API WOLFSSL_STACK* wolfSSL_CertManagerGetCerts(WOLFSSL_CERT_MANAGER* cm); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_X509_STORE_get1_certs( - WOLFSSL_X509_STORE_CTX*, WOLFSSL_X509_NAME*); + WOLFSSL_X509_STORE_CTX* ctx, WOLFSSL_X509_NAME* name); #endif /* OPENSSL_EXTRA && WOLFSSL_SIGNER_DER_CERT && !NO_FILESYSTEM */ WOLFSSL_API int wolfSSL_EnableCRL(WOLFSSL* ssl, int options); WOLFSSL_API int wolfSSL_DisableCRL(WOLFSSL* ssl); - WOLFSSL_API int wolfSSL_LoadCRL(WOLFSSL*, const char*, int, int); - WOLFSSL_API int wolfSSL_LoadCRLBuffer(WOLFSSL*, - const unsigned char*, long sz, int); - WOLFSSL_API int wolfSSL_SetCRL_Cb(WOLFSSL*, CbMissingCRL); + WOLFSSL_API int wolfSSL_LoadCRL(WOLFSSL* ssl, const char* path, int type, int monitor); + WOLFSSL_API int wolfSSL_LoadCRLBuffer(WOLFSSL* ssl, + const unsigned char* buff, long sz, int type); + WOLFSSL_API int wolfSSL_SetCRL_Cb(WOLFSSL* ssl, CbMissingCRL cb); #ifdef HAVE_CRL_IO WOLFSSL_API int wolfSSL_SetCRL_IOCb(WOLFSSL* ssl, CbCrlIO cb); #endif - WOLFSSL_API int wolfSSL_EnableOCSP(WOLFSSL*, int options); - WOLFSSL_API int wolfSSL_DisableOCSP(WOLFSSL*); - WOLFSSL_API int wolfSSL_SetOCSP_OverrideURL(WOLFSSL*, const char*); - WOLFSSL_API int wolfSSL_SetOCSP_Cb(WOLFSSL*, CbOCSPIO, CbOCSPRespFree, void*); - WOLFSSL_API int wolfSSL_EnableOCSPStapling(WOLFSSL*); - WOLFSSL_API int wolfSSL_DisableOCSPStapling(WOLFSSL*); + WOLFSSL_API int wolfSSL_EnableOCSP(WOLFSSL* ssl, int options); + WOLFSSL_API int wolfSSL_DisableOCSP(WOLFSSL* ssl); + WOLFSSL_API int wolfSSL_SetOCSP_OverrideURL(WOLFSSL* ssl, const char* url); + WOLFSSL_API int wolfSSL_SetOCSP_Cb(WOLFSSL* ssl, CbOCSPIO ioCb, CbOCSPRespFree respFreeCb, void* ioCbCtx); + WOLFSSL_API int wolfSSL_EnableOCSPStapling(WOLFSSL* ssl); + WOLFSSL_API int wolfSSL_DisableOCSPStapling(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_CTX_EnableCRL(WOLFSSL_CTX* ctx, int options); WOLFSSL_API int wolfSSL_CTX_DisableCRL(WOLFSSL_CTX* ctx); - WOLFSSL_API int wolfSSL_CTX_LoadCRL(WOLFSSL_CTX*, const char*, int, int); - WOLFSSL_API int wolfSSL_CTX_LoadCRLBuffer(WOLFSSL_CTX*, - const unsigned char*, long sz, int); - WOLFSSL_API int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX*, CbMissingCRL); + WOLFSSL_API int wolfSSL_CTX_LoadCRL(WOLFSSL_CTX* ctx, const char* path, int type, int monitor); + WOLFSSL_API int wolfSSL_CTX_LoadCRLBuffer(WOLFSSL_CTX* ctx, + const unsigned char* buff, long sz, int type); + WOLFSSL_API int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX* ctx, CbMissingCRL cb); #ifdef HAVE_CRL_IO - WOLFSSL_API int wolfSSL_CTX_SetCRL_IOCb(WOLFSSL_CTX*, CbCrlIO); + WOLFSSL_API int wolfSSL_CTX_SetCRL_IOCb(WOLFSSL_CTX* ctx, CbCrlIO cb); #endif - WOLFSSL_API int wolfSSL_CTX_EnableOCSP(WOLFSSL_CTX*, int options); - WOLFSSL_API int wolfSSL_CTX_DisableOCSP(WOLFSSL_CTX*); - WOLFSSL_API int wolfSSL_CTX_SetOCSP_OverrideURL(WOLFSSL_CTX*, const char*); - WOLFSSL_API int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX*, - CbOCSPIO, CbOCSPRespFree, void*); - WOLFSSL_API int wolfSSL_CTX_EnableOCSPStapling(WOLFSSL_CTX*); - WOLFSSL_API int wolfSSL_CTX_DisableOCSPStapling(WOLFSSL_CTX*); - WOLFSSL_API int wolfSSL_CTX_EnableOCSPMustStaple(WOLFSSL_CTX*); - WOLFSSL_API int wolfSSL_CTX_DisableOCSPMustStaple(WOLFSSL_CTX*); + WOLFSSL_API int wolfSSL_CTX_EnableOCSP(WOLFSSL_CTX* ctx, int options); + WOLFSSL_API int wolfSSL_CTX_DisableOCSP(WOLFSSL_CTX* ctx); + WOLFSSL_API int wolfSSL_CTX_SetOCSP_OverrideURL(WOLFSSL_CTX* ctx, const char* url); + WOLFSSL_API int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX* ctx, + CbOCSPIO ioCb, CbOCSPRespFree respFreeCb, void* ioCbCtx); + WOLFSSL_API int wolfSSL_CTX_EnableOCSPStapling(WOLFSSL_CTX* ctx); + WOLFSSL_API int wolfSSL_CTX_DisableOCSPStapling(WOLFSSL_CTX* ctx); + WOLFSSL_API int wolfSSL_CTX_EnableOCSPMustStaple(WOLFSSL_CTX* ctx); + WOLFSSL_API int wolfSSL_CTX_DisableOCSPMustStaple(WOLFSSL_CTX* ctx); #endif /* !NO_CERTS */ #ifdef SINGLE_THREADED - WOLFSSL_API int wolfSSL_CTX_new_rng(WOLFSSL_CTX*); + WOLFSSL_API int wolfSSL_CTX_new_rng(WOLFSSL_CTX* ctx); #endif /* end of handshake frees temporary arrays, if user needs for get_keys or psk hints, call KeepArrays before handshake and then FreeArrays when done if don't want to wait for object free */ -WOLFSSL_API void wolfSSL_KeepArrays(WOLFSSL*); -WOLFSSL_API void wolfSSL_FreeArrays(WOLFSSL*); +WOLFSSL_API void wolfSSL_KeepArrays(WOLFSSL* ssl); +WOLFSSL_API void wolfSSL_FreeArrays(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_KeepHandshakeResources(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_FreeHandshakeResources(WOLFSSL* ssl); @@ -3433,11 +3437,11 @@ WOLFSSL_API int wolfSSL_UseClientSuites(WOLFSSL* ssl); /* async additions */ #define wolfSSL_UseAsync wolfSSL_SetDevId #define wolfSSL_CTX_UseAsync wolfSSL_CTX_SetDevId -WOLFSSL_ABI WOLFSSL_API int wolfSSL_SetDevId(WOLFSSL*, int devId); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_SetDevId(WOLFSSL_CTX*, int devId); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_SetDevId(WOLFSSL* ssl, int devId); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_SetDevId(WOLFSSL_CTX* ctx, int devId); /* helpers to get device id and heap */ -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_GetDevId(WOLFSSL_CTX*, WOLFSSL*); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_GetDevId(WOLFSSL_CTX* ctx, WOLFSSL* ssl); WOLFSSL_API void* wolfSSL_CTX_GetHeap(WOLFSSL_CTX* ctx, WOLFSSL* ssl); /* TLS Extensions */ @@ -3450,10 +3454,10 @@ enum { WOLFSSL_SNI_HOST_NAME = 0 }; -WOLFSSL_ABI WOLFSSL_API int wolfSSL_UseSNI(WOLFSSL*, unsigned char, - const void*, unsigned short); -WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_UseSNI(WOLFSSL_CTX*, unsigned char, - const void*, unsigned short); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_UseSNI(WOLFSSL* ssl, unsigned char type, + const void* data, unsigned short size); +WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, unsigned char type, + const void* data, unsigned short size); #ifndef NO_WOLFSSL_SERVER @@ -3789,11 +3793,11 @@ WOLFSSL_API long wolfSSL_SSL_get_secure_renegotiation_support(WOLFSSL* ssl); #ifndef NO_WOLFSSL_CLIENT WOLFSSL_API int wolfSSL_UseSessionTicket(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_CTX_UseSessionTicket(WOLFSSL_CTX* ctx); -WOLFSSL_API int wolfSSL_get_SessionTicket(WOLFSSL*, unsigned char*, word32*); -WOLFSSL_API int wolfSSL_set_SessionTicket(WOLFSSL*, const unsigned char*, word32); -typedef int (*CallbackSessionTicket)(WOLFSSL*, const unsigned char*, int, void*); -WOLFSSL_API int wolfSSL_set_SessionTicket_cb(WOLFSSL*, - CallbackSessionTicket, void*); +WOLFSSL_API int wolfSSL_get_SessionTicket(WOLFSSL* ssl, unsigned char* buf, word32* bufSz); +WOLFSSL_API int wolfSSL_set_SessionTicket(WOLFSSL* ssl, const unsigned char* buf, word32 bufSz); +typedef int (*CallbackSessionTicket)(WOLFSSL* ssl, const unsigned char*, int, void*); +WOLFSSL_API int wolfSSL_set_SessionTicket_cb(WOLFSSL* ssl, + CallbackSessionTicket cb, void* ctx); #endif /* NO_WOLFSSL_CLIENT */ @@ -3813,15 +3817,15 @@ enum TicketEncRet { WOLFSSL_API int wolfSSL_CTX_NoTicketTLSv12(WOLFSSL_CTX* ctx); WOLFSSL_API int wolfSSL_NoTicketTLSv12(WOLFSSL* ssl); -typedef int (*SessionTicketEncCb)(WOLFSSL*, +typedef int (*SessionTicketEncCb)(WOLFSSL* ssl, unsigned char key_name[WOLFSSL_TICKET_NAME_SZ], unsigned char iv[WOLFSSL_TICKET_IV_SZ], unsigned char mac[WOLFSSL_TICKET_MAC_SZ], int enc, unsigned char*, int, int*, void*); WOLFSSL_API int wolfSSL_CTX_set_TicketEncCb(WOLFSSL_CTX* ctx, - SessionTicketEncCb); -WOLFSSL_API int wolfSSL_CTX_set_TicketHint(WOLFSSL_CTX* ctx, int); -WOLFSSL_API int wolfSSL_CTX_set_TicketEncCtx(WOLFSSL_CTX* ctx, void*); + SessionTicketEncCb cb); +WOLFSSL_API int wolfSSL_CTX_set_TicketHint(WOLFSSL_CTX* ctx, int hint); +WOLFSSL_API int wolfSSL_CTX_set_TicketEncCtx(WOLFSSL_CTX* ctx, void* userCtx); WOLFSSL_API void* wolfSSL_CTX_get_TicketEncCtx(WOLFSSL_CTX* ctx); WOLFSSL_API size_t wolfSSL_CTX_get_num_tickets(WOLFSSL_CTX* ctx); WOLFSSL_API int wolfSSL_CTX_set_num_tickets(WOLFSSL_CTX* ctx, size_t mxTickets); @@ -3840,8 +3844,8 @@ WOLFSSL_API int wolfSSL_CTX_DisableExtendedMasterSecret(WOLFSSL_CTX* ctx); /* notify user the handshake is done */ -typedef int (*HandShakeDoneCb)(WOLFSSL*, void*); -WOLFSSL_API int wolfSSL_SetHsDoneCb(WOLFSSL*, HandShakeDoneCb, void*); +typedef int (*HandShakeDoneCb)(WOLFSSL* ssl, void*); +WOLFSSL_API int wolfSSL_SetHsDoneCb(WOLFSSL* ssl, HandShakeDoneCb cb, void* user_ctx); WOLFSSL_API int wolfSSL_PrintSessionStats(void); @@ -3875,9 +3879,9 @@ typedef int (*TimeoutCallBack)(TimeoutInfo*); /* wolfSSL connect extension allowing HandShakeCallBack and/or TimeoutCallBack for diagnostics */ -WOLFSSL_API int wolfSSL_connect_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, +WOLFSSL_API int wolfSSL_connect_ex(WOLFSSL* ssl, HandShakeCallBack, TimeoutCallBack, WOLFSSL_TIMEVAL); -WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, +WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL* ssl, HandShakeCallBack, TimeoutCallBack, WOLFSSL_TIMEVAL); #endif /* WOLFSSL_CALLBACKS */ @@ -3993,9 +3997,9 @@ WOLFSSL_API WOLFSSL_X509_NAME_ENTRY *wolfSSL_X509_NAME_delete_entry( WOLFSSL_API int wolfSSL_X509_NAME_cmp(const WOLFSSL_X509_NAME* x, const WOLFSSL_X509_NAME* y); WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new(void); -WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_dup(WOLFSSL_X509*); -WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_dup(WOLFSSL_X509_NAME*); -WOLFSSL_API int wolfSSL_X509_NAME_copy(WOLFSSL_X509_NAME*, WOLFSSL_X509_NAME*); +WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_dup(WOLFSSL_X509* x); +WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_dup(WOLFSSL_X509_NAME* name); +WOLFSSL_API int wolfSSL_X509_NAME_copy(WOLFSSL_X509_NAME* from, WOLFSSL_X509_NAME* to); WOLFSSL_API int wolfSSL_check_private_key(const WOLFSSL* ssl); #endif /* !NO_CERTS */ #endif /* OPENSSL_ALL || OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */ @@ -4012,9 +4016,9 @@ WOLFSSL_API void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, #if defined(OPENSSL_EXTRA) || defined(OPENSSL_ALL) #ifndef NO_CERTS -WOLFSSL_API unsigned int wolfSSL_X509_get_extension_flags(WOLFSSL_X509*); -WOLFSSL_API unsigned int wolfSSL_X509_get_key_usage(WOLFSSL_X509*); -WOLFSSL_API unsigned int wolfSSL_X509_get_extended_key_usage(WOLFSSL_X509*); +WOLFSSL_API unsigned int wolfSSL_X509_get_extension_flags(WOLFSSL_X509* x509); +WOLFSSL_API unsigned int wolfSSL_X509_get_key_usage(WOLFSSL_X509* x509); +WOLFSSL_API unsigned int wolfSSL_X509_get_extended_key_usage(WOLFSSL_X509* x509); WOLFSSL_API int wolfSSL_X509_get_ext_count(const WOLFSSL_X509* passedCert); WOLFSSL_API int wolfSSL_X509_get_ext_by_NID(const WOLFSSL_X509 *x, int nid, int lastpos); WOLFSSL_API int wolfSSL_X509_add_ext(WOLFSSL_X509 *x, WOLFSSL_X509_EXTENSION *ex, int loc); @@ -4055,7 +4059,7 @@ WOLFSSL_API WOLFSSL_X509_EXTENSION* wolfSSL_X509_set_ext(WOLFSSL_X509* x, int lo WOLFSSL_API int wolfSSL_X509_EXTENSION_get_critical(const WOLFSSL_X509_EXTENSION* ex); WOLFSSL_API WOLFSSL_X509_EXTENSION* wolfSSL_X509_EXTENSION_new(void); WOLFSSL_API WOLFSSL_X509_EXTENSION* wolfSSL_X509_EXTENSION_dup( - WOLFSSL_X509_EXTENSION*); + WOLFSSL_X509_EXTENSION* src); WOLFSSL_API int wolfSSL_sk_X509_EXTENSION_push(WOLFSSL_STACK* sk, WOLFSSL_X509_EXTENSION* ext); WOLFSSL_API void wolfSSL_sk_X509_EXTENSION_free(WOLFSSL_STACK* sk); @@ -4119,14 +4123,14 @@ WOLFSSL_API size_t wolfSSL_BIO_wpending(const WOLFSSL_BIO *bio); WOLFSSL_API int wolfSSL_BIO_supports_pending(const WOLFSSL_BIO *bio); WOLFSSL_API size_t wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b); -WOLFSSL_API int wolfSSL_get_server_tmp_key(const WOLFSSL*, WOLFSSL_EVP_PKEY**); +WOLFSSL_API int wolfSSL_get_server_tmp_key(const WOLFSSL* ssl, WOLFSSL_EVP_PKEY** pkey); -WOLFSSL_API int wolfSSL_CTX_set_min_proto_version(WOLFSSL_CTX*, int); -WOLFSSL_API int wolfSSL_CTX_set_max_proto_version(WOLFSSL_CTX*, int); -WOLFSSL_API int wolfSSL_set_min_proto_version(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_set_max_proto_version(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_CTX_get_min_proto_version(WOLFSSL_CTX*); -WOLFSSL_API int wolfSSL_CTX_get_max_proto_version(WOLFSSL_CTX*); +WOLFSSL_API int wolfSSL_CTX_set_min_proto_version(WOLFSSL_CTX* ctx, int version); +WOLFSSL_API int wolfSSL_CTX_set_max_proto_version(WOLFSSL_CTX* ctx, int version); +WOLFSSL_API int wolfSSL_set_min_proto_version(WOLFSSL* ssl, int version); +WOLFSSL_API int wolfSSL_set_max_proto_version(WOLFSSL* ssl, int version); +WOLFSSL_API int wolfSSL_CTX_get_min_proto_version(WOLFSSL_CTX* ctx); +WOLFSSL_API int wolfSSL_CTX_get_max_proto_version(WOLFSSL_CTX* ctx); WOLFSSL_API int wolfSSL_CTX_use_PrivateKey(WOLFSSL_CTX *ctx, WOLFSSL_EVP_PKEY *pkey); @@ -4136,8 +4140,8 @@ WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509(WOLFSSL_BIO *bp, WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_REQ(WOLFSSL_BIO *bp, WOLFSSL_X509 **x, wc_pem_password_cb *cb, void *u); #ifndef NO_FILESYSTEM -WOLFSSL_API WOLFSSL_X509* wolfSSL_PEM_read_X509_REQ(XFILE, WOLFSSL_X509**, - wc_pem_password_cb*, void*); +WOLFSSL_API WOLFSSL_X509* wolfSSL_PEM_read_X509_REQ(XFILE fp, WOLFSSL_X509** x, + wc_pem_password_cb* cb, void* u); #endif #endif WOLFSSL_API WOLFSSL_X509_CRL *wolfSSL_PEM_read_bio_X509_CRL(WOLFSSL_BIO *bp, @@ -4197,23 +4201,23 @@ WOLFSSL_API WOLFSSL_X509_NAME_ENTRY *wolfSSL_X509_NAME_get_entry(WOLFSSL_X509_NA WOLFSSL_API void wolfSSL_X509_NAME_ENTRY_free(WOLFSSL_X509_NAME_ENTRY* ne); WOLFSSL_API WOLFSSL_X509_NAME_ENTRY* wolfSSL_X509_NAME_ENTRY_new(void); WOLFSSL_API void wolfSSL_X509_NAME_free(WOLFSSL_X509_NAME* name); -WOLFSSL_API char wolfSSL_CTX_use_certificate(WOLFSSL_CTX*, WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_CTX_add0_chain_cert(WOLFSSL_CTX*, WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_CTX_add1_chain_cert(WOLFSSL_CTX*, WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_add0_chain_cert(WOLFSSL*, WOLFSSL_X509*); -WOLFSSL_API int wolfSSL_add1_chain_cert(WOLFSSL*, WOLFSSL_X509*); +WOLFSSL_API char wolfSSL_CTX_use_certificate(WOLFSSL_CTX* ctx, WOLFSSL_X509* x); +WOLFSSL_API int wolfSSL_CTX_add0_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_CTX_add1_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_add0_chain_cert(WOLFSSL* ssl, WOLFSSL_X509* x509); +WOLFSSL_API int wolfSSL_add1_chain_cert(WOLFSSL* ssl, WOLFSSL_X509* x509); WOLFSSL_API int wolfSSL_BIO_read_filename(WOLFSSL_BIO *b, const char *name); /* These are to be merged shortly */ WOLFSSL_API void wolfSSL_set_verify_depth(WOLFSSL *ssl,int depth); WOLFSSL_API void* wolfSSL_get_app_data( const WOLFSSL *ssl); WOLFSSL_API int wolfSSL_set_app_data(WOLFSSL *ssl, void *arg); -WOLFSSL_API WOLFSSL_ASN1_OBJECT * wolfSSL_X509_NAME_ENTRY_get_object(WOLFSSL_X509_NAME_ENTRY *ne); +WOLFSSL_API WOLFSSL_ASN1_OBJECT* wolfSSL_X509_NAME_ENTRY_get_object(WOLFSSL_X509_NAME_ENTRY *ne); WOLFSSL_API unsigned char *wolfSSL_SHA1(const unsigned char *d, size_t n, unsigned char *md); WOLFSSL_API unsigned char *wolfSSL_SHA224(const unsigned char *d, size_t n, unsigned char *md); WOLFSSL_API unsigned char *wolfSSL_SHA256(const unsigned char *d, size_t n, unsigned char *md); WOLFSSL_API unsigned char *wolfSSL_SHA384(const unsigned char *d, size_t n, unsigned char *md); WOLFSSL_API unsigned char *wolfSSL_SHA512(const unsigned char *d, size_t n, unsigned char *md); -WOLFSSL_API int wolfSSL_X509_check_private_key(WOLFSSL_X509*, WOLFSSL_EVP_PKEY*); +WOLFSSL_API int wolfSSL_X509_check_private_key(WOLFSSL_X509* x509, WOLFSSL_EVP_PKEY* pkey); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME) *wolfSSL_dup_CA_list( WOLF_STACK_OF(WOLFSSL_X509_NAME) *sk ); WOLFSSL_API int wolfSSL_X509_check_ca(WOLFSSL_X509 *x509); @@ -4245,7 +4249,7 @@ WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_fp(XFILE fp, int c); || defined(OPENSSL_EXTRA) #define X509_BUFFER_SZ 8192 -WOLFSSL_API long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX*, WOLFSSL_DH*); +WOLFSSL_API long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX* ctx, WOLFSSL_DH* dh); WOLFSSL_API WOLFSSL_DH *wolfSSL_PEM_read_bio_DHparams(WOLFSSL_BIO *bp, WOLFSSL_DH **x, wc_pem_password_cb *cb, void *u); #ifndef NO_FILESYSTEM @@ -4322,7 +4326,7 @@ WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_DH_8192_prime(WOLFSSL_BIGNUM* bn); WOLFSSL_API WOLFSSL_DH *wolfSSL_DH_generate_parameters(int prime_len, int generator, void (*callback) (int, int, void *), void *cb_arg); -WOLFSSL_API int wolfSSL_DH_generate_parameters_ex(WOLFSSL_DH*, int, int, +WOLFSSL_API int wolfSSL_DH_generate_parameters_ex(WOLFSSL_DH* dh, int prime_len, int generator, void (*callback) (int, int, void *)); WOLFSSL_API int wolfSSL_ERR_load_ERR_strings(void); @@ -4350,11 +4354,11 @@ WOLFSSL_API WOLFSSL_X509_INFO *wolfSSL_X509_INFO_new(void); WOLFSSL_API void wolfSSL_X509_INFO_free(WOLFSSL_X509_INFO* info); WOLFSSL_API WOLFSSL_STACK* wolfSSL_sk_X509_INFO_new_null(void); -WOLFSSL_API int wolfSSL_sk_X509_INFO_num(const WOLF_STACK_OF(WOLFSSL_X509_INFO)*); +WOLFSSL_API int wolfSSL_sk_X509_INFO_num(const WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk); WOLFSSL_API WOLFSSL_X509_INFO* wolfSSL_sk_X509_INFO_value( - const WOLF_STACK_OF(WOLFSSL_X509_INFO)*, int); + const WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk, int i); WOLFSSL_API int wolfSSL_sk_X509_INFO_push(WOLF_STACK_OF(WOLFSSL_X509_INFO)*, - WOLFSSL_X509_INFO*); + WOLFSSL_X509_INFO* in); WOLFSSL_API WOLFSSL_X509_INFO* wolfSSL_sk_X509_INFO_pop(WOLF_STACK_OF(WOLFSSL_X509_INFO)*); WOLFSSL_API void wolfSSL_sk_X509_INFO_pop_free(WOLF_STACK_OF(WOLFSSL_X509_INFO)*, void (*f) (WOLFSSL_X509_INFO*)); @@ -4364,15 +4368,15 @@ typedef int (*wolf_sk_compare_cb)(const void* a, const void* b); typedef unsigned long (*wolf_sk_hash_cb) (const void *v); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_sk_X509_NAME_new( - wolf_sk_compare_cb); + wolf_sk_compare_cb cb); WOLFSSL_API int wolfSSL_sk_X509_NAME_push(WOLF_STACK_OF(WOLFSSL_X509_NAME)*, - WOLFSSL_X509_NAME*); -WOLFSSL_API int wolfSSL_sk_X509_NAME_find(const WOLF_STACK_OF(WOLFSSL_X509_NAME)*, - WOLFSSL_X509_NAME*); + WOLFSSL_X509_NAME* name); +WOLFSSL_API int wolfSSL_sk_X509_NAME_find(const WOLF_STACK_OF(WOLFSSL_X509_NAME)* sk, + WOLFSSL_X509_NAME* name); WOLFSSL_API int wolfSSL_sk_X509_NAME_set_cmp_func( - WOLF_STACK_OF(WOLFSSL_X509_NAME)*, wolf_sk_compare_cb); -WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_sk_X509_NAME_value(const WOLF_STACK_OF(WOLFSSL_X509_NAME)*, int); -WOLFSSL_API int wolfSSL_sk_X509_NAME_num(const WOLF_STACK_OF(WOLFSSL_X509_NAME)*); + WOLF_STACK_OF(WOLFSSL_X509_NAME)*, wolf_sk_compare_cb cb); +WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_sk_X509_NAME_value(const WOLF_STACK_OF(WOLFSSL_X509_NAME)* sk, int i); +WOLFSSL_API int wolfSSL_sk_X509_NAME_num(const WOLF_STACK_OF(WOLFSSL_X509_NAME)* sk); WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_sk_X509_NAME_pop(WOLF_STACK_OF(WOLFSSL_X509_NAME)*); WOLFSSL_API void wolfSSL_sk_X509_NAME_pop_free(WOLF_STACK_OF(WOLFSSL_X509_NAME)*, void (*f) (WOLFSSL_X509_NAME*)); @@ -4380,11 +4384,11 @@ WOLFSSL_API void wolfSSL_sk_X509_NAME_free(WOLF_STACK_OF(WOLFSSL_X509_NAME) *); WOLFSSL_API int wolfSSL_sk_X509_OBJECT_num(const WOLF_STACK_OF(WOLFSSL_X509_OBJECT) *s); -WOLFSSL_API int wolfSSL_X509_NAME_print_ex(WOLFSSL_BIO*,WOLFSSL_X509_NAME*,int, - unsigned long); +WOLFSSL_API int wolfSSL_X509_NAME_print_ex(WOLFSSL_BIO* bio,WOLFSSL_X509_NAME* name,int indent, + unsigned long flags); #ifndef NO_FILESYSTEM -WOLFSSL_API int wolfSSL_X509_NAME_print_ex_fp(XFILE,WOLFSSL_X509_NAME*,int, - unsigned long); +WOLFSSL_API int wolfSSL_X509_NAME_print_ex_fp(XFILE fp,WOLFSSL_X509_NAME* name,int indent, + unsigned long flags); #endif WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_CONF_VALUE_new(wolf_sk_compare_cb compFunc); @@ -4398,35 +4402,35 @@ WOLFSSL_API int wolfSSL_sk_CONF_VALUE_push(WOLF_STACK_OF(WOLFSSL_CONF_VALUE)* sk #if defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL) WOLFSSL_API WOLFSSL_ASN1_BIT_STRING* wolfSSL_ASN1_BIT_STRING_new(void); -WOLFSSL_API void wolfSSL_ASN1_BIT_STRING_free(WOLFSSL_ASN1_BIT_STRING*); +WOLFSSL_API void wolfSSL_ASN1_BIT_STRING_free(WOLFSSL_ASN1_BIT_STRING* str); WOLFSSL_API WOLFSSL_ASN1_BIT_STRING* wolfSSL_X509_get0_pubkey_bitstr( - const WOLFSSL_X509*); + const WOLFSSL_X509* x); WOLFSSL_API int wolfSSL_ASN1_BIT_STRING_get_bit( - const WOLFSSL_ASN1_BIT_STRING*, int); + const WOLFSSL_ASN1_BIT_STRING* str, int i); WOLFSSL_API int wolfSSL_ASN1_BIT_STRING_set_bit( - WOLFSSL_ASN1_BIT_STRING*, int, int); + WOLFSSL_ASN1_BIT_STRING* str, int pos, int val); #endif /* OPENSSL_EXTRA || WOLFSSL_WPAS_SMALL */ #if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) \ || defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY) -WOLFSSL_API int wolfSSL_CTX_add_session(WOLFSSL_CTX*, WOLFSSL_SESSION*); +WOLFSSL_API int wolfSSL_CTX_add_session(WOLFSSL_CTX* ctx, WOLFSSL_SESSION* session); -WOLFSSL_API int wolfSSL_version(WOLFSSL*); +WOLFSSL_API int wolfSSL_version(WOLFSSL* ssl); -WOLFSSL_API int wolfSSL_get_state(const WOLFSSL*); +WOLFSSL_API int wolfSSL_get_state(const WOLFSSL* ssl); -WOLFSSL_API WOLFSSL_X509* wolfSSL_sk_X509_value(WOLF_STACK_OF(WOLFSSL_X509)*, int); +WOLFSSL_API WOLFSSL_X509* wolfSSL_sk_X509_value(WOLF_STACK_OF(WOLFSSL_X509)*, int i); WOLFSSL_API WOLFSSL_X509* wolfSSL_sk_X509_shift(WOLF_STACK_OF(WOLFSSL_X509)*); -WOLFSSL_API void* wolfSSL_sk_X509_OBJECT_value(WOLF_STACK_OF(WOLFSSL_X509_OBJECT)*, int); +WOLFSSL_API void* wolfSSL_sk_X509_OBJECT_value(WOLF_STACK_OF(WOLFSSL_X509_OBJECT)*, int i); #endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY || OPENSSL_EXTRA || HAVE_LIGHTY */ #if defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL) || defined(HAVE_EX_DATA) -WOLFSSL_API void* wolfSSL_SESSION_get_ex_data(const WOLFSSL_SESSION*, int); +WOLFSSL_API void* wolfSSL_SESSION_get_ex_data(const WOLFSSL_SESSION* session, int idx); -WOLFSSL_API int wolfSSL_SESSION_set_ex_data(WOLFSSL_SESSION*, int, void*); +WOLFSSL_API int wolfSSL_SESSION_set_ex_data(WOLFSSL_SESSION* session, int idx, void* data); #ifdef HAVE_EX_DATA_CLEANUP_HOOKS WOLFSSL_API int wolfSSL_SESSION_set_ex_data_with_cleanup( WOLFSSL_SESSION* session, @@ -4439,23 +4443,23 @@ WOLFSSL_API int wolfSSL_SESSION_set_ex_data_with_cleanup( #if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) \ || defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY) -WOLFSSL_API int wolfSSL_SESSION_get_ex_new_index(long,void*,void*,void*, - CRYPTO_free_func*); +WOLFSSL_API int wolfSSL_SESSION_get_ex_new_index(long idx,void* data,void* cb1,void* cb2, + CRYPTO_free_func* cb3); -WOLFSSL_API const unsigned char* wolfSSL_SESSION_get_id(WOLFSSL_SESSION*, - unsigned int*); +WOLFSSL_API const unsigned char* wolfSSL_SESSION_get_id(WOLFSSL_SESSION* sess, + unsigned int* idLen); -WOLFSSL_API int wolfSSL_SESSION_print(WOLFSSL_BIO*, const WOLFSSL_SESSION*); +WOLFSSL_API int wolfSSL_SESSION_print(WOLFSSL_BIO* bp, const WOLFSSL_SESSION* session); -WOLFSSL_API int wolfSSL_set_tlsext_host_name(WOLFSSL *, const char *); +WOLFSSL_API int wolfSSL_set_tlsext_host_name(WOLFSSL* ssl, const char* host_name); -WOLFSSL_API const char* wolfSSL_get_servername(WOLFSSL *, unsigned char); +WOLFSSL_API const char* wolfSSL_get_servername(WOLFSSL* ssl, unsigned char type); -WOLFSSL_API WOLFSSL_CTX* wolfSSL_set_SSL_CTX(WOLFSSL*,WOLFSSL_CTX*); +WOLFSSL_API WOLFSSL_CTX* wolfSSL_set_SSL_CTX(WOLFSSL* ssl,WOLFSSL_CTX* ctx); -WOLFSSL_API VerifyCallback wolfSSL_CTX_get_verify_callback(WOLFSSL_CTX*); +WOLFSSL_API VerifyCallback wolfSSL_CTX_get_verify_callback(WOLFSSL_CTX* ctx); -WOLFSSL_API VerifyCallback wolfSSL_get_verify_callback(WOLFSSL*); +WOLFSSL_API VerifyCallback wolfSSL_get_verify_callback(WOLFSSL* ssl); #endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY || HAVE_LIGHTY */ @@ -4463,18 +4467,18 @@ WOLFSSL_API VerifyCallback wolfSSL_get_verify_callback(WOLFSSL*); /* SNI received callback type */ typedef int (*CallbackSniRecv)(WOLFSSL *ssl, int *ret, void* exArg); -WOLFSSL_API void wolfSSL_CTX_set_servername_callback(WOLFSSL_CTX *, - CallbackSniRecv); -WOLFSSL_API int wolfSSL_CTX_set_tlsext_servername_callback(WOLFSSL_CTX *, - CallbackSniRecv); +WOLFSSL_API void wolfSSL_CTX_set_servername_callback(WOLFSSL_CTX* ctx, + CallbackSniRecv cb); +WOLFSSL_API int wolfSSL_CTX_set_tlsext_servername_callback(WOLFSSL_CTX* ctx, + CallbackSniRecv cb); -WOLFSSL_API int wolfSSL_CTX_set_servername_arg(WOLFSSL_CTX *, void*); +WOLFSSL_API int wolfSSL_CTX_set_servername_arg(WOLFSSL_CTX* ctx, void* arg); #endif #if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) \ || defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY) -WOLFSSL_API void wolfSSL_ERR_remove_thread_state(void*); +WOLFSSL_API void wolfSSL_ERR_remove_thread_state(void* pid); /* support for deprecated old name */ #define WOLFSSL_ERR_remove_thread_state wolfSSL_ERR_remove_thread_state @@ -4492,9 +4496,9 @@ WOLFSSL_API unsigned long wolfSSL_THREADID_hash( const WOLFSSL_CRYPTO_THREADID* id); WOLFSSL_API WOLFSSL_X509_LOOKUP_TYPE wolfSSL_X509_OBJECT_get_type( - const WOLFSSL_X509_OBJECT*); + const WOLFSSL_X509_OBJECT* obj); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_OBJECT)* - wolfSSL_X509_STORE_get0_objects(WOLFSSL_X509_STORE *); + wolfSSL_X509_STORE_get0_objects(WOLFSSL_X509_STORE* store); WOLFSSL_API WOLFSSL_X509_OBJECT* wolfSSL_sk_X509_OBJECT_delete(WOLF_STACK_OF(WOLFSSL_X509_OBJECT)* sk, int i); WOLFSSL_API WOLFSSL_X509_OBJECT* wolfSSL_X509_OBJECT_new(void); @@ -4623,18 +4627,18 @@ WOLFSSL_API long wolfSSL_SSL_CTX_get_timeout(const WOLFSSL_CTX *ctx); WOLFSSL_API long wolfSSL_get_timeout(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_SSL_CTX_set_tmp_ecdh(WOLFSSL_CTX *ctx, WOLFSSL_EC_KEY *ecdh); -WOLFSSL_API int wolfSSL_SSL_CTX_remove_session(WOLFSSL_CTX *, +WOLFSSL_API int wolfSSL_SSL_CTX_remove_session(WOLFSSL_CTX* ctx, WOLFSSL_SESSION *c); WOLFSSL_API WOLFSSL_BIO *wolfSSL_SSL_get_rbio(const WOLFSSL *s); WOLFSSL_API WOLFSSL_BIO *wolfSSL_SSL_get_wbio(const WOLFSSL *s); WOLFSSL_API int wolfSSL_SSL_do_handshake(WOLFSSL *s); #if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L -WOLFSSL_API int wolfSSL_SSL_in_init(const WOLFSSL*); +WOLFSSL_API int wolfSSL_SSL_in_init(const WOLFSSL* ssl); #else -WOLFSSL_API int wolfSSL_SSL_in_init(WOLFSSL*); +WOLFSSL_API int wolfSSL_SSL_in_init(WOLFSSL* ssl); #endif -WOLFSSL_API int wolfSSL_SSL_in_connect_init(WOLFSSL*); +WOLFSSL_API int wolfSSL_SSL_in_connect_init(WOLFSSL* ssl); #ifndef NO_SESSION_CACHE WOLFSSL_API WOLFSSL_SESSION *wolfSSL_SSL_get0_session(const WOLFSSL *s); @@ -4646,14 +4650,14 @@ WOLFSSL_API int wolfSSL_i2a_ASN1_INTEGER(WOLFSSL_BIO *bp, #ifdef HAVE_SESSION_TICKET typedef int (*ticketCompatCb)(WOLFSSL *ssl, unsigned char *name, unsigned char *iv, WOLFSSL_EVP_CIPHER_CTX *ectx, WOLFSSL_HMAC_CTX *hctx, int enc); -WOLFSSL_API int wolfSSL_CTX_set_tlsext_ticket_key_cb(WOLFSSL_CTX *, ticketCompatCb); +WOLFSSL_API int wolfSSL_CTX_set_tlsext_ticket_key_cb(WOLFSSL_CTX* ctx, ticketCompatCb cb); #endif #if defined(HAVE_OCSP) || defined(OPENSSL_EXTRA) || defined(OPENSSL_ALL) || \ defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) WOLFSSL_API int wolfSSL_CTX_get_extra_chain_certs(WOLFSSL_CTX* ctx, WOLF_STACK_OF(X509)** chain); -typedef int(*tlsextStatusCb)(WOLFSSL*, void*); +typedef int(*tlsextStatusCb)(WOLFSSL* ssl, void*); WOLFSSL_API int wolfSSL_CTX_get_tlsext_status_cb(WOLFSSL_CTX* ctx, tlsextStatusCb* cb); WOLFSSL_API int wolfSSL_CTX_set_tlsext_status_cb(WOLFSSL_CTX* ctx, tlsextStatusCb cb); @@ -4796,8 +4800,9 @@ WOLFSSL_API int wolfSSL_PEM_write_bio_PKCS8PrivateKey(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* pkey, const WOLFSSL_EVP_CIPHER* enc, char* passwd, int passwdSz, wc_pem_password_cb* cb, void* ctx); #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) -WOLFSSL_API int wolfSSL_PEM_write_PKCS8PrivateKey(XFILE, WOLFSSL_EVP_PKEY*, - const WOLFSSL_EVP_CIPHER*, char*, int, wc_pem_password_cb*, void*); +WOLFSSL_API int wolfSSL_PEM_write_PKCS8PrivateKey( + XFILE fp, WOLFSSL_EVP_PKEY* pkey, const WOLFSSL_EVP_CIPHER* enc, + char* passwd, int passwdSz, wc_pem_password_cb* cb, void* ctx); #endif /* !NO_FILESYSTEM && !NO_STDIO_FILESYSTEM */ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PKCS8PrivateKey_bio(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY** pkey, wc_pem_password_cb* cb, void* u); @@ -4813,8 +4818,8 @@ WOLFSSL_API int wolfSSL_CTX_IsPrivatePkSet(WOLFSSL_CTX* ctx); #endif #ifdef HAVE_ENCRYPT_THEN_MAC -WOLFSSL_API int wolfSSL_CTX_AllowEncryptThenMac(WOLFSSL_CTX *, int); -WOLFSSL_API int wolfSSL_AllowEncryptThenMac(WOLFSSL *s, int); +WOLFSSL_API int wolfSSL_CTX_AllowEncryptThenMac(WOLFSSL_CTX* ctx, int set); +WOLFSSL_API int wolfSSL_AllowEncryptThenMac(WOLFSSL *s, int set); #endif /* This feature is used to set a fixed ephemeral key and is for testing only */ diff --git a/wolfssl/test.h b/wolfssl/test.h index 33de44eb6..11f1c1f55 100644 --- a/wolfssl/test.h +++ b/wolfssl/test.h @@ -262,7 +262,7 @@ typedef void* THREAD_RETURN; typedef pthread_t THREAD_TYPE; #define WOLFSSL_THREAD - #define INFINITE -1 + #define INFINITE (-1) #define WAIT_OBJECT_0 0L #elif defined(WOLFSSL_MDK_ARM)|| defined(WOLFSSL_KEIL_TCP_NET) || defined(FREESCALE_MQX) typedef unsigned int THREAD_RETURN; @@ -546,7 +546,7 @@ typedef struct func_args { #define printf dc_log_printf #endif -void wait_tcp_ready(func_args*); +void wait_tcp_ready(func_args* args); #ifdef WOLFSSL_ZEPHYR typedef void THREAD_FUNC(void*, void*, void*); @@ -554,8 +554,8 @@ typedef void THREAD_FUNC(void*, void*, void*); typedef THREAD_RETURN WOLFSSL_THREAD THREAD_FUNC(void*); #endif -void start_thread(THREAD_FUNC, func_args*, THREAD_TYPE*); -void join_thread(THREAD_TYPE); +void start_thread(THREAD_FUNC fun, func_args* args, THREAD_TYPE* thread); +void join_thread(THREAD_TYPE thread); /* wolfSSL */ #ifndef TEST_IPV6 @@ -872,7 +872,7 @@ static WC_INLINE int mygetopt_long(int argc, char** argv, const char* optstring, c = i->value; myoptind++; if (longindex) - *longindex = (int)((i - longopts) / sizeof *i); + *longindex = (int)((size_t)(i - longopts) / sizeof i[0]); if (i->takes_arg) { if (myoptind < argc) { if (i->takes_arg == 1 || argv[myoptind][0] != '-') { @@ -895,7 +895,7 @@ static WC_INLINE int mygetopt_long(int argc, char** argv, const char* optstring, myoptind++; } - c = *next++; + c = (int)(unsigned char)*next++; /* The C++ strchr can return a different value */ cp = (char*)strchr(optstring, c); diff --git a/wolfssl/wolfcrypt/arc4.h b/wolfssl/wolfcrypt/arc4.h index 3b02ad6bb..4532d0fbf 100644 --- a/wolfssl/wolfcrypt/arc4.h +++ b/wolfssl/wolfcrypt/arc4.h @@ -53,11 +53,12 @@ typedef struct Arc4 { void* heap; } Arc4; -WOLFSSL_API int wc_Arc4Process(Arc4*, byte*, const byte*, word32); -WOLFSSL_API int wc_Arc4SetKey(Arc4*, const byte*, word32); +WOLFSSL_API int wc_Arc4Process(Arc4* arc4, byte* out, const byte* in, + word32 length); +WOLFSSL_API int wc_Arc4SetKey(Arc4* arc4, const byte* key, word32 length); -WOLFSSL_API int wc_Arc4Init(Arc4*, void*, int); -WOLFSSL_API void wc_Arc4Free(Arc4*); +WOLFSSL_API int wc_Arc4Init(Arc4* arc4, void* heap, int devId); +WOLFSSL_API void wc_Arc4Free(Arc4* arc4); #ifdef __cplusplus } /* extern "C" */ diff --git a/wolfssl/wolfcrypt/asn.h b/wolfssl/wolfcrypt/asn.h index 68b5dbdff..d50eb59b3 100644 --- a/wolfssl/wolfcrypt/asn.h +++ b/wolfssl/wolfcrypt/asn.h @@ -599,7 +599,7 @@ WOLFSSL_LOCAL void SetASN_OID(ASNSetData *dataASN, int oid, int oidType); * @return Unused bits byte in BIT_STRING. */ #define GetASNItem_UnusedBits(dataASN) \ - (*(dataASN.data.ref.data - 1)) + (*((dataASN).data.ref.data - 1)) /* Set the data items at indices start to end inclusive to not be encoded. * @@ -610,8 +610,8 @@ WOLFSSL_LOCAL void SetASN_OID(ASNSetData *dataASN, int oid, int oidType); #define SetASNItem_NoOut(dataASN, start, end) \ do { \ int ii; \ - for (ii = start; ii <= end; ii++) { \ - dataASN[ii].noOut = 1; \ + for (ii = (start); ii <= (end); ii++) { \ + (dataASN)[ii].noOut = 1; \ } \ } \ while (0) @@ -625,10 +625,10 @@ WOLFSSL_LOCAL void SetASN_OID(ASNSetData *dataASN, int oid, int oidType); #define SetASNItem_NoOutBelow(dataASN, asn, node, dataASNLen) \ do { \ int ii; \ - for (ii = node + 1; ii < (int)(dataASNLen); ii++) { \ - if (asn[ii].depth <= asn[node].depth) \ + for (ii = (node) + 1; ii < (int)(dataASNLen); ii++) { \ + if ((asn)[ii].depth <= (asn)[node].depth) \ break; \ - dataASN[ii].noOut = 1; \ + (dataASN)[ii].noOut = 1; \ } \ } \ while (0) @@ -643,11 +643,11 @@ WOLFSSL_LOCAL void SetASN_OID(ASNSetData *dataASN, int oid, int oidType); #define SetASNItem_NoOutNode(dataASN, asn, node, dataASNLen) \ do { \ int ii; \ - dataASN[node].noOut = 1; \ - for (ii = node + 1; ii < (int)(dataASNLen); ii++) { \ - if (asn[ii].depth <= asn[node].depth) \ + (dataASN)[node].noOut = 1; \ + for (ii = (node) + 1; ii < (int)(dataASNLen); ii++) { \ + if ((asn)[ii].depth <= (asn)[node].depth) \ break; \ - dataASN[ii].noOut = 1; \ + (dataASN)[ii].noOut = 1; \ } \ } \ while (0) @@ -1797,42 +1797,46 @@ WOLFSSL_LOCAL int GetName(DecodedCert* cert, int nameType, int maxIdx); WOLFSSL_ASN_API int wc_BerToDer(const byte* ber, word32 berSz, byte* der, word32* derSz); -WOLFSSL_ASN_API void FreeAltNames(DNS_entry*, void*); -WOLFSSL_ASN_API DNS_entry* AltNameNew(void*); +WOLFSSL_ASN_API void FreeAltNames(DNS_entry* altNames, void* heap); +WOLFSSL_ASN_API DNS_entry* AltNameNew(void* heap); #ifndef IGNORE_NAME_CONSTRAINTS - WOLFSSL_ASN_API void FreeNameSubtrees(Base_entry*, void*); + WOLFSSL_ASN_API void FreeNameSubtrees(Base_entry* names, void* heap); #endif /* IGNORE_NAME_CONSTRAINTS */ -WOLFSSL_ASN_API void InitDecodedCert(DecodedCert*, const byte*, word32, void*); -WOLFSSL_ASN_API void FreeDecodedCert(DecodedCert*); -WOLFSSL_ASN_API int ParseCert(DecodedCert*, int type, int verify, void* cm); +WOLFSSL_ASN_API void InitDecodedCert(DecodedCert* cert, const byte* source, + word32 inSz, void* heap); +WOLFSSL_ASN_API void FreeDecodedCert(DecodedCert* cert); +WOLFSSL_ASN_API int ParseCert(DecodedCert* cert, int type, int verify, + void* cm); -WOLFSSL_LOCAL int DecodePolicyOID(char *o, word32 oSz, - const byte *in, word32 inSz); +WOLFSSL_LOCAL int DecodePolicyOID(char *out, word32 outSz, const byte *in, + word32 inSz); WOLFSSL_LOCAL int EncodePolicyOID(byte *out, word32 *outSz, const char *in, void* heap); WOLFSSL_API int CheckCertSignature(const byte*,word32,void*,void* cm); WOLFSSL_LOCAL int CheckCertSignaturePubKey(const byte* cert, word32 certSz, void* heap, const byte* pubKey, word32 pubKeySz, int pubKeyOID); #ifdef WOLFSSL_CERT_REQ -WOLFSSL_LOCAL int CheckCSRSignaturePubKey(const byte* cert, word32 certSz, void* heap, - const byte* pubKey, word32 pubKeySz, int pubKeyOID); +WOLFSSL_LOCAL int CheckCSRSignaturePubKey(const byte* cert, word32 certSz, + void* heap, const byte* pubKey, word32 pubKeySz, int pubKeyOID); #endif /* WOLFSSL_CERT_REQ */ WOLFSSL_LOCAL int AddSignature(byte* buf, int bodySz, const byte* sig, int sigSz, int sigAlgoType); -WOLFSSL_LOCAL int ParseCertRelative(DecodedCert*,int type,int verify,void* cm); -WOLFSSL_LOCAL int DecodeToKey(DecodedCert*, int verify); +WOLFSSL_LOCAL int ParseCertRelative(DecodedCert* cert, int type, int verify, + void* cm); +WOLFSSL_LOCAL int DecodeToKey(DecodedCert* cert, int verify); #ifdef WOLFSSL_ASN_TEMPLATE -WOLFSSL_LOCAL int DecodeCert(DecodedCert*, int verify, int* criticalExt); +WOLFSSL_LOCAL int DecodeCert(DecodedCert* cert, int verify, int* criticalExt); #endif WOLFSSL_LOCAL int wc_GetPubX509(DecodedCert* cert, int verify, int* badDate); WOLFSSL_LOCAL const byte* OidFromId(word32 id, word32 type, word32* oidSz); -WOLFSSL_LOCAL Signer* MakeSigner(void*); -WOLFSSL_LOCAL void FreeSigner(Signer*, void*); -WOLFSSL_LOCAL void FreeSignerTable(Signer**, int, void*); +WOLFSSL_LOCAL Signer* MakeSigner(void* heap); +WOLFSSL_LOCAL void FreeSigner(Signer* signer, void* heap); +WOLFSSL_LOCAL void FreeSignerTable(Signer** table, int rows, void* heap); #ifdef WOLFSSL_TRUST_PEER_CERT -WOLFSSL_LOCAL void FreeTrustedPeer(TrustedPeerCert*, void*); -WOLFSSL_LOCAL void FreeTrustedPeerTable(TrustedPeerCert**, int, void*); +WOLFSSL_LOCAL void FreeTrustedPeer(TrustedPeerCert* tp, void* heap); +WOLFSSL_LOCAL void FreeTrustedPeerTable(TrustedPeerCert** table, int rows, + void* heap); #endif /* WOLFSSL_TRUST_PEER_CERT */ WOLFSSL_ASN_API int ToTraditional(byte* buffer, word32 length); @@ -1842,8 +1846,8 @@ WOLFSSL_LOCAL int ToTraditionalInline(const byte* input, word32* inOutIdx, word32 length); WOLFSSL_LOCAL int ToTraditionalInline_ex(const byte* input, word32* inOutIdx, word32 length, word32* algId); -WOLFSSL_LOCAL int ToTraditionalEnc(byte* buffer, word32 length,const char*,int, - word32* algId); +WOLFSSL_LOCAL int ToTraditionalEnc(byte* input, word32 sz, const char* password, + int passwordSz, word32* algId); WOLFSSL_ASN_API int UnTraditionalEnc(byte* key, word32 keySz, byte* out, word32* outSz, const char* password, int passwordSz, int vPKCS, int vAlgo, byte* salt, word32 saltSz, int itt, WC_RNG* rng, void* heap); @@ -1958,7 +1962,8 @@ WOLFSSL_LOCAL int StoreDHparams(byte* out, word32* outLen, mp_int* p, mp_int* g) WOLFSSL_API int wc_DhPublicKeyDecode(const byte* input, word32* inOutIdx, DhKey* key, word32 inSz); #endif -WOLFSSL_LOCAL int FlattenAltNames( byte*, word32, const DNS_entry*); +WOLFSSL_LOCAL int FlattenAltNames(byte* output, word32 outputSz, + const DNS_entry* names); WOLFSSL_LOCAL int wc_EncodeName(EncodedName* name, const char* nameStr, char nameType, byte type); @@ -2172,17 +2177,22 @@ struct OcspRequest { void* ssl; }; -WOLFSSL_LOCAL void InitOcspResponse(OcspResponse*, OcspEntry*, CertStatus*, byte*, word32, void*); -WOLFSSL_LOCAL void FreeOcspResponse(OcspResponse*); -WOLFSSL_LOCAL int OcspResponseDecode(OcspResponse*, void*, void* heap, int); +WOLFSSL_LOCAL void InitOcspResponse(OcspResponse* resp, OcspEntry* single, + CertStatus* status, byte* source, word32 inSz, void* heap); +WOLFSSL_LOCAL void FreeOcspResponse(OcspResponse* resp); +WOLFSSL_LOCAL int OcspResponseDecode(OcspResponse* resp, void* cm, void* heap, + int noVerify); -WOLFSSL_LOCAL int InitOcspRequest(OcspRequest*, DecodedCert*, byte, void*); -WOLFSSL_LOCAL void FreeOcspRequest(OcspRequest*); -WOLFSSL_LOCAL int EncodeOcspRequest(OcspRequest*, byte*, word32); -WOLFSSL_LOCAL word32 EncodeOcspRequestExtensions(OcspRequest*, byte*, word32); +WOLFSSL_LOCAL int InitOcspRequest(OcspRequest* req, DecodedCert* cert, + byte useNonce, void* heap); +WOLFSSL_LOCAL void FreeOcspRequest(OcspRequest* req); +WOLFSSL_LOCAL int EncodeOcspRequest(OcspRequest* req, byte* output, + word32 size); +WOLFSSL_LOCAL word32 EncodeOcspRequestExtensions(OcspRequest* req, byte* output, + word32 size); -WOLFSSL_LOCAL int CompareOcspReqResp(OcspRequest*, OcspResponse*); +WOLFSSL_LOCAL int CompareOcspReqResp(OcspRequest* req, OcspResponse* resp); #endif /* HAVE_OCSP */ @@ -2222,14 +2232,15 @@ struct DecodedCRL { #endif }; -WOLFSSL_LOCAL void InitDecodedCRL(DecodedCRL*, void* heap); +WOLFSSL_LOCAL void InitDecodedCRL(DecodedCRL* dcrl, void* heap); WOLFSSL_LOCAL int VerifyCRL_Signature(SignatureCtx* sigCtx, const byte* toBeSigned, word32 tbsSz, const byte* signature, word32 sigSz, word32 signatureOID, Signer *ca, void* heap); -WOLFSSL_LOCAL int ParseCRL(DecodedCRL*, const byte* buff, word32 sz, void* cm); -WOLFSSL_LOCAL void FreeDecodedCRL(DecodedCRL*); +WOLFSSL_LOCAL int ParseCRL(DecodedCRL* dcrl, const byte* buff, word32 sz, + void* cm); +WOLFSSL_LOCAL void FreeDecodedCRL(DecodedCRL* dcrl); #endif /* HAVE_CRL */ diff --git a/wolfssl/wolfcrypt/asn_public.h b/wolfssl/wolfcrypt/asn_public.h index 159c3c275..7faba0821 100644 --- a/wolfssl/wolfcrypt/asn_public.h +++ b/wolfssl/wolfcrypt/asn_public.h @@ -445,39 +445,39 @@ typedef struct Cert { isCA = 0 (false) keyType = RSA_KEY (default) */ -WOLFSSL_API int wc_InitCert(Cert*); -WOLFSSL_API int wc_InitCert_ex(Cert*, void*, int); +WOLFSSL_API int wc_InitCert(Cert* cert); +WOLFSSL_API int wc_InitCert_ex(Cert* cert, void* heap, int devId); WOLFSSL_API int wc_MakeCert_ex(Cert* cert, byte* derBuffer, word32 derSz, - int keyType, void* key, WC_RNG* rng); -WOLFSSL_API int wc_MakeCert(Cert*, byte* derBuffer, word32 derSz, RsaKey*, - ecc_key*, WC_RNG*); + int keyType, void* key, WC_RNG* rng); +WOLFSSL_API int wc_MakeCert(Cert* cert, byte* derBuffer, word32 derSz, + RsaKey* rsaKey, ecc_key* eccKey, WC_RNG* rng); #ifdef WOLFSSL_CERT_REQ - WOLFSSL_API int wc_MakeCertReq_ex(Cert*, byte* derBuffer, word32 derSz, - int, void*); - WOLFSSL_API int wc_MakeCertReq(Cert*, byte* derBuffer, word32 derSz, - RsaKey*, ecc_key*); + WOLFSSL_API int wc_MakeCertReq_ex(Cert* cert, byte* derBuffer, word32 derSz, + int keyType, void* key); + WOLFSSL_API int wc_MakeCertReq(Cert* cert, byte* derBuffer, word32 derSz, + RsaKey* rsaKey, ecc_key* eccKey); #endif -WOLFSSL_API int wc_SignCert_ex(int requestSz, int sType, byte* buffer, - word32 buffSz, int keyType, void* key, - WC_RNG* rng); -WOLFSSL_API int wc_SignCert(int requestSz, int sigType, byte* derBuffer, - word32 derSz, RsaKey*, ecc_key*, WC_RNG*); -WOLFSSL_API int wc_MakeSelfCert(Cert*, byte* derBuffer, word32 derSz, RsaKey*, - WC_RNG*); -WOLFSSL_API int wc_SetIssuer(Cert*, const char*); -WOLFSSL_API int wc_SetSubject(Cert*, const char*); +WOLFSSL_API int wc_SignCert_ex(int requestSz, int sType, byte* buf, + word32 buffSz, int keyType, void* key, + WC_RNG* rng); +WOLFSSL_API int wc_SignCert(int requestSz, int sType, byte* buf, word32 buffSz, + RsaKey* rsaKey, ecc_key* eccKey, WC_RNG* rng); +WOLFSSL_API int wc_MakeSelfCert(Cert* cert, byte* buf, word32 buffSz, + RsaKey* key, WC_RNG* rng); +WOLFSSL_API int wc_SetIssuer(Cert* cert, const char* issuerFile); +WOLFSSL_API int wc_SetSubject(Cert* cert, const char* subjectFile); #ifdef WOLFSSL_ALT_NAMES - WOLFSSL_API int wc_SetAltNames(Cert*, const char*); + WOLFSSL_API int wc_SetAltNames(Cert* cert, const char* file); #endif #ifdef WOLFSSL_CERT_GEN_CACHE WOLFSSL_API void wc_SetCert_Free(Cert* cert); #endif -WOLFSSL_API int wc_SetIssuerBuffer(Cert*, const byte*, int); -WOLFSSL_API int wc_SetSubjectBuffer(Cert*, const byte*, int); -WOLFSSL_API int wc_SetAltNamesBuffer(Cert*, const byte*, int); -WOLFSSL_API int wc_SetDatesBuffer(Cert*, const byte*, int); +WOLFSSL_API int wc_SetIssuerBuffer(Cert* cert, const byte* der, int derSz); +WOLFSSL_API int wc_SetSubjectBuffer(Cert* cert, const byte* der, int derSz); +WOLFSSL_API int wc_SetAltNamesBuffer(Cert* cert, const byte* der, int derSz); +WOLFSSL_API int wc_SetDatesBuffer(Cert* cert, const byte* der, int derSz); #ifndef NO_ASN_TIME WOLFSSL_API int wc_GetCertDates(Cert* cert, struct tm* before, @@ -547,10 +547,10 @@ WOLFSSL_API void wc_FreeDer(DerBuffer** pDer); WOLFSSL_API int wc_PemToDer(const unsigned char* buff, long longSz, int type, DerBuffer** pDer, void* heap, EncryptedInfo* info, int* keyFormat); - WOLFSSL_API int wc_KeyPemToDer(const unsigned char*, int, - unsigned char*, int, const char*); - WOLFSSL_API int wc_CertPemToDer(const unsigned char*, int, - unsigned char*, int, int); + WOLFSSL_API int wc_KeyPemToDer(const unsigned char* pem, int pemSz, + unsigned char* buff, int buffSz, const char* pass); + WOLFSSL_API int wc_CertPemToDer(const unsigned char* pem, int pemSz, + unsigned char* buff, int buffSz, int type); #endif /* WOLFSSL_PEM_TO_DER */ #if defined(WOLFSSL_CERT_EXT) || defined(WOLFSSL_PUB_PEM_TO_DER) @@ -560,8 +560,8 @@ WOLFSSL_API void wc_FreeDer(DerBuffer** pDer); WOLFSSL_API int wc_PemPubKeyToDer_ex(const char* fileName, DerBuffer** der); #endif - WOLFSSL_API int wc_PubKeyPemToDer(const unsigned char*, int, - unsigned char*, int); + WOLFSSL_API int wc_PubKeyPemToDer(const unsigned char* pem, int pemSz, + unsigned char* buff, int buffSz); #endif /* WOLFSSL_CERT_EXT || WOLFSSL_PUB_PEM_TO_DER */ #ifdef WOLFSSL_CERT_GEN @@ -598,8 +598,8 @@ WOLFSSL_API void wc_FreeDer(DerBuffer** pDer); #ifndef NO_DSA /* DSA parameter DER helper functions */ - WOLFSSL_API int wc_DsaParamsDecode(const byte* input, word32* inOutIdx, - DsaKey*, word32); + WOLFSSL_API int wc_DsaParamsDecode(const byte* input, word32* inOutIdx, DsaKey* key, + word32 inSz); WOLFSSL_API int wc_DsaKeyToParamsDer(DsaKey* key, byte* output, word32 inLen); WOLFSSL_API int wc_DsaKeyToParamsDer_ex(DsaKey* key, byte* output, @@ -615,23 +615,23 @@ WOLFSSL_API int wc_DhPrivKeyToDer(DhKey* key, byte* out, word32* outSz); #ifdef HAVE_ECC /* private key helpers */ - WOLFSSL_API int wc_EccPrivateKeyDecode(const byte*, word32*, - ecc_key*, word32); - WOLFSSL_API int wc_EccKeyToDer(ecc_key*, byte* output, word32 inLen); + WOLFSSL_API int wc_EccPrivateKeyDecode(const byte* input, word32* inOutIdx, + ecc_key* key, word32 inSz); + WOLFSSL_API int wc_EccKeyToDer(ecc_key* key, byte* output, word32 inLen); WOLFSSL_API int wc_EccPrivateKeyToDer(ecc_key* key, byte* output, word32 inLen); - WOLFSSL_API int wc_EccKeyDerSize(ecc_key*, int pub); + WOLFSSL_API int wc_EccKeyDerSize(ecc_key* key, int pub); WOLFSSL_API int wc_EccPrivateKeyToPKCS8(ecc_key* key, byte* output, word32* outLen); WOLFSSL_API int wc_EccKeyToPKCS8(ecc_key* key, byte* output, word32* outLen); /* public key helper */ - WOLFSSL_API int wc_EccPublicKeyDecode(const byte*, word32*, - ecc_key*, word32); - WOLFSSL_API int wc_EccPublicKeyToDer(ecc_key*, byte* output, + WOLFSSL_API int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx, + ecc_key* key, word32 inSz); + WOLFSSL_API int wc_EccPublicKeyToDer(ecc_key* key, byte* output, word32 inLen, int with_AlgCurve); - WOLFSSL_API int wc_EccPublicKeyDerSize(ecc_key*, int with_AlgCurve); + WOLFSSL_API int wc_EccPublicKeyDerSize(ecc_key* key, int with_AlgCurve); #endif /* RFC 5958 (Asymmetric Key Packages) */ @@ -655,55 +655,76 @@ WOLFSSL_API int wc_DhPrivKeyToDer(DhKey* key, byte* out, word32* outSz); #ifdef HAVE_ED25519 #ifdef HAVE_ED25519_KEY_IMPORT -WOLFSSL_API int wc_Ed25519PrivateKeyDecode(const byte*, word32*, ed25519_key*, word32); -WOLFSSL_API int wc_Ed25519PublicKeyDecode(const byte*, word32*, ed25519_key*, word32); +WOLFSSL_API int wc_Ed25519PrivateKeyDecode(const byte* input, word32* inOutIdx, + ed25519_key* key, word32 inSz); +WOLFSSL_API int wc_Ed25519PublicKeyDecode(const byte* input, word32* inOutIdx, + ed25519_key* key, word32 inSz); #endif #ifdef HAVE_ED25519_KEY_EXPORT -WOLFSSL_API int wc_Ed25519KeyToDer(ed25519_key*, byte*, word32); -WOLFSSL_API int wc_Ed25519PrivateKeyToDer(ed25519_key*, byte*, word32); -WOLFSSL_API int wc_Ed25519PublicKeyToDer(ed25519_key*, byte*, word32, int); +WOLFSSL_API int wc_Ed25519KeyToDer(ed25519_key* key, byte* output, + word32 inLen); +WOLFSSL_API int wc_Ed25519PrivateKeyToDer(ed25519_key* key, byte* output, + word32 inLen); +WOLFSSL_API int wc_Ed25519PublicKeyToDer(ed25519_key* key, byte* output, + word32 inLen, int withAlg); #endif #endif /* HAVE_ED25519 */ #ifdef HAVE_CURVE25519 #ifdef HAVE_CURVE25519_KEY_IMPORT -WOLFSSL_API int wc_Curve25519PrivateKeyDecode(const byte*, word32*, curve25519_key*, word32); -WOLFSSL_API int wc_Curve25519PublicKeyDecode(const byte*, word32*, curve25519_key*, word32); +WOLFSSL_API int wc_Curve25519PrivateKeyDecode( + const byte* input, word32* inOutIdx, curve25519_key* key, word32 inSz); +WOLFSSL_API int wc_Curve25519PublicKeyDecode( + const byte* input, word32* inOutIdx, curve25519_key* key, word32 inSz); #endif #ifdef HAVE_CURVE25519_KEY_EXPORT -WOLFSSL_API int wc_Curve25519PrivateKeyToDer(curve25519_key*, byte*, word32); -WOLFSSL_API int wc_Curve25519PublicKeyToDer(curve25519_key*, byte*, word32, int); +WOLFSSL_API int wc_Curve25519PrivateKeyToDer( + curve25519_key* key, byte* output, word32 inLen); +WOLFSSL_API int wc_Curve25519PublicKeyToDer( + curve25519_key* key, byte* output, word32 inLen, int withAlg); #endif #endif /* HAVE_CURVE25519 */ #ifdef HAVE_ED448 #ifdef HAVE_ED448_KEY_IMPORT -WOLFSSL_API int wc_Ed448PrivateKeyDecode(const byte*, word32*, ed448_key*, word32); -WOLFSSL_API int wc_Ed448PublicKeyDecode(const byte*, word32*, ed448_key*, word32); +WOLFSSL_API int wc_Ed448PrivateKeyDecode( + const byte* input, word32* inOutIdx, ed448_key* key, word32 inSz); +WOLFSSL_API int wc_Ed448PublicKeyDecode( + const byte* input, word32* inOutIdx, ed448_key* key, word32 inSz); #endif #ifdef HAVE_ED448_KEY_EXPORT -WOLFSSL_API int wc_Ed448KeyToDer(ed448_key*, byte*, word32); -WOLFSSL_API int wc_Ed448PrivateKeyToDer(ed448_key*, byte*, word32); -WOLFSSL_API int wc_Ed448PublicKeyToDer(ed448_key*, byte*, word32, int); +WOLFSSL_API int wc_Ed448KeyToDer(ed448_key* key, byte* output, word32 inLen); +WOLFSSL_API int wc_Ed448PrivateKeyToDer( + ed448_key* key, byte* output, word32 inLen); +WOLFSSL_API int wc_Ed448PublicKeyToDer( + ed448_key* key, byte* output, word32 inLen, int withAlg); #endif #endif /* HAVE_ED448 */ #ifdef HAVE_PQC -WOLFSSL_API int wc_Falcon_PrivateKeyDecode(const byte*, word32*, falcon_key*, word32); -WOLFSSL_API int wc_Falcon_PublicKeyDecode(const byte*, word32*, falcon_key*, word32); -WOLFSSL_API int wc_Falcon_KeyToDer(falcon_key*, byte*, word32); -WOLFSSL_API int wc_Falcon_PrivateKeyToDer(falcon_key*, byte*, word32); -WOLFSSL_API int wc_Falcon_PublicKeyToDer(falcon_key*, byte*, word32, int); +WOLFSSL_API int wc_Falcon_PrivateKeyDecode(const byte* input, word32* inOutIdx, + falcon_key* key, word32 inSz); +WOLFSSL_API int wc_Falcon_PublicKeyDecode(const byte* input, word32* inOutIdx, + falcon_key* key, word32 inSz); +WOLFSSL_API int wc_Falcon_KeyToDer(falcon_key* key, byte* output, word32 inLen); +WOLFSSL_API int wc_Falcon_PrivateKeyToDer(falcon_key* key, byte* output, + word32 inLen); +WOLFSSL_API int wc_Falcon_PublicKeyToDer(falcon_key* key, byte* output, + word32 inLen, int withAlg); #endif /* HAVE_PQC */ #ifdef HAVE_CURVE448 #ifdef HAVE_CURVE448_KEY_IMPORT -WOLFSSL_API int wc_Curve448PrivateKeyDecode(const byte*, word32*, curve448_key*, word32); -WOLFSSL_API int wc_Curve448PublicKeyDecode(const byte*, word32*, curve448_key*, word32); +WOLFSSL_API int wc_Curve448PrivateKeyDecode(const byte* input, word32* inOutIdx, + curve448_key* key, word32 inSz); +WOLFSSL_API int wc_Curve448PublicKeyDecode(const byte* input, word32* inOutIdx, + curve448_key* key, word32 inSz); #endif #ifdef HAVE_CURVE448_KEY_EXPORT -WOLFSSL_API int wc_Curve448PrivateKeyToDer(curve448_key*, byte*, word32); -WOLFSSL_API int wc_Curve448PublicKeyToDer(curve448_key*, byte*, word32, int); +WOLFSSL_API int wc_Curve448PrivateKeyToDer(curve448_key* key, byte* output, + word32 inLen); +WOLFSSL_API int wc_Curve448PublicKeyToDer(curve448_key* key, byte* output, + word32 inLen, int withAlg); #endif #endif /* HAVE_CURVE448 */ @@ -718,11 +739,16 @@ WOLFSSL_API int wc_GetPkcs8TraditionalOffset(byte* input, WOLFSSL_API int wc_CreatePKCS8Key(byte* out, word32* outSz, byte* key, word32 keySz, int algoID, const byte* curveOID, word32 oidSz); -WOLFSSL_API int wc_EncryptPKCS8Key(byte*, word32, byte*, word32*, const char*, - int, int, int, int, byte*, word32, int, WC_RNG*, void*); -WOLFSSL_API int wc_DecryptPKCS8Key(byte*, word32, const char*, int); -WOLFSSL_API int wc_CreateEncryptedPKCS8Key(byte*, word32, byte*, word32*, - const char*, int, int, int, int, byte*, word32, int, WC_RNG*, void*); +WOLFSSL_API int wc_EncryptPKCS8Key(byte* key, word32 keySz, byte* out, word32* outSz, + const char* password, int passwordSz, int vPKCS, int pbeOid, + int encAlgId, byte* salt, word32 saltSz, int itt, WC_RNG* rng, + void* heap); +WOLFSSL_API int wc_DecryptPKCS8Key(byte* input, word32 sz, const char* password, + int passwordSz); +WOLFSSL_API int wc_CreateEncryptedPKCS8Key(byte* key, word32 keySz, byte* out, + word32* outSz, const char* password, int passwordSz, int vPKCS, + int pbeOid, int encAlgId, byte* salt, word32 saltSz, int itt, + WC_RNG* rng, void* heap); #ifndef NO_ASN_TIME /* Time */ @@ -769,9 +795,11 @@ WOLFSSL_API int wc_ParseCertPIV(wc_CertPIV* cert, const byte* buf, word32 totalS /* Forward declaration needed, as DecodedCert is defined in asn.h.*/ struct DecodedCert; -WOLFSSL_API void wc_InitDecodedCert(struct DecodedCert*, const byte*, word32, void*); -WOLFSSL_API void wc_FreeDecodedCert(struct DecodedCert*); -WOLFSSL_API int wc_ParseCert(struct DecodedCert*, int, int, void*); +WOLFSSL_API void wc_InitDecodedCert( + struct DecodedCert* cert, const byte* source, word32 inSz, void* heap); +WOLFSSL_API void wc_FreeDecodedCert(struct DecodedCert* cert); +WOLFSSL_API int wc_ParseCert( + struct DecodedCert* cert, int type, int verify, void* cm); WOLFSSL_API int wc_GetPubKeyDerFromCert(struct DecodedCert* cert, byte* derKey, word32* derKeySz); diff --git a/wolfssl/wolfcrypt/blake2-int.h b/wolfssl/wolfcrypt/blake2-int.h index be280dbdd..e1c73fc85 100644 --- a/wolfssl/wolfcrypt/blake2-int.h +++ b/wolfssl/wolfcrypt/blake2-int.h @@ -130,36 +130,36 @@ #pragma pack(pop) /* Streaming API */ - int blake2s_init( blake2s_state *S, const byte outlen ); - int blake2s_init_key( blake2s_state *S, const byte outlen, const void *key, const byte keylen ); + int blake2s_init( blake2s_state *S, byte outlen ); + int blake2s_init_key( blake2s_state *S, byte outlen, const void *key, byte keylen ); int blake2s_init_param( blake2s_state *S, const blake2s_param *P ); int blake2s_update( blake2s_state *S, const byte *in, word32 inlen ); int blake2s_final( blake2s_state *S, byte *out, byte outlen ); - int blake2b_init( blake2b_state *S, const byte outlen ); - int blake2b_init_key( blake2b_state *S, const byte outlen, const void *key, const byte keylen ); + int blake2b_init( blake2b_state *S, byte outlen ); + int blake2b_init_key( blake2b_state *S, byte outlen, const void *key, byte keylen ); int blake2b_init_param( blake2b_state *S, const blake2b_param *P ); int blake2b_update( blake2b_state *S, const byte *in, word64 inlen ); int blake2b_final( blake2b_state *S, byte *out, byte outlen ); - int blake2sp_init( blake2sp_state *S, const byte outlen ); - int blake2sp_init_key( blake2sp_state *S, const byte outlen, const void *key, const byte keylen ); + int blake2sp_init( blake2sp_state *S, byte outlen ); + int blake2sp_init_key( blake2sp_state *S, byte outlen, const void *key, byte keylen ); int blake2sp_update( blake2sp_state *S, const byte *in, word32 inlen ); int blake2sp_final( blake2sp_state *S, byte *out, byte outlen ); - int blake2bp_init( blake2bp_state *S, const byte outlen ); - int blake2bp_init_key( blake2bp_state *S, const byte outlen, const void *key, const byte keylen ); + int blake2bp_init( blake2bp_state *S, byte outlen ); + int blake2bp_init_key( blake2bp_state *S, byte outlen, const void *key, byte keylen ); int blake2bp_update( blake2bp_state *S, const byte *in, word64 inlen ); int blake2bp_final( blake2bp_state *S, byte *out, byte outlen ); /* Simple API */ - int blake2s( byte *out, const void *in, const void *key, const byte outlen, const word32 inlen, byte keylen ); - int blake2b( byte *out, const void *in, const void *key, const byte outlen, const word64 inlen, byte keylen ); + int blake2s( byte *out, const void *in, const void *key, byte outlen, word32 inlen, byte keylen ); + int blake2b( byte *out, const void *in, const void *key, byte outlen, word64 inlen, byte keylen ); - int blake2sp( byte *out, const void *in, const void *key, const byte outlen, const word32 inlen, byte keylen ); - int blake2bp( byte *out, const void *in, const void *key, const byte outlen, const word64 inlen, byte keylen ); + int blake2sp( byte *out, const void *in, const void *key, byte outlen, word32 inlen, byte keylen ); + int blake2bp( byte *out, const void *in, const void *key, byte outlen, word64 inlen, byte keylen ); - static WC_INLINE int blake2( byte *out, const void *in, const void *key, const byte outlen, const word64 inlen, byte keylen ) + static WC_INLINE int blake2( byte *out, const void *in, const void *key, byte outlen, word64 inlen, byte keylen ) { return blake2b( out, in, key, outlen, inlen, keylen ); } diff --git a/wolfssl/wolfcrypt/blake2.h b/wolfssl/wolfcrypt/blake2.h index cdcb0661d..551844a10 100644 --- a/wolfssl/wolfcrypt/blake2.h +++ b/wolfssl/wolfcrypt/blake2.h @@ -75,17 +75,19 @@ typedef struct Blake2s { #ifdef HAVE_BLAKE2B -WOLFSSL_API int wc_InitBlake2b(Blake2b*, word32); -WOLFSSL_API int wc_InitBlake2b_WithKey(Blake2b*, word32, const byte *, word32); -WOLFSSL_API int wc_Blake2bUpdate(Blake2b*, const byte*, word32); -WOLFSSL_API int wc_Blake2bFinal(Blake2b*, byte*, word32); +WOLFSSL_API int wc_InitBlake2b(Blake2b* b2b, word32 digestSz); +WOLFSSL_API int wc_InitBlake2b_WithKey(Blake2b* b2b, word32 digestSz, + const byte *key, word32 keylen); +WOLFSSL_API int wc_Blake2bUpdate(Blake2b* b2b, const byte* data, word32 sz); +WOLFSSL_API int wc_Blake2bFinal(Blake2b* b2b, byte* final, word32 requestSz); #endif #ifdef HAVE_BLAKE2S -WOLFSSL_API int wc_InitBlake2s(Blake2s*, word32); -WOLFSSL_API int wc_InitBlake2s_WithKey(Blake2s*, word32, const byte *, word32); -WOLFSSL_API int wc_Blake2sUpdate(Blake2s*, const byte*, word32); -WOLFSSL_API int wc_Blake2sFinal(Blake2s*, byte*, word32); +WOLFSSL_API int wc_InitBlake2s(Blake2s* b2s, word32 digestSz); +WOLFSSL_API int wc_InitBlake2s_WithKey(Blake2s* b2s, word32 digestSz, + const byte *key, word32 keylen); +WOLFSSL_API int wc_Blake2sUpdate(Blake2s* b2s, const byte* data, word32 sz); +WOLFSSL_API int wc_Blake2sFinal(Blake2s* b2s, byte* final, word32 requestSz); #endif diff --git a/wolfssl/wolfcrypt/chacha20_poly1305.h b/wolfssl/wolfcrypt/chacha20_poly1305.h index 44631bf9c..ed3bb6c1c 100644 --- a/wolfssl/wolfcrypt/chacha20_poly1305.h +++ b/wolfssl/wolfcrypt/chacha20_poly1305.h @@ -90,8 +90,8 @@ WOLFSSL_API int wc_ChaCha20Poly1305_Encrypt( const byte inKey[CHACHA20_POLY1305_AEAD_KEYSIZE], const byte inIV[CHACHA20_POLY1305_AEAD_IV_SIZE], - const byte* inAAD, const word32 inAADLen, - const byte* inPlaintext, const word32 inPlaintextLen, + const byte* inAAD, word32 inAADLen, + const byte* inPlaintext, word32 inPlaintextLen, byte* outCiphertext, byte outAuthTag[CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE]); @@ -99,8 +99,8 @@ WOLFSSL_API int wc_ChaCha20Poly1305_Decrypt( const byte inKey[CHACHA20_POLY1305_AEAD_KEYSIZE], const byte inIV[CHACHA20_POLY1305_AEAD_IV_SIZE], - const byte* inAAD, const word32 inAADLen, - const byte* inCiphertext, const word32 inCiphertextLen, + const byte* inAAD, word32 inAADLen, + const byte* inCiphertext, word32 inCiphertextLen, const byte inAuthTag[CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE], byte* outPlaintext); @@ -134,18 +134,18 @@ WOLFSSL_API int wc_XChaCha20Poly1305_Init( int isEncrypt); WOLFSSL_API int wc_XChaCha20Poly1305_Encrypt( - byte *dst, const size_t dst_space, - const byte *src, const size_t src_len, - const byte *ad, const size_t ad_len, - const byte *nonce, const size_t nonce_len, - const byte *key, const size_t key_len); + byte *dst, size_t dst_space, + const byte *src, size_t src_len, + const byte *ad, size_t ad_len, + const byte *nonce, size_t nonce_len, + const byte *key, size_t key_len); WOLFSSL_API int wc_XChaCha20Poly1305_Decrypt( - byte *dst, const size_t dst_space, - const byte *src, const size_t src_len, - const byte *ad, const size_t ad_len, - const byte *nonce, const size_t nonce_len, - const byte *key, const size_t key_len); + byte *dst, size_t dst_space, + const byte *src, size_t src_len, + const byte *ad, size_t ad_len, + const byte *nonce, size_t nonce_len, + const byte *key, size_t key_len); #endif /* HAVE_XCHACHA */ diff --git a/wolfssl/wolfcrypt/des3.h b/wolfssl/wolfcrypt/des3.h index f05b54e49..d1a46393a 100644 --- a/wolfssl/wolfcrypt/des3.h +++ b/wolfssl/wolfcrypt/des3.h @@ -146,8 +146,8 @@ WOLFSSL_API int wc_Des3_CbcDecrypt(Des3* des, byte* out, /* These are only required when using either: static memory (WOLFSSL_STATIC_MEMORY) or asynchronous (WOLFSSL_ASYNC_CRYPT) */ -WOLFSSL_API int wc_Des3Init(Des3*, void*, int); -WOLFSSL_API void wc_Des3Free(Des3*); +WOLFSSL_API int wc_Des3Init(Des3* des3, void* heap, int devId); +WOLFSSL_API void wc_Des3Free(Des3* des3); #ifdef __cplusplus } /* extern "C" */ diff --git a/wolfssl/wolfcrypt/dh.h b/wolfssl/wolfcrypt/dh.h index 3adaba980..3cc826957 100644 --- a/wolfssl/wolfcrypt/dh.h +++ b/wolfssl/wolfcrypt/dh.h @@ -120,7 +120,7 @@ WOLFSSL_API int wc_DhAgree(DhKey* key, byte* agree, word32* agreeSz, word32 pubSz); WOLFSSL_API int wc_DhKeyDecode(const byte* input, word32* inOutIdx, DhKey* key, - word32); /* wc_DhKeyDecode is in asn.c */ + word32 inSz); /* wc_DhKeyDecode is in asn.c */ WOLFSSL_API int wc_DhSetKey(DhKey* key, const byte* p, word32 pSz, const byte* g, word32 gSz); diff --git a/wolfssl/wolfcrypt/dsa.h b/wolfssl/wolfcrypt/dsa.h index 523e08ad0..62de4d8ba 100644 --- a/wolfssl/wolfcrypt/dsa.h +++ b/wolfssl/wolfcrypt/dsa.h @@ -84,9 +84,9 @@ WOLFSSL_API int wc_DsaSign(const byte* digest, byte* out, WOLFSSL_API int wc_DsaVerify(const byte* digest, const byte* sig, DsaKey* key, int* answer); WOLFSSL_API int wc_DsaPublicKeyDecode(const byte* input, word32* inOutIdx, - DsaKey*, word32); + DsaKey* key, word32 inSz); WOLFSSL_API int wc_DsaPrivateKeyDecode(const byte* input, word32* inOutIdx, - DsaKey*, word32); + DsaKey* key, word32 inSz); WOLFSSL_API int wc_DsaKeyToDer(DsaKey* key, byte* output, word32 inLen); WOLFSSL_API int wc_SetDsaPublicKey(byte* output, DsaKey* key, int outLen, int with_header); diff --git a/wolfssl/wolfcrypt/ecc.h b/wolfssl/wolfcrypt/ecc.h index ee50c7a7c..694c12fb2 100644 --- a/wolfssl/wolfcrypt/ecc.h +++ b/wolfssl/wolfcrypt/ecc.h @@ -523,8 +523,8 @@ struct ecc_key { }; -WOLFSSL_ABI WOLFSSL_API ecc_key* wc_ecc_key_new(void*); -WOLFSSL_ABI WOLFSSL_API void wc_ecc_key_free(ecc_key*); +WOLFSSL_ABI WOLFSSL_API ecc_key* wc_ecc_key_new(void* heap); +WOLFSSL_ABI WOLFSSL_API void wc_ecc_key_free(ecc_key* key); /* ECC predefined curve sets */ @@ -544,8 +544,8 @@ ECC_API int ecc_mul2add(ecc_point* A, mp_int* kA, ecc_point* B, mp_int* kB, ecc_point* C, mp_int* a, mp_int* modulus, void* heap); -ECC_API int ecc_map(ecc_point*, mp_int*, mp_digit); -ECC_API int ecc_map_ex(ecc_point*, mp_int*, mp_digit, int ct); +ECC_API int ecc_map(ecc_point* P, mp_int* modulus, mp_digit mp); +ECC_API int ecc_map_ex(ecc_point* P, mp_int* modulus, mp_digit mp, int ct); ECC_API int ecc_projective_add_point(ecc_point* P, ecc_point* Q, ecc_point* R, mp_int* a, mp_int* modulus, mp_digit mp); ECC_API int ecc_projective_dbl_point(ecc_point* P, ecc_point* R, mp_int* a, @@ -723,9 +723,10 @@ int wc_ecc_mulmod_ex2(const mp_int* k, ecc_point *G, ecc_point *R, mp_int* a, #ifdef HAVE_ECC_KEY_EXPORT /* ASN key helpers */ WOLFSSL_API -int wc_ecc_export_x963(ecc_key*, byte* out, word32* outLen); +int wc_ecc_export_x963(ecc_key* key, byte* out, word32* outLen); WOLFSSL_API -int wc_ecc_export_x963_ex(ecc_key*, byte* out, word32* outLen, int compressed); +int wc_ecc_export_x963_ex(ecc_key* key, byte* out, word32* outLen, + int compressed); /* extended functionality with compressed option */ #endif /* HAVE_ECC_KEY_EXPORT */ @@ -777,13 +778,13 @@ int wc_ecc_export_private_raw(ecc_key* key, byte* qx, word32* qxLen, #ifdef HAVE_ECC_KEY_EXPORT WOLFSSL_API -int wc_ecc_export_point_der_ex(const int curve_idx, ecc_point* point, byte* out, +int wc_ecc_export_point_der_ex(int curve_idx, ecc_point* point, byte* out, word32* outLen, int compressed); WOLFSSL_API -int wc_ecc_export_point_der(const int curve_idx, ecc_point* point, +int wc_ecc_export_point_der(int curve_idx, ecc_point* point, byte* out, word32* outLen); WOLFSSL_LOCAL -int wc_ecc_export_point_der_compressed(const int curve_idx, ecc_point* point, +int wc_ecc_export_point_der_compressed(int curve_idx, ecc_point* point, byte* out, word32* outLen); #endif /* HAVE_ECC_KEY_EXPORT */ @@ -791,10 +792,10 @@ int wc_ecc_export_point_der_compressed(const int curve_idx, ecc_point* point, #ifdef HAVE_ECC_KEY_IMPORT WOLFSSL_API int wc_ecc_import_point_der_ex(const byte* in, word32 inLen, - const int curve_idx, ecc_point* point, + int curve_idx, ecc_point* point, int shortKeySize); WOLFSSL_API -int wc_ecc_import_point_der(const byte* in, word32 inLen, const int curve_idx, +int wc_ecc_import_point_der(const byte* in, word32 inLen, int curve_idx, ecc_point* point); #endif /* HAVE_ECC_KEY_IMPORT */ @@ -855,16 +856,16 @@ ecEncCtx* wc_ecc_ctx_new(int flags, WC_RNG* rng); WOLFSSL_API ecEncCtx* wc_ecc_ctx_new_ex(int flags, WC_RNG* rng, void* heap); WOLFSSL_API -void wc_ecc_ctx_free(ecEncCtx*); +void wc_ecc_ctx_free(ecEncCtx* ctx); WOLFSSL_API -int wc_ecc_ctx_reset(ecEncCtx*, WC_RNG*); /* reset for use again w/o alloc/free */ +int wc_ecc_ctx_reset(ecEncCtx* ctx, WC_RNG* rng); /* reset for use again w/o alloc/free */ WOLFSSL_API -const byte* wc_ecc_ctx_get_own_salt(ecEncCtx*); +const byte* wc_ecc_ctx_get_own_salt(ecEncCtx* ctx); WOLFSSL_API -int wc_ecc_ctx_set_peer_salt(ecEncCtx*, const byte* salt); +int wc_ecc_ctx_set_peer_salt(ecEncCtx* ctx, const byte* salt); WOLFSSL_API -int wc_ecc_ctx_set_info(ecEncCtx*, const byte* info, int sz); +int wc_ecc_ctx_set_info(ecEncCtx* ctx, const byte* info, int sz); WOLFSSL_API int wc_ecc_encrypt(ecc_key* privKey, ecc_key* pubKey, const byte* msg, diff --git a/wolfssl/wolfcrypt/ed25519.h b/wolfssl/wolfcrypt/ed25519.h index 21e3cb9f2..4f2171ead 100644 --- a/wolfssl/wolfcrypt/ed25519.h +++ b/wolfssl/wolfcrypt/ed25519.h @@ -190,7 +190,7 @@ int wc_ed25519_import_private_key(const byte* priv, word32 privSz, #ifdef HAVE_ED25519_KEY_EXPORT WOLFSSL_API -int wc_ed25519_export_public(ed25519_key*, byte* out, word32* outLen); +int wc_ed25519_export_public(ed25519_key* key, byte* out, word32* outLen); WOLFSSL_API int wc_ed25519_export_private_only(ed25519_key* key, byte* out, word32* outLen); WOLFSSL_API diff --git a/wolfssl/wolfcrypt/ed448.h b/wolfssl/wolfcrypt/ed448.h index 13745c1fc..c1ce329fc 100644 --- a/wolfssl/wolfcrypt/ed448.h +++ b/wolfssl/wolfcrypt/ed448.h @@ -172,7 +172,7 @@ int wc_ed448_import_private_key(const byte* priv, word32 privSz, #ifdef HAVE_ED448_KEY_EXPORT WOLFSSL_API -int wc_ed448_export_public(ed448_key*, byte* out, word32* outLen); +int wc_ed448_export_public(ed448_key* key, byte* out, word32* outLen); WOLFSSL_API int wc_ed448_export_private_only(ed448_key* key, byte* out, word32* outLen); WOLFSSL_API diff --git a/wolfssl/wolfcrypt/fe_448.h b/wolfssl/wolfcrypt/fe_448.h index 6be82cdc3..9918f0ab3 100644 --- a/wolfssl/wolfcrypt/fe_448.h +++ b/wolfssl/wolfcrypt/fe_448.h @@ -68,25 +68,25 @@ WOLFSSL_LOCAL void fe448_reduce(fe448*); #else #define fe448_reduce(a) #endif -WOLFSSL_LOCAL void fe448_neg(fe448*,const fe448*); -WOLFSSL_LOCAL void fe448_add(fe448*, const fe448*, const fe448*); -WOLFSSL_LOCAL void fe448_sub(fe448*, const fe448*, const fe448*); -WOLFSSL_LOCAL void fe448_mul(fe448*,const fe448*,const fe448*); -WOLFSSL_LOCAL void fe448_sqr(fe448*, const fe448*); -WOLFSSL_LOCAL void fe448_mul39081(fe448*, const fe448*); -WOLFSSL_LOCAL void fe448_invert(fe448*, const fe448*); +WOLFSSL_LOCAL void fe448_neg(fe448* r, const fe448* a); +WOLFSSL_LOCAL void fe448_add(fe448* r, const fe448* a, const fe448* b); +WOLFSSL_LOCAL void fe448_sub(fe448* r, const fe448* a, const fe448* b); +WOLFSSL_LOCAL void fe448_mul(fe448* r, const fe448* a, const fe448* b); +WOLFSSL_LOCAL void fe448_sqr(fe448* r, const fe448* a); +WOLFSSL_LOCAL void fe448_mul39081(fe448* r, const fe448* a); +WOLFSSL_LOCAL void fe448_invert(fe448* r, const fe448* a); -WOLFSSL_LOCAL void fe448_0(fe448*); -WOLFSSL_LOCAL void fe448_1(fe448*); -WOLFSSL_LOCAL void fe448_copy(fe448*, const fe448*); -WOLFSSL_LOCAL int fe448_isnonzero(const fe448*); -WOLFSSL_LOCAL int fe448_isnegative(const fe448*); +WOLFSSL_LOCAL void fe448_0(fe448* a); +WOLFSSL_LOCAL void fe448_1(fe448* a); +WOLFSSL_LOCAL void fe448_copy(fe448* d, const fe448* a); +WOLFSSL_LOCAL int fe448_isnonzero(const fe448* a); +WOLFSSL_LOCAL int fe448_isnegative(const fe448* a); -WOLFSSL_LOCAL void fe448_from_bytes(fe448*,const unsigned char *); -WOLFSSL_LOCAL void fe448_to_bytes(unsigned char *, const fe448*); +WOLFSSL_LOCAL void fe448_from_bytes(fe448* r, const unsigned char* b); +WOLFSSL_LOCAL void fe448_to_bytes(unsigned char* b, const fe448* a); -WOLFSSL_LOCAL void fe448_cmov(fe448*,const fe448*, int); -WOLFSSL_LOCAL void fe448_pow_2_446_222_1(fe448*,const fe448*); +WOLFSSL_LOCAL void fe448_cmov(fe448* a, const fe448* b, int c); +WOLFSSL_LOCAL void fe448_pow_2_446_222_1(fe448* r, const fe448* a); #else @@ -94,21 +94,21 @@ WOLFSSL_LOCAL void fe448_init(void); WOLFSSL_LOCAL int curve448(byte* r, const byte* n, const byte* a); #define fe448_reduce(a) -WOLFSSL_LOCAL void fe448_neg(word8*,const word8*); -WOLFSSL_LOCAL void fe448_add(word8*, const word8*, const word8*); -WOLFSSL_LOCAL void fe448_sub(word8*, const word8*, const word8*); -WOLFSSL_LOCAL void fe448_mul(word8*,const word8*,const word8*); -WOLFSSL_LOCAL void fe448_sqr(word8*, const word8*); -WOLFSSL_LOCAL void fe448_mul39081(word8*, const word8*); -WOLFSSL_LOCAL void fe448_invert(word8*, const word8*); -WOLFSSL_LOCAL void fe448_copy(word8*, const word8*); -WOLFSSL_LOCAL int fe448_isnonzero(const word8*); +WOLFSSL_LOCAL void fe448_neg(word8* r, const word8* a); +WOLFSSL_LOCAL void fe448_add(word8* r, const word8* a, const word8* b); +WOLFSSL_LOCAL void fe448_sub(word8* r, const word8* a, const word8* b); +WOLFSSL_LOCAL void fe448_mul(word8* r, const word8* a, const word8* b); +WOLFSSL_LOCAL void fe448_sqr(word8* r, const word8* a); +WOLFSSL_LOCAL void fe448_mul39081(word8* r, const word8* a); +WOLFSSL_LOCAL void fe448_invert(word8* r, const word8* a); WOLFSSL_LOCAL void fe448_norm(byte *a); +WOLFSSL_LOCAL void fe448_copy(word8* d, const word8* a); +WOLFSSL_LOCAL int fe448_isnonzero(const word8* a); -WOLFSSL_LOCAL void fe448_cmov(word8*,const word8*, int); -WOLFSSL_LOCAL void fe448_pow_2_446_222_1(word8*,const word8*); +WOLFSSL_LOCAL void fe448_cmov(word8* a, const word8* b, int c); +WOLFSSL_LOCAL void fe448_pow_2_446_222_1(word8* r, const word8* a); #endif /* !CURVE448_SMALL || !ED448_SMALL */ diff --git a/wolfssl/wolfcrypt/fe_operations.h b/wolfssl/wolfcrypt/fe_operations.h index 5b10d8110..fc8ebb237 100644 --- a/wolfssl/wolfcrypt/fe_operations.h +++ b/wolfssl/wolfcrypt/fe_operations.h @@ -91,29 +91,29 @@ WOLFSSL_LOCAL int curve25519(byte * q, const byte * n, const byte * p); typedef sword32 fe[10]; #endif -WOLFSSL_LOCAL void fe_copy(fe, const fe); -WOLFSSL_LOCAL void fe_add(fe, const fe, const fe); -WOLFSSL_LOCAL void fe_neg(fe,const fe); -WOLFSSL_LOCAL void fe_sub(fe, const fe, const fe); -WOLFSSL_LOCAL void fe_invert(fe, const fe); -WOLFSSL_LOCAL void fe_mul(fe,const fe,const fe); +WOLFSSL_LOCAL void fe_copy(fe h,const fe f); +WOLFSSL_LOCAL void fe_add(fe h,const fe f,const fe g); +WOLFSSL_LOCAL void fe_neg(fe h,const fe f); +WOLFSSL_LOCAL void fe_sub(fe h,const fe f,const fe g); +WOLFSSL_LOCAL void fe_invert(fe out,const fe z); +WOLFSSL_LOCAL void fe_mul(fe h,const fe f,const fe g); /* Based On Daniel J Bernstein's curve25519 and ed25519 Public Domain ref10 work. */ -WOLFSSL_LOCAL void fe_0(fe); -WOLFSSL_LOCAL void fe_1(fe); -WOLFSSL_LOCAL int fe_isnonzero(const fe); -WOLFSSL_LOCAL int fe_isnegative(const fe); -WOLFSSL_LOCAL void fe_tobytes(unsigned char *, const fe); -WOLFSSL_LOCAL void fe_sq(fe, const fe); -WOLFSSL_LOCAL void fe_sq2(fe,const fe); -WOLFSSL_LOCAL void fe_frombytes(fe,const unsigned char *); -WOLFSSL_LOCAL void fe_cswap(fe, fe, int); -WOLFSSL_LOCAL void fe_mul121666(fe,fe); -WOLFSSL_LOCAL void fe_cmov(fe,const fe, int); -WOLFSSL_LOCAL void fe_pow22523(fe,const fe); +WOLFSSL_LOCAL void fe_0(fe h); +WOLFSSL_LOCAL void fe_1(fe h); +WOLFSSL_LOCAL int fe_isnonzero(const fe f); +WOLFSSL_LOCAL int fe_isnegative(const fe f); +WOLFSSL_LOCAL void fe_tobytes(unsigned char *s,const fe h); +WOLFSSL_LOCAL void fe_sq(fe h,const fe f); +WOLFSSL_LOCAL void fe_sq2(fe h,const fe f); +WOLFSSL_LOCAL void fe_frombytes(fe h,const unsigned char *s); +WOLFSSL_LOCAL void fe_cswap(fe f, fe g, int b); +WOLFSSL_LOCAL void fe_mul121666(fe h,fe f); +WOLFSSL_LOCAL void fe_cmov(fe f, const fe g, int b); +WOLFSSL_LOCAL void fe_pow22523(fe out,const fe z); /* 64 type needed for SHA512 */ WOLFSSL_LOCAL word64 load_3(const unsigned char *in); diff --git a/wolfssl/wolfcrypt/ge_448.h b/wolfssl/wolfcrypt/ge_448.h index befedcee1..4aa1ecf76 100644 --- a/wolfssl/wolfcrypt/ge_448.h +++ b/wolfssl/wolfcrypt/ge_448.h @@ -59,18 +59,15 @@ typedef struct { } ge448_p2; -WOLFSSL_LOCAL int ge448_compress_key(byte*, const byte*, const byte*); -WOLFSSL_LOCAL int ge448_from_bytes_negate_vartime(ge448_p2 *, - const unsigned char *); +WOLFSSL_LOCAL int ge448_compress_key(byte* out, const byte* xIn, const byte* yIn); +WOLFSSL_LOCAL int ge448_from_bytes_negate_vartime(ge448_p2 *r, const byte *b); -WOLFSSL_LOCAL int ge448_double_scalarmult_vartime(ge448_p2 *, - const unsigned char *, - const ge448_p2 *, - const unsigned char *); -WOLFSSL_LOCAL void ge448_scalarmult_base(ge448_p2 *, const unsigned char *); -WOLFSSL_LOCAL void sc448_reduce(byte*); -WOLFSSL_LOCAL void sc448_muladd(byte*, const byte*, const byte*, const byte*); -WOLFSSL_LOCAL void ge448_to_bytes(unsigned char *, const ge448_p2 *); +WOLFSSL_LOCAL int ge448_double_scalarmult_vartime(ge448_p2 *r, const byte *a, + const ge448_p2 *A, const byte *b); +WOLFSSL_LOCAL void ge448_scalarmult_base(ge448_p2* h, const byte* a); +WOLFSSL_LOCAL void sc448_reduce(byte* b); +WOLFSSL_LOCAL void sc448_muladd(byte* r, const byte* a, const byte* b, const byte* d); +WOLFSSL_LOCAL void ge448_to_bytes(byte *s, const ge448_p2 *h); #ifndef ED448_SMALL diff --git a/wolfssl/wolfcrypt/ge_operations.h b/wolfssl/wolfcrypt/ge_operations.h index 5ad78141d..cff2fb6ee 100644 --- a/wolfssl/wolfcrypt/ge_operations.h +++ b/wolfssl/wolfcrypt/ge_operations.h @@ -73,16 +73,16 @@ typedef struct { WOLFSSL_LOCAL int ge_compress_key(byte* out, const byte* xIn, const byte* yIn, word32 keySz); -WOLFSSL_LOCAL int ge_frombytes_negate_vartime(ge_p3 *,const unsigned char *); +WOLFSSL_LOCAL int ge_frombytes_negate_vartime(ge_p3 *h,const unsigned char *s); -WOLFSSL_LOCAL int ge_double_scalarmult_vartime(ge_p2 *,const unsigned char *, - const ge_p3 *,const unsigned char *); -WOLFSSL_LOCAL void ge_scalarmult_base(ge_p3 *,const unsigned char *); +WOLFSSL_LOCAL int ge_double_scalarmult_vartime(ge_p2 *r, const unsigned char *a, + const ge_p3 *A, const unsigned char *b); +WOLFSSL_LOCAL void ge_scalarmult_base(ge_p3 *h,const unsigned char *a); WOLFSSL_LOCAL void sc_reduce(byte* s); WOLFSSL_LOCAL void sc_muladd(byte* s, const byte* a, const byte* b, const byte* c); -WOLFSSL_LOCAL void ge_tobytes(unsigned char *,const ge_p2 *); -WOLFSSL_LOCAL void ge_p3_tobytes(unsigned char *,const ge_p3 *); +WOLFSSL_LOCAL void ge_tobytes(unsigned char *s,const ge_p2 *h); +WOLFSSL_LOCAL void ge_p3_tobytes(unsigned char *s,const ge_p3 *h); #ifndef ED25519_SMALL diff --git a/wolfssl/wolfcrypt/hash.h b/wolfssl/wolfcrypt/hash.h index 5165a620b..0c7967429 100644 --- a/wolfssl/wolfcrypt/hash.h +++ b/wolfssl/wolfcrypt/hash.h @@ -184,39 +184,39 @@ WOLFSSL_API int wc_Md5Hash(const byte* data, word32 len, byte* hash); #ifndef NO_SHA #include -WOLFSSL_API int wc_ShaHash(const byte*, word32, byte*); +WOLFSSL_API int wc_ShaHash(const byte* data, word32 len, byte* hash); #endif #ifdef WOLFSSL_SHA224 #include -WOLFSSL_API int wc_Sha224Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha224Hash(const byte* data, word32 len, byte* hash); #endif /* defined(WOLFSSL_SHA224) */ #ifndef NO_SHA256 #include -WOLFSSL_API int wc_Sha256Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha256Hash(const byte* data, word32 len, byte* hash); #endif #ifdef WOLFSSL_SHA384 #include -WOLFSSL_API int wc_Sha384Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha384Hash(const byte* data, word32 len, byte* hash); #endif /* defined(WOLFSSL_SHA384) */ #ifdef WOLFSSL_SHA512 #include -WOLFSSL_API int wc_Sha512Hash(const byte*, word32, byte*); -WOLFSSL_API int wc_Sha512_224Hash(const byte*, word32, byte*); -WOLFSSL_API int wc_Sha512_256Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha512Hash(const byte* data, word32 len, byte* hash); +WOLFSSL_API int wc_Sha512_224Hash(const byte* data, word32 len, byte* hash); +WOLFSSL_API int wc_Sha512_256Hash(const byte* data, word32 len, byte* hash); #endif /* WOLFSSL_SHA512 */ #ifdef WOLFSSL_SHA3 #include -WOLFSSL_API int wc_Sha3_224Hash(const byte*, word32, byte*); -WOLFSSL_API int wc_Sha3_256Hash(const byte*, word32, byte*); -WOLFSSL_API int wc_Sha3_384Hash(const byte*, word32, byte*); -WOLFSSL_API int wc_Sha3_512Hash(const byte*, word32, byte*); +WOLFSSL_API int wc_Sha3_224Hash(const byte* data, word32 len, byte* hash); +WOLFSSL_API int wc_Sha3_256Hash(const byte* data, word32 len, byte* hash); +WOLFSSL_API int wc_Sha3_384Hash(const byte* data, word32 len, byte* hash); +WOLFSSL_API int wc_Sha3_512Hash(const byte* data, word32 len, byte* hash); #ifdef WOLFSSL_SHAKE256 -WOLFSSL_API int wc_Shake256Hash(const byte*, word32, byte*, word32); +WOLFSSL_API int wc_Shake256Hash(const byte* data, word32 len, byte* hash, word32 hashLen); #endif #endif /* WOLFSSL_SHA3 */ diff --git a/wolfssl/wolfcrypt/hmac.h b/wolfssl/wolfcrypt/hmac.h index a51a17d2f..76a7d81f4 100644 --- a/wolfssl/wolfcrypt/hmac.h +++ b/wolfssl/wolfcrypt/hmac.h @@ -180,14 +180,14 @@ struct Hmac { #endif /* HAVE_FIPS */ /* does init */ -WOLFSSL_API int wc_HmacSetKey(Hmac*, int type, const byte* key, word32 keySz); -WOLFSSL_API int wc_HmacUpdate(Hmac*, const byte*, word32); -WOLFSSL_API int wc_HmacFinal(Hmac*, byte*); +WOLFSSL_API int wc_HmacSetKey(Hmac* hmac, int type, const byte* key, word32 keySz); +WOLFSSL_API int wc_HmacUpdate(Hmac* hmac, const byte* in, word32 sz); +WOLFSSL_API int wc_HmacFinal(Hmac* hmac, byte* out); #ifdef WOLFSSL_KCAPI_HMAC -WOLFSSL_API int wc_HmacSetKey_Software(Hmac*, int type, const byte* key, +WOLFSSL_API int wc_HmacSetKey_Software(Hmac* hmac, int type, const byte* key, word32 keySz); -WOLFSSL_API int wc_HmacUpdate_Software(Hmac*, const byte*, word32); -WOLFSSL_API int wc_HmacFinal_Software(Hmac*, byte*); +WOLFSSL_API int wc_HmacUpdate_Software(Hmac* hmac, const byte* in, word32 sz); +WOLFSSL_API int wc_HmacFinal_Software(Hmac* hmac, byte* out); #endif WOLFSSL_API int wc_HmacSizeByType(int type); @@ -198,7 +198,7 @@ WOLFSSL_API int wc_HmacInit_Id(Hmac* hmac, byte* id, int len, void* heap, WOLFSSL_API int wc_HmacInit_Label(Hmac* hmac, const char* label, void* heap, int devId); #endif -WOLFSSL_API void wc_HmacFree(Hmac*); +WOLFSSL_API void wc_HmacFree(Hmac* hmac); WOLFSSL_API int wolfSSL_GetHmacMaxSize(void); diff --git a/wolfssl/wolfcrypt/md2.h b/wolfssl/wolfcrypt/md2.h index 8aeb4f483..64f9f50c7 100644 --- a/wolfssl/wolfcrypt/md2.h +++ b/wolfssl/wolfcrypt/md2.h @@ -54,10 +54,10 @@ typedef struct Md2 { } Md2; -WOLFSSL_API void wc_InitMd2(Md2*); -WOLFSSL_API void wc_Md2Update(Md2*, const byte*, word32); -WOLFSSL_API void wc_Md2Final(Md2*, byte*); -WOLFSSL_API int wc_Md2Hash(const byte*, word32, byte*); +WOLFSSL_API void wc_InitMd2(Md2* md2); +WOLFSSL_API void wc_Md2Update(Md2* md2, const byte* data, word32 len); +WOLFSSL_API void wc_Md2Final(Md2* md2, byte* hash); +WOLFSSL_API int wc_Md2Hash(const byte* data, word32 len, byte* hash); #ifdef __cplusplus diff --git a/wolfssl/wolfcrypt/md4.h b/wolfssl/wolfcrypt/md4.h index cf203d97d..27f2a0231 100644 --- a/wolfssl/wolfcrypt/md4.h +++ b/wolfssl/wolfcrypt/md4.h @@ -53,9 +53,9 @@ typedef struct Md4 { } Md4; -WOLFSSL_API void wc_InitMd4(Md4*); -WOLFSSL_API void wc_Md4Update(Md4*, const byte*, word32); -WOLFSSL_API void wc_Md4Final(Md4*, byte*); +WOLFSSL_API void wc_InitMd4(Md4* md4); +WOLFSSL_API void wc_Md4Update(Md4* md4, const byte* data, word32 len); +WOLFSSL_API void wc_Md4Final(Md4* md4, byte* hash); #ifdef __cplusplus diff --git a/wolfssl/wolfcrypt/md5.h b/wolfssl/wolfcrypt/md5.h index d41ab42e1..ffa41748c 100644 --- a/wolfssl/wolfcrypt/md5.h +++ b/wolfssl/wolfcrypt/md5.h @@ -107,17 +107,17 @@ typedef struct wc_Md5 { #endif /* WOLFSSL_TI_HASH */ -WOLFSSL_API int wc_InitMd5(wc_Md5*); -WOLFSSL_API int wc_InitMd5_ex(wc_Md5*, void*, int); -WOLFSSL_API int wc_Md5Update(wc_Md5*, const byte*, word32); -WOLFSSL_API int wc_Md5Final(wc_Md5*, byte*); -WOLFSSL_API void wc_Md5Free(wc_Md5*); +WOLFSSL_API int wc_InitMd5(wc_Md5* md5); +WOLFSSL_API int wc_InitMd5_ex(wc_Md5* md5, void* heap, int devId); +WOLFSSL_API int wc_Md5Update(wc_Md5* md5, const byte* data, word32 len); +WOLFSSL_API int wc_Md5Final(wc_Md5* md5, byte* hash); +WOLFSSL_API void wc_Md5Free(wc_Md5* md5); #ifdef OPENSSL_EXTRA -WOLFSSL_API int wc_Md5Transform(wc_Md5*, const byte*); +WOLFSSL_API int wc_Md5Transform(wc_Md5* md5, const byte* data); #endif -WOLFSSL_API int wc_Md5GetHash(wc_Md5*, byte*); -WOLFSSL_API int wc_Md5Copy(wc_Md5*, wc_Md5*); +WOLFSSL_API int wc_Md5GetHash(wc_Md5* md5, byte* hash); +WOLFSSL_API int wc_Md5Copy(wc_Md5* src, wc_Md5* dst); #ifdef WOLFSSL_PIC32MZ_HASH WOLFSSL_API void wc_Md5SizeSet(wc_Md5* md5, word32 len); diff --git a/wolfssl/wolfcrypt/memory.h b/wolfssl/wolfcrypt/memory.h index 31ea4e655..4014f25ae 100644 --- a/wolfssl/wolfcrypt/memory.h +++ b/wolfssl/wolfcrypt/memory.h @@ -83,12 +83,12 @@ #endif /* WOLFSSL_STATIC_MEMORY */ /* Public get/set functions */ -WOLFSSL_API int wolfSSL_SetAllocators(wolfSSL_Malloc_cb, - wolfSSL_Free_cb, - wolfSSL_Realloc_cb); -WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb*, - wolfSSL_Free_cb*, - wolfSSL_Realloc_cb*); +WOLFSSL_API int wolfSSL_SetAllocators(wolfSSL_Malloc_cb mf, + wolfSSL_Free_cb ff, + wolfSSL_Realloc_cb rf); +WOLFSSL_API int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf, + wolfSSL_Free_cb* ff, + wolfSSL_Realloc_cb* rf); #ifdef WOLFSSL_STATIC_MEMORY #define WOLFSSL_STATIC_TIMEOUT 1 diff --git a/wolfssl/wolfcrypt/pkcs12.h b/wolfssl/wolfcrypt/pkcs12.h index f43124114..f26a23668 100644 --- a/wolfssl/wolfcrypt/pkcs12.h +++ b/wolfssl/wolfcrypt/pkcs12.h @@ -50,7 +50,7 @@ WOLFSSL_API WC_PKCS12* wc_PKCS12_new(void); WOLFSSL_API void wc_PKCS12_free(WC_PKCS12* pkcs12); WOLFSSL_API int wc_d2i_PKCS12(const byte* der, word32 derSz, WC_PKCS12* pkcs12); #ifndef NO_FILESYSTEM -WOLFSSL_API int wc_d2i_PKCS12_fp(const char*, WC_PKCS12**); +WOLFSSL_API int wc_d2i_PKCS12_fp(const char* file, WC_PKCS12** pkcs12); #endif WOLFSSL_API int wc_i2d_PKCS12(WC_PKCS12* pkcs12, byte** der, int* derSz); WOLFSSL_API int wc_PKCS12_parse(WC_PKCS12* pkcs12, const char* psw, diff --git a/wolfssl/wolfcrypt/poly1305.h b/wolfssl/wolfcrypt/poly1305.h index a272c2a41..361f55aff 100644 --- a/wolfssl/wolfcrypt/poly1305.h +++ b/wolfssl/wolfcrypt/poly1305.h @@ -110,7 +110,7 @@ typedef struct Poly1305 { WOLFSSL_API int wc_Poly1305SetKey(Poly1305* poly1305, const byte* key, word32 kySz); -WOLFSSL_API int wc_Poly1305Update(Poly1305* poly1305, const byte*, word32); +WOLFSSL_API int wc_Poly1305Update(Poly1305* poly1305, const byte* m, word32 bytes); WOLFSSL_API int wc_Poly1305Final(Poly1305* poly1305, byte* tag); /* AEAD Functions */ diff --git a/wolfssl/wolfcrypt/random.h b/wolfssl/wolfcrypt/random.h index 2c5d20746..963596dfb 100644 --- a/wolfssl/wolfcrypt/random.h +++ b/wolfssl/wolfcrypt/random.h @@ -206,19 +206,19 @@ WOLFSSL_API int wc_GenerateSeed(OS_Seed* os, byte* seed, word32 sz); #endif /* HAVE_WNR */ -WOLFSSL_ABI WOLFSSL_API WC_RNG* wc_rng_new(byte*, word32, void*); -WOLFSSL_ABI WOLFSSL_API void wc_rng_free(WC_RNG*); +WOLFSSL_ABI WOLFSSL_API WC_RNG* wc_rng_new(byte* nonce, word32 nonceSz, void* heap); +WOLFSSL_ABI WOLFSSL_API void wc_rng_free(WC_RNG* rng); #ifndef WC_NO_RNG -WOLFSSL_API int wc_InitRng(WC_RNG*); +WOLFSSL_API int wc_InitRng(WC_RNG* rng); WOLFSSL_API int wc_InitRng_ex(WC_RNG* rng, void* heap, int devId); WOLFSSL_API int wc_InitRngNonce(WC_RNG* rng, byte* nonce, word32 nonceSz); WOLFSSL_API int wc_InitRngNonce_ex(WC_RNG* rng, byte* nonce, word32 nonceSz, void* heap, int devId); -WOLFSSL_ABI WOLFSSL_API int wc_RNG_GenerateBlock(WC_RNG*, byte*, word32 sz); -WOLFSSL_API int wc_RNG_GenerateByte(WC_RNG*, byte*); -WOLFSSL_API int wc_FreeRng(WC_RNG*); +WOLFSSL_ABI WOLFSSL_API int wc_RNG_GenerateBlock(WC_RNG* rng, byte* b, word32 sz); +WOLFSSL_API int wc_RNG_GenerateByte(WC_RNG* rng, byte* b); +WOLFSSL_API int wc_FreeRng(WC_RNG* rng); #else #include #define wc_InitRng(rng) NOT_COMPILED_IN diff --git a/wolfssl/wolfcrypt/ripemd.h b/wolfssl/wolfcrypt/ripemd.h index 1e4c6b3be..7d7c8bce3 100644 --- a/wolfssl/wolfcrypt/ripemd.h +++ b/wolfssl/wolfcrypt/ripemd.h @@ -54,9 +54,9 @@ typedef struct RipeMd { } RipeMd; -WOLFSSL_API int wc_InitRipeMd(RipeMd*); -WOLFSSL_API int wc_RipeMdUpdate(RipeMd*, const byte*, word32); -WOLFSSL_API int wc_RipeMdFinal(RipeMd*, byte*); +WOLFSSL_API int wc_InitRipeMd(RipeMd* ripemd); +WOLFSSL_API int wc_RipeMdUpdate(RipeMd* ripemd, const byte* data, word32 len); +WOLFSSL_API int wc_RipeMdFinal(RipeMd* ripemd, byte* hash); #ifdef __cplusplus diff --git a/wolfssl/wolfcrypt/rsa.h b/wolfssl/wolfcrypt/rsa.h index d557c09f7..d701ad14f 100644 --- a/wolfssl/wolfcrypt/rsa.h +++ b/wolfssl/wolfcrypt/rsa.h @@ -303,14 +303,14 @@ WOLFSSL_API int wc_RsaEncryptSize(const RsaKey* key); (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) /* to avoid asn duplicate symbols @wc_fips */ WOLFSSL_API int wc_RsaPrivateKeyDecode(const byte* input, word32* inOutIdx, - RsaKey*, word32); + RsaKey* key, word32 inSz); WOLFSSL_API int wc_RsaPublicKeyDecode(const byte* input, word32* inOutIdx, - RsaKey*, word32); + RsaKey* key, word32 inSz); WOLFSSL_API int wc_RsaPublicKeyDecodeRaw(const byte* n, word32 nSz, const byte* e, word32 eSz, RsaKey* key); #if defined(WOLFSSL_KEY_GEN) || defined(OPENSSL_EXTRA) || \ defined(WOLFSSL_KCAPI_RSA) - WOLFSSL_API int wc_RsaKeyToDer(RsaKey*, byte* output, word32 inLen); + WOLFSSL_API int wc_RsaKeyToDer(RsaKey* key, byte* output, word32 inLen); #endif #ifdef WC_RSA_BLINDING @@ -358,8 +358,8 @@ WOLFSSL_API int wc_RsaDirect(byte* in, word32 inLen, byte* out, word32* outSz, #endif /* HAVE_FIPS */ -WOLFSSL_API int wc_RsaFlattenPublicKey(RsaKey*, byte*, word32*, byte*, - word32*); +WOLFSSL_API int wc_RsaFlattenPublicKey(RsaKey* key, byte* e, word32* eSz, + byte* n, word32* nSz); WOLFSSL_API int wc_RsaExportKey(RsaKey* key, byte* e, word32* eSz, byte* n, word32* nSz, diff --git a/wolfssl/wolfcrypt/settings.h b/wolfssl/wolfcrypt/settings.h index 0c81cf052..1af36f08c 100644 --- a/wolfssl/wolfcrypt/settings.h +++ b/wolfssl/wolfcrypt/settings.h @@ -239,7 +239,7 @@ #include "wolfSSL.I-CUBE-wolfSSL_conf.h" #endif -#define WOLFSSL_MAKE_FIPS_VERSION(major, minor) ((major * 256) + minor) +#define WOLFSSL_MAKE_FIPS_VERSION(major, minor) (((major) * 256) + (minor)) #if !defined(HAVE_FIPS) #define WOLFSSL_FIPS_VERSION_CODE WOLFSSL_MAKE_FIPS_VERSION(0,0) #elif !defined(HAVE_FIPS_VERSION) diff --git a/wolfssl/wolfcrypt/sha.h b/wolfssl/wolfcrypt/sha.h index 0456c2d8d..1f3de3b09 100644 --- a/wolfssl/wolfcrypt/sha.h +++ b/wolfssl/wolfcrypt/sha.h @@ -168,17 +168,17 @@ struct wc_Sha { #endif /* HAVE_FIPS */ -WOLFSSL_API int wc_InitSha(wc_Sha*); +WOLFSSL_API int wc_InitSha(wc_Sha* sha); WOLFSSL_API int wc_InitSha_ex(wc_Sha* sha, void* heap, int devId); -WOLFSSL_API int wc_ShaUpdate(wc_Sha*, const byte*, word32); -WOLFSSL_API int wc_ShaFinalRaw(wc_Sha*, byte*); -WOLFSSL_API int wc_ShaFinal(wc_Sha*, byte*); -WOLFSSL_API void wc_ShaFree(wc_Sha*); +WOLFSSL_API int wc_ShaUpdate(wc_Sha* sha, const byte* data, word32 len); +WOLFSSL_API int wc_ShaFinalRaw(wc_Sha* sha, byte* hash); +WOLFSSL_API int wc_ShaFinal(wc_Sha* sha, byte* hash); +WOLFSSL_API void wc_ShaFree(wc_Sha* sha); -WOLFSSL_API int wc_ShaGetHash(wc_Sha*, byte*); -WOLFSSL_API int wc_ShaCopy(wc_Sha*, wc_Sha*); +WOLFSSL_API int wc_ShaGetHash(wc_Sha* sha, byte* hash); +WOLFSSL_API int wc_ShaCopy(wc_Sha* src, wc_Sha* dst); #if defined(OPENSSL_EXTRA) -WOLFSSL_API int wc_ShaTransform(wc_Sha*, const byte*); +WOLFSSL_API int wc_ShaTransform(wc_Sha* sha, const unsigned char* data); #endif #ifdef WOLFSSL_PIC32MZ_HASH diff --git a/wolfssl/wolfcrypt/sha256.h b/wolfssl/wolfcrypt/sha256.h index 8e4447003..1f5030604 100644 --- a/wolfssl/wolfcrypt/sha256.h +++ b/wolfssl/wolfcrypt/sha256.h @@ -220,20 +220,20 @@ struct wc_Sha256 { #endif /* HAVE_FIPS */ -WOLFSSL_API int wc_InitSha256(wc_Sha256*); -WOLFSSL_API int wc_InitSha256_ex(wc_Sha256*, void*, int); -WOLFSSL_API int wc_Sha256Update(wc_Sha256*, const byte*, word32); -WOLFSSL_API int wc_Sha256FinalRaw(wc_Sha256*, byte*); -WOLFSSL_API int wc_Sha256Final(wc_Sha256*, byte*); -WOLFSSL_API void wc_Sha256Free(wc_Sha256*); +WOLFSSL_API int wc_InitSha256(wc_Sha256* sha); +WOLFSSL_API int wc_InitSha256_ex(wc_Sha256* sha, void* heap, int devId); +WOLFSSL_API int wc_Sha256Update(wc_Sha256* sha, const byte* data, word32 len); +WOLFSSL_API int wc_Sha256FinalRaw(wc_Sha256* sha256, byte* hash); +WOLFSSL_API int wc_Sha256Final(wc_Sha256* sha256, byte* hash); +WOLFSSL_API void wc_Sha256Free(wc_Sha256* sha256); #if defined(OPENSSL_EXTRA) -WOLFSSL_API int wc_Sha256Transform(wc_Sha256*, const byte*); +WOLFSSL_API int wc_Sha256Transform(wc_Sha256* sha, const unsigned char* data); #endif -WOLFSSL_API int wc_Sha256GetHash(wc_Sha256*, byte*); +WOLFSSL_API int wc_Sha256GetHash(wc_Sha256* sha256, byte* hash); WOLFSSL_API int wc_Sha256Copy(wc_Sha256* src, wc_Sha256* dst); #ifdef WOLFSSL_PIC32MZ_HASH -WOLFSSL_API void wc_Sha256SizeSet(wc_Sha256*, word32); +WOLFSSL_API void wc_Sha256SizeSet(wc_Sha256* sha256, word32 len); #endif #ifdef WOLFSSL_HASH_FLAGS @@ -272,13 +272,13 @@ enum { #endif #endif /* HAVE_FIPS */ -WOLFSSL_API int wc_InitSha224(wc_Sha224*); -WOLFSSL_API int wc_InitSha224_ex(wc_Sha224*, void*, int); -WOLFSSL_API int wc_Sha224Update(wc_Sha224*, const byte*, word32); -WOLFSSL_API int wc_Sha224Final(wc_Sha224*, byte*); -WOLFSSL_API void wc_Sha224Free(wc_Sha224*); +WOLFSSL_API int wc_InitSha224(wc_Sha224* sha224); +WOLFSSL_API int wc_InitSha224_ex(wc_Sha224* sha224, void* heap, int devId); +WOLFSSL_API int wc_Sha224Update(wc_Sha224* sha224, const byte* data, word32 len); +WOLFSSL_API int wc_Sha224Final(wc_Sha224* sha224, byte* hash); +WOLFSSL_API void wc_Sha224Free(wc_Sha224* sha224); -WOLFSSL_API int wc_Sha224GetHash(wc_Sha224*, byte*); +WOLFSSL_API int wc_Sha224GetHash(wc_Sha224* sha224, byte* hash); WOLFSSL_API int wc_Sha224Copy(wc_Sha224* src, wc_Sha224* dst); #ifdef WOLFSSL_HASH_FLAGS diff --git a/wolfssl/wolfcrypt/sha3.h b/wolfssl/wolfcrypt/sha3.h index ea1b767a7..e06dc1592 100644 --- a/wolfssl/wolfcrypt/sha3.h +++ b/wolfssl/wolfcrypt/sha3.h @@ -129,39 +129,39 @@ typedef wc_Sha3 wc_Shake; #endif -WOLFSSL_API int wc_InitSha3_224(wc_Sha3*, void*, int); -WOLFSSL_API int wc_Sha3_224_Update(wc_Sha3*, const byte*, word32); -WOLFSSL_API int wc_Sha3_224_Final(wc_Sha3*, byte*); -WOLFSSL_API void wc_Sha3_224_Free(wc_Sha3*); -WOLFSSL_API int wc_Sha3_224_GetHash(wc_Sha3*, byte*); +WOLFSSL_API int wc_InitSha3_224(wc_Sha3* sha3, void* heap, int devId); +WOLFSSL_API int wc_Sha3_224_Update(wc_Sha3* sha3, const byte* data, word32 len); +WOLFSSL_API int wc_Sha3_224_Final(wc_Sha3* sha3, byte* hash); +WOLFSSL_API void wc_Sha3_224_Free(wc_Sha3* sha3); +WOLFSSL_API int wc_Sha3_224_GetHash(wc_Sha3* sha3, byte* hash); WOLFSSL_API int wc_Sha3_224_Copy(wc_Sha3* src, wc_Sha3* dst); -WOLFSSL_API int wc_InitSha3_256(wc_Sha3*, void*, int); -WOLFSSL_API int wc_Sha3_256_Update(wc_Sha3*, const byte*, word32); -WOLFSSL_API int wc_Sha3_256_Final(wc_Sha3*, byte*); -WOLFSSL_API void wc_Sha3_256_Free(wc_Sha3*); -WOLFSSL_API int wc_Sha3_256_GetHash(wc_Sha3*, byte*); +WOLFSSL_API int wc_InitSha3_256(wc_Sha3* sha3, void* heap, int devId); +WOLFSSL_API int wc_Sha3_256_Update(wc_Sha3* sha3, const byte* data, word32 len); +WOLFSSL_API int wc_Sha3_256_Final(wc_Sha3* sha3, byte* hash); +WOLFSSL_API void wc_Sha3_256_Free(wc_Sha3* sha3); +WOLFSSL_API int wc_Sha3_256_GetHash(wc_Sha3* sha3, byte* hash); WOLFSSL_API int wc_Sha3_256_Copy(wc_Sha3* src, wc_Sha3* dst); -WOLFSSL_API int wc_InitSha3_384(wc_Sha3*, void*, int); -WOLFSSL_API int wc_Sha3_384_Update(wc_Sha3*, const byte*, word32); -WOLFSSL_API int wc_Sha3_384_Final(wc_Sha3*, byte*); -WOLFSSL_API void wc_Sha3_384_Free(wc_Sha3*); -WOLFSSL_API int wc_Sha3_384_GetHash(wc_Sha3*, byte*); +WOLFSSL_API int wc_InitSha3_384(wc_Sha3* sha3, void* heap, int devId); +WOLFSSL_API int wc_Sha3_384_Update(wc_Sha3* sha3, const byte* data, word32 len); +WOLFSSL_API int wc_Sha3_384_Final(wc_Sha3* sha3, byte* hash); +WOLFSSL_API void wc_Sha3_384_Free(wc_Sha3* sha3); +WOLFSSL_API int wc_Sha3_384_GetHash(wc_Sha3* sha3, byte* hash); WOLFSSL_API int wc_Sha3_384_Copy(wc_Sha3* src, wc_Sha3* dst); -WOLFSSL_API int wc_InitSha3_512(wc_Sha3*, void*, int); -WOLFSSL_API int wc_Sha3_512_Update(wc_Sha3*, const byte*, word32); -WOLFSSL_API int wc_Sha3_512_Final(wc_Sha3*, byte*); -WOLFSSL_API void wc_Sha3_512_Free(wc_Sha3*); -WOLFSSL_API int wc_Sha3_512_GetHash(wc_Sha3*, byte*); +WOLFSSL_API int wc_InitSha3_512(wc_Sha3* sha3, void* heap, int devId); +WOLFSSL_API int wc_Sha3_512_Update(wc_Sha3* sha3, const byte* data, word32 len); +WOLFSSL_API int wc_Sha3_512_Final(wc_Sha3* sha3, byte* hash); +WOLFSSL_API void wc_Sha3_512_Free(wc_Sha3* sha3); +WOLFSSL_API int wc_Sha3_512_GetHash(wc_Sha3* sha3, byte* hash); WOLFSSL_API int wc_Sha3_512_Copy(wc_Sha3* src, wc_Sha3* dst); #ifndef WOLFSSL_NO_SHAKE256 -WOLFSSL_API int wc_InitShake256(wc_Shake*, void*, int); -WOLFSSL_API int wc_Shake256_Update(wc_Shake*, const byte*, word32); -WOLFSSL_API int wc_Shake256_Final(wc_Shake*, byte*, word32); -WOLFSSL_API void wc_Shake256_Free(wc_Shake*); +WOLFSSL_API int wc_InitShake256(wc_Shake* shake, void* heap, int devId); +WOLFSSL_API int wc_Shake256_Update(wc_Shake* shake, const byte* data, word32 len); +WOLFSSL_API int wc_Shake256_Final(wc_Shake* shake, byte* hash, word32 hashLen); +WOLFSSL_API void wc_Shake256_Free(wc_Shake* shake); WOLFSSL_API int wc_Shake256_Copy(wc_Shake* src, wc_Sha3* dst); #endif diff --git a/wolfssl/wolfcrypt/sha512.h b/wolfssl/wolfcrypt/sha512.h index 5fe2c1455..7f59ea1d7 100644 --- a/wolfssl/wolfcrypt/sha512.h +++ b/wolfssl/wolfcrypt/sha512.h @@ -205,14 +205,14 @@ struct wc_Sha512 { #ifdef WOLFSSL_SHA512 -WOLFSSL_API int wc_InitSha512(wc_Sha512*); -WOLFSSL_API int wc_InitSha512_ex(wc_Sha512*, void*, int); -WOLFSSL_API int wc_Sha512Update(wc_Sha512*, const byte*, word32); -WOLFSSL_API int wc_Sha512FinalRaw(wc_Sha512*, byte*); -WOLFSSL_API int wc_Sha512Final(wc_Sha512*, byte*); -WOLFSSL_API void wc_Sha512Free(wc_Sha512*); +WOLFSSL_API int wc_InitSha512(wc_Sha512* sha); +WOLFSSL_API int wc_InitSha512_ex(wc_Sha512* sha, void* heap, int devId); +WOLFSSL_API int wc_Sha512Update(wc_Sha512* sha, const byte* data, word32 len); +WOLFSSL_API int wc_Sha512FinalRaw(wc_Sha512* sha512, byte* hash); +WOLFSSL_API int wc_Sha512Final(wc_Sha512* sha512, byte* hash); +WOLFSSL_API void wc_Sha512Free(wc_Sha512* sha); -WOLFSSL_API int wc_Sha512GetHash(wc_Sha512*, byte*); +WOLFSSL_API int wc_Sha512GetHash(wc_Sha512* sha512, byte* hash); WOLFSSL_API int wc_Sha512Copy(wc_Sha512* src, wc_Sha512* dst); #ifdef WOLFSSL_HASH_FLAGS @@ -225,13 +225,13 @@ WOLFSSL_API int wc_Sha512Transform(wc_Sha512* sha, const unsigned char* data); #endif #if !defined(WOLFSSL_NOSHA512_224) -WOLFSSL_API int wc_InitSha512_224(wc_Sha512*); -WOLFSSL_API int wc_InitSha512_224_ex(wc_Sha512*, void*, int); -WOLFSSL_API int wc_Sha512_224Update(wc_Sha512*, const byte*, word32); -WOLFSSL_API int wc_Sha512_224FinalRaw(wc_Sha512*, byte*); -WOLFSSL_API int wc_Sha512_224Final(wc_Sha512*, byte*); -WOLFSSL_API void wc_Sha512_224Free(wc_Sha512*); -WOLFSSL_API int wc_Sha512_224GetHash(wc_Sha512*, byte*); +WOLFSSL_API int wc_InitSha512_224(wc_Sha512* sha); +WOLFSSL_API int wc_InitSha512_224_ex(wc_Sha512* sha, void* heap, int devId); +WOLFSSL_API int wc_Sha512_224Update(wc_Sha512* sha, const byte* data, word32 len); +WOLFSSL_API int wc_Sha512_224FinalRaw(wc_Sha512* sha512, byte* hash); +WOLFSSL_API int wc_Sha512_224Final(wc_Sha512* sha512, byte* hash); +WOLFSSL_API void wc_Sha512_224Free(wc_Sha512* sha); +WOLFSSL_API int wc_Sha512_224GetHash(wc_Sha512* sha512, byte* hash); WOLFSSL_API int wc_Sha512_224Copy(wc_Sha512* src, wc_Sha512* dst); #ifdef WOLFSSL_HASH_FLAGS WOLFSSL_API int wc_Sha512_224SetFlags(wc_Sha512* sha512, word32 flags); @@ -245,13 +245,13 @@ WOLFSSL_API int wc_Sha512_224Transform(wc_Sha512* sha, #endif /* !WOLFSSL_NOSHA512_224 */ #if !defined(WOLFSSL_NOSHA512_256) -WOLFSSL_API int wc_InitSha512_256(wc_Sha512*); -WOLFSSL_API int wc_InitSha512_256_ex(wc_Sha512*, void*, int); -WOLFSSL_API int wc_Sha512_256Update(wc_Sha512*, const byte*, word32); -WOLFSSL_API int wc_Sha512_256FinalRaw(wc_Sha512*, byte*); -WOLFSSL_API int wc_Sha512_256Final(wc_Sha512*, byte*); -WOLFSSL_API void wc_Sha512_256Free(wc_Sha512*); -WOLFSSL_API int wc_Sha512_256GetHash(wc_Sha512*, byte*); +WOLFSSL_API int wc_InitSha512_256(wc_Sha512* sha); +WOLFSSL_API int wc_InitSha512_256_ex(wc_Sha512* sha, void* heap, int devId); +WOLFSSL_API int wc_Sha512_256Update(wc_Sha512* sha, const byte* data, word32 len); +WOLFSSL_API int wc_Sha512_256FinalRaw(wc_Sha512* sha512, byte* hash); +WOLFSSL_API int wc_Sha512_256Final(wc_Sha512* sha512, byte* hash); +WOLFSSL_API void wc_Sha512_256Free(wc_Sha512* sha); +WOLFSSL_API int wc_Sha512_256GetHash(wc_Sha512* sha512, byte* hash); WOLFSSL_API int wc_Sha512_256Copy(wc_Sha512* src, wc_Sha512* dst); #ifdef WOLFSSL_HASH_FLAGS WOLFSSL_API int wc_Sha512_256SetFlags(wc_Sha512* sha512, word32 flags); @@ -300,14 +300,14 @@ enum { #endif #endif /* HAVE_FIPS */ -WOLFSSL_API int wc_InitSha384(wc_Sha384*); -WOLFSSL_API int wc_InitSha384_ex(wc_Sha384*, void*, int); -WOLFSSL_API int wc_Sha384Update(wc_Sha384*, const byte*, word32); -WOLFSSL_API int wc_Sha384FinalRaw(wc_Sha384*, byte*); -WOLFSSL_API int wc_Sha384Final(wc_Sha384*, byte*); -WOLFSSL_API void wc_Sha384Free(wc_Sha384*); +WOLFSSL_API int wc_InitSha384(wc_Sha384* sha); +WOLFSSL_API int wc_InitSha384_ex(wc_Sha384* sha, void* heap, int devId); +WOLFSSL_API int wc_Sha384Update(wc_Sha384* sha, const byte* data, word32 len); +WOLFSSL_API int wc_Sha384FinalRaw(wc_Sha384* sha384, byte* hash); +WOLFSSL_API int wc_Sha384Final(wc_Sha384* sha384, byte* hash); +WOLFSSL_API void wc_Sha384Free(wc_Sha384* sha); -WOLFSSL_API int wc_Sha384GetHash(wc_Sha384*, byte*); +WOLFSSL_API int wc_Sha384GetHash(wc_Sha384* sha384, byte* hash); WOLFSSL_API int wc_Sha384Copy(wc_Sha384* src, wc_Sha384* dst); #ifdef WOLFSSL_HASH_FLAGS diff --git a/wolfssl/wolfcrypt/sp_int.h b/wolfssl/wolfcrypt/sp_int.h index 43cb54bcf..901bc6e7b 100644 --- a/wolfssl/wolfcrypt/sp_int.h +++ b/wolfssl/wolfcrypt/sp_int.h @@ -639,9 +639,9 @@ typedef struct sp_ecc_ctx { #define sp_clamp(a) \ do { \ int ii; \ - for (ii = a->used - 1; ii >= 0 && a->dp[ii] == 0; ii--) { \ + for (ii = (a)->used - 1; ii >= 0 && (a)->dp[ii] == 0; ii--) { \ } \ - a->used = ii + 1; \ + (a)->used = ii + 1; \ } while (0) /* Check the compiled and linked math implementation are the same. @@ -691,21 +691,21 @@ typedef struct sp_ecc_ctx { /** Result of comparison is they are equal. */ #define MP_EQ 0 /** Result of comparison is that the first number is less than second. */ -#define MP_LT -1 +#define MP_LT (-1) /* ERROR VALUES */ /** Error value on success. */ #define MP_OKAY 0 /** Error value when dynamic memory allocation fails. */ -#define MP_MEM -2 +#define MP_MEM (-2) /** Error value when value passed is not able to be used. */ -#define MP_VAL -3 +#define MP_VAL (-3) /** Error value when non-blocking operation is returning after partial * completion. */ -#define FP_WOULDBLOCK -4 +#define FP_WOULDBLOCK (-4) /* Unused error. Defined for backward compatability. */ -#define MP_NOT_INF -5 +#define MP_NOT_INF (-5) /* Unused error. Defined for backward compatability. */ #define MP_RANGE MP_NOT_INF @@ -817,7 +817,7 @@ MP_API int sp_div_d(sp_int* a, sp_int_digit d, sp_int* r, sp_int_digit* rem); #endif #if defined(WOLFSSL_SP_MATH_ALL) || (defined(HAVE_ECC) && \ defined(HAVE_COMP_KEY)) -MP_API int sp_mod_d(sp_int* a, const sp_int_digit d, sp_int_digit* r); +MP_API int sp_mod_d(sp_int* a, sp_int_digit d, sp_int_digit* r); #endif #if defined(WOLFSSL_SP_MATH_ALL) && defined(HAVE_ECC) MP_API int sp_div_2_mod_ct (sp_int* a, sp_int* b, sp_int* c); @@ -910,7 +910,7 @@ WOLFSSL_API word32 CheckRunTimeFastMath(void); #define mp_mul_2(a, r) sp_mul_2d(a, 1, r) #define mp_div_3(a, r, rem) sp_div_d(a, 3, r, rem) #define mp_rshb(A,x) sp_rshb(A,x,A) -#define mp_is_bit_set(a,b) sp_is_bit_set(a,(unsigned int)b) +#define mp_is_bit_set(a,b) sp_is_bit_set(a,(unsigned int)(b)) #define mp_montgomery_reduce sp_mont_red #define mp_montgomery_setup sp_mont_setup #define mp_montgomery_calc_normalization sp_mont_norm diff --git a/wolfssl/wolfcrypt/tfm.h b/wolfssl/wolfcrypt/tfm.h index 6ce06e75d..be06d0851 100644 --- a/wolfssl/wolfcrypt/tfm.h +++ b/wolfssl/wolfcrypt/tfm.h @@ -303,13 +303,13 @@ /* return codes */ #define FP_OKAY 0 -#define FP_VAL -1 -#define FP_MEM -2 -#define FP_NOT_INF -3 -#define FP_WOULDBLOCK -4 +#define FP_VAL (-1) +#define FP_MEM (-2) +#define FP_NOT_INF (-3) +#define FP_WOULDBLOCK (-4) /* equalities */ -#define FP_LT -1 /* less than */ +#define FP_LT (-1) /* less than */ #define FP_EQ 0 /* equal to */ #define FP_GT 1 /* greater than */ @@ -445,8 +445,8 @@ MP_API void fp_free(fp_int* a); (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? FP_YES : FP_NO) #define fp_isneg(a) (((a)->sign != FP_ZPOS) ? FP_YES : FP_NO) #define fp_isword(a, w) \ - (((((a)->used == 1) && ((a)->dp[0] == w)) || \ - ((w == 0) && ((a)->used == 0))) ? FP_YES : FP_NO) + (((((a)->used == 1) && ((a)->dp[0] == (w))) || \ + (((w) == 0) && ((a)->used == 0))) ? FP_YES : FP_NO) /* set to a small digit */ void fp_set(fp_int *a, fp_digit b); diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 3f4a64778..56a458eec 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -506,19 +506,19 @@ decouple library dependencies with standard string, memory and so on. #if defined(WOLFSSL_ASYNC_CRYPT) || defined(WOLFSSL_SMALL_STACK) #define WC_DECLARE_VAR_IS_HEAP_ALLOC #define WC_DECLARE_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \ - VAR_TYPE* VAR_NAME = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * VAR_SIZE, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT) + VAR_TYPE* VAR_NAME = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * (VAR_SIZE), (HEAP), DYNAMIC_TYPE_WOLF_BIGINT) #define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ VAR_TYPE* VAR_NAME[VAR_ITEMS]; \ int idx##VAR_NAME, inner_idx_##VAR_NAME; \ - for (idx##VAR_NAME=0; idx##VAR_NAME