wolfSSL ABI

Add the ABI tag to the prescribed list of functions in the header and source files.
This commit is contained in:
John Safranek
2019-11-08 15:04:45 -08:00
parent c69b6fb6d1
commit c6fa49d4b4
5 changed files with 115 additions and 55 deletions

View File

@@ -365,6 +365,7 @@ WOLFSSL_CTX* wolfSSL_CTX_new_ex(WOLFSSL_METHOD* method, void* heap)
} }
WOLFSSL_ABI
WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD* method) WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD* method)
{ {
#ifdef WOLFSSL_HEAP_TEST #ifdef WOLFSSL_HEAP_TEST
@@ -376,6 +377,7 @@ WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD* method)
} }
WOLFSSL_ABI
void wolfSSL_CTX_free(WOLFSSL_CTX* ctx) void wolfSSL_CTX_free(WOLFSSL_CTX* ctx)
{ {
WOLFSSL_ENTER("SSL_CTX_free"); WOLFSSL_ENTER("SSL_CTX_free");
@@ -462,6 +464,7 @@ int wolfSSL_CTX_new_rng(WOLFSSL_CTX* ctx)
#endif #endif
WOLFSSL_ABI
WOLFSSL* wolfSSL_new(WOLFSSL_CTX* ctx) WOLFSSL* wolfSSL_new(WOLFSSL_CTX* ctx)
{ {
WOLFSSL* ssl = NULL; WOLFSSL* ssl = NULL;
@@ -485,6 +488,7 @@ WOLFSSL* wolfSSL_new(WOLFSSL_CTX* ctx)
} }
WOLFSSL_ABI
void wolfSSL_free(WOLFSSL* ssl) void wolfSSL_free(WOLFSSL* ssl)
{ {
WOLFSSL_ENTER("SSL_free"); WOLFSSL_ENTER("SSL_free");
@@ -680,6 +684,7 @@ int wolfSSL_use_old_poly(WOLFSSL* ssl, int value)
#endif #endif
WOLFSSL_ABI
int wolfSSL_set_fd(WOLFSSL* ssl, int fd) int wolfSSL_set_fd(WOLFSSL* ssl, int fd)
{ {
int ret; int ret;
@@ -1813,6 +1818,7 @@ int wolfSSL_GetDhKey_Sz(WOLFSSL* ssl)
#endif /* !NO_DH */ #endif /* !NO_DH */
WOLFSSL_ABI
int wolfSSL_write(WOLFSSL* ssl, const void* data, int sz) int wolfSSL_write(WOLFSSL* ssl, const void* data, int sz)
{ {
int ret; int ret;
@@ -1949,6 +1955,7 @@ int wolfSSL_peek(WOLFSSL* ssl, void* data, int sz)
} }
WOLFSSL_ABI
int wolfSSL_read(WOLFSSL* ssl, void* data, int sz) int wolfSSL_read(WOLFSSL* ssl, void* data, int sz)
{ {
WOLFSSL_ENTER("wolfSSL_read()"); WOLFSSL_ENTER("wolfSSL_read()");
@@ -1984,6 +1991,7 @@ int wolfSSL_mcast_read(WOLFSSL* ssl, word16* id, void* data, int sz)
/* helpers to set the device id, WOLFSSL_SUCCESS on ok */ /* helpers to set the device id, WOLFSSL_SUCCESS on ok */
WOLFSSL_ABI
int wolfSSL_SetDevId(WOLFSSL* ssl, int devId) int wolfSSL_SetDevId(WOLFSSL* ssl, int devId)
{ {
if (ssl == NULL) if (ssl == NULL)
@@ -1993,6 +2001,8 @@ int wolfSSL_SetDevId(WOLFSSL* ssl, int devId)
return WOLFSSL_SUCCESS; return WOLFSSL_SUCCESS;
} }
WOLFSSL_ABI
int wolfSSL_CTX_SetDevId(WOLFSSL_CTX* ctx, int devId) int wolfSSL_CTX_SetDevId(WOLFSSL_CTX* ctx, int devId)
{ {
if (ctx == NULL) if (ctx == NULL)
@@ -2026,6 +2036,7 @@ void* wolfSSL_CTX_GetHeap(WOLFSSL_CTX* ctx, WOLFSSL* ssl)
#ifdef HAVE_SNI #ifdef HAVE_SNI
WOLFSSL_ABI
int wolfSSL_UseSNI(WOLFSSL* ssl, byte type, const void* data, word16 size) int wolfSSL_UseSNI(WOLFSSL* ssl, byte type, const void* data, word16 size)
{ {
if (ssl == NULL) if (ssl == NULL)
@@ -2035,6 +2046,7 @@ int wolfSSL_UseSNI(WOLFSSL* ssl, byte type, const void* data, word16 size)
} }
WOLFSSL_ABI
int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, byte type, const void* data, int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, byte type, const void* data,
word16 size) word16 size)
{ {
@@ -2377,6 +2389,7 @@ int wolfSSL_UseSupportedQSH(WOLFSSL* ssl, word16 name)
/* Application-Layer Protocol Negotiation */ /* Application-Layer Protocol Negotiation */
#ifdef HAVE_ALPN #ifdef HAVE_ALPN
WOLFSSL_ABI
int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list, int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list,
word32 protocol_name_listSz, byte options) word32 protocol_name_listSz, byte options)
{ {
@@ -2822,6 +2835,7 @@ int wolfSSL_recv(WOLFSSL* ssl, void* data, int sz, int flags)
/* WOLFSSL_SUCCESS on ok */ /* WOLFSSL_SUCCESS on ok */
WOLFSSL_ABI
int wolfSSL_shutdown(WOLFSSL* ssl) int wolfSSL_shutdown(WOLFSSL* ssl)
{ {
int ret = WOLFSSL_FATAL_ERROR; int ret = WOLFSSL_FATAL_ERROR;
@@ -2897,6 +2911,7 @@ int wolfSSL_state(WOLFSSL* ssl)
} }
WOLFSSL_ABI
int wolfSSL_get_error(WOLFSSL* ssl, int ret) int wolfSSL_get_error(WOLFSSL* ssl, int ret)
{ {
WOLFSSL_ENTER("SSL_get_error"); WOLFSSL_ENTER("SSL_get_error");
@@ -3868,6 +3883,7 @@ void wolfSSL_ERR_dump_errors_fp(XFILE fp)
#endif #endif
#endif #endif
WOLFSSL_ABI
int wolfSSL_pending(WOLFSSL* ssl) int wolfSSL_pending(WOLFSSL* ssl)
{ {
WOLFSSL_ENTER("SSL_pending"); WOLFSSL_ENTER("SSL_pending");
@@ -3968,6 +3984,7 @@ static int SetMinVersionHelper(byte* minVersion, int version)
/* Set minimum downgrade version allowed, WOLFSSL_SUCCESS on ok */ /* Set minimum downgrade version allowed, WOLFSSL_SUCCESS on ok */
WOLFSSL_ABI
int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version) int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version)
{ {
WOLFSSL_ENTER("wolfSSL_CTX_SetMinVersion"); WOLFSSL_ENTER("wolfSSL_CTX_SetMinVersion");
@@ -4730,6 +4747,7 @@ int AddCA(WOLFSSL_CERT_MANAGER* cm, DerBuffer** pDer, int type, int verify)
#endif /* NO_SESSION_CACHE */ #endif /* NO_SESSION_CACHE */
WOLFSSL_ABI
int wolfSSL_Init(void) int wolfSSL_Init(void)
{ {
WOLFSSL_ENTER("wolfSSL_Init"); WOLFSSL_ENTER("wolfSSL_Init");
@@ -6466,6 +6484,7 @@ int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX* ctx, const char* file,
return ret; return ret;
} }
WOLFSSL_ABI
int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX* ctx, const char* file, int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX* ctx, const char* file,
const char* path) const char* path)
{ {
@@ -6854,6 +6873,7 @@ int wolfSSL_CTX_der_load_verify_locations(WOLFSSL_CTX* ctx, const char* file,
WOLFSSL_ABI
int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX* ctx, const char* file, int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX* ctx, const char* file,
int format) int format)
{ {
@@ -6868,6 +6888,7 @@ int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX* ctx, const char* file,
} }
WOLFSSL_ABI
int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX* ctx, const char* file, int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX* ctx, const char* file,
int format) int format)
{ {
@@ -6928,6 +6949,7 @@ long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX* ctx)
} }
WOLFSSL_ABI
int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX* ctx, const char* file) int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX* ctx, const char* file)
{ {
/* process up to MAX_CHAIN_DEPTH plus subject cert */ /* process up to MAX_CHAIN_DEPTH plus subject cert */
@@ -9335,6 +9357,7 @@ int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, unsigned char* der, int derSz)
#ifndef NO_FILESYSTEM #ifndef NO_FILESYSTEM
WOLFSSL_ABI
int wolfSSL_use_certificate_file(WOLFSSL* ssl, const char* file, int format) int wolfSSL_use_certificate_file(WOLFSSL* ssl, const char* file, int format)
{ {
WOLFSSL_ENTER("wolfSSL_use_certificate_file"); WOLFSSL_ENTER("wolfSSL_use_certificate_file");
@@ -9352,6 +9375,7 @@ int wolfSSL_use_certificate_file(WOLFSSL* ssl, const char* file, int format)
} }
WOLFSSL_ABI
int wolfSSL_use_PrivateKey_file(WOLFSSL* ssl, const char* file, int format) int wolfSSL_use_PrivateKey_file(WOLFSSL* ssl, const char* file, int format)
{ {
WOLFSSL_ENTER("wolfSSL_use_PrivateKey_file"); WOLFSSL_ENTER("wolfSSL_use_PrivateKey_file");
@@ -9369,6 +9393,7 @@ int wolfSSL_use_PrivateKey_file(WOLFSSL* ssl, const char* file, int format)
} }
WOLFSSL_ABI
int wolfSSL_use_certificate_chain_file(WOLFSSL* ssl, const char* file) int wolfSSL_use_certificate_chain_file(WOLFSSL* ssl, const char* file)
{ {
/* process up to MAX_CHAIN_DEPTH plus subject cert */ /* process up to MAX_CHAIN_DEPTH plus subject cert */
@@ -9698,6 +9723,7 @@ int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX* ctx)
#ifndef NO_SESSION_CACHE #ifndef NO_SESSION_CACHE
WOLFSSL_ABI
WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL* ssl) WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL* ssl)
{ {
WOLFSSL_ENTER("SSL_get_session"); WOLFSSL_ENTER("SSL_get_session");
@@ -9708,6 +9734,7 @@ WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL* ssl)
} }
WOLFSSL_ABI
int wolfSSL_set_session(WOLFSSL* ssl, WOLFSSL_SESSION* session) int wolfSSL_set_session(WOLFSSL* ssl, WOLFSSL_SESSION* session)
{ {
WOLFSSL_ENTER("SSL_set_session"); WOLFSSL_ENTER("SSL_set_session");
@@ -10076,6 +10103,7 @@ int wolfSSL_set_session_secret_cb(WOLFSSL* ssl, SessionSecretCb cb, void* ctx)
#ifndef NO_SESSION_CACHE #ifndef NO_SESSION_CACHE
/* on by default if built in but allow user to turn off */ /* on by default if built in but allow user to turn off */
WOLFSSL_ABI
long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX* ctx, long mode) long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX* ctx, long mode)
{ {
WOLFSSL_ENTER("SSL_CTX_set_session_cache_mode"); WOLFSSL_ENTER("SSL_CTX_set_session_cache_mode");
@@ -11037,6 +11065,7 @@ int wolfSSL_DTLS_SetCookieSecret(WOLFSSL* ssl,
/* please see note at top of README if you get an error from connect */ /* please see note at top of README if you get an error from connect */
WOLFSSL_ABI
int wolfSSL_connect(WOLFSSL* ssl) int wolfSSL_connect(WOLFSSL* ssl)
{ {
#if !(defined(WOLFSSL_NO_TLS12) && defined(NO_OLD_TLS) && defined(WOLFSSL_TLS13)) #if !(defined(WOLFSSL_NO_TLS12) && defined(NO_OLD_TLS) && defined(WOLFSSL_TLS13))
@@ -11797,6 +11826,7 @@ static WC_INLINE word32 HashSession(const byte* sessionID, word32 len, int* erro
} }
WOLFSSL_ABI
void wolfSSL_flush_sessions(WOLFSSL_CTX* ctx, long tm) void wolfSSL_flush_sessions(WOLFSSL_CTX* ctx, long tm)
{ {
/* static table now, no flushing needed */ /* static table now, no flushing needed */
@@ -11806,6 +11836,7 @@ void wolfSSL_flush_sessions(WOLFSSL_CTX* ctx, long tm)
/* set ssl session timeout in seconds */ /* set ssl session timeout in seconds */
WOLFSSL_ABI
int wolfSSL_set_timeout(WOLFSSL* ssl, unsigned int to) int wolfSSL_set_timeout(WOLFSSL* ssl, unsigned int to)
{ {
if (ssl == NULL) if (ssl == NULL)
@@ -11820,6 +11851,7 @@ int wolfSSL_set_timeout(WOLFSSL* ssl, unsigned int to)
/* set ctx session timeout in seconds */ /* set ctx session timeout in seconds */
WOLFSSL_ABI
int wolfSSL_CTX_set_timeout(WOLFSSL_CTX* ctx, unsigned int to) int wolfSSL_CTX_set_timeout(WOLFSSL_CTX* ctx, unsigned int to)
{ {
if (ctx == NULL) if (ctx == NULL)
@@ -12705,6 +12737,7 @@ WOLFSSL_SESSION* GetSession(WOLFSSL* ssl, byte* masterSecret,
/* call before SSL_connect, if verifying will add name check to /* call before SSL_connect, if verifying will add name check to
date check and signature check */ date check and signature check */
WOLFSSL_ABI
int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn) int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn)
{ {
WOLFSSL_ENTER("wolfSSL_check_domain_name"); WOLFSSL_ENTER("wolfSSL_check_domain_name");
@@ -17592,6 +17625,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
#ifdef KEEP_PEER_CERT #ifdef KEEP_PEER_CERT
WOLFSSL_ABI
WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl) WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl)
{ {
WOLFSSL_ENTER("SSL_get_peer_certificate"); WOLFSSL_ENTER("SSL_get_peer_certificate");
@@ -17660,6 +17694,7 @@ void wolfSSL_X509_free(WOLFSSL_X509* x509)
/* copy name into in buffer, at most sz bytes, if buffer is null will /* copy name into in buffer, at most sz bytes, if buffer is null will
malloc buffer, call responsible for freeing */ malloc buffer, call responsible for freeing */
WOLFSSL_ABI
char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME* name, char* in, int sz) char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME* name, char* in, int sz)
{ {
int copySz; int copySz;
@@ -17757,6 +17792,7 @@ WOLFSSL_X509* wolfSSL_X509_d2i(WOLFSSL_X509** x509, const byte* in, int len)
#if defined(OPENSSL_ALL) || defined(KEEP_OUR_CERT) || defined(KEEP_PEER_CERT) || \ #if defined(OPENSSL_ALL) || defined(KEEP_OUR_CERT) || defined(KEEP_PEER_CERT) || \
defined(SESSION_CERTS) defined(SESSION_CERTS)
/* return the next, if any, altname from the peer cert */ /* return the next, if any, altname from the peer cert */
WOLFSSL_ABI
char* wolfSSL_X509_get_next_altname(WOLFSSL_X509* cert) char* wolfSSL_X509_get_next_altname(WOLFSSL_X509* cert)
{ {
char* ret = NULL; char* ret = NULL;
@@ -17922,6 +17958,7 @@ WOLFSSL_X509* wolfSSL_X509_d2i(WOLFSSL_X509** x509, const byte* in, int len)
/* used by JSSE (not a standard compatibility function) */ /* used by JSSE (not a standard compatibility function) */
/* this is not thread safe */ /* this is not thread safe */
WOLFSSL_ABI
const byte* wolfSSL_X509_notBefore(WOLFSSL_X509* x509) const byte* wolfSSL_X509_notBefore(WOLFSSL_X509* x509)
{ {
static byte notBeforeData[CTC_DATE_SIZE]; /* temp buffer for date */ static byte notBeforeData[CTC_DATE_SIZE]; /* temp buffer for date */
@@ -17939,6 +17976,7 @@ WOLFSSL_X509* wolfSSL_X509_d2i(WOLFSSL_X509** x509, const byte* in, int len)
} }
/* used by JSSE (not a standard compatibility function) */ /* used by JSSE (not a standard compatibility function) */
/* this is not thread safe */ /* this is not thread safe */
WOLFSSL_ABI
const byte* wolfSSL_X509_notAfter(WOLFSSL_X509* x509) const byte* wolfSSL_X509_notAfter(WOLFSSL_X509* x509)
{ {
static byte notAfterData[CTC_DATE_SIZE]; /* temp buffer for date */ static byte notAfterData[CTC_DATE_SIZE]; /* temp buffer for date */
@@ -18763,6 +18801,7 @@ WOLFSSL_X509* wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, XFILE file)
#endif /* NO_STDIO_FILESYSTEM */ #endif /* NO_STDIO_FILESYSTEM */
WOLFSSL_ABI
WOLFSSL_X509* wolfSSL_X509_load_certificate_file(const char* fname, int format) WOLFSSL_X509* wolfSSL_X509_load_certificate_file(const char* fname, int format)
{ {
#ifdef WOLFSSL_SMALL_STACK #ifdef WOLFSSL_SMALL_STACK
@@ -19609,6 +19648,7 @@ WOLFSSL_X509* wolfSSL_X509_new(void)
return x509; return x509;
} }
WOLFSSL_ABI
WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(WOLFSSL_X509* cert) WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(WOLFSSL_X509* cert)
{ {
WOLFSSL_ENTER("wolfSSL_X509_get_subject_name"); WOLFSSL_ENTER("wolfSSL_X509_get_subject_name");
@@ -19660,6 +19700,7 @@ unsigned long wolfSSL_X509_subject_name_hash(const WOLFSSL_X509* x509)
} }
#endif #endif
WOLFSSL_ABI
WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(WOLFSSL_X509* cert) WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(WOLFSSL_X509* cert)
{ {
WOLFSSL_ENTER("X509_get_issuer_name"); WOLFSSL_ENTER("X509_get_issuer_name");
@@ -33309,6 +33350,7 @@ int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN* chain, int idx,
/* get session ID */ /* get session ID */
WOLFSSL_ABI
const byte* wolfSSL_get_sessionID(const WOLFSSL_SESSION* session) const byte* wolfSSL_get_sessionID(const WOLFSSL_SESSION* session)
{ {
WOLFSSL_ENTER("wolfSSL_get_sessionID"); WOLFSSL_ENTER("wolfSSL_get_sessionID");
@@ -33353,6 +33395,7 @@ void* wolfSSL_GetEccKeyGenCtx(WOLFSSL* ssl)
return NULL; return NULL;
} }
WOLFSSL_ABI
void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX* ctx, CallbackEccSign cb) void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX* ctx, CallbackEccSign cb)
{ {
if (ctx) if (ctx)

View File

@@ -11028,6 +11028,7 @@ int TLSX_Parse(WOLFSSL* ssl, byte* input, word16 length, byte msgType,
#endif /* !NO_OLD_TLS */ #endif /* !NO_OLD_TLS */
#ifndef WOLFSSL_NO_TLS12 #ifndef WOLFSSL_NO_TLS12
WOLFSSL_ABI
WOLFSSL_METHOD* wolfTLSv1_2_client_method(void) WOLFSSL_METHOD* wolfTLSv1_2_client_method(void)
{ {
return wolfTLSv1_2_client_method_ex(NULL); return wolfTLSv1_2_client_method_ex(NULL);
@@ -11050,6 +11051,7 @@ int TLSX_Parse(WOLFSSL* ssl, byte* input, word16 length, byte msgType,
* *
* returns the method data for a TLS v1.3 client. * returns the method data for a TLS v1.3 client.
*/ */
WOLFSSL_ABI
WOLFSSL_METHOD* wolfTLSv1_3_client_method(void) WOLFSSL_METHOD* wolfTLSv1_3_client_method(void)
{ {
return wolfTLSv1_3_client_method_ex(NULL); return wolfTLSv1_3_client_method_ex(NULL);

View File

@@ -4024,6 +4024,7 @@ int wc_ecc_make_pub(ecc_key* key, ecc_point* pubOut)
} }
WOLFSSL_ABI
int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id) int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id)
{ {
int err; int err;
@@ -4318,6 +4319,7 @@ int wc_ecc_make_key(WC_RNG* rng, int keysize, ecc_key* key)
} }
/* Setup dynamic pointers if using normal math for proper freeing */ /* Setup dynamic pointers if using normal math for proper freeing */
WOLFSSL_ABI
int wc_ecc_init_ex(ecc_key* key, void* heap, int devId) int wc_ecc_init_ex(ecc_key* key, void* heap, int devId)
{ {
int ret = 0; int ret = 0;
@@ -4627,6 +4629,7 @@ static int wc_ecc_sign_hash_async(const byte* in, word32 inlen, byte* out,
key A private ECC key key A private ECC key
return MP_OKAY if successful return MP_OKAY if successful
*/ */
WOLFSSL_ABI
int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen, int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen,
WC_RNG* rng, ecc_key* key) WC_RNG* rng, ecc_key* key)
{ {
@@ -5080,6 +5083,7 @@ void wc_ecc_free_curve(const ecc_set_type* curve, void* heap)
Free an ECC key from memory Free an ECC key from memory
key The key you wish to free key The key you wish to free
*/ */
WOLFSSL_ABI
int wc_ecc_free(ecc_key* key) int wc_ecc_free(ecc_key* key)
{ {
if (key == NULL) { if (key == NULL) {

View File

@@ -683,11 +683,11 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_server_method(void);
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_client_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_client_method(void);
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_method(void);
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_server_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_server_method(void);
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void); WOLFSSL_ABI WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void);
#ifdef WOLFSSL_TLS13 #ifdef WOLFSSL_TLS13
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_method(void);
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_server_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_server_method(void);
WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_client_method(void); WOLFSSL_ABI WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_client_method(void);
#endif #endif
#ifdef WOLFSSL_DTLS #ifdef WOLFSSL_DTLS
@@ -745,8 +745,10 @@ WOLFSSL_API int wolfSSL_is_static_memory(WOLFSSL* ssl,
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
WOLFSSL_API int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX*, const char*, int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX*,
WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, const char*, int); const char*, int);
WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*,
const char*, int);
#endif #endif
@@ -765,13 +767,13 @@ WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, const char*, int);
WOLFSSL_API int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX*, const char*, WOLFSSL_API int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX*, const char*,
const char*, unsigned int); const char*, unsigned int);
WOLFSSL_API int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX*, const char*, WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX*,
const char*); const char*, const char*);
#ifdef WOLFSSL_TRUST_PEER_CERT #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*, const char*, int);
#endif #endif
WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX *, WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file(
const char *file); WOLFSSL_CTX*, const char*);
WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file_format(WOLFSSL_CTX *, WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file_format(WOLFSSL_CTX *,
const char *file, int format); const char *file, int format);
WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, int); WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, int);
@@ -779,9 +781,12 @@ WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, in
WOLFSSL_API long wolfSSL_get_verify_depth(WOLFSSL* ssl); WOLFSSL_API long wolfSSL_get_verify_depth(WOLFSSL* ssl);
WOLFSSL_API long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX* ctx); WOLFSSL_API long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX* ctx);
WOLFSSL_API void wolfSSL_CTX_set_verify_depth(WOLFSSL_CTX *ctx,int depth); WOLFSSL_API void wolfSSL_CTX_set_verify_depth(WOLFSSL_CTX *ctx,int depth);
WOLFSSL_API int wolfSSL_use_certificate_file(WOLFSSL*, const char*, int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_use_certificate_file(WOLFSSL*, const char*,
WOLFSSL_API int wolfSSL_use_PrivateKey_file(WOLFSSL*, const char*, int); int);
WOLFSSL_API int wolfSSL_use_certificate_chain_file(WOLFSSL*, const char *file); 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*, WOLFSSL_API int wolfSSL_use_certificate_chain_file_format(WOLFSSL*,
const char *file, int format); const char *file, int format);
WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int);
@@ -799,13 +804,13 @@ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int);
#endif /* !NO_FILESYSTEM && !NO_CERTS */ #endif /* !NO_FILESYSTEM && !NO_CERTS */
WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new_ex(WOLFSSL_METHOD* method, void* heap); WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new_ex(WOLFSSL_METHOD* method, void* heap);
WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*); WOLFSSL_ABI WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*);
WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX*); WOLFSSL_ABI WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX*);
WOLFSSL_API WOLFSSL_CTX* wolfSSL_get_SSL_CTX(WOLFSSL* ssl); WOLFSSL_API WOLFSSL_CTX* wolfSSL_get_SSL_CTX(WOLFSSL* ssl);
WOLFSSL_API WOLFSSL_X509_VERIFY_PARAM* wolfSSL_get0_param(WOLFSSL* ssl); WOLFSSL_API WOLFSSL_X509_VERIFY_PARAM* wolfSSL_get0_param(WOLFSSL* ssl);
WOLFSSL_API int wolfSSL_is_server(WOLFSSL*); WOLFSSL_API int wolfSSL_is_server(WOLFSSL*);
WOLFSSL_API WOLFSSL* wolfSSL_write_dup(WOLFSSL*); WOLFSSL_API WOLFSSL* wolfSSL_write_dup(WOLFSSL*);
WOLFSSL_API int wolfSSL_set_fd (WOLFSSL*, int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_fd (WOLFSSL*, int);
WOLFSSL_API int wolfSSL_set_write_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_set_read_fd (WOLFSSL*, int);
WOLFSSL_API char* wolfSSL_get_cipher_list(int priority); WOLFSSL_API char* wolfSSL_get_cipher_list(int priority);
@@ -822,9 +827,9 @@ WOLFSSL_API const char* wolfSSL_get_shared_ciphers(WOLFSSL* ssl, char* buf,
WOLFSSL_API const char* wolfSSL_get_curve_name(WOLFSSL* ssl); 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*);
/* please see note at top of README if you get an error from connect */ /* please see note at top of README if you get an error from connect */
WOLFSSL_API int wolfSSL_connect(WOLFSSL*); WOLFSSL_ABI WOLFSSL_API int wolfSSL_connect(WOLFSSL*);
WOLFSSL_API int wolfSSL_write(WOLFSSL*, const void*, int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_write(WOLFSSL*, const void*, int);
WOLFSSL_API int wolfSSL_read(WOLFSSL*, void*, int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_read(WOLFSSL*, void*, int);
WOLFSSL_API int wolfSSL_peek(WOLFSSL*, void*, int); WOLFSSL_API int wolfSSL_peek(WOLFSSL*, void*, int);
WOLFSSL_API int wolfSSL_accept(WOLFSSL*); WOLFSSL_API int wolfSSL_accept(WOLFSSL*);
#ifdef WOLFSSL_TLS13 #ifdef WOLFSSL_TLS13
@@ -855,22 +860,22 @@ WOLFSSL_API int wolfSSL_write_early_data(WOLFSSL*, const void*, int, int*);
WOLFSSL_API int wolfSSL_read_early_data(WOLFSSL*, void*, int, int*); WOLFSSL_API int wolfSSL_read_early_data(WOLFSSL*, void*, int, int*);
#endif #endif
#endif #endif
WOLFSSL_API void wolfSSL_CTX_free(WOLFSSL_CTX*); WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_free(WOLFSSL_CTX*);
WOLFSSL_API void wolfSSL_free(WOLFSSL*); WOLFSSL_ABI WOLFSSL_API void wolfSSL_free(WOLFSSL*);
WOLFSSL_API int wolfSSL_shutdown(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_send(WOLFSSL*, const void*, int sz, int flags);
WOLFSSL_API int wolfSSL_recv(WOLFSSL*, void*, int sz, int flags); WOLFSSL_API int wolfSSL_recv(WOLFSSL*, void*, int sz, int flags);
WOLFSSL_API void wolfSSL_CTX_set_quiet_shutdown(WOLFSSL_CTX*, int); WOLFSSL_API void wolfSSL_CTX_set_quiet_shutdown(WOLFSSL_CTX*, int);
WOLFSSL_API void wolfSSL_set_quiet_shutdown(WOLFSSL*, int); WOLFSSL_API void wolfSSL_set_quiet_shutdown(WOLFSSL*, int);
WOLFSSL_API int wolfSSL_get_error(WOLFSSL*, int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_get_error(WOLFSSL*, int);
WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL*, WOLFSSL_ALERT_HISTORY *); WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL*, WOLFSSL_ALERT_HISTORY *);
WOLFSSL_API int wolfSSL_set_session(WOLFSSL*, WOLFSSL_SESSION*); WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_session(WOLFSSL*, WOLFSSL_SESSION*);
WOLFSSL_API long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION*, long); WOLFSSL_API long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION*, long);
WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL*); WOLFSSL_ABI WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL*);
WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX*, long); WOLFSSL_ABI WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX*, long);
WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL*, const unsigned char*, int, int); WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL*, const unsigned char*, int, int);
#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY) #if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY)
@@ -920,11 +925,12 @@ WOLFSSL_API void wolfSSL_set_verify(WOLFSSL*, int, VerifyCallback verify_callbac
WOLFSSL_API void wolfSSL_set_verify_result(WOLFSSL*, long); WOLFSSL_API void wolfSSL_set_verify_result(WOLFSSL*, long);
WOLFSSL_API void wolfSSL_SetCertCbCtx(WOLFSSL*, void*); WOLFSSL_API void wolfSSL_SetCertCbCtx(WOLFSSL*, void*);
WOLFSSL_API int wolfSSL_pending(WOLFSSL*); WOLFSSL_ABI WOLFSSL_API int wolfSSL_pending(WOLFSSL*);
WOLFSSL_API void wolfSSL_load_error_strings(void); WOLFSSL_API void wolfSSL_load_error_strings(void);
WOLFSSL_API int wolfSSL_library_init(void); WOLFSSL_API int wolfSSL_library_init(void);
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*,
long);
#ifdef HAVE_SECRET_CALLBACK #ifdef HAVE_SECRET_CALLBACK
typedef int (*SessionSecretCb)(WOLFSSL* ssl, typedef int (*SessionSecretCb)(WOLFSSL* ssl,
@@ -1239,9 +1245,12 @@ WOLFSSL_API int wolfSSL_RSA_print(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa, int offset
WOLFSSL_API int wolfSSL_X509_print_ex(WOLFSSL_BIO* bio, WOLFSSL_X509* x509, WOLFSSL_API int wolfSSL_X509_print_ex(WOLFSSL_BIO* bio, WOLFSSL_X509* x509,
unsigned long nmflags, unsigned long cflag); unsigned long nmflags, unsigned long cflag);
WOLFSSL_API int wolfSSL_X509_print(WOLFSSL_BIO* bio, WOLFSSL_X509* x509); WOLFSSL_API int wolfSSL_X509_print(WOLFSSL_BIO* bio, WOLFSSL_X509* x509);
WOLFSSL_API char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME*, char*, int); WOLFSSL_ABI WOLFSSL_API char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME*,
WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(WOLFSSL_X509*); char*, int);
WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(WOLFSSL_X509*); WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(
WOLFSSL_X509*);
WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(
WOLFSSL_X509*);
WOLFSSL_API int wolfSSL_X509_ext_isSet_by_NID(WOLFSSL_X509*, int); 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_ext_get_critical_by_NID(WOLFSSL_X509*, int);
WOLFSSL_API int wolfSSL_X509_get_isCA(WOLFSSL_X509*); WOLFSSL_API int wolfSSL_X509_get_isCA(WOLFSSL_X509*);
@@ -1903,7 +1912,7 @@ 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*);
WOLFSSL_API int wolfSSL_CTX_set_session_id_context(WOLFSSL_CTX*, WOLFSSL_API int wolfSSL_CTX_set_session_id_context(WOLFSSL_CTX*,
const unsigned char*, unsigned int); const unsigned char*, unsigned int);
WOLFSSL_API WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl); WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL*);
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*);
#ifdef OPENSSL_EXTRA #ifdef OPENSSL_EXTRA
@@ -1954,10 +1963,10 @@ 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 /* call before SSL_connect, if verifying will add name check to
date check and signature check */ date check and signature check */
WOLFSSL_API int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn); WOLFSSL_ABI WOLFSSL_API int wolfSSL_check_domain_name(WOLFSSL*, const char*);
/* need to call once to load library (session cache) */ /* need to call once to load library (session cache) */
WOLFSSL_API int wolfSSL_Init(void); WOLFSSL_ABI WOLFSSL_API int wolfSSL_Init(void);
/* call when done to cleanup/free session cache mutex / resources */ /* call when done to cleanup/free session cache mutex / resources */
WOLFSSL_API int wolfSSL_Cleanup(void); WOLFSSL_API int wolfSSL_Cleanup(void);
@@ -1971,8 +1980,8 @@ WOLFSSL_API int wolfSSL_negotiate(WOLFSSL* ssl);
/* turn on wolfSSL data compression */ /* turn on wolfSSL data compression */
WOLFSSL_API int wolfSSL_set_compression(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_set_compression(WOLFSSL* ssl);
WOLFSSL_API int wolfSSL_set_timeout(WOLFSSL*, unsigned int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_set_timeout(WOLFSSL*, unsigned int);
WOLFSSL_API int wolfSSL_CTX_set_timeout(WOLFSSL_CTX*, unsigned int); WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_set_timeout(WOLFSSL_CTX*, unsigned int);
WOLFSSL_API void wolfSSL_CTX_set_current_time_cb(WOLFSSL_CTX* ctx, WOLFSSL_API void wolfSSL_CTX_set_current_time_cb(WOLFSSL_CTX* ctx,
void (*cb)(const WOLFSSL* ssl, Timeval* out_clock)); void (*cb)(const WOLFSSL* ssl, Timeval* out_clock));
@@ -1997,18 +2006,19 @@ WOLFSSL_API void wolfSSL_X509_free(WOLFSSL_X509*);
/* get index cert in PEM */ /* 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*, int idx,
unsigned char* buf, int inLen, int* outLen); unsigned char* buf, int inLen, int* outLen);
WOLFSSL_API const unsigned char* wolfSSL_get_sessionID(const WOLFSSL_SESSION* s); 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 int wolfSSL_X509_get_serial_number(WOLFSSL_X509*,unsigned char*,int*);
WOLFSSL_API char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509*); 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_der(WOLFSSL_X509*, int*);
WOLFSSL_API const unsigned char* wolfSSL_X509_get_tbs(WOLFSSL_X509*, int*); WOLFSSL_API const unsigned char* wolfSSL_X509_get_tbs(WOLFSSL_X509*, int*);
WOLFSSL_API const byte* wolfSSL_X509_notBefore(WOLFSSL_X509* x509); WOLFSSL_ABI WOLFSSL_API const byte* wolfSSL_X509_notBefore(WOLFSSL_X509*);
WOLFSSL_API const byte* wolfSSL_X509_notAfter(WOLFSSL_X509* 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_version(WOLFSSL_X509*);
WOLFSSL_API int wolfSSL_cmp_peer_cert_to_file(WOLFSSL*, const char*); WOLFSSL_API int wolfSSL_cmp_peer_cert_to_file(WOLFSSL*, const char*);
WOLFSSL_API char* wolfSSL_X509_get_next_altname(WOLFSSL_X509*); WOLFSSL_ABI WOLFSSL_API char* wolfSSL_X509_get_next_altname(WOLFSSL_X509*);
WOLFSSL_API WOLFSSL_X509* wolfSSL_d2i_X509(WOLFSSL_X509** x509, WOLFSSL_API WOLFSSL_X509* wolfSSL_d2i_X509(WOLFSSL_X509** x509,
const unsigned char** in, int len); const unsigned char** in, int len);
@@ -2027,7 +2037,7 @@ WOLFSSL_API void wolfSSL_X509_CRL_free(WOLFSSL_X509_CRL *crl);
WOLFSSL_API WOLFSSL_X509* WOLFSSL_API WOLFSSL_X509*
wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, XFILE file); wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, XFILE file);
#endif #endif
WOLFSSL_API WOLFSSL_X509* WOLFSSL_ABI WOLFSSL_API WOLFSSL_X509*
wolfSSL_X509_load_certificate_file(const char* fname, int format); wolfSSL_X509_load_certificate_file(const char* fname, int format);
#endif #endif
WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_load_certificate_buffer( WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_load_certificate_buffer(
@@ -2235,8 +2245,8 @@ enum {
WOLFSSL_API WC_RNG* wolfSSL_GetRNG(WOLFSSL*); WOLFSSL_API WC_RNG* wolfSSL_GetRNG(WOLFSSL*);
WOLFSSL_API int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version); WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX*, int);
WOLFSSL_API int wolfSSL_SetMinVersion(WOLFSSL* ssl, int version); WOLFSSL_API int wolfSSL_SetMinVersion(WOLFSSL*, int);
WOLFSSL_API int wolfSSL_GetObjectSize(void); /* object size based on build */ WOLFSSL_API int wolfSSL_GetObjectSize(void); /* object size based on build */
WOLFSSL_API int wolfSSL_CTX_GetObjectSize(void); WOLFSSL_API int wolfSSL_CTX_GetObjectSize(void);
WOLFSSL_API int wolfSSL_METHOD_GetObjectSize(void); WOLFSSL_API int wolfSSL_METHOD_GetObjectSize(void);
@@ -2372,7 +2382,8 @@ typedef int (*CallbackEccSign)(WOLFSSL* ssl,
unsigned char* out, word32* outSz, unsigned char* out, word32* outSz,
const unsigned char* keyDer, unsigned int keySz, const unsigned char* keyDer, unsigned int keySz,
void* ctx); void* ctx);
WOLFSSL_API void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX*, CallbackEccSign); WOLFSSL_ABI WOLFSSL_API void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX*,
CallbackEccSign);
WOLFSSL_API void wolfSSL_SetEccSignCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void wolfSSL_SetEccSignCtx(WOLFSSL* ssl, void *ctx);
WOLFSSL_API void* wolfSSL_GetEccSignCtx(WOLFSSL* ssl); WOLFSSL_API void* wolfSSL_GetEccSignCtx(WOLFSSL* ssl);
@@ -2630,8 +2641,8 @@ WOLFSSL_API int wolfSSL_UseClientSuites(WOLFSSL* ssl);
/* async additions */ /* async additions */
#define wolfSSL_UseAsync wolfSSL_SetDevId #define wolfSSL_UseAsync wolfSSL_SetDevId
#define wolfSSL_CTX_UseAsync wolfSSL_CTX_SetDevId #define wolfSSL_CTX_UseAsync wolfSSL_CTX_SetDevId
WOLFSSL_API int wolfSSL_SetDevId(WOLFSSL*, int devId); WOLFSSL_ABI WOLFSSL_API int wolfSSL_SetDevId(WOLFSSL*, int devId);
WOLFSSL_API int wolfSSL_CTX_SetDevId(WOLFSSL_CTX*, int devId); WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_SetDevId(WOLFSSL_CTX*, int devId);
/* helpers to get device id and heap */ /* helpers to get device id and heap */
WOLFSSL_API int wolfSSL_CTX_GetDevId(WOLFSSL_CTX* ctx, WOLFSSL* ssl); WOLFSSL_API int wolfSSL_CTX_GetDevId(WOLFSSL_CTX* ctx, WOLFSSL* ssl);
@@ -2647,10 +2658,10 @@ enum {
WOLFSSL_SNI_HOST_NAME = 0 WOLFSSL_SNI_HOST_NAME = 0
}; };
WOLFSSL_API int wolfSSL_UseSNI(WOLFSSL* ssl, unsigned char type, WOLFSSL_ABI WOLFSSL_API int wolfSSL_UseSNI(WOLFSSL*, unsigned char,
const void* data, unsigned short size); const void*, unsigned short);
WOLFSSL_API int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, unsigned char type, WOLFSSL_ABI WOLFSSL_API int wolfSSL_CTX_UseSNI(WOLFSSL_CTX*, unsigned char,
const void* data, unsigned short size); const void*, unsigned short);
#ifndef NO_WOLFSSL_SERVER #ifndef NO_WOLFSSL_SERVER
@@ -2729,7 +2740,8 @@ typedef int (*CallbackALPNSelect)(WOLFSSL* ssl, const unsigned char** out,
void *arg); void *arg);
#endif #endif
WOLFSSL_API int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list, WOLFSSL_ABI WOLFSSL_API int wolfSSL_UseALPN(WOLFSSL* ssl,
char *protocol_name_list,
unsigned int protocol_name_listSz, unsigned int protocol_name_listSz,
unsigned char options); unsigned char options);

