more consistent SSL_SUCCESS for external SSL() returns

This commit is contained in:
toddouska
2013-04-25 11:36:38 -07:00
parent 942480e6ba
commit 98b7ed9d47
2 changed files with 80 additions and 53 deletions

View File

@@ -5221,7 +5221,7 @@ int SendData(CYASSL* ssl, const void* data, int sz)
if (ssl->options.handShakeState != HANDSHAKE_DONE) { if (ssl->options.handShakeState != HANDSHAKE_DONE) {
int err; int err;
CYASSL_MSG("handshake not complete, trying to finish"); CYASSL_MSG("handshake not complete, trying to finish");
if ( (err = CyaSSL_negotiate(ssl)) != 0) if ( (err = CyaSSL_negotiate(ssl)) != SSL_SUCCESS)
return err; return err;
} }
@@ -5318,7 +5318,7 @@ int ReceiveData(CYASSL* ssl, byte* output, int sz, int peek)
if (ssl->options.handShakeState != HANDSHAKE_DONE) { if (ssl->options.handShakeState != HANDSHAKE_DONE) {
int err; int err;
CYASSL_MSG("Handshake not complete, trying to finish"); CYASSL_MSG("Handshake not complete, trying to finish");
if ( (err = CyaSSL_negotiate(ssl)) != 0) if ( (err = CyaSSL_negotiate(ssl)) != SSL_SUCCESS)
return err; return err;
} }

125
src/ssl.c
View File

@@ -277,6 +277,7 @@ int CyaSSL_dtls_get_peer(CYASSL* ssl, void* peer, unsigned int* peerSz)
#endif /* CYASSL_LEANPSK */ #endif /* CYASSL_LEANPSK */
/* return underlyig connect or accept, SSL_SUCCESS on ok */
int CyaSSL_negotiate(CYASSL* ssl) int CyaSSL_negotiate(CYASSL* ssl)
{ {
int err = SSL_FATAL_ERROR; int err = SSL_FATAL_ERROR;
@@ -294,9 +295,6 @@ int CyaSSL_negotiate(CYASSL* ssl)
CYASSL_LEAVE("CyaSSL_negotiate", err); CYASSL_LEAVE("CyaSSL_negotiate", err);
if (err == SSL_SUCCESS)
return 0;
else
return err; return err;
} }
@@ -357,7 +355,7 @@ int CyaSSL_GetObjectSize(void)
/* XXX should be NO_DH */ /* XXX should be NO_DH */
#ifndef NO_CERTS #ifndef NO_CERTS
/* server Diffie-Hellman parameters */ /* server Diffie-Hellman parameters, SSL_SUCCESS on ok */
int CyaSSL_SetTmpDH(CYASSL* ssl, const unsigned char* p, int pSz, int CyaSSL_SetTmpDH(CYASSL* ssl, const unsigned char* p, int pSz,
const unsigned char* g, int gSz) const unsigned char* g, int gSz)
{ {
@@ -406,7 +404,7 @@ int CyaSSL_SetTmpDH(CYASSL* ssl, const unsigned char* p, int pSz,
ssl->options.haveStaticECC, ssl->options.side); ssl->options.haveStaticECC, ssl->options.side);
CYASSL_LEAVE("CyaSSL_SetTmpDH", 0); CYASSL_LEAVE("CyaSSL_SetTmpDH", 0);
return 0; return SSL_SUCCESS;
} }
#endif /* !NO_CERTS */ #endif /* !NO_CERTS */
@@ -471,6 +469,7 @@ int CyaSSL_read(CYASSL* ssl, void* data, int sz)
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
/* let's use cavium, SSL_SUCCESS on ok */
int CyaSSL_UseCavium(CYASSL* ssl, int devId) int CyaSSL_UseCavium(CYASSL* ssl, int devId)
{ {
if (ssl == NULL) if (ssl == NULL)
@@ -478,10 +477,11 @@ int CyaSSL_UseCavium(CYASSL* ssl, int devId)
ssl->devId = devId; ssl->devId = devId;
return 0; return SSL_SUCCESS;
} }
/* let's use cavium, SSL_SUCCESS on ok */
int CyaSSL_CTX_UseCavium(CYASSL_CTX* ctx, int devId) int CyaSSL_CTX_UseCavium(CYASSL_CTX* ctx, int devId)
{ {
if (ctx == NULL) if (ctx == NULL)
@@ -489,7 +489,7 @@ int CyaSSL_CTX_UseCavium(CYASSL_CTX* ctx, int devId)
ctx->devId = devId; ctx->devId = devId;
return 0; return SSL_SUCCESS;
} }
@@ -531,16 +531,18 @@ int CyaSSL_recv(CYASSL* ssl, void* data, int sz, int flags)
} }
#endif #endif
/* SSL_SUCCESS on ok */
int CyaSSL_shutdown(CYASSL* ssl) int CyaSSL_shutdown(CYASSL* ssl)
{ {
CYASSL_ENTER("SSL_shutdown()"); CYASSL_ENTER("SSL_shutdown()");
if (ssl == NULL) if (ssl == NULL)
return 0; return SSL_FATAL_ERROR;
if (ssl->options.quietShutdown) { if (ssl->options.quietShutdown) {
CYASSL_MSG("quiet shutdown, no close notify sent"); CYASSL_MSG("quiet shutdown, no close notify sent");
return 0; return SSL_SUCCESS;
} }
/* try to send close notify, not an error if can't */ /* try to send close notify, not an error if can't */
@@ -558,7 +560,7 @@ int CyaSSL_shutdown(CYASSL* ssl)
ssl->error = SSL_ERROR_SYSCALL; /* simulate OpenSSL behavior */ ssl->error = SSL_ERROR_SYSCALL; /* simulate OpenSSL behavior */
return 0; return SSL_SUCCESS;
} }
@@ -579,14 +581,18 @@ int CyaSSL_get_error(CYASSL* ssl, int ret)
return ssl->error; return ssl->error;
} }
/* retrive alert history, SSL_SUCCESS on ok */
int CyaSSL_get_alert_history(CYASSL* ssl, CYASSL_ALERT_HISTORY *h) int CyaSSL_get_alert_history(CYASSL* ssl, CYASSL_ALERT_HISTORY *h)
{ {
if (ssl && h) { if (ssl && h) {
*h = ssl->alert_history; *h = ssl->alert_history;
} }
return 0; return SSL_SUCCESS;
} }
/* return TRUE if current error is want read */
int CyaSSL_want_read(CYASSL* ssl) int CyaSSL_want_read(CYASSL* ssl)
{ {
CYASSL_ENTER("SSL_want_read"); CYASSL_ENTER("SSL_want_read");
@@ -597,6 +603,7 @@ int CyaSSL_want_read(CYASSL* ssl)
} }
/* return TRUE if current error is want write */
int CyaSSL_want_write(CYASSL* ssl) int CyaSSL_want_write(CYASSL* ssl)
{ {
CYASSL_ENTER("SSL_want_write"); CYASSL_ENTER("SSL_want_write");
@@ -967,7 +974,7 @@ int AddCA(CYASSL_CERT_MANAGER* cm, buffer der, int type, int verify)
MEDIUM_SESSION_CACHE allows 1055 sessions, adequate for servers that MEDIUM_SESSION_CACHE allows 1055 sessions, adequate for servers that
aren't under heavy load, basically allows 200 new sessions per minute aren't under heavy load, basically allows 200 new sessions per minute
BIG_SESSION_CACHE yields 20,0027 sessions BIG_SESSION_CACHE yields 20,027 sessions
HUGE_SESSION_CACHE yields 65,791 sessions, for servers under heavy load, HUGE_SESSION_CACHE yields 65,791 sessions, for servers under heavy load,
allows over 13,000 new sessions per minute or over 200 new sessions per allows over 13,000 new sessions per minute or over 200 new sessions per
@@ -1027,7 +1034,7 @@ int CyaSSL_Init(void)
if (InitMutex(&count_mutex) != 0) if (InitMutex(&count_mutex) != 0)
ret = BAD_MUTEX_ERROR; ret = BAD_MUTEX_ERROR;
} }
if (ret == 0) { if (ret == SSL_SUCCESS) {
if (LockMutex(&count_mutex) != 0) { if (LockMutex(&count_mutex) != 0) {
CYASSL_MSG("Bad Lock Mutex count"); CYASSL_MSG("Bad Lock Mutex count");
return BAD_MUTEX_ERROR; return BAD_MUTEX_ERROR;
@@ -1571,7 +1578,7 @@ static int ProcessChainBuffer(CYASSL_CTX* ctx, const unsigned char* buff,
} }
/* Verify the ceritficate, 1 for success, < 0 for error */ /* Verify the ceritficate, SSL_SUCCESS for ok, < 0 for error */
int CyaSSL_CertManagerVerifyBuffer(CYASSL_CERT_MANAGER* cm, const byte* buff, int CyaSSL_CertManagerVerifyBuffer(CYASSL_CERT_MANAGER* cm, const byte* buff,
long sz, int format) long sz, int format)
{ {
@@ -1608,6 +1615,8 @@ int CyaSSL_CertManagerVerifyBuffer(CYASSL_CERT_MANAGER* cm, const byte* buff,
FreeDecodedCert(&cert); FreeDecodedCert(&cert);
XFREE(der.buffer, cm->heap, DYNAMIC_TYPE_CERT); XFREE(der.buffer, cm->heap, DYNAMIC_TYPE_CERT);
if (ret == 0)
return SSL_SUCCESS;
return ret; return ret;
} }
@@ -1813,7 +1822,7 @@ int CyaSSL_CTX_load_verify_locations(CYASSL_CTX* ctx, const char* file,
} }
/* Verify the ceritficate, 1 for success, < 0 for error */ /* Verify the ceritficate, SSL_SUCCESS for ok, < 0 for error */
int CyaSSL_CertManagerVerify(CYASSL_CERT_MANAGER* cm, const char* fname, int CyaSSL_CertManagerVerify(CYASSL_CERT_MANAGER* cm, const char* fname,
int format) int format)
{ {
@@ -1855,8 +1864,6 @@ int CyaSSL_CertManagerVerify(CYASSL_CERT_MANAGER* cm, const char* fname,
XFCLOSE(file); XFCLOSE(file);
if (dynamic) XFREE(myBuffer, cm->heap, DYNAMIC_TYPE_FILE); if (dynamic) XFREE(myBuffer, cm->heap, DYNAMIC_TYPE_FILE);
if (ret == 0)
return SSL_SUCCESS;
return ret; return ret;
} }
@@ -2306,7 +2313,7 @@ static int CyaSSL_SetTmpDH_buffer_wrapper(CYASSL_CTX* ctx, CYASSL* ssl,
return ret; return ret;
} }
/* server Diffie-Hellman parameters */ /* server Diffie-Hellman parameters, SSL_SUCCESS on ok */
int CyaSSL_SetTmpDH_buffer(CYASSL* ssl, const unsigned char* buf, long sz, int CyaSSL_SetTmpDH_buffer(CYASSL* ssl, const unsigned char* buf, long sz,
int format) int format)
{ {
@@ -2314,7 +2321,7 @@ int CyaSSL_SetTmpDH_buffer(CYASSL* ssl, const unsigned char* buf, long sz,
} }
/* server ctx Diffie-Hellman parameters */ /* server ctx Diffie-Hellman parameters, SSL_SUCCESS on ok */
int CyaSSL_CTX_SetTmpDH_buffer(CYASSL_CTX* ctx, const unsigned char* buf, int CyaSSL_CTX_SetTmpDH_buffer(CYASSL_CTX* ctx, const unsigned char* buf,
long sz, int format) long sz, int format)
{ {
@@ -4132,7 +4139,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
} }
/* store keys returns 0 or -1 on error */ /* store keys returns SSL_SUCCESS or -1 on error */
int CyaSSL_get_keys(CYASSL* ssl, unsigned char** ms, unsigned int* msLen, int CyaSSL_get_keys(CYASSL* ssl, unsigned char** ms, unsigned int* msLen,
unsigned char** sr, unsigned int* srLen, unsigned char** sr, unsigned int* srLen,
unsigned char** cr, unsigned int* crLen) unsigned char** cr, unsigned int* crLen)
@@ -4148,7 +4155,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
*srLen = RAN_LEN; *srLen = RAN_LEN;
*crLen = RAN_LEN; *crLen = RAN_LEN;
return 0; return SSL_SUCCESS;
} }
@@ -4965,6 +4972,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_CIPHER_CTX_cleanup(CYASSL_EVP_CIPHER_CTX* ctx) int CyaSSL_EVP_CIPHER_CTX_cleanup(CYASSL_EVP_CIPHER_CTX* ctx)
{ {
CYASSL_ENTER("EVP_CIPHER_CTX_cleanup"); CYASSL_ENTER("EVP_CIPHER_CTX_cleanup");
@@ -4973,9 +4981,11 @@ int CyaSSL_set_compression(CYASSL* ssl)
ctx->keyLen = 0; ctx->keyLen = 0;
} }
return 1; /* success */ return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_CipherInit(CYASSL_EVP_CIPHER_CTX* ctx, int CyaSSL_EVP_CipherInit(CYASSL_EVP_CIPHER_CTX* ctx,
const CYASSL_EVP_CIPHER* type, byte* key, const CYASSL_EVP_CIPHER* type, byte* key,
byte* iv, int enc) byte* iv, int enc)
@@ -5116,10 +5126,11 @@ int CyaSSL_set_compression(CYASSL* ssl)
return 0; /* failure */ return 0; /* failure */
return 1; /* success */ return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_CIPHER_CTX_key_length(CYASSL_EVP_CIPHER_CTX* ctx) int CyaSSL_EVP_CIPHER_CTX_key_length(CYASSL_EVP_CIPHER_CTX* ctx)
{ {
CYASSL_ENTER("CyaSSL_EVP_CIPHER_CTX_key_length"); CYASSL_ENTER("CyaSSL_EVP_CIPHER_CTX_key_length");
@@ -5130,6 +5141,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_CIPHER_CTX_set_key_length(CYASSL_EVP_CIPHER_CTX* ctx, int CyaSSL_EVP_CIPHER_CTX_set_key_length(CYASSL_EVP_CIPHER_CTX* ctx,
int keylen) int keylen)
{ {
@@ -5139,10 +5151,11 @@ int CyaSSL_set_compression(CYASSL* ssl)
else else
return 0; /* failure */ return 0; /* failure */
return 1; /* success */ return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_Cipher(CYASSL_EVP_CIPHER_CTX* ctx, byte* dst, byte* src, int CyaSSL_EVP_Cipher(CYASSL_EVP_CIPHER_CTX* ctx, byte* dst, byte* src,
word32 len) word32 len)
{ {
@@ -5214,7 +5227,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
} }
CYASSL_MSG("CyaSSL_EVP_Cipher success"); CYASSL_MSG("CyaSSL_EVP_Cipher success");
return 1; /* success */ return SSL_SUCCESS; /* success */
} }
@@ -5329,6 +5342,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_DigestInit(CYASSL_EVP_MD_CTX* ctx, const CYASSL_EVP_MD* type) int CyaSSL_EVP_DigestInit(CYASSL_EVP_MD_CTX* ctx, const CYASSL_EVP_MD* type)
{ {
CYASSL_ENTER("EVP_DigestInit"); CYASSL_ENTER("EVP_DigestInit");
@@ -5360,10 +5374,11 @@ int CyaSSL_set_compression(CYASSL* ssl)
else else
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
return 0; return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_DigestUpdate(CYASSL_EVP_MD_CTX* ctx, const void* data, int CyaSSL_EVP_DigestUpdate(CYASSL_EVP_MD_CTX* ctx, const void* data,
unsigned long sz) unsigned long sz)
{ {
@@ -5388,10 +5403,11 @@ int CyaSSL_set_compression(CYASSL* ssl)
else else
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
return 0; return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_DigestFinal(CYASSL_EVP_MD_CTX* ctx, unsigned char* md, int CyaSSL_EVP_DigestFinal(CYASSL_EVP_MD_CTX* ctx, unsigned char* md,
unsigned int* s) unsigned int* s)
{ {
@@ -5423,10 +5439,11 @@ int CyaSSL_set_compression(CYASSL* ssl)
else else
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
return 0; return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_EVP_DigestFinal_ex(CYASSL_EVP_MD_CTX* ctx, unsigned char* md, int CyaSSL_EVP_DigestFinal_ex(CYASSL_EVP_MD_CTX* ctx, unsigned char* md,
unsigned int* s) unsigned int* s)
{ {
@@ -5469,7 +5486,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
int CyaSSL_RAND_status(void) int CyaSSL_RAND_status(void)
{ {
return 1; /* CTaoCrypt provides enough seed internally */ return SSL_SUCCESS; /* CTaoCrypt provides enough seed internally */
} }
@@ -5485,12 +5502,13 @@ int CyaSSL_set_compression(CYASSL* ssl)
} }
/* SSL_SUCCESS on ok */
int CyaSSL_DES_key_sched(CYASSL_const_DES_cblock* key, int CyaSSL_DES_key_sched(CYASSL_const_DES_cblock* key,
CYASSL_DES_key_schedule* schedule) CYASSL_DES_key_schedule* schedule)
{ {
CYASSL_ENTER("DES_key_sched"); CYASSL_ENTER("DES_key_sched");
XMEMCPY(schedule, key, sizeof(const_DES_cblock)); XMEMCPY(schedule, key, sizeof(const_DES_cblock));
return 0; return SSL_SUCCESS;
} }
@@ -6112,7 +6130,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
/* XXX shuld be NO_DH */ /* XXX shuld be NO_DH */
#ifndef NO_CERTS #ifndef NO_CERTS
/* server ctx Diffie-Hellman parameters */ /* server ctx Diffie-Hellman parameters, SSL_SUCCESS on ok */
int CyaSSL_CTX_SetTmpDH(CYASSL_CTX* ctx, const unsigned char* p, int pSz, int CyaSSL_CTX_SetTmpDH(CYASSL_CTX* ctx, const unsigned char* p, int pSz,
const unsigned char* g, int gSz) const unsigned char* g, int gSz)
{ {
@@ -6141,7 +6159,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
ctx->haveDH = 1; ctx->haveDH = 1;
CYASSL_LEAVE("CyaSSL_CTX_SetTmpDH", 0); CYASSL_LEAVE("CyaSSL_CTX_SetTmpDH", 0);
return 0; return SSL_SUCCESS;
} }
#endif /* !NO_CERTS */ #endif /* !NO_CERTS */
@@ -6955,6 +6973,7 @@ int CyaSSL_set_compression(CYASSL* ssl)
static RNG globalRNG; static RNG globalRNG;
static int initGlobalRNG = 0; static int initGlobalRNG = 0;
/* SSL_SUCCESS on ok */
int CyaSSL_RAND_seed(const void* seed, int len) int CyaSSL_RAND_seed(const void* seed, int len)
{ {
@@ -6970,10 +6989,11 @@ static int initGlobalRNG = 0;
initGlobalRNG = 1; initGlobalRNG = 1;
} }
return 0; return SSL_SUCCESS;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_RAND_bytes(unsigned char* buf, int num) int CyaSSL_RAND_bytes(unsigned char* buf, int num)
{ {
RNG tmpRNG; RNG tmpRNG;
@@ -6991,7 +7011,7 @@ static int initGlobalRNG = 0;
RNG_GenerateBlock(rng, buf, num); RNG_GenerateBlock(rng, buf, num);
return 1; return SSL_SUCCESS;
} }
CYASSL_BN_CTX* CyaSSL_BN_CTX_new(void) CYASSL_BN_CTX* CyaSSL_BN_CTX_new(void)
@@ -7083,6 +7103,7 @@ static int initGlobalRNG = 0;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_BN_sub(CYASSL_BIGNUM* r, const CYASSL_BIGNUM* a, int CyaSSL_BN_sub(CYASSL_BIGNUM* r, const CYASSL_BIGNUM* a,
const CYASSL_BIGNUM* b) const CYASSL_BIGNUM* b)
{ {
@@ -7093,13 +7114,14 @@ static int initGlobalRNG = 0;
if (mp_sub((mp_int*)a->internal,(mp_int*)b->internal, if (mp_sub((mp_int*)a->internal,(mp_int*)b->internal,
(mp_int*)r->internal) == MP_OKAY) (mp_int*)r->internal) == MP_OKAY)
return 1; return SSL_SUCCESS;
CYASSL_MSG("CyaSSL_BN_sub mp_sub failed"); CYASSL_MSG("CyaSSL_BN_sub mp_sub failed");
return 0; return 0;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_BN_mod(CYASSL_BIGNUM* r, const CYASSL_BIGNUM* a, int CyaSSL_BN_mod(CYASSL_BIGNUM* r, const CYASSL_BIGNUM* a,
const CYASSL_BIGNUM* b, const CYASSL_BN_CTX* c) const CYASSL_BIGNUM* b, const CYASSL_BN_CTX* c)
{ {
@@ -7111,7 +7133,7 @@ static int initGlobalRNG = 0;
if (mp_mod((mp_int*)a->internal,(mp_int*)b->internal, if (mp_mod((mp_int*)a->internal,(mp_int*)b->internal,
(mp_int*)r->internal) == MP_OKAY) (mp_int*)r->internal) == MP_OKAY)
return 1; return SSL_SUCCESS;
CYASSL_MSG("CyaSSL_BN_mod mp_mod failed"); CYASSL_MSG("CyaSSL_BN_mod mp_mod failed");
return 0; return 0;
@@ -7253,6 +7275,7 @@ static int initGlobalRNG = 0;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_BN_rand(CYASSL_BIGNUM* bn, int bits, int top, int bottom) int CyaSSL_BN_rand(CYASSL_BIGNUM* bn, int bits, int top, int bottom)
{ {
byte buff[1024]; byte buff[1024];
@@ -7291,7 +7314,7 @@ static int initGlobalRNG = 0;
return 0; return 0;
} }
return 1; return SSL_SUCCESS;
} }
@@ -7306,6 +7329,7 @@ static int initGlobalRNG = 0;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_BN_hex2bn(CYASSL_BIGNUM** bn, const char* str) int CyaSSL_BN_hex2bn(CYASSL_BIGNUM** bn, const char* str)
{ {
byte decoded[1024]; byte decoded[1024];
@@ -7339,7 +7363,7 @@ static int initGlobalRNG = 0;
return 0; return 0;
} }
return 1; /* success */ return SSL_SUCCESS;
} }
@@ -7531,7 +7555,7 @@ static int initGlobalRNG = 0;
} }
/* return 1 on success else 0 */ /* return SSL_SUCCESS on ok, else 0 */
int CyaSSL_DH_generate_key(CYASSL_DH* dh) int CyaSSL_DH_generate_key(CYASSL_DH* dh)
{ {
unsigned char pub [768]; unsigned char pub [768];
@@ -7598,11 +7622,11 @@ static int initGlobalRNG = 0;
} }
CYASSL_MSG("CyaSSL_generate_key success"); CYASSL_MSG("CyaSSL_generate_key success");
return 1; return SSL_SUCCESS;
} }
/* return 1 on success, 0 otherwise */ /* return key size on ok, 0 otherwise */
int CyaSSL_DH_compute_key(unsigned char* key, CYASSL_BIGNUM* otherPub, int CyaSSL_DH_compute_key(unsigned char* key, CYASSL_BIGNUM* otherPub,
CYASSL_DH* dh) CYASSL_DH* dh)
{ {
@@ -7950,6 +7974,7 @@ static int initGlobalRNG = 0;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_RSA_generate_key_ex(CYASSL_RSA* rsa, int bits, CYASSL_BIGNUM* bn, int CyaSSL_RSA_generate_key_ex(CYASSL_RSA* rsa, int bits, CYASSL_BIGNUM* bn,
void* cb) void* cb)
{ {
@@ -7980,7 +8005,7 @@ static int initGlobalRNG = 0;
rsa->inSet = 1; rsa->inSet = 1;
return 1; /* success */ return SSL_SUCCESS;
#else #else
CYASSL_MSG("No Key Gen built in"); CYASSL_MSG("No Key Gen built in");
return -1; return -1;
@@ -7989,6 +8014,7 @@ static int initGlobalRNG = 0;
} }
/* SSL_SUCCESS on ok */
int CyaSSL_RSA_blinding_on(CYASSL_RSA* rsa, CYASSL_BN_CTX* bn) int CyaSSL_RSA_blinding_on(CYASSL_RSA* rsa, CYASSL_BN_CTX* bn)
{ {
(void)rsa; (void)rsa;
@@ -7996,7 +8022,7 @@ static int initGlobalRNG = 0;
CYASSL_MSG("CyaSSL_RSA_blinding_on"); CYASSL_MSG("CyaSSL_RSA_blinding_on");
return 1; /* on by default */ return SSL_SUCCESS; /* on by default */
} }
@@ -8080,7 +8106,7 @@ static int initGlobalRNG = 0;
#endif /* NO_DSA */ #endif /* NO_DSA */
/* return 1 on success, 0 otherwise */ /* return SSL_SUCCES on ok, 0 otherwise */
int CyaSSL_RSA_sign(int type, const unsigned char* m, int CyaSSL_RSA_sign(int type, const unsigned char* m,
unsigned int mLen, unsigned char* sigRet, unsigned int mLen, unsigned char* sigRet,
unsigned int* sigLen, CYASSL_RSA* rsa) unsigned int* sigLen, CYASSL_RSA* rsa)
@@ -8146,7 +8172,7 @@ static int initGlobalRNG = 0;
} }
CYASSL_MSG("CyaSSL_RSA_sign success"); CYASSL_MSG("CyaSSL_RSA_sign success");
return 1; /* success */ return SSL_SUCCESS;
} }
@@ -8165,7 +8191,7 @@ static int initGlobalRNG = 0;
} }
/* generate p-1 and q-1 */ /* generate p-1 and q-1, SSL_SUCCESS on ok */
int CyaSSL_RSA_GenAdd(CYASSL_RSA* rsa) int CyaSSL_RSA_GenAdd(CYASSL_RSA* rsa)
{ {
int err; int err;
@@ -8204,7 +8230,7 @@ static int initGlobalRNG = 0;
mp_clear(&tmp); mp_clear(&tmp);
if (err == MP_OKAY) if (err == MP_OKAY)
return 0; return SSL_SUCCESS;
else else
return -1; return -1;
} }
@@ -8774,7 +8800,8 @@ CYASSL_X509* CyaSSL_get_chain_X509(CYASSL_X509_CHAIN* chain, int idx)
/* Get peer's PEM ceritifcate at index (idx), output to buffer if inLen big /* Get peer's PEM ceritifcate at index (idx), output to buffer if inLen big
enough else return error (-1), output length is in *outLen */ enough else return error (-1), output length is in *outLen
SSL_SUCCESS on ok */
int CyaSSL_get_chain_cert_pem(CYASSL_X509_CHAIN* chain, int idx, int CyaSSL_get_chain_cert_pem(CYASSL_X509_CHAIN* chain, int idx,
unsigned char* buf, int inLen, int* outLen) unsigned char* buf, int inLen, int* outLen)
{ {
@@ -8811,7 +8838,7 @@ int CyaSSL_get_chain_cert_pem(CYASSL_X509_CHAIN* chain, int idx,
XMEMCPY(buf + i, footer, footerLen); XMEMCPY(buf + i, footer, footerLen);
*outLen += headerLen + footerLen; *outLen += headerLen + footerLen;
return 0; return SSL_SUCCESS;
} }