From 42428f10ad3d95bf65136fadca682299453fe69c Mon Sep 17 00:00:00 2001 From: Nickolas Lapp Date: Thu, 27 Aug 2015 13:27:33 -0600 Subject: [PATCH] Remove uneccessary defines from compat. layer --- src/ssl.c | 304 ++--------------------------------------- wolfssl/openssl/ocsp.h | 69 +--------- wolfssl/openssl/ssl.h | 39 ------ wolfssl/ssl.h | 67 +-------- 4 files changed, 18 insertions(+), 461 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 9fc826450..8980aff21 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -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; } diff --git a/wolfssl/openssl/ocsp.h b/wolfssl/openssl/ocsp.h index 768674601..7463eec96 100644 --- a/wolfssl/openssl/ocsp.h +++ b/wolfssl/openssl/ocsp.h @@ -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 -#include - -#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 */ diff --git a/wolfssl/openssl/ssl.h b/wolfssl/openssl/ssl.h index 0bcd77a63..05b77a7ea 100644 --- a/wolfssl/openssl/ssl.h +++ b/wolfssl/openssl/ssl.h @@ -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 diff --git a/wolfssl/ssl.h b/wolfssl/ssl.h index edec77555..a9d350d50 100644 --- a/wolfssl/ssl.h +++ b/wolfssl/ssl.h @@ -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);