fix C++ compiler warnings for distro build

This commit is contained in:
Jacob Barthelmeh
2016-12-27 14:38:14 -07:00
parent 2cf7785068
commit 511f41b0e4
7 changed files with 116 additions and 62 deletions

View File

@@ -7088,7 +7088,8 @@ static int DoCertificateStatus(WOLFSSL* ssl, byte* input, word32* inOutIdx,
do { do {
#ifdef HAVE_CERTIFICATE_STATUS_REQUEST #ifdef HAVE_CERTIFICATE_STATUS_REQUEST
if (ssl->status_request) { if (ssl->status_request) {
request = TLSX_CSR_GetRequest(ssl->extensions); request = (OcspRequest*)TLSX_CSR_GetRequest(
ssl->extensions);
ssl->status_request = 0; ssl->status_request = 0;
break; break;
} }
@@ -7096,8 +7097,8 @@ static int DoCertificateStatus(WOLFSSL* ssl, byte* input, word32* inOutIdx,
#ifdef HAVE_CERTIFICATE_STATUS_REQUEST_V2 #ifdef HAVE_CERTIFICATE_STATUS_REQUEST_V2
if (ssl->status_request_v2) { if (ssl->status_request_v2) {
request = TLSX_CSR2_GetRequest(ssl->extensions, request = (OcspRequest*)TLSX_CSR2_GetRequest(
status_type, 0); ssl->extensions, status_type, 0);
ssl->status_request_v2 = 0; ssl->status_request_v2 = 0;
break; break;
} }
@@ -7211,8 +7212,8 @@ static int DoCertificateStatus(WOLFSSL* ssl, byte* input, word32* inOutIdx,
ret = BAD_CERTIFICATE_STATUS_ERROR; ret = BAD_CERTIFICATE_STATUS_ERROR;
while (ret == 0) { while (ret == 0) {
request = TLSX_CSR2_GetRequest(ssl->extensions, request = (OcspRequest*)TLSX_CSR2_GetRequest(
status_type, index++); ssl->extensions, status_type, index++);
if (request == NULL) if (request == NULL)
ret = BAD_CERTIFICATE_STATUS_ERROR; ret = BAD_CERTIFICATE_STATUS_ERROR;
@@ -18810,7 +18811,7 @@ int DoSessionTicket(WOLFSSL* ssl, const byte* input, word32* inOutIdx,
ssl->buffers.dtlsCookieSecret.length); ssl->buffers.dtlsCookieSecret.length);
if (ret != 0) return ret; if (ret != 0) return ret;
ret = wc_HmacUpdate(&cookieHmac, ret = wc_HmacUpdate(&cookieHmac,
ssl->buffers.dtlsCtx.peer.sa, (const byte*)ssl->buffers.dtlsCtx.peer.sa,
ssl->buffers.dtlsCtx.peer.sz); ssl->buffers.dtlsCtx.peer.sz);
if (ret != 0) return ret; if (ret != 0) return ret;
ret = wc_HmacUpdate(&cookieHmac, input + i, OPAQUE16_LEN); ret = wc_HmacUpdate(&cookieHmac, input + i, OPAQUE16_LEN);

View File

@@ -2690,6 +2690,40 @@ static int SetAuthKeys(OneTimeAuth* authentication, Keys* keys,
} }
#endif /* HAVE_ONE_TIME_AUTH */ #endif /* HAVE_ONE_TIME_AUTH */
#ifdef HAVE_SECURE_RENEGOTIATION
/* function name is for cache_status++
* This function was added because of error incrementing enum type when
* compiling with a C++ compiler.
*/
static void CacheStatusPP(SecureRenegotiation* cache)
{
switch (cache->cache_status) {
case SCR_CACHE_NULL:
cache->cache_status = SCR_CACHE_NEEDED;
break;
case SCR_CACHE_NEEDED:
cache->cache_status = SCR_CACHE_COPY;
break;
case SCR_CACHE_COPY:
cache->cache_status = SCR_CACHE_PARTIAL;
break;
case SCR_CACHE_PARTIAL:
cache->cache_status = SCR_CACHE_COMPLETE;
break;
case SCR_CACHE_COMPLETE:
WOLFSSL_MSG("SCR Cache state Complete");
break;
default:
WOLFSSL_MSG("Unknown cache state!!");
}
}
#endif /* HAVE_SECURE_RENEGOTIATION */
/* Set wc_encrypt/wc_decrypt or both sides of key setup /* Set wc_encrypt/wc_decrypt or both sides of key setup
* note: use wc_encrypt to avoid shadowing global encrypt * note: use wc_encrypt to avoid shadowing global encrypt
@@ -2804,7 +2838,7 @@ int SetKeysSide(WOLFSSL* ssl, enum encrypt_side side)
} }
#endif #endif
} }
ssl->secure_renegotiation->cache_status++; CacheStatusPP(ssl->secure_renegotiation);
} }
#endif /* HAVE_SECURE_RENEGOTIATION */ #endif /* HAVE_SECURE_RENEGOTIATION */
@@ -2822,7 +2856,7 @@ int StoreKeys(WOLFSSL* ssl, const byte* keyData)
if (ssl->secure_renegotiation && ssl->secure_renegotiation->cache_status == if (ssl->secure_renegotiation && ssl->secure_renegotiation->cache_status ==
SCR_CACHE_NEEDED) { SCR_CACHE_NEEDED) {
keys = &ssl->secure_renegotiation->tmp_keys; keys = &ssl->secure_renegotiation->tmp_keys;
ssl->secure_renegotiation->cache_status++; CacheStatusPP(ssl->secure_renegotiation);
} }
#endif /* HAVE_SECURE_RENEGOTIATION */ #endif /* HAVE_SECURE_RENEGOTIATION */

View File

@@ -1790,7 +1790,7 @@ WOLFSSL_API int wolfSSL_set_SessionTicket(WOLFSSL* ssl, byte* buf, word32 bufSz)
if(ssl->session.isDynamic) if(ssl->session.isDynamic)
XFREE(ssl->session.ticket, ssl->heap, XFREE(ssl->session.ticket, ssl->heap,
DYNAMIC_TYPE_SESSION_TICK); DYNAMIC_TYPE_SESSION_TICK);
ssl->session.ticket = XMALLOC(bufSz, ssl->heap, ssl->session.ticket = (byte*)XMALLOC(bufSz, ssl->heap,
DYNAMIC_TYPE_SESSION_TICK); DYNAMIC_TYPE_SESSION_TICK);
if(!ssl->session.ticket) { if(!ssl->session.ticket) {
ssl->session.ticket = ssl->session.staticTicket; ssl->session.ticket = ssl->session.staticTicket;
@@ -7898,7 +7898,8 @@ static int GetDeepCopySession(WOLFSSL* ssl, WOLFSSL_SESSION* copyFrom)
/* If doing dynamic copy, need to alloc outside lock, then inside a lock /* If doing dynamic copy, need to alloc outside lock, then inside a lock
* confirm the size still matches and memcpy */ * confirm the size still matches and memcpy */
if (doDynamicCopy) { if (doDynamicCopy) {
tmpBuff = XMALLOC(ticketLen, ssl->heap, DYNAMIC_TYPE_SESSION_TICK); tmpBuff = (byte*)XMALLOC(ticketLen, ssl->heap,
DYNAMIC_TYPE_SESSION_TICK);
if (!tmpBuff) if (!tmpBuff)
return MEMORY_ERROR; return MEMORY_ERROR;
@@ -7914,7 +7915,7 @@ static int GetDeepCopySession(WOLFSSL* ssl, WOLFSSL_SESSION* copyFrom)
} }
if (ret == SSL_SUCCESS) { if (ret == SSL_SUCCESS) {
copyInto->ticket = tmpBuff; copyInto->ticket = (byte*)tmpBuff;
copyInto->isDynamic = 1; copyInto->isDynamic = 1;
XMEMCPY(copyInto->ticket, copyFrom->ticket, ticketLen); XMEMCPY(copyInto->ticket, copyFrom->ticket, ticketLen);
} }
@@ -7999,7 +8000,7 @@ int AddSession(WOLFSSL* ssl)
ticLen = ssl->session.ticketLen; ticLen = ssl->session.ticketLen;
/* Alloc Memory here so if Malloc fails can exit outside of lock */ /* Alloc Memory here so if Malloc fails can exit outside of lock */
if(ticLen > SESSION_TICKET_LEN) { if(ticLen > SESSION_TICKET_LEN) {
tmpBuff = XMALLOC(ticLen, ssl->heap, tmpBuff = (byte*)XMALLOC(ticLen, ssl->heap,
DYNAMIC_TYPE_SESSION_TICK); DYNAMIC_TYPE_SESSION_TICK);
if(!tmpBuff) if(!tmpBuff)
return MEMORY_E; return MEMORY_E;

View File

@@ -2084,13 +2084,14 @@ static int TLSX_CSR_Parse(WOLFSSL* ssl, byte* input, word16 length,
if (!isRequest) { if (!isRequest) {
#ifndef NO_WOLFSSL_CLIENT #ifndef NO_WOLFSSL_CLIENT
TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST); TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST);
CertificateStatusRequest* csr = extension ? extension->data : NULL; CertificateStatusRequest* csr = extension ?
(CertificateStatusRequest*)extension->data : NULL;
if (!csr) { if (!csr) {
/* look at context level */ /* look at context level */
extension = TLSX_Find(ssl->ctx->extensions, TLSX_STATUS_REQUEST); extension = TLSX_Find(ssl->ctx->extensions, TLSX_STATUS_REQUEST);
csr = extension ? extension->data : NULL; csr = extension ? (CertificateStatusRequest*)extension->data : NULL;
if (!csr) if (!csr)
return BUFFER_ERROR; /* unexpected extension */ return BUFFER_ERROR; /* unexpected extension */
@@ -2106,7 +2107,7 @@ static int TLSX_CSR_Parse(WOLFSSL* ssl, byte* input, word16 length,
/* propagate nonce */ /* propagate nonce */
if (csr->request.ocsp.nonceSz) { if (csr->request.ocsp.nonceSz) {
OcspRequest* request = OcspRequest* request =
TLSX_CSR_GetRequest(ssl->extensions); (OcspRequest*)TLSX_CSR_GetRequest(ssl->extensions);
if (request) { if (request) {
XMEMCPY(request->nonce, csr->request.ocsp.nonce, XMEMCPY(request->nonce, csr->request.ocsp.nonce,
@@ -2185,7 +2186,8 @@ static int TLSX_CSR_Parse(WOLFSSL* ssl, byte* input, word16 length,
int TLSX_CSR_InitRequest(TLSX* extensions, DecodedCert* cert, void* heap) int TLSX_CSR_InitRequest(TLSX* extensions, DecodedCert* cert, void* heap)
{ {
TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST); TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST);
CertificateStatusRequest* csr = extension ? extension->data : NULL; CertificateStatusRequest* csr = extension ?
(CertificateStatusRequest*)extension->data : NULL;
int ret = 0; int ret = 0;
if (csr) { if (csr) {
@@ -2215,7 +2217,8 @@ int TLSX_CSR_InitRequest(TLSX* extensions, DecodedCert* cert, void* heap)
void* TLSX_CSR_GetRequest(TLSX* extensions) void* TLSX_CSR_GetRequest(TLSX* extensions)
{ {
TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST); TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST);
CertificateStatusRequest* csr = extension ? extension->data : NULL; CertificateStatusRequest* csr = extension ?
(CertificateStatusRequest*)extension->data : NULL;
if (csr) { if (csr) {
switch (csr->status_type) { switch (csr->status_type) {
@@ -2231,7 +2234,8 @@ void* TLSX_CSR_GetRequest(TLSX* extensions)
int TLSX_CSR_ForceRequest(WOLFSSL* ssl) int TLSX_CSR_ForceRequest(WOLFSSL* ssl)
{ {
TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST); TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST);
CertificateStatusRequest* csr = extension ? extension->data : NULL; CertificateStatusRequest* csr = extension ?
(CertificateStatusRequest*)extension->data : NULL;
if (csr) { if (csr) {
switch (csr->status_type) { switch (csr->status_type) {
@@ -2433,14 +2437,15 @@ static int TLSX_CSR2_Parse(WOLFSSL* ssl, byte* input, word16 length,
if (!isRequest) { if (!isRequest) {
#ifndef NO_WOLFSSL_CLIENT #ifndef NO_WOLFSSL_CLIENT
TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST_V2); TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST_V2);
CertificateStatusRequestItemV2* csr2 = extension ? extension->data CertificateStatusRequestItemV2* csr2 = extension ?
: NULL; (CertificateStatusRequestItemV2*)extension->data : NULL;
if (!csr2) { if (!csr2) {
/* look at context level */ /* look at context level */
extension = TLSX_Find(ssl->ctx->extensions, TLSX_STATUS_REQUEST_V2); extension = TLSX_Find(ssl->ctx->extensions, TLSX_STATUS_REQUEST_V2);
csr2 = extension ? extension->data : NULL; csr2 = extension ?
(CertificateStatusRequestItemV2*)extension->data : NULL;
if (!csr2) if (!csr2)
return BUFFER_ERROR; /* unexpected extension */ return BUFFER_ERROR; /* unexpected extension */
@@ -2459,7 +2464,7 @@ static int TLSX_CSR2_Parse(WOLFSSL* ssl, byte* input, word16 length,
/* propagate nonce */ /* propagate nonce */
if (csr2->request.ocsp[0].nonceSz) { if (csr2->request.ocsp[0].nonceSz) {
OcspRequest* request = OcspRequest* request =
TLSX_CSR2_GetRequest(ssl->extensions, (OcspRequest*)TLSX_CSR2_GetRequest(ssl->extensions,
csr2->status_type, 0); csr2->status_type, 0);
if (request) { if (request) {
@@ -2567,7 +2572,8 @@ int TLSX_CSR2_InitRequests(TLSX* extensions, DecodedCert* cert, byte isPeer,
void* heap) void* heap)
{ {
TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST_V2); TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST_V2);
CertificateStatusRequestItemV2* csr2 = extension ? extension->data : NULL; CertificateStatusRequestItemV2* csr2 = extension ?
(CertificateStatusRequestItemV2*)extension->data : NULL;
int ret = 0; int ret = 0;
for (; csr2; csr2 = csr2->next) { for (; csr2; csr2 = csr2->next) {
@@ -2602,13 +2608,15 @@ int TLSX_CSR2_InitRequests(TLSX* extensions, DecodedCert* cert, byte isPeer,
} }
} }
(void)cert;
return ret; return ret;
} }
void* TLSX_CSR2_GetRequest(TLSX* extensions, byte status_type, byte index) void* TLSX_CSR2_GetRequest(TLSX* extensions, byte status_type, byte index)
{ {
TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST_V2); TLSX* extension = TLSX_Find(extensions, TLSX_STATUS_REQUEST_V2);
CertificateStatusRequestItemV2* csr2 = extension ? extension->data : NULL; CertificateStatusRequestItemV2* csr2 = extension ?
(CertificateStatusRequestItemV2*)extension->data : NULL;
for (; csr2; csr2 = csr2->next) { for (; csr2; csr2 = csr2->next) {
if (csr2->status_type == status_type) { if (csr2->status_type == status_type) {
@@ -2632,7 +2640,8 @@ void* TLSX_CSR2_GetRequest(TLSX* extensions, byte status_type, byte index)
int TLSX_CSR2_ForceRequest(WOLFSSL* ssl) int TLSX_CSR2_ForceRequest(WOLFSSL* ssl)
{ {
TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST_V2); TLSX* extension = TLSX_Find(ssl->extensions, TLSX_STATUS_REQUEST_V2);
CertificateStatusRequestItemV2* csr2 = extension ? extension->data : NULL; CertificateStatusRequestItemV2* csr2 = extension ?
(CertificateStatusRequestItemV2*)extension->data : NULL;
/* forces only the first one */ /* forces only the first one */
if (csr2) { if (csr2) {
@@ -3292,7 +3301,8 @@ int TLSX_AddEmptyRenegotiationInfo(TLSX** extensions, void* heap)
static void TLSX_SessionTicket_ValidateRequest(WOLFSSL* ssl) static void TLSX_SessionTicket_ValidateRequest(WOLFSSL* ssl)
{ {
TLSX* extension = TLSX_Find(ssl->extensions, TLSX_SESSION_TICKET); TLSX* extension = TLSX_Find(ssl->extensions, TLSX_SESSION_TICKET);
SessionTicket* ticket = extension ? extension->data : NULL; SessionTicket* ticket = extension ?
(SessionTicket*)extension->data : NULL;
if (ticket) { if (ticket) {
/* TODO validate ticket timeout here! */ /* TODO validate ticket timeout here! */
@@ -4086,11 +4096,12 @@ void TLSX_FreeAll(TLSX* list, void* heap)
break; break;
case TLSX_STATUS_REQUEST: case TLSX_STATUS_REQUEST:
CSR_FREE_ALL(extension->data, heap); CSR_FREE_ALL((CertificateStatusRequest*)extension->data, heap);
break; break;
case TLSX_STATUS_REQUEST_V2: case TLSX_STATUS_REQUEST_V2:
CSR2_FREE_ALL(extension->data, heap); CSR2_FREE_ALL((CertificateStatusRequestItemV2*)extension->data,
heap);
break; break;
case TLSX_RENEGOTIATION_INFO: case TLSX_RENEGOTIATION_INFO:
@@ -4163,19 +4174,24 @@ static word16 TLSX_GetSize(TLSX* list, byte* semaphore, byte isRequest)
break; break;
case TLSX_STATUS_REQUEST: case TLSX_STATUS_REQUEST:
length += CSR_GET_SIZE(extension->data, isRequest); length += CSR_GET_SIZE(
(CertificateStatusRequest*)extension->data, isRequest);
break; break;
case TLSX_STATUS_REQUEST_V2: case TLSX_STATUS_REQUEST_V2:
length += CSR2_GET_SIZE(extension->data, isRequest); length += CSR2_GET_SIZE(
(CertificateStatusRequestItemV2*)extension->data,
isRequest);
break; break;
case TLSX_RENEGOTIATION_INFO: case TLSX_RENEGOTIATION_INFO:
length += SCR_GET_SIZE(extension->data, isRequest); length += SCR_GET_SIZE((SecureRenegotiation*)extension->data,
isRequest);
break; break;
case TLSX_SESSION_TICKET: case TLSX_SESSION_TICKET:
length += STK_GET_SIZE(extension->data, isRequest); length += STK_GET_SIZE((SessionTicket*)extension->data,
isRequest);
break; break;
case TLSX_QUANTUM_SAFE_HYBRID: case TLSX_QUANTUM_SAFE_HYBRID:
@@ -4241,23 +4257,24 @@ static word16 TLSX_Write(TLSX* list, byte* output, byte* semaphore,
break; break;
case TLSX_STATUS_REQUEST: case TLSX_STATUS_REQUEST:
offset += CSR_WRITE(extension->data, output + offset, offset += CSR_WRITE((CertificateStatusRequest*)extension->data,
isRequest); output + offset, isRequest);
break; break;
case TLSX_STATUS_REQUEST_V2: case TLSX_STATUS_REQUEST_V2:
offset += CSR2_WRITE(extension->data, output + offset, offset += CSR2_WRITE(
isRequest); (CertificateStatusRequestItemV2*)extension->data,
output + offset, isRequest);
break; break;
case TLSX_RENEGOTIATION_INFO: case TLSX_RENEGOTIATION_INFO:
offset += SCR_WRITE(extension->data, output + offset, offset += SCR_WRITE((SecureRenegotiation*)extension->data,
isRequest); output + offset, isRequest);
break; break;
case TLSX_SESSION_TICKET: case TLSX_SESSION_TICKET:
offset += STK_WRITE(extension->data, output + offset, offset += STK_WRITE((SessionTicket*)extension->data,
isRequest); output + offset, isRequest);
break; break;
case TLSX_QUANTUM_SAFE_HYBRID: case TLSX_QUANTUM_SAFE_HYBRID:

View File

@@ -117,8 +117,8 @@ static void test_SrpInit(void)
/* invalid params */ /* invalid params */
AssertIntEQ(BAD_FUNC_ARG, wc_SrpInit(NULL, SRP_TYPE_SHA, SRP_CLIENT_SIDE)); AssertIntEQ(BAD_FUNC_ARG, wc_SrpInit(NULL, SRP_TYPE_SHA, SRP_CLIENT_SIDE));
AssertIntEQ(BAD_FUNC_ARG, wc_SrpInit(&srp, 255, SRP_CLIENT_SIDE)); AssertIntEQ(BAD_FUNC_ARG, wc_SrpInit(&srp, (SrpType)255, SRP_CLIENT_SIDE));
AssertIntEQ(BAD_FUNC_ARG, wc_SrpInit(&srp, SRP_TYPE_SHA, 255 )); AssertIntEQ(BAD_FUNC_ARG, wc_SrpInit(&srp, SRP_TYPE_SHA, (SrpSide)255));
/* success */ /* success */
AssertIntEQ(0, wc_SrpInit(&srp, SRP_TYPE_SHA, SRP_CLIENT_SIDE)); AssertIntEQ(0, wc_SrpInit(&srp, SRP_TYPE_SHA, SRP_CLIENT_SIDE));
@@ -240,8 +240,8 @@ static void test_SrpSetPassword(void)
static void test_SrpGetPublic(void) static void test_SrpGetPublic(void)
{ {
Srp srp; Srp srp;
byte public[64]; byte pub[64];
word32 publicSz = 0; word32 pubSz = 0;
AssertIntEQ(0, wc_SrpInit(&srp, SRP_TYPE_SHA, SRP_CLIENT_SIDE)); AssertIntEQ(0, wc_SrpInit(&srp, SRP_TYPE_SHA, SRP_CLIENT_SIDE));
AssertIntEQ(0, wc_SrpSetUsername(&srp, username, usernameSz)); AssertIntEQ(0, wc_SrpSetUsername(&srp, username, usernameSz));
@@ -250,23 +250,23 @@ static void test_SrpGetPublic(void)
salt, sizeof(salt))); salt, sizeof(salt)));
/* invalid call order */ /* invalid call order */
AssertIntEQ(SRP_CALL_ORDER_E, wc_SrpGetPublic(&srp, public, &publicSz)); AssertIntEQ(SRP_CALL_ORDER_E, wc_SrpGetPublic(&srp, pub, &pubSz));
/* fix call order */ /* fix call order */
AssertIntEQ(0, wc_SrpSetPassword(&srp, password, passwordSz)); AssertIntEQ(0, wc_SrpSetPassword(&srp, password, passwordSz));
/* invalid params */ /* invalid params */
AssertIntEQ(BAD_FUNC_ARG, wc_SrpGetPublic(NULL, public, &publicSz)); AssertIntEQ(BAD_FUNC_ARG, wc_SrpGetPublic(NULL, pub, &pubSz));
AssertIntEQ(BAD_FUNC_ARG, wc_SrpGetPublic(&srp, NULL, &publicSz)); AssertIntEQ(BAD_FUNC_ARG, wc_SrpGetPublic(&srp, NULL, &pubSz));
AssertIntEQ(BAD_FUNC_ARG, wc_SrpGetPublic(&srp, public, NULL)); AssertIntEQ(BAD_FUNC_ARG, wc_SrpGetPublic(&srp, pub, NULL));
AssertIntEQ(BUFFER_E, wc_SrpGetPublic(&srp, public, &publicSz)); AssertIntEQ(BUFFER_E, wc_SrpGetPublic(&srp, pub, &pubSz));
/* success */ /* success */
publicSz = sizeof(public); pubSz = sizeof(pub);
AssertIntEQ(0, wc_SrpSetPrivate(&srp, a, sizeof(a))); AssertIntEQ(0, wc_SrpSetPrivate(&srp, a, sizeof(a)));
AssertIntEQ(0, wc_SrpGetPublic(&srp, public, &publicSz)); AssertIntEQ(0, wc_SrpGetPublic(&srp, pub, &pubSz));
AssertIntEQ(publicSz, sizeof(A)); AssertIntEQ(pubSz, sizeof(A));
AssertIntEQ(0, XMEMCMP(public, A, publicSz)); AssertIntEQ(0, XMEMCMP(pub, A, pubSz));
wc_SrpTerm(&srp); wc_SrpTerm(&srp);
@@ -277,16 +277,16 @@ static void test_SrpGetPublic(void)
salt, sizeof(salt))); salt, sizeof(salt)));
/* invalid call order */ /* invalid call order */
AssertIntEQ(SRP_CALL_ORDER_E, wc_SrpGetPublic(&srp, public, &publicSz)); AssertIntEQ(SRP_CALL_ORDER_E, wc_SrpGetPublic(&srp, pub, &pubSz));
/* fix call order */ /* fix call order */
AssertIntEQ(0, wc_SrpSetVerifier(&srp, verifier, sizeof(verifier))); AssertIntEQ(0, wc_SrpSetVerifier(&srp, verifier, sizeof(verifier)));
/* success */ /* success */
AssertIntEQ(0, wc_SrpSetPrivate(&srp, b, sizeof(b))); AssertIntEQ(0, wc_SrpSetPrivate(&srp, b, sizeof(b)));
AssertIntEQ(0, wc_SrpGetPublic(&srp, public, &publicSz)); AssertIntEQ(0, wc_SrpGetPublic(&srp, pub, &pubSz));
AssertIntEQ(publicSz, sizeof(B)); AssertIntEQ(pubSz, sizeof(B));
AssertIntEQ(0, XMEMCMP(public, B, publicSz)); AssertIntEQ(0, XMEMCMP(pub, B, pubSz));
wc_SrpTerm(&srp); wc_SrpTerm(&srp);
} }

View File

@@ -1415,7 +1415,8 @@ static int wc_PKCS7_KariGenerateKEK(WC_PKCS7_KARI* kari,
int keyWrapOID, int keyEncOID) int keyWrapOID, int keyEncOID)
{ {
int ret; int ret;
int kSz, kdfType; int kSz;
enum wc_HashType kdfType;
byte* secret; byte* secret;
word32 secretSz; word32 secretSz;
@@ -2123,7 +2124,7 @@ static int wc_PKCS7_GenerateIV(WC_RNG* rng, byte* iv, word32 ivSz)
/* input RNG is optional, init local one if input rng is NULL */ /* input RNG is optional, init local one if input rng is NULL */
if (rng == NULL) { if (rng == NULL) {
random = XMALLOC(sizeof(WC_RNG), NULL, DYNAMIC_TYPE_RNG); random = (WC_RNG*)XMALLOC(sizeof(WC_RNG), NULL, DYNAMIC_TYPE_RNG);
if (random == NULL) if (random == NULL)
return MEMORY_E; return MEMORY_E;

View File

@@ -454,12 +454,12 @@ int wc_SrpSetVerifier(Srp* srp, const byte* verifier, word32 size)
return mp_read_unsigned_bin(&srp->auth, verifier, size); return mp_read_unsigned_bin(&srp->auth, verifier, size);
} }
int wc_SrpSetPrivate(Srp* srp, const byte* private, word32 size) int wc_SrpSetPrivate(Srp* srp, const byte* priv, word32 size)
{ {
mp_int p; mp_int p;
int r; int r;
if (!srp || !private || !size) if (!srp || !priv || !size)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
if (mp_iszero(&srp->auth) == MP_YES) if (mp_iszero(&srp->auth) == MP_YES)
@@ -468,7 +468,7 @@ int wc_SrpSetPrivate(Srp* srp, const byte* private, word32 size)
r = mp_init(&p); r = mp_init(&p);
if (r != MP_OKAY) if (r != MP_OKAY)
return MP_INIT_E; return MP_INIT_E;
if (!r) r = mp_read_unsigned_bin(&p, private, size); if (!r) r = mp_read_unsigned_bin(&p, priv, size);
if (!r) r = mp_mod(&p, &srp->N, &srp->priv); if (!r) r = mp_mod(&p, &srp->N, &srp->priv);
if (!r) r = mp_iszero(&srp->priv) == MP_YES ? SRP_BAD_KEY_E : 0; if (!r) r = mp_iszero(&srp->priv) == MP_YES ? SRP_BAD_KEY_E : 0;