Remove uneccessary defines from compat. layer

This commit is contained in:
Nickolas Lapp
2015-08-27 13:27:33 -06:00
parent d336268caa
commit 42428f10ad
4 changed files with 18 additions and 461 deletions

304
src/ssl.c
View File

@ -16347,291 +16347,6 @@ const byte* wolfSSL_SESSION_get_id(WOLFSSL_SESSION* sess, unsigned int* idLen)
return sess->sessionID;
}
int wolfSSL_X509_NAME_cmp(const WOLFSSL_X509_NAME *a, const WOLFSSL_X509_NAME *b)
{
(void) a;
(void) b;
WOLFSSL_ENTER("wolfSSL_X509_NAME_cmp");
WOLFSSL_STUB("wolfSSL_X509_NAME_cmp");
WOLFSSL_LEAVE("wolfSSL_X509_NAME_cmp",0);
return SSL_SUCCESS;
}
void wolfSSL_X509_email_free(void *sk)
{
(void)sk;
WOLFSSL_ENTER("wolfSSL_X509_email_free");
WOLFSSL_STUB("wolfSSL_X509_email_free");
WOLFSSL_LEAVE("wolfSSL_X509_email_free",0);
}
WOLFSSL_STRING* wolfSSL_X509_get1_ocsp(WOLFSSL_X509 *cert)
{
WOLFSSL_ENTER("wolfSSL_X509_get1_ocsp");
WOLFSSL_STUB("wolfSSL_X509_get1_ocsp");
WOLFSSL_LEAVE("wolfSSL_X509_get1_ocsp",0);
(void)cert;
return NULL;
}
void wolfSSL_OCSP_CERTID_free(WOLFSSL_OCSP_CERTID* ocsp)
{
WOLFSSL_ENTER("wolfSSL_OCSP_CERTID_free");
WOLFSSL_STUB("wolfSSL_OCSP_CERTID_free");
WOLFSSL_LEAVE("wolfSSL_OCSP_CERTID_free",0);
(void)ocsp;
return;
}
WOLFSSL_OCSP_REQUEST* wolfSSL_OCSP_REQUEST_new(void){
WOLFSSL_ENTER("wolfSSL_OCSP_REQUEST_new");
WOLFSSL_STUB("wolfSSL_OCSP_REQUEST_new");
WOLFSSL_OCSP_REQUEST *or = NULL;
return or;
}
WOLFSSL_OCSP_CERTID* wolfSSL_OCSP_cert_to_id(const WOLFSSL_EVP_MD* dgst,
WOLFSSL_X509* subject, WOLFSSL_X509* issuer)
{
WOLFSSL_ENTER("wolfSSL_OCSP_CERTID_free");
WOLFSSL_STUB("wolfSSL_OCSP_CERTID_free");
WOLFSSL_LEAVE("wolfSSL_OCSP_CERTID_free",0);
(void)dgst;
(void)subject;
(void)issuer;
return NULL;
}
void wolfSSL_OCSP_REQUEST_free(WOLFSSL_OCSP_REQUEST* request)
{
WOLFSSL_ENTER("wolfSSL_OCSP_REQUEST_free");
WOLFSSL_STUB("wolfSSL_OCSP_REQUEST_free");
WOLFSSL_LEAVE("wolfSSL_OCSP_REQUEST_free",0);
(void)request;
return;
}
int wolfSSL_BIO_should_write(WOLFSSL_BIO *bio)
{
WOLFSSL_ENTER("wolfSSL_BIO_should_write");
WOLFSSL_STUB("wolfSSL_BIO_should_write");
WOLFSSL_LEAVE("wolfSSL_BIO_should_write",0);
(void) bio;
return SSL_SUCCESS;
}
int BIO_should_read(WOLFSSL_BIO *bio)
{
WOLFSSL_ENTER("BIO_should_read");
WOLFSSL_STUB("BIO_should_read");
WOLFSSL_LEAVE("BIO_should_read",0);
(void) bio;
return SSL_SUCCESS;
}
int wolfSSL_OCSP_check_nonce(WOLFSSL_OCSP_REQUEST *req, WOLFSSL_OCSP_BASICRESP *bs)
{
WOLFSSL_ENTER("wolfSSL_OCSP_check_nonce");
WOLFSSL_STUB("wolfSSL_OCSP_check_nonce");
WOLFSSL_LEAVE("wolfSSL_OCSP_check_nonce",0);
(void) req;
(void) bs;
return SSL_SUCCESS;
}
int wolfSSL_OCSP_basic_verify(WOLFSSL_OCSP_BASICRESP *bs, STACK_OF(WOLFSSL_X509) *certs,
WOLFSSL_X509_STORE *st, unsigned long flags)
{
WOLFSSL_ENTER("wolfSSL_OCSP_basic_verify");
WOLFSSL_STUB("wolfSSL_OCSP_basic_verify");
WOLFSSL_LEAVE("wolfSSL_OCSP_basic_verify",0);
(void) bs;
(void) certs;
(void) st;
(void) flags;
return SSL_SUCCESS;
}
void wolfSSL_OCSP_REQ_CTX_free(WOLFSSL_OCSP_REQ_CTX *rctx)
{
WOLFSSL_ENTER("wolfSSL_OCSP_REQ_CTX_free");
WOLFSSL_STUB("wolfSSL_OCSP_REQ_CTX_free");
WOLFSSL_LEAVE("wolfSSL_OCSP_REQ_CTX_free",0);
(void) rctx;
}
int wolfSSL_OCSP_RESPONSE_free( WOLFSSL_OCSP_RESPONSE* r)
{
WOLFSSL_ENTER("wolfSSL_OCSP_RESPONSE_free");
WOLFSSL_STUB("wolfSSL_OCSP_RESPONSE_free");
WOLFSSL_LEAVE("wolfSSL_OCSP_RESPONSE_free",0);
(void) r;
return SSL_SUCCESS;
}
int wolfSSL_OCSP_BASICRESP_free(WOLFSSL_OCSP_BASICRESP *basic_response)
{
WOLFSSL_ENTER("wolfSSL_OCSP_BASICRESP_free");
WOLFSSL_STUB("wolfSSL_OCSP_BASICRESP_free");
WOLFSSL_LEAVE("wolfSSL_OCSP_BASICRESP_free",0);
(void) basic_response;
return SSL_SUCCESS;
}
WOLFSSL_OCSP_BASICRESP *wolfSSL_OCSP_response_get1_basic(WOLFSSL_OCSP_RESPONSE *resp)
{
WOLFSSL_ENTER("wolfSSL_OCSP_response_get1_basic");
WOLFSSL_STUB("wolfSSL_OCSP_response_get1_basic");
WOLFSSL_LEAVE("wolfSSL_OCSP_response_get1_basic",0);
(void) resp;
return NULL;
}
int wolfSSL_OCSP_resp_find_status(WOLFSSL_OCSP_BASICRESP *bs,
WOLFSSL_OCSP_CERTID *id, int *status,
int *reason, WOLFSSL_ASN1_TIME**revtime,
WOLFSSL_ASN1_TIME**thisupd, WOLFSSL_ASN1_TIME**nextupd)
{
WOLFSSL_ENTER("wolfSSL_OCSP_resp_find_status");
WOLFSSL_STUB("wolfSSL_OCSP_resp_find_status");
WOLFSSL_LEAVE("wolfSSL_OCSP_resp_find_status",0);
(void) bs;
(void) id;
(void) status;
(void) reason;
(void) revtime;
(void) thisupd;
(void) nextupd;
return SSL_SUCCESS;
}
int wolfSSL_OCSP_request_add1_nonce(WOLFSSL_OCSP_REQUEST *req, unsigned char *val, int len)
{
WOLFSSL_ENTER("wolfSSL_OCSP_request_add1_nonce");
WOLFSSL_STUB("wolfSSL_OCSP_request_add1_nonce");
WOLFSSL_LEAVE("wolfSSL_OCSP_request_add1_nonce",0);
(void) req;
(void) val;
(void) len;
return SSL_SUCCESS;
}
WOLFSSL_OCSP_ONEREQ *wolfSSL_OCSP_request_add0_id(WOLFSSL_OCSP_REQUEST *req, WOLFSSL_OCSP_CERTID *cid)
{
WOLFSSL_ENTER("wolfSSL_OCSP_request_add0_id");
WOLFSSL_STUB("wolfSSL_OCSP_request_add0_id");
WOLFSSL_LEAVE("wolfSSL_OCSP_request_add0_id",0);
(void) req;
(void) cid;
return NULL;
}
const char *wolfSSL_OCSP_crl_reason_str(long s)
{
WOLFSSL_ENTER("wolfSSL_OCSP_crl_reason_str");
WOLFSSL_STUB("wolfSSL_OCSP_crl_reason_str");
WOLFSSL_LEAVE("wolfSSL_OCSP_crl_reason_str",0);
(void) s;
return NULL;
}
int wolfSSL_OCSP_check_validity(WOLFSSL_ASN1_TIME*thisupd,
WOLFSSL_ASN1_TIME*nextupd, long sec, long maxsec)
{
WOLFSSL_ENTER("wolfSSL_OCSP_check_validity");
WOLFSSL_STUB("wolfSSL_OCSP_check_validity");
WOLFSSL_LEAVE("wolfSSL_OCSP_check_validity",0);
(void) thisupd;
(void) nextupd;
(void) sec;
(void) maxsec;
return SSL_SUCCESS;
}
STACK_OF(WOLFSSL_X509)* wolfSSL_X509_STORE_CTX_get_chain(WOLFSSL_X509_STORE_CTX *ctx)
{
WOLFSSL_ENTER("wolfSSL_X509_STORE_CTX_get_chain");
WOLFSSL_STUB("wolfSSL_X509_STORE_CTX_get_chain");
WOLFSSL_LEAVE("wolfSSL_X509_STORE_CTX_get_chain",0);
(void) ctx;
return NULL;
}
WOLFSSL_OCSP_REQ_CTX *wolfSSL_OCSP_sendreq_new(WOLFSSL_BIO *io, const char *path, WOLFSSL_OCSP_REQUEST *req, int maxline)
{
WOLFSSL_ENTER("wolfSSL_OCSP_sendreq_new");
WOLFSSL_STUB("wolfSSL_OCSP_sendreq_new");
WOLFSSL_LEAVE("wolfSSL_OCSP_sendreq_new",0);
(void) io;
(void) path;
(void) req;
(void) maxline;
return NULL;
}
int wolfSSL_OCSP_sendreq_nbio(WOLFSSL_OCSP_RESPONSE **presp, WOLFSSL_OCSP_REQ_CTX *rctx)
{
WOLFSSL_ENTER("wolfSSL_OCSP_sendreq_nbio");
WOLFSSL_STUB("wolfSSL_OCSP_sendreq_nbio");
WOLFSSL_LEAVE("wolfSSL_OCSP_sendreq_nbio",0);
(void) presp;
(void) rctx;
return SSL_SUCCESS;
}
const char *wolfSSL_OCSP_cert_status_str(long s)
{
WOLFSSL_ENTER("wolfSSL_OCSP_cert_status_str");
WOLFSSL_STUB("wolfSSL_OCSP_cert_status_str");
WOLFSSL_LEAVE("wolfSSL_OCSP_cert_status_str",0);
(void) s;
return NULL;
}
int wolfSSL_OCSP_response_status(WOLFSSL_OCSP_RESPONSE *resp)
{
WOLFSSL_ENTER("wolfSSL_OCSP_response_status");
WOLFSSL_STUB("wolfSSL_OCSP_response_status");
WOLFSSL_LEAVE("wolfSSL_OCSP_response_status",0);
(void) resp;
return SSL_SUCCESS;
}
const char *wolfSSL_OCSP_response_status_str(long s)
{
WOLFSSL_ENTER("wolfSSL_OCSP_response_status_str");
WOLFSSL_STUB("wolfSSL_OCSP_response_status_str");
WOLFSSL_LEAVE("wolfSSL_OCSP_response_status_str",0);
(void) s;
return NULL;
}
int wolfSSL_sk_WOLFSSL_STRING_num(const STACK_OF(WOLFSSL_STRING)* string)
{
WOLFSSL_ENTER("wolfSSL_sk_WOLFSSL_STRING_num");
WOLFSSL_STUB("wolfSSL_sk_WOLFSSL_STRING_num");
WOLFSSL_LEAVE("wolfSSL_sk_WOLFSSL_STRING_num",0);
(void) string;
return 0;
}
WOLFSSL_STRING wolfSSL_sk_WOLFSSL_STRING_value(
const STACK_OF(WOLFSSL_STRING)* string, int idx)
{
WOLFSSL_ENTER("wolfSSL_sk_WOLFSSL_STRING_value");
WOLFSSL_STUB("wolfSSL_sk_WOLFSSL_STRING_value");
WOLFSSL_LEAVE("wolfSSL_sk_WOLFSSL_STRING_value",0);
(void) string;
(void) idx;
return 0;
}
int wolfSSL_set_tlsext_host_name(WOLFSSL* ssl, const char* host_name)
{
@ -16673,11 +16388,22 @@ VerifyCallback wolfSSL_CTX_get_verify_callback(WOLFSSL_CTX* ctx)
int wolfSSL_CTX_get_verify_mode(WOLFSSL_CTX* ctx)
{
(void)ctx;
WOLFSSL_ENTER("wolfSSL_CTX_get_verify_mode");
WOLFSSL_STUB("wolfSSL_CTX_get_verify_mode");
WOLFSSL_LEAVE("wolfSSL_CTX_get_verify_mode",0);
return 0;
int mode = 0;
if(!ctx)
return SSL_FATAL_ERROR;
if (ctx->verifyPeer)
mode |= SSL_VERIFY_PEER;
else if (ctx->verifyNone)
mode |= SSL_VERIFY_NONE;
if (ctx->failNoCert)
mode |= SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
WOLFSSL_LEAVE("wolfSSL_CTX_get_verify_mode", mode);
return mode;
}

View File

@ -1,68 +1 @@
/* ocsp.h
*
* Copyright (C) 2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef WOLFSSL_OCSP_H_
#define WOLFSSL_OCSP_H_
#include <wolfssl/openssl/ssl.h>
#include <wolfssl/openssl/evp.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef HAVE_STUNNEL
#define X509_get1_ocsp wolfSSL_X509_get1_ocsp
#define OCSP_CERTID_free wolfSSL_OCSP_CERTID_free
#define OCSP_cert_to_id wolfSSL_OCSP_cert_to_id
#define OCSP_REQUEST_free wolfSSL_OCSP_REQUEST_free
#define OPENSSL_STRING WOLFSSL_STRING
#define sk_OPENSSL_STRING_value wolfSSL_sk_WOLFSSL_STRING_value
#define sk_OPENSSL_STRING_num wolfSSL_sk_WOLFSSL_STRING_num
typedef WOLFSSL_OCSP_CERTID OCSP_CERTID;
typedef char* WOLFSSL_STRING;
typedef WOLFSSL_OCSP_RESPONSE OCSP_RESPONSE;
WOLFSSL_API WOLFSSL_STRING *wolfSSL_X509_get1_ocsp(WOLFSSL_X509*);
WOLFSSL_API void wolfSSL_OCSP_CERTID_free(WOLFSSL_OCSP_CERTID* cert);
WOLFSSL_API
WOLFSSL_OCSP_CERTID* wolfSSL_OCSP_cert_to_id(const WOLFSSL_EVP_MD*,
WOLFSSL_X509*, WOLFSSL_X509*);
WOLFSSL_API
int wolfSSL_sk_WOLFSSL_STRING_num(const STACK_OF(WOLFSSL_STRING)*);
WOLFSSL_API WOLFSSL_STRING wolfSSL_sk_WOLFSSL_STRING_value(
const STACK_OF(WOLFSSL_STRING)*, int);
WOLFSSL_API void wolfSSL_OCSP_REQUEST_free(WOLFSSL_OCSP_REQUEST*);
#endif /* HAVE_STUNNEL */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* WOLFSSL_EVP_H_ */
/* ocsp.h for libcurl */

View File

@ -477,50 +477,12 @@ typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
#define SSL_SESSION_get_id wolfSSL_SESSION_get_id
#define CRYPTO_dynlock_value WOLFSSL_dynlock_value
typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING;
typedef WOLFSSL_OCSP_REQUEST OCSP_REQUEST;
typedef WOLFSSL_OCSP_BASICRESP OCSP_BASICRESP;
typedef WOLFSSL_OCSP_REQ_CTX OCSP_REQ_CTX;
typedef WOLFSSL_OCSP_ONEREQ OCSP_ONEREQ;
#define V_OCSP_CERTSTATUS_UNKNOWN 2
#define X509_V_ERR_APPLICATION_VERIFICATION 50
#define V_OCSP_CERTSTATUS_GOOD 0
#define V_OCSP_CERTSTATUS_REVOKED 1
#define OCSP_RESPONSE_STATUS_SUCCESSFUL 0
#define SSL_TLSEXT_ERR_OK 0
#define SSL_TLSEXT_ERR_ALERT_FATAL alert_fatal
#define SSL_TLSEXT_ERR_NOACK alert_warning
#define TLSEXT_NAMETYPE_host_name WOLFSSL_SNI_HOST_NAME
#define ASN1_GENERALIZEDTIME WOLFSSL_ASN1_TIME
#define X509_NAME_cmp wolfSSL_X509_NAME_cmp
#define X509_email_free wolfSSL_X509_email_free
#define OCSP_REQUEST_new wolfSSL_OCSP_REQUEST_new
#define BIO_should_write wolfSSL_BIO_should_write
#define BIO_should_read wolfSSL_BIO_should_read
#define OCSP_check_nonce wolfSSL_OCSP_check_nonce
#define OCSP_cert_status_str wolfSSL_OCSP_cert_status_str
#define OCSP_basic_verify wolfSSL_OCSP_basic_verify
#define OCSP_REQ_CTX_free wolfSSL_OCSP_REQ_CTX_free
#define OCSP_RESPONSE_free wolfSSL_OCSP_RESPONSE_free
#define OCSP_BASICRESP_free wolfSSL_OCSP_BASICRESP_free
#define OCSP_response_get1_basic wolfSSL_OCSP_response_get1_basic
#define OCSP_resp_find_status wolfSSL_OCSP_resp_find_status
#define OCSP_request_add1_nonce wolfSSL_OCSP_request_add1_nonce
#define OCSP_request_add0_id wolfSSL_OCSP_request_add0_id
#define OCSP_crl_reason_str wolfSSL_OCSP_crl_reason_str
#define OCSP_check_validity wolfSSL_OCSP_check_validity
#define X509_STORE_CTX_get_chain wolfSSL_X509_STORE_CTX_get_chain
#define OCSP_sendreq_new wolfSSL_OCSP_sendreq_new
#define OCSP_sendreq_nbio wolfSSL_OCSP_sendreq_nbio
#define OCSP_cert_status_str wolfSSL_OCSP_cert_status_str
#define OCSP_response_status wolfSSL_OCSP_response_status
#define OCSP_response_status_str wolfSSL_OCSP_response_status_str
#define SSL_set_tlsext_host_name wolfSSL_set_tlsext_host_name
#define SSL_get_servername wolfSSL_get_servername
#define SSL_set_SSL_CTX wolfSSL_set_SSL_CTX
@ -528,7 +490,6 @@ typedef WOLFSSL_OCSP_ONEREQ OCSP_ONEREQ;
#define SSL_CTX_set_tlsext_servername_callback wolfSSL_CTX_set_servername_callback
#define SSL_CTX_set_tlsext_servername_arg wolfSSL_CTX_set_servername_arg
/*changes for PSK*/
#define PSK_MAX_PSK_LEN 256
#define PSK_MAX_IDENTITY_LEN 128

View File

@ -573,12 +573,12 @@ enum {
OCSP_TRUSTOTHER = 512,
OCSP_RESPID_KEY = 1024,
OCSP_NOTIME = 2048,
#ifndef HAVE_STUNNEL
OCSP_CERTID = 2,
OCSP_REQUEST = 4,
OCSP_RESPONSE = 8,
OCSP_BASICRESP = 16,
#endif
WOLFSSL_OCSP_URL_OVERRIDE = 1,
WOLFSSL_OCSP_NO_NONCE = 2,
WOLFSSL_OCSP_CHECKALL = 4,
@ -1563,13 +1563,6 @@ WOLFSSL_API int PEM_write_bio_WOLFSSL_X509(WOLFSSL_BIO *bp, WOLFSSL_X509 *x);
/* SNI received callback type */
typedef int (*CallbackSniRecv)(WOLFSSL *ssl, int *ret, void* exArg);
typedef struct WOLFSSL_OCSP_CERTID WOLFSSL_OCSP_CERTID;
typedef struct WOLFSSL_OCSP_RESPONSE WOLFSSL_OCSP_RESPONSE;
typedef struct WOLFSSL_OCSP_REQUEST WOLFSSL_OCSP_REQUEST;
typedef struct WOLFSSL_OCSP_BASICRESP WOLFSSL_OCSP_BASICRESP;
typedef struct WOLFSSL_OCSP_REQ_CTX WOLFSSL_OCSP_REQ_CTX;
typedef struct WOLFSSL_OCSP_ONEREQ WOLFSSL_OCSP_ONEREQ;
WOLFSSL_API int wolfSSL_CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int),
void *(*r) (void *, size_t, const char *, int), void (*f) (void *));
@ -1627,62 +1620,6 @@ WOLFSSL_API int wolfSSL_X509_NAME_get_sz(WOLFSSL_X509_NAME*);
WOLFSSL_API const unsigned char* wolfSSL_SESSION_get_id(WOLFSSL_SESSION*,
unsigned int*);
WOLFSSL_API int wolfSSL_X509_NAME_cmp(const WOLFSSL_X509_NAME *,
const WOLFSSL_X509_NAME *);
WOLFSSL_API void wolfSSL_X509_email_free(void *);
WOLFSSL_API WOLFSSL_OCSP_REQUEST* wolfSSL_OCSP_REQUEST_new(void);
WOLFSSL_API int wolfSSL_BIO_should_write(WOLFSSL_BIO *);
WOLFSSL_API int wolfSSL_BIO_should_read(WOLFSSL_BIO *);
WOLFSSL_API int wolfSSL_OCSP_check_nonce(WOLFSSL_OCSP_REQUEST*,
WOLFSSL_OCSP_BASICRESP*);
WOLFSSL_API int wolfSSL_OCSP_basic_verify(WOLFSSL_OCSP_BASICRESP*,
STACK_OF(WOLFSSL_X509)*, WOLFSSL_X509_STORE*,unsigned long);
WOLFSSL_API void wolfSSL_OCSP_REQ_CTX_free(WOLFSSL_OCSP_REQ_CTX *);
WOLFSSL_API int wolfSSL_OCSP_RESPONSE_free( WOLFSSL_OCSP_RESPONSE*);
WOLFSSL_API int wolfSSL_OCSP_BASICRESP_free(WOLFSSL_OCSP_BASICRESP*);
WOLFSSL_API
WOLFSSL_OCSP_BASICRESP *wolfSSL_OCSP_response_get1_basic(WOLFSSL_OCSP_RESPONSE*);
WOLFSSL_API int wolfSSL_OCSP_resp_find_status(WOLFSSL_OCSP_BASICRESP*,
WOLFSSL_OCSP_CERTID *, int *, int *,
WOLFSSL_ASN1_TIME**, WOLFSSL_ASN1_TIME**, WOLFSSL_ASN1_TIME**);
WOLFSSL_API int wolfSSL_OCSP_request_add1_nonce(WOLFSSL_OCSP_REQUEST *,
unsigned char *, int );
WOLFSSL_API
WOLFSSL_OCSP_ONEREQ *wolfSSL_OCSP_request_add0_id(WOLFSSL_OCSP_REQUEST *,
WOLFSSL_OCSP_CERTID *);
WOLFSSL_API const char *wolfSSL_OCSP_crl_reason_str(long );
WOLFSSL_API int wolfSSL_OCSP_check_validity(WOLFSSL_ASN1_TIME *,
WOLFSSL_ASN1_TIME*, long, long);
WOLFSSL_API
STACK_OF(WOLFSSL_X509)* wolfSSL_X509_STORE_CTX_get_chain(WOLFSSL_X509_STORE_CTX *);
WOLFSSL_API WOLFSSL_OCSP_REQ_CTX *wolfSSL_OCSP_sendreq_new(WOLFSSL_BIO *io,
const char *path, WOLFSSL_OCSP_REQUEST *req, int maxline);
WOLFSSL_API int wolfSSL_OCSP_sendreq_nbio(WOLFSSL_OCSP_RESPONSE**,
WOLFSSL_OCSP_REQ_CTX *);
WOLFSSL_API const char *wolfSSL_OCSP_cert_status_str(long);
WOLFSSL_API int wolfSSL_OCSP_response_status(WOLFSSL_OCSP_RESPONSE *);
WOLFSSL_API const char *wolfSSL_OCSP_response_status_str(long);
WOLFSSL_API int wolfSSL_set_tlsext_host_name(WOLFSSL *, const char *);
WOLFSSL_API const char* wolfSSL_get_servername(WOLFSSL *, unsigned char);