View File

@@ -435,9 +435,8 @@ ECC_API int ecc_projective_dbl_point(ecc_point* P, ecc_point* R, mp_int* a,
WOLFSSL_API WOLFSSL_API
int wc_ecc_make_key(WC_RNG* rng, int keysize, ecc_key* key); int wc_ecc_make_key(WC_RNG* rng, int keysize, ecc_key* key);
WOLFSSL_API WOLFSSL_ABI WOLFSSL_API
int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int wc_ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, int curve_id);
int curve_id);
WOLFSSL_API WOLFSSL_API
int wc_ecc_make_pub(ecc_key* key, ecc_point* pubOut); int wc_ecc_make_pub(ecc_key* key, ecc_point* pubOut);
WOLFSSL_API WOLFSSL_API
@@ -465,7 +464,7 @@ int wc_ecc_shared_secret_ex(ecc_key* private_key, ecc_point* point,
#endif /* HAVE_ECC_DHE */ #endif /* HAVE_ECC_DHE */
#ifdef HAVE_ECC_SIGN #ifdef HAVE_ECC_SIGN
WOLFSSL_API WOLFSSL_ABI WOLFSSL_API
int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen, int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen,
WC_RNG* rng, ecc_key* key); WC_RNG* rng, ecc_key* key);
WOLFSSL_API WOLFSSL_API
@@ -484,7 +483,7 @@ int wc_ecc_verify_hash_ex(mp_int *r, mp_int *s, const byte* hash,
WOLFSSL_API WOLFSSL_API
int wc_ecc_init(ecc_key* key); int wc_ecc_init(ecc_key* key);
WOLFSSL_API WOLFSSL_ABI WOLFSSL_API
int wc_ecc_init_ex(ecc_key* key, void* heap, int devId); int wc_ecc_init_ex(ecc_key* key, void* heap, int devId);
#ifdef HAVE_PKCS11 #ifdef HAVE_PKCS11
WOLFSSL_API WOLFSSL_API
@@ -495,7 +494,7 @@ int wc_ecc_init_id(ecc_key* key, unsigned char* id, int len, void* heap,
WOLFSSL_LOCAL WOLFSSL_LOCAL
void wc_ecc_free_curve(const ecc_set_type* curve, void* heap); void wc_ecc_free_curve(const ecc_set_type* curve, void* heap);
#endif #endif
WOLFSSL_API WOLFSSL_ABI WOLFSSL_API
int wc_ecc_free(ecc_key* key); int wc_ecc_free(ecc_key* key);
WOLFSSL_API WOLFSSL_API
int wc_ecc_set_flags(ecc_key* key, word32 flags); int wc_ecc_set_flags(ecc_key* key, word32 flags);