|
@@ -648,7 +648,7 @@ WOLFSSL* wolfSSL_write_dup(WOLFSSL* ssl)
|
|
|
if ( (ret = InitSSL(dup, ssl->ctx, 1)) < 0) {
|
|
|
FreeSSL(dup, ssl->ctx->heap);
|
|
|
dup = NULL;
|
|
|
- } else if ( (ret = DupSSL(dup, ssl) < 0)) {
|
|
|
+ } else if ( (ret = DupSSL(dup, ssl)) < 0) {
|
|
|
FreeSSL(dup, ssl->ctx->heap);
|
|
|
dup = NULL;
|
|
|
}
|
|
@@ -1342,55 +1342,55 @@ WC_RNG* wolfSSL_GetRNG(WOLFSSL* ssl)
|
|
|
int wolfSSL_GetObjectSize(void)
|
|
|
{
|
|
|
#ifdef SHOW_SIZES
|
|
|
- printf("sizeof suites = %lu\n", sizeof(Suites));
|
|
|
- printf("sizeof ciphers(2) = %lu\n", sizeof(Ciphers));
|
|
|
+ printf("sizeof suites = %lu\n", (unsigned long)sizeof(Suites));
|
|
|
+ printf("sizeof ciphers(2) = %lu\n", (unsigned long)sizeof(Ciphers));
|
|
|
#ifndef NO_RC4
|
|
|
- printf("\tsizeof arc4 = %lu\n", sizeof(Arc4));
|
|
|
+ printf("\tsizeof arc4 = %lu\n", (unsigned long)sizeof(Arc4));
|
|
|
#endif
|
|
|
- printf("\tsizeof aes = %lu\n", sizeof(Aes));
|
|
|
+ printf("\tsizeof aes = %lu\n", (unsigned long)sizeof(Aes));
|
|
|
#ifndef NO_DES3
|
|
|
- printf("\tsizeof des3 = %lu\n", sizeof(Des3));
|
|
|
+ printf("\tsizeof des3 = %lu\n", (unsigned long)sizeof(Des3));
|
|
|
#endif
|
|
|
#ifndef NO_RABBIT
|
|
|
- printf("\tsizeof rabbit = %lu\n", sizeof(Rabbit));
|
|
|
+ printf("\tsizeof rabbit = %lu\n", (unsigned long)sizeof(Rabbit));
|
|
|
#endif
|
|
|
#ifdef HAVE_CHACHA
|
|
|
- printf("\tsizeof chacha = %lu\n", sizeof(ChaCha));
|
|
|
+ printf("\tsizeof chacha = %lu\n", (unsigned long)sizeof(ChaCha));
|
|
|
#endif
|
|
|
- printf("sizeof cipher specs = %lu\n", sizeof(CipherSpecs));
|
|
|
- printf("sizeof keys = %lu\n", sizeof(Keys));
|
|
|
- printf("sizeof Hashes(2) = %lu\n", sizeof(Hashes));
|
|
|
+ printf("sizeof cipher specs = %lu\n", (unsigned long)sizeof(CipherSpecs));
|
|
|
+ printf("sizeof keys = %lu\n", (unsigned long)sizeof(Keys));
|
|
|
+ printf("sizeof Hashes(2) = %lu\n", (unsigned long)sizeof(Hashes));
|
|
|
#ifndef NO_MD5
|
|
|
- printf("\tsizeof MD5 = %lu\n", sizeof(wc_Md5));
|
|
|
+ printf("\tsizeof MD5 = %lu\n", (unsigned long)sizeof(wc_Md5));
|
|
|
#endif
|
|
|
#ifndef NO_SHA
|
|
|
- printf("\tsizeof SHA = %lu\n", sizeof(wc_Sha));
|
|
|
+ printf("\tsizeof SHA = %lu\n", (unsigned long)sizeof(wc_Sha));
|
|
|
#endif
|
|
|
#ifdef WOLFSSL_SHA224
|
|
|
- printf("\tsizeof SHA224 = %lu\n", sizeof(wc_Sha224));
|
|
|
+ printf("\tsizeof SHA224 = %lu\n", (unsigned long)sizeof(wc_Sha224));
|
|
|
#endif
|
|
|
#ifndef NO_SHA256
|
|
|
- printf("\tsizeof SHA256 = %lu\n", sizeof(wc_Sha256));
|
|
|
+ printf("\tsizeof SHA256 = %lu\n", (unsigned long)sizeof(wc_Sha256));
|
|
|
#endif
|
|
|
#ifdef WOLFSSL_SHA384
|
|
|
- printf("\tsizeof SHA384 = %lu\n", sizeof(wc_Sha384));
|
|
|
+ printf("\tsizeof SHA384 = %lu\n", (unsigned long)sizeof(wc_Sha384));
|
|
|
#endif
|
|
|
#ifdef WOLFSSL_SHA384
|
|
|
- printf("\tsizeof SHA512 = %lu\n", sizeof(wc_Sha512));
|
|
|
+ printf("\tsizeof SHA512 = %lu\n", (unsigned long)sizeof(wc_Sha512));
|
|
|
#endif
|
|
|
- printf("sizeof Buffers = %lu\n", sizeof(Buffers));
|
|
|
- printf("sizeof Options = %lu\n", sizeof(Options));
|
|
|
- printf("sizeof Arrays = %lu\n", sizeof(Arrays));
|
|
|
+ printf("sizeof Buffers = %lu\n", (unsigned long)sizeof(Buffers));
|
|
|
+ printf("sizeof Options = %lu\n", (unsigned long)sizeof(Options));
|
|
|
+ printf("sizeof Arrays = %lu\n", (unsigned long)sizeof(Arrays));
|
|
|
#ifndef NO_RSA
|
|
|
- printf("sizeof RsaKey = %lu\n", sizeof(RsaKey));
|
|
|
+ printf("sizeof RsaKey = %lu\n", (unsigned long)sizeof(RsaKey));
|
|
|
#endif
|
|
|
#ifdef HAVE_ECC
|
|
|
- printf("sizeof ecc_key = %lu\n", sizeof(ecc_key));
|
|
|
+ printf("sizeof ecc_key = %lu\n", (unsigned long)sizeof(ecc_key));
|
|
|
#endif
|
|
|
- printf("sizeof WOLFSSL_CIPHER = %lu\n", sizeof(WOLFSSL_CIPHER));
|
|
|
- printf("sizeof WOLFSSL_SESSION = %lu\n", sizeof(WOLFSSL_SESSION));
|
|
|
- printf("sizeof WOLFSSL = %lu\n", sizeof(WOLFSSL));
|
|
|
- printf("sizeof WOLFSSL_CTX = %lu\n", sizeof(WOLFSSL_CTX));
|
|
|
+ printf("sizeof WOLFSSL_CIPHER = %lu\n", (unsigned long)sizeof(WOLFSSL_CIPHER));
|
|
|
+ printf("sizeof WOLFSSL_SESSION = %lu\n", (unsigned long)sizeof(WOLFSSL_SESSION));
|
|
|
+ printf("sizeof WOLFSSL = %lu\n", (unsigned long)sizeof(WOLFSSL));
|
|
|
+ printf("sizeof WOLFSSL_CTX = %lu\n", (unsigned long)sizeof(WOLFSSL_CTX));
|
|
|
#endif
|
|
|
|
|
|
return sizeof(WOLFSSL);
|
|
@@ -1676,15 +1676,19 @@ int wolfSSL_SetTmpDH(WOLFSSL* ssl, const unsigned char* p, int pSz,
|
|
|
ssl->options.haveDH = 1;
|
|
|
|
|
|
if (ssl->options.side != WOLFSSL_NEITHER_END) {
|
|
|
- word16 havePSK = 0;
|
|
|
- word16 haveRSA = 1;
|
|
|
+ word16 havePSK;
|
|
|
+ word16 haveRSA;
|
|
|
int keySz = 0;
|
|
|
|
|
|
#ifndef NO_PSK
|
|
|
havePSK = ssl->options.havePSK;
|
|
|
+ #else
|
|
|
+ havePSK = 0;
|
|
|
#endif
|
|
|
#ifdef NO_RSA
|
|
|
haveRSA = 0;
|
|
|
+ #else
|
|
|
+ haveRSA = 1;
|
|
|
#endif
|
|
|
#ifndef NO_CERTS
|
|
|
keySz = ssl->buffers.keySz;
|
|
@@ -2450,7 +2454,7 @@ int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list,
|
|
|
|
|
|
/* read all protocol name from the list */
|
|
|
token[idx] = XSTRTOK(list, ",", &ptr);
|
|
|
- while (token[idx] != NULL && idx < WOLFSSL_MAX_ALPN_NUMBER)
|
|
|
+ while (idx < WOLFSSL_MAX_ALPN_NUMBER && token[idx] != NULL)
|
|
|
token[++idx] = XSTRTOK(NULL, ",", &ptr);
|
|
|
|
|
|
/* add protocol name list in the TLS extension in reverse order */
|
|
@@ -3425,7 +3429,7 @@ WOLFSSL_CERT_MANAGER* wolfSSL_CTX_GetCertManager(WOLFSSL_CTX* ctx)
|
|
|
|
|
|
WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew_ex(void* heap)
|
|
|
{
|
|
|
- WOLFSSL_CERT_MANAGER* cm = NULL;
|
|
|
+ WOLFSSL_CERT_MANAGER* cm;
|
|
|
|
|
|
WOLFSSL_ENTER("wolfSSL_CertManagerNew");
|
|
|
|
|
@@ -4629,7 +4633,7 @@ int AddTrustedPeer(WOLFSSL_CERT_MANAGER* cm, DerBuffer** pDer, int verify)
|
|
|
{
|
|
|
int ret, row;
|
|
|
TrustedPeerCert* peerCert;
|
|
|
- DecodedCert* cert = NULL;
|
|
|
+ DecodedCert* cert;
|
|
|
DerBuffer* der = *pDer;
|
|
|
byte* subjectHash = NULL;
|
|
|
|
|
@@ -4925,10 +4929,10 @@ int AddCA(WOLFSSL_CERT_MANAGER* cm, DerBuffer** pDer, int type, int verify)
|
|
|
if ( ret == 0 && signer != NULL ) {
|
|
|
signer->cm_idx = row;
|
|
|
if (type == WOLFSSL_USER_CA && tsip_rootCAverified() == 0 ) {
|
|
|
- if (ret = tsip_tls_RootCertVerify(cert->source, cert->maxIdx,
|
|
|
- cert->sigCtx.pubkey_n_start, cert->sigCtx.pubkey_n_len - 1,
|
|
|
- cert->sigCtx.pubkey_e_start, cert->sigCtx.pubkey_e_len - 1,
|
|
|
- row/* cm index */)
|
|
|
+ if ((ret = tsip_tls_RootCertVerify(cert->source, cert->maxIdx,
|
|
|
+ cert->sigCtx.pubkey_n_start, cert->sigCtx.pubkey_n_len - 1,
|
|
|
+ cert->sigCtx.pubkey_e_start, cert->sigCtx.pubkey_e_len - 1,
|
|
|
+ row/* cm index */))
|
|
|
!= 0)
|
|
|
WOLFSSL_MSG("tsip_tls_RootCertVerify() failed");
|
|
|
else
|
|
@@ -5240,15 +5244,15 @@ static int ProcessBufferTryDecode(WOLFSSL_CTX* ctx, WOLFSSL* ssl, DerBuffer* der
|
|
|
(void)devId;
|
|
|
|
|
|
if (ctx == NULL && ssl == NULL)
|
|
|
- return BAD_FUNC_ARG;
|
|
|
+ ret = BAD_FUNC_ARG;
|
|
|
if (!der || !keySz || !idx || !resetSuites || !keyFormat)
|
|
|
- return BAD_FUNC_ARG;
|
|
|
+ ret = BAD_FUNC_ARG;
|
|
|
|
|
|
#ifndef NO_RSA
|
|
|
if (ret == 0 && (*keyFormat == 0 || *keyFormat == RSAk)) {
|
|
|
/* make sure RSA key can be used */
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- RsaKey* key = NULL;
|
|
|
+ RsaKey* key;
|
|
|
#else
|
|
|
RsaKey key[1];
|
|
|
#endif
|
|
@@ -5283,7 +5287,7 @@ static int ProcessBufferTryDecode(WOLFSSL_CTX* ctx, WOLFSSL* ssl, DerBuffer* der
|
|
|
ssl->buffers.keyType = rsa_sa_algo;
|
|
|
ssl->buffers.keySz = *keySz;
|
|
|
}
|
|
|
- else if(ctx) {
|
|
|
+ else {
|
|
|
ctx->privateKeyType = rsa_sa_algo;
|
|
|
ctx->privateKeySz = *keySz;
|
|
|
}
|
|
@@ -5308,7 +5312,7 @@ static int ProcessBufferTryDecode(WOLFSSL_CTX* ctx, WOLFSSL* ssl, DerBuffer* der
|
|
|
if (ret == 0 && (*keyFormat == 0 || *keyFormat == ECDSAk)) {
|
|
|
/* make sure ECC key can be used */
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- ecc_key* key = NULL;
|
|
|
+ ecc_key* key;
|
|
|
#else
|
|
|
ecc_key key[1];
|
|
|
#endif
|
|
@@ -5338,7 +5342,7 @@ static int ProcessBufferTryDecode(WOLFSSL_CTX* ctx, WOLFSSL* ssl, DerBuffer* der
|
|
|
ssl->buffers.keyType = ecc_dsa_sa_algo;
|
|
|
ssl->buffers.keySz = *keySz;
|
|
|
}
|
|
|
- else if (ctx) {
|
|
|
+ else {
|
|
|
ctx->haveStaticECC = 1;
|
|
|
ctx->privateKeyType = ecc_dsa_sa_algo;
|
|
|
ctx->privateKeySz = *keySz;
|
|
@@ -5361,7 +5365,7 @@ static int ProcessBufferTryDecode(WOLFSSL_CTX* ctx, WOLFSSL* ssl, DerBuffer* der
|
|
|
if (ret == 0 && (*keyFormat == 0 || *keyFormat == ED25519k)) {
|
|
|
/* make sure Ed25519 key can be used */
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- ed25519_key* key = NULL;
|
|
|
+ ed25519_key* key;
|
|
|
#else
|
|
|
ed25519_key key[1];
|
|
|
#endif
|
|
@@ -5698,7 +5702,7 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
|
|
|
}
|
|
|
else if (type == CERT_TYPE) {
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- DecodedCert* cert = NULL;
|
|
|
+ DecodedCert* cert;
|
|
|
#else
|
|
|
DecodedCert cert[1];
|
|
|
#endif
|
|
@@ -6218,7 +6222,7 @@ int CM_VerifyBuffer_ex(WOLFSSL_CERT_MANAGER* cm, const byte* buff,
|
|
|
int ret = 0;
|
|
|
DerBuffer* der = NULL;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- DecodedCert* cert = NULL;
|
|
|
+ DecodedCert* cert;
|
|
|
#else
|
|
|
DecodedCert cert[1];
|
|
|
#endif
|
|
@@ -6270,7 +6274,7 @@ int CM_VerifyBuffer_ex(WOLFSSL_CERT_MANAGER* cm, const byte* buff,
|
|
|
if (cm->verifyCallback) {
|
|
|
buffer certBuf;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- ProcPeerCertArgs* args = NULL;
|
|
|
+ ProcPeerCertArgs* args;
|
|
|
args = (ProcPeerCertArgs*)XMALLOC(
|
|
|
sizeof(ProcPeerCertArgs), cm->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
|
|
if (args == NULL) {
|
|
@@ -6798,7 +6802,7 @@ int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX* ctx, const char* file,
|
|
|
#ifndef NO_WOLFSSL_DIR
|
|
|
char* name = NULL;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- ReadDirCtx* readCtx = NULL;
|
|
|
+ ReadDirCtx* readCtx;
|
|
|
readCtx = (ReadDirCtx*)XMALLOC(sizeof(ReadDirCtx), ctx->heap,
|
|
|
DYNAMIC_TYPE_DIRCTX);
|
|
|
if (readCtx == NULL)
|
|
@@ -8640,8 +8644,7 @@ WOLFSSL_X509_EXTENSION* wolfSSL_X509_set_ext(WOLFSSL_X509* x509, int loc)
|
|
|
/* Set object size and reallocate space in object buffer */
|
|
|
ext->obj->objSz = objSz;
|
|
|
if(((ext->obj->dynamic & WOLFSSL_ASN1_DYNAMIC_DATA) != 0) ||
|
|
|
- (((ext->obj->dynamic & WOLFSSL_ASN1_DYNAMIC_DATA) == 0) &&
|
|
|
- (ext->obj->obj == NULL))) {
|
|
|
+ (ext->obj->obj == NULL)) {
|
|
|
ext->obj->obj =(byte*)XREALLOC((byte*)ext->obj->obj,
|
|
|
ext->obj->objSz,
|
|
|
NULL,DYNAMIC_TYPE_ASN1);
|
|
@@ -9308,7 +9311,7 @@ int wolfSSL_ASN1_BIT_STRING_get_bit(const WOLFSSL_ASN1_BIT_STRING* str, int i)
|
|
|
return WOLFSSL_FAILURE;
|
|
|
}
|
|
|
|
|
|
- return str->data[i/8] & (1<<(7-(i%8))) ? 1 : 0;
|
|
|
+ return (str->data[i/8] & (1<<(7-(i%8)))) ? 1 : 0;
|
|
|
}
|
|
|
|
|
|
/* Looks for the extension matching the passed in nid
|
|
@@ -11601,16 +11604,17 @@ int wolfSSL_DTLS_SetCookieSecret(WOLFSSL* ssl,
|
|
|
}
|
|
|
WOLFSSL_METHOD* wolfSSLv23_method_ex(void* heap)
|
|
|
{
|
|
|
- WOLFSSL_METHOD* m = NULL;
|
|
|
+ WOLFSSL_METHOD* m;
|
|
|
WOLFSSL_ENTER("SSLv23_method");
|
|
|
#if !defined(NO_WOLFSSL_CLIENT)
|
|
|
m = wolfSSLv23_client_method_ex(heap);
|
|
|
+ m->side = WOLFSSL_NEITHER_END;
|
|
|
#elif !defined(NO_WOLFSSL_SERVER)
|
|
|
m = wolfSSLv23_server_method_ex(heap);
|
|
|
+ m->side = WOLFSSL_NEITHER_END;
|
|
|
+ #else
|
|
|
+ m = NULL;
|
|
|
#endif
|
|
|
- if (m != NULL) {
|
|
|
- m->side = WOLFSSL_NEITHER_END;
|
|
|
- }
|
|
|
|
|
|
return m;
|
|
|
}
|
|
@@ -13053,7 +13057,7 @@ int AddSession(WOLFSSL* ssl)
|
|
|
|
|
|
#ifdef SESSION_CERTS
|
|
|
if (error == 0) {
|
|
|
- if (!overwrite || (overwrite && ssl->session.chain.count > 0)) {
|
|
|
+ if (!overwrite || ssl->session.chain.count > 0) {
|
|
|
/*
|
|
|
* If we are overwriting and no certs present in ssl->session.chain
|
|
|
* then keep the old chain.
|
|
@@ -14231,7 +14235,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
|
|
(void)sz;
|
|
|
WOLFSSL_MSG("session cache is set at compile time");
|
|
|
#ifndef NO_SESSION_CACHE
|
|
|
- return SESSIONS_PER_ROW * SESSION_ROWS;
|
|
|
+ return (long)(SESSIONS_PER_ROW * SESSION_ROWS);
|
|
|
#else
|
|
|
return 0;
|
|
|
#endif
|
|
@@ -15254,7 +15258,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
|
|
int ret;
|
|
|
int hashType = WC_HASH_TYPE_NONE;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- EncryptedInfo* info = NULL;
|
|
|
+ EncryptedInfo* info;
|
|
|
#else
|
|
|
EncryptedInfo info[1];
|
|
|
#endif
|
|
@@ -15389,7 +15393,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
|
|
do {
|
|
|
ret = wc_PeekErrorNode(0, &file, &reason, &line);
|
|
|
if (ret >= 0) {
|
|
|
- const char* r = wolfSSL_ERR_reason_error_string(ret - ret - ret);
|
|
|
+ const char* r = wolfSSL_ERR_reason_error_string(0 - ret);
|
|
|
XSNPRINTF(buf, sizeof(buf), "error:%d:wolfSSL library:%s:%s:%d\n",
|
|
|
ret, r, file, line);
|
|
|
wolfSSL_BIO_write(bio, buf, (int)XSTRLEN(buf));
|
|
@@ -18156,7 +18160,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
|
|
|
{
|
|
|
(void)ctx;
|
|
|
#ifndef NO_SESSION_CACHE
|
|
|
- return SESSIONS_PER_ROW * SESSION_ROWS;
|
|
|
+ return (long)(SESSIONS_PER_ROW * SESSION_ROWS);
|
|
|
#else
|
|
|
return 0;
|
|
|
#endif
|
|
@@ -18328,7 +18332,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
|
|
|
{
|
|
|
int ret;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- DecodedCert* cert = NULL;
|
|
|
+ DecodedCert* cert;
|
|
|
#else
|
|
|
DecodedCert cert[1];
|
|
|
#endif
|
|
@@ -18679,7 +18683,7 @@ WOLFSSL_X509* wolfSSL_X509_d2i(WOLFSSL_X509** x509, const byte* in, int len)
|
|
|
|
|
|
if (in != NULL && len != 0) {
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- DecodedCert* cert = NULL;
|
|
|
+ DecodedCert* cert;
|
|
|
#else
|
|
|
DecodedCert cert[1];
|
|
|
#endif
|
|
@@ -19608,7 +19612,7 @@ WOLFSSL_STACK* wolfSSL_sk_get_node(WOLFSSL_STACK* sk, int idx)
|
|
|
{
|
|
|
int i;
|
|
|
WOLFSSL_STACK* ret = NULL;
|
|
|
- WOLFSSL_STACK* current = NULL;
|
|
|
+ WOLFSSL_STACK* current;
|
|
|
|
|
|
current = sk;
|
|
|
for (i = 0; i <= idx && current != NULL; i++) {
|
|
@@ -20172,7 +20176,7 @@ WOLFSSL_X509* wolfSSL_X509_load_certificate_buffer(
|
|
|
/* ready to be decoded. */
|
|
|
if (der != NULL && der->buffer != NULL) {
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- DecodedCert* cert = NULL;
|
|
|
+ DecodedCert* cert;
|
|
|
#else
|
|
|
DecodedCert cert[1];
|
|
|
#endif
|
|
@@ -20308,7 +20312,7 @@ WOLFSSL_ASN1_OBJECT* wolfSSL_ASN1_OBJECT_new(void)
|
|
|
/* Creates and returns a new WOLFSSL_CIPHER stack. */
|
|
|
WOLFSSL_STACK* wolfSSL_sk_new_asn1_obj(void)
|
|
|
{
|
|
|
- WOLFSSL_STACK* sk = NULL;
|
|
|
+ WOLFSSL_STACK* sk;
|
|
|
WOLFSSL_ENTER("wolfSSL_sk_new_asn1_obj");
|
|
|
|
|
|
sk = wolfSSL_sk_new_null();
|
|
@@ -21996,10 +22000,12 @@ int wolfSSL_X509_cmp(const WOLFSSL_X509 *a, const WOLFSSL_X509 *b)
|
|
|
return WOLFSSL_FAILURE;
|
|
|
}
|
|
|
{
|
|
|
+ #if (!defined(NO_RSA) && !defined(HAVE_USER_RSA)) || defined(HAVE_ECC)
|
|
|
char tmp[100];
|
|
|
+ #endif
|
|
|
|
|
|
switch (x509->pubKeyOID) {
|
|
|
- #ifndef NO_RSA
|
|
|
+ #ifndef NO_RSA
|
|
|
case RSAk:
|
|
|
if (wolfSSL_BIO_write(bio,
|
|
|
" Public Key Algorithm: rsaEncryption\n",
|
|
@@ -22139,9 +22145,9 @@ int wolfSSL_X509_cmp(const WOLFSSL_X509 *a, const WOLFSSL_X509 *b)
|
|
|
}
|
|
|
#endif /* HAVE_USER_RSA */
|
|
|
break;
|
|
|
- #endif /* NO_RSA */
|
|
|
+ #endif /* NO_RSA */
|
|
|
|
|
|
- #ifdef HAVE_ECC
|
|
|
+ #ifdef HAVE_ECC
|
|
|
case ECDSAk:
|
|
|
{
|
|
|
word32 i;
|
|
@@ -22242,7 +22248,7 @@ int wolfSSL_X509_cmp(const WOLFSSL_X509 *a, const WOLFSSL_X509 *b)
|
|
|
wc_ecc_free(&ecc);
|
|
|
}
|
|
|
break;
|
|
|
- #endif /* HAVE_ECC */
|
|
|
+ #endif /* HAVE_ECC */
|
|
|
default:
|
|
|
WOLFSSL_MSG("Unknown key type");
|
|
|
return WOLFSSL_FAILURE;
|
|
@@ -24837,14 +24843,16 @@ int wolfSSL_X509_cmp_time(const WOLFSSL_ASN1_TIME* asnTime, time_t* cmpTime)
|
|
|
int ret = WOLFSSL_FAILURE, i = 0;
|
|
|
time_t tmpTime, *pTime = &tmpTime;
|
|
|
byte data_ptr[MAX_TIME_STRING_SZ], inv = 0;
|
|
|
- struct tm ts, *tmpTs = NULL, *ct;
|
|
|
+ struct tm ts, *tmpTs, *ct;
|
|
|
#if defined(NEED_TMP_TIME)
|
|
|
/* for use with gmtime_r */
|
|
|
struct tm tmpTimeStorage;
|
|
|
+
|
|
|
tmpTs = &tmpTimeStorage;
|
|
|
#else
|
|
|
- (void)tmpTs;
|
|
|
+ tmpTs = NULL;
|
|
|
#endif
|
|
|
+ (void)tmpTs;
|
|
|
|
|
|
if (asnTime == NULL) {
|
|
|
return WOLFSSL_FAILURE;
|
|
@@ -25196,16 +25204,17 @@ WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_adj(WOLFSSL_ASN1_TIME *s, time_t t,
|
|
|
{
|
|
|
const time_t sec_per_day = 24*60*60;
|
|
|
struct tm* ts = NULL;
|
|
|
- struct tm* tmpTime = NULL;
|
|
|
+ struct tm* tmpTime;
|
|
|
time_t t_adj = 0;
|
|
|
time_t offset_day_sec = 0;
|
|
|
-
|
|
|
#if defined(NEED_TMP_TIME)
|
|
|
struct tm tmpTimeStorage;
|
|
|
+
|
|
|
tmpTime = &tmpTimeStorage;
|
|
|
#else
|
|
|
- (void)tmpTime;
|
|
|
+ tmpTime = NULL;
|
|
|
#endif
|
|
|
+ (void)tmpTime;
|
|
|
|
|
|
WOLFSSL_ENTER("wolfSSL_ASN1_TIME_adj");
|
|
|
|
|
@@ -28682,7 +28691,7 @@ int wolfSSL_cmp_peer_cert_to_file(WOLFSSL* ssl, const char *fname)
|
|
|
#endif
|
|
|
byte* myBuffer = staticBuffer;
|
|
|
int dynamic = 0;
|
|
|
- XFILE file = XBADFILE;
|
|
|
+ XFILE file;
|
|
|
long sz = 0;
|
|
|
WOLFSSL_CTX* ctx = ssl->ctx;
|
|
|
WOLFSSL_X509* peer_cert = &ssl->peerCert;
|
|
@@ -29096,7 +29105,7 @@ int wolfSSL_RAND_bytes(unsigned char* buf, int num)
|
|
|
int initTmpRng = 0;
|
|
|
WC_RNG* rng = NULL;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- WC_RNG* tmpRNG = NULL;
|
|
|
+ WC_RNG* tmpRNG;
|
|
|
#else
|
|
|
WC_RNG tmpRNG[1];
|
|
|
#endif
|
|
@@ -29837,7 +29846,7 @@ int wolfSSL_DH_generate_key(WOLFSSL_DH* dh)
|
|
|
int initTmpRng = 0;
|
|
|
WC_RNG* rng = NULL;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- WC_RNG* tmpRNG = NULL;
|
|
|
+ WC_RNG* tmpRNG;
|
|
|
#else
|
|
|
WC_RNG tmpRNG[1];
|
|
|
#endif
|
|
@@ -29848,7 +29857,6 @@ int wolfSSL_DH_generate_key(WOLFSSL_DH* dh)
|
|
|
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
tmpRNG = (WC_RNG*)XMALLOC(sizeof(WC_RNG), NULL, DYNAMIC_TYPE_RNG);
|
|
|
-
|
|
|
if (tmpRNG == NULL) {
|
|
|
XFREE(tmpRNG, NULL, DYNAMIC_TYPE_RNG);
|
|
|
return ret;
|
|
@@ -29930,10 +29938,10 @@ int wolfSSL_DH_compute_key(unsigned char* key, WOLFSSL_BIGNUM* otherPub,
|
|
|
{
|
|
|
int ret = WOLFSSL_FATAL_ERROR;
|
|
|
word32 keySz = 0;
|
|
|
- word32 pubSz = 1024;
|
|
|
- word32 privSz = 1024;
|
|
|
+ int pubSz = 1024;
|
|
|
+ int privSz = 1024;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- unsigned char* pub = NULL;
|
|
|
+ unsigned char* pub;
|
|
|
unsigned char* priv = NULL;
|
|
|
#else
|
|
|
unsigned char pub [1024];
|
|
@@ -30108,7 +30116,6 @@ void wolfSSL_DSA_free(WOLFSSL_DSA* dsa)
|
|
|
InitwolfSSL_DSA(dsa); /* set back to NULLs for safety */
|
|
|
|
|
|
XFREE(dsa, NULL, DYNAMIC_TYPE_DSA);
|
|
|
- dsa = NULL;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -30301,7 +30308,7 @@ int wolfSSL_RSA_generate_key_ex(WOLFSSL_RSA* rsa, int bits, WOLFSSL_BIGNUM* bn,
|
|
|
#ifdef WOLFSSL_KEY_GEN
|
|
|
{
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- WC_RNG* rng = NULL;
|
|
|
+ WC_RNG* rng;
|
|
|
#else
|
|
|
WC_RNG rng[1];
|
|
|
#endif
|
|
@@ -30365,7 +30372,7 @@ int wolfSSL_DSA_generate_key(WOLFSSL_DSA* dsa)
|
|
|
int initTmpRng = 0;
|
|
|
WC_RNG *rng = NULL;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- WC_RNG *tmpRNG = NULL;
|
|
|
+ WC_RNG *tmpRNG;
|
|
|
#else
|
|
|
WC_RNG tmpRNG[1];
|
|
|
#endif
|
|
@@ -30466,7 +30473,7 @@ int wolfSSL_DSA_generate_parameters_ex(WOLFSSL_DSA* dsa, int bits,
|
|
|
int initTmpRng = 0;
|
|
|
WC_RNG *rng = NULL;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- WC_RNG *tmpRNG = NULL;
|
|
|
+ WC_RNG *tmpRNG;
|
|
|
#else
|
|
|
WC_RNG tmpRNG[1];
|
|
|
#endif
|
|
@@ -30933,10 +30940,12 @@ int wolfSSL_HMAC_Init_ex(WOLFSSL_HMAC_CTX* ctx, const void* key,
|
|
|
* returns WOLFSSL_SUCCESS on success */
|
|
|
int wolfSSL_HmacCopy(Hmac* des, Hmac* src)
|
|
|
{
|
|
|
- void* heap = NULL;
|
|
|
+ void* heap;
|
|
|
|
|
|
#ifndef HAVE_FIPS
|
|
|
heap = src->heap;
|
|
|
+#else
|
|
|
+ heap = NULL;
|
|
|
#endif
|
|
|
if (wc_HmacInit(des, heap, 0) != 0) {
|
|
|
return WOLFSSL_FAILURE;
|
|
@@ -33237,7 +33246,6 @@ void wolfSSL_EC_KEY_free(WOLFSSL_EC_KEY *key)
|
|
|
InitwolfSSL_ECKey(key); /* set back to NULLs for safety */
|
|
|
|
|
|
XFREE(key, NULL, DYNAMIC_TYPE_ECC);
|
|
|
- key = NULL;
|
|
|
}
|
|
|
}
|
|
|
#endif /* HAVE_ECC && (OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL) */
|
|
@@ -33522,7 +33530,6 @@ void wolfSSL_EC_GROUP_free(WOLFSSL_EC_GROUP *group)
|
|
|
WOLFSSL_ENTER("wolfSSL_EC_GROUP_free");
|
|
|
|
|
|
XFREE(group, NULL, DYNAMIC_TYPE_ECC);
|
|
|
- group = NULL;
|
|
|
}
|
|
|
#endif
|
|
|
|
|
@@ -34039,7 +34046,6 @@ void wolfSSL_EC_POINT_free(WOLFSSL_EC_POINT *p)
|
|
|
p->inSet = p->exSet = 0;
|
|
|
|
|
|
XFREE(p, NULL, DYNAMIC_TYPE_ECC);
|
|
|
- p = NULL;
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
@@ -35434,7 +35440,7 @@ WOLFSSL_DSA *wolfSSL_PEM_read_bio_DSA_PUBKEY(WOLFSSL_BIO* bio,WOLFSSL_DSA** dsa,
|
|
|
WOLFSSL_EC_GROUP* wolfSSL_PEM_read_bio_ECPKParameters(WOLFSSL_BIO* bio,
|
|
|
WOLFSSL_EC_GROUP** group, pem_password_cb* cb, void* pass)
|
|
|
{
|
|
|
- WOLFSSL_EVP_PKEY* pkey = NULL;
|
|
|
+ WOLFSSL_EVP_PKEY* pkey;
|
|
|
WOLFSSL_EC_GROUP* ret = NULL;
|
|
|
|
|
|
/* check on if bio is null is done in wolfSSL_PEM_read_bio_PrivateKey */
|
|
@@ -38317,7 +38323,7 @@ err:
|
|
|
|
|
|
WOLFSSL_X509_NAME_ENTRY* wolfSSL_X509_NAME_ENTRY_new(void)
|
|
|
{
|
|
|
- WOLFSSL_X509_NAME_ENTRY* ne = NULL;
|
|
|
+ WOLFSSL_X509_NAME_ENTRY* ne;
|
|
|
|
|
|
ne = (WOLFSSL_X509_NAME_ENTRY*)XMALLOC(sizeof(WOLFSSL_X509_NAME_ENTRY),
|
|
|
NULL, DYNAMIC_TYPE_NAME_ENTRY);
|
|
@@ -38334,7 +38340,7 @@ err:
|
|
|
WOLFSSL_X509_NAME_ENTRY** out, int nid, int type,
|
|
|
const unsigned char* data, int dataSz)
|
|
|
{
|
|
|
- WOLFSSL_X509_NAME_ENTRY* ne = NULL;
|
|
|
+ WOLFSSL_X509_NAME_ENTRY* ne;
|
|
|
|
|
|
WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_create_by_NID()");
|
|
|
|
|
@@ -39068,8 +39074,7 @@ err:
|
|
|
objSz += oidSz;
|
|
|
obj->objSz = objSz;
|
|
|
if(((obj->dynamic & WOLFSSL_ASN1_DYNAMIC_DATA) != 0) ||
|
|
|
- (((obj->dynamic & WOLFSSL_ASN1_DYNAMIC_DATA) == 0) &&
|
|
|
- (obj->obj == NULL))) {
|
|
|
+ (obj->obj == NULL)) {
|
|
|
obj->obj = (byte*)XREALLOC((byte*)obj->obj, obj->objSz, NULL,
|
|
|
DYNAMIC_TYPE_ASN1);
|
|
|
if (obj->obj == NULL) {
|
|
@@ -41680,7 +41685,7 @@ WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey_bio(WOLFSSL_BIO* bio,
|
|
|
DYNAMIC_TYPE_TMP_BUFFER);
|
|
|
}
|
|
|
|
|
|
- if (out != NULL && key != NULL) {
|
|
|
+ if (out != NULL) {
|
|
|
*out = key;
|
|
|
}
|
|
|
}
|
|
@@ -43409,14 +43414,13 @@ int wolfSSL_AsyncPoll(WOLFSSL* ssl, WOLF_EVENT_FLAG flags)
|
|
|
}
|
|
|
|
|
|
ret = wolfAsync_EventQueuePoll(&ssl->ctx->event_queue, ssl,
|
|
|
- events, sizeof(events)/sizeof(events), flags, &eventCount);
|
|
|
+ events, sizeof(events)/sizeof(*events), flags, &eventCount);
|
|
|
if (ret == 0) {
|
|
|
ret = eventCount;
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
-
|
|
|
#endif /* WOLFSSL_ASYNC_CRYPT */
|
|
|
|
|
|
#ifdef OPENSSL_EXTRA
|
|
@@ -45956,7 +45960,7 @@ int wolfSSL_BN_hex2bn(WOLFSSL_BIGNUM** bn, const char* str)
|
|
|
int ret = 0;
|
|
|
word32 decSz = 1024;
|
|
|
#ifdef WOLFSSL_SMALL_STACK
|
|
|
- byte* decoded = NULL;
|
|
|
+ byte* decoded;
|
|
|
#else
|
|
|
byte decoded[1024];
|
|
|
#endif
|
|
@@ -46536,7 +46540,7 @@ const char *wolfSSL_ASN1_tag2str(int tag)
|
|
|
|
|
|
static int check_esc_char(char c, char *esc)
|
|
|
{
|
|
|
- char *ptr = NULL;
|
|
|
+ char *ptr;
|
|
|
|
|
|
ptr = esc;
|
|
|
while(*ptr != 0){
|
|
@@ -46631,7 +46635,7 @@ int wolfSSL_ASN1_STRING_print_ex(WOLFSSL_BIO *out, WOLFSSL_ASN1_STRING *str,
|
|
|
|
|
|
if (flags & ASN1_STRFLGS_ESC_2253){
|
|
|
char esc_ch[] = "+;<>\\";
|
|
|
- char* esc_ptr = NULL;
|
|
|
+ char* esc_ptr;
|
|
|
|
|
|
esc_ptr = str->data;
|
|
|
while (*esc_ptr != 0){
|
|
@@ -47108,7 +47112,6 @@ void wolfSSL_BN_free(WOLFSSL_BIGNUM* bn)
|
|
|
bn->internal = NULL;
|
|
|
}
|
|
|
XFREE(bn, NULL, DYNAMIC_TYPE_BIGINT);
|
|
|
- bn = NULL;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -47182,7 +47185,6 @@ void wolfSSL_RSA_free(WOLFSSL_RSA* rsa)
|
|
|
InitwolfSSL_Rsa(rsa); /* set back to NULLs for safety */
|
|
|
|
|
|
XFREE(rsa, NULL, DYNAMIC_TYPE_RSA);
|
|
|
- rsa = NULL;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -47218,7 +47220,7 @@ WOLFSSL_RSA* wolfSSL_RSA_new(void)
|
|
|
#if !defined(HAVE_FIPS) && !defined(HAVE_USER_RSA) && \
|
|
|
!defined(HAVE_FAST_RSA) && defined(WC_RSA_BLINDING)
|
|
|
{
|
|
|
- WC_RNG* rng = NULL;
|
|
|
+ WC_RNG* rng;
|
|
|
|
|
|
rng = (WC_RNG*) XMALLOC(sizeof(WC_RNG), NULL, DYNAMIC_TYPE_RNG);
|
|
|
if (rng != NULL && wc_InitRng(rng) != 0) {
|