Templates BIO/SSL/SSL_CTX_ctrl

This commit is contained in:
Takashi Kojo
2016-11-08 19:59:36 +09:00
committed by Jacob Barthelmeh
parent 86014fb0d0
commit 8844554fca
4 changed files with 440 additions and 12 deletions

142
src/bio.c
View File

@@ -1,4 +1,4 @@
/* bio.h
/* bio.c
*
* Copyright (C) 2006-2016 wolfSSL Inc.
*
@@ -19,22 +19,162 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_ctrl(WOLFSSL_BIO *bio, int cmd, long larg, void *parg)
{
(void)bio;
(void)cmd;
(void)larg;
(void)parg;
WOLFSSL_ENTER("BIO_ctrl");
return 1;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b)
{
(void) b;
WOLFSSL_ENTER("BIO_ctrl_pending");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *b, void *m)
{
(void) b;
(void) m;
WOLFSSL_ENTER("BIO_get_mem_ptr");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_int_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, int iarg)
{
(void) bp;
(void) cmd;
(void) larg;
(void) iarg;
WOLFSSL_ENTER("BIO_int_ctrl");
return 0;
}
/*** TBD ***/
WOLFSSL_API const WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void)
{
WOLFSSL_ENTER("BIO_s_socket");
return (void *)0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_set_write_buf_size(WOLFSSL_BIO *b, long size)
{
(void) b;
(void) size;
WOLFSSL_ENTER("BIO_set_write_buf_size");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_make_bio_pair(WOLFSSL_BIO *b1, WOLFSSL_BIO *b2)
{
(void) b1;
(void) b2;
WOLFSSL_ENTER("BIO_make_bio_pair");
return 0;
}
/*** TBD ***/
WOLFSSL_API int wolfSSL_BIO_ctrl_reset_read_request(WOLFSSL_BIO *b)
{
(void) b;
WOLFSSL_ENTER("BIO_ctrl_reset_read_request");
return 0;
}
/*** TBD ***/
WOLFSSL_API int wolfSSL_BIO_nread0(WOLFSSL_BIO *bio, char **buf)
{
(void) bio;
(void) buf;
WOLFSSL_ENTER("BIO_nread0");
return 0;
}
/*** TBD ***/
WOLFSSL_API int wolfSSL_BIO_nread(WOLFSSL_BIO *bio, char **buf, int num)
{
(void) bio;
(void) buf;
(void) num;
WOLFSSL_ENTER("BIO_nread");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_nwrite(WOLFSSL_BIO *bio, char **buf, int num)
{
(void) bio;
(void) buf;
(void) num;
WOLFSSL_ENTER("BIO_nwrite");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_reset(WOLFSSL_BIO *bio)
{
(void) bio;
WOLFSSL_ENTER("BIO_reset");
return 0;
}
#if 0
#ifndef NO_FILESYSTEM
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c)
{
(void) bio;
(void) fp;
(void) c;
WOLFSSL_ENTER("BIO_set_fp");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE fp)
{
(void) bio;
(void) fp;
WOLFSSL_ENTER("BIO_get_fp");
return 0;
}
#endif
#endif
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_seek(WOLFSSL_BIO *bio, int ofs)
{
(void) bio;
(void) ofs;
WOLFSSL_ENTER("BIO_seek");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name)
{
(void) bio;
(void) name;
WOLFSSL_ENTER("BIO_write_filename");
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v)
{
(void) bio;
(void) v;
WOLFSSL_ENTER("BIO_set_mem_eof_return");
return 0;
}

171
src/ssl.c
View File

@@ -13172,6 +13172,99 @@ int wolfSSL_PEM_def_callback(char* name, int num, int w, void* key)
return 0;
}
/*** TBD ***/
WOLFSSL_API unsigned long wolfSSL_SSL_set_options(WOLFSSL *s, unsigned long op)
{
(void)s;
(void)op;
return 0;
}
/*** TBD ***/
WOLFSSL_API unsigned long wolfSSL_SSL_get_options(const WOLFSSL *s)
{
(void)s;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_clear_num_renegotiations(WOLFSSL *s)
{
(void)s;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_total_renegotiations(WOLFSSL *s)
{
(void)s;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_set_tmp_dh(WOLFSSL *s, WOLFSSL_DH *dh)
{
(void)s;
(void)dh;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_set_tlsext_debug_arg(WOLFSSL *s, void *arg)
{
(void)s;
(void)arg;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_type(WOLFSSL *s, int type)
{
(void)s;
(void)type;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_exts(WOLFSSL *s, void *arg)
{
(void)s;
(void)arg;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_get_tlsext_status_ids(WOLFSSL *s, void *arg)
{
(void)s;
(void)arg;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_ids(WOLFSSL *s, void *arg)
{
(void)s;
(void)arg;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_get_tlsext_status_ocsp_resp(WOLFSSL *s, unsigned char **resp)
{
(void)s;
(void)resp;
return 0;
}
/*** TBD ***/
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_ocsp_resp(WOLFSSL *s, unsigned char *resp, int len)
{
(void)s;
(void)resp;
(void)len;
return 0;
}
long wolfSSL_CTX_sess_accept(WOLFSSL_CTX* ctx)
{
@@ -13179,7 +13272,6 @@ long wolfSSL_CTX_sess_accept(WOLFSSL_CTX* ctx)
return 0;
}
long wolfSSL_CTX_sess_connect(WOLFSSL_CTX* ctx)
{
(void)ctx;
@@ -13256,6 +13348,83 @@ long wolfSSL_CTX_sess_number(WOLFSSL_CTX* ctx)
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_need_tmp_RSA(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_set_tmp_rsa(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_set_tmp_dh(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_add_extra_chain_cert(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_sess_set_cache_size(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_sess_get_cache_size(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_get_session_cache_mode(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_get_read_ahead(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_set_read_ahead(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
/*** TBC ***/
WOLFSSL_API long wolfSSL_SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(WOLFSSL_CTX* ctx)
{
(void)ctx;
return 0;
}
#ifndef NO_DES3
void wolfSSL_DES_set_key(WOLFSSL_const_DES_cblock* myDes,
WOLFSSL_DES_key_schedule* key)

View File

@@ -469,11 +469,77 @@ typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
#define BIO_new_file wolfSSL_BIO_new_file
#define BIO_ctrl wolfSSL_BIO_ctrl
#define BIO_ctrl_pending wolfSSL_BIO_ctrl_pending
#define BIO_get_mem_ptr(b,pp) wolfSSL_BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp)
#define BIO_get_mem_ptr wolfSSL_BIO_get_mem_ptr
#define BIO_int_ctrl wolfSSL_BIO_int_ctrl
#define BIO_reset(b) (int)wolfSSL_BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)
#define BIO_reset wolfSSL_BIO_reset
#define BIO_s_socket wolfSSL_BIO_s_socket
#define BIO_set_fd(b,fd,c) wolfSSL_BIO_int_ctrl(b,BIO_C_SET_FD,c,fd)
#define BIO_set_fd wolfSSL_BBIO_set_fd
#define BIO_set_write_buf_size wolfSSL_BIO_set_write_buf_size
#define BIO_make_bio_pair wolfSSL_BIO_make_bio_pair
#define BIO_set_fp wolfSSL_BIO_set_fp
#define BIO_get_fp wolfSSL_BIO_get_fp
#define BIO_seek wolfSSL_BIO_seek
#define BIO_write_filename wolfSSL_BIO_write_filename
#define BIO_set_mem_eof_return wolfSSL_BIO_set_mem_eof_return
#define SSL_set_options wolfSSL_SSL_set_options
#define SSL_get_options wolfSSL_SSL_get_options
#define SSL_set_tmp_dh wolfSSL_SSL_set_tmp_dh
#define SSL_clear_num_renegotiations wolfSSL_SSL_clear_num_renegotiations
#define SSL_total_renegotiations wolfSSL_SSSL_total_renegotiations
#define SSL_set_tlsext_debug_arg wolfSSL_SSL_set_tlsext_debug_arg
#define SSL_set_tlsext_status_type wolfSSL_SSL_set_tlsext_status_type
#define SSL_set_tlsext_status_exts wolfSSL_SSL_set_tlsext_status_exts
#define SSL_get_tlsext_status_ids wolfSSL_SSL_get_tlsext_status_ids
#define SSL_set_tlsext_status_ids wolfSSL_SSL_set_tlsext_status_ids
#define SSL_get_tlsext_status_ocsp_resp wolfSSL_SSL_get_tlsext_status_ocsp_resp
#define SSL_set_tlsext_status_ocsp_resp wolfSSL_SSL_set_tlsext_status_ocsp_resp
#define SSL_CTX_need_tmp_RSA() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL)
#define SSL_CTX_set_tmp_rsa() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa)
#define SSL_CTX_set_tmp_dh() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh)
#define SSL_CTX_add_extra_chain_cert() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
#define SSL_CTX_get_read_ahead() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL)
#define SSL_CTX_set_read_ahead() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL)
#define SSL_CTX_set_tlsext_status_arg() wolfSSL_SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg)
#define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg() wolfSSL_SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG, 0, arg)
#define BIO_C_SET_FILE_PTR 106
#define BIO_C_GET_FILE_PTR 107
#define BIO_C_SET_FILENAME 108
#define BIO_C_FILE_SEEK 128
#define BIO_C_SET_BUF_MEM_EOF_RETURN 130
#define BIO_C_SET_WRITE_BUF_SIZE 136
#define BIO_C_MAKE_BIO_PAIR 138
#define BIO_CTRL_RESET 1
#define BIO_CTRL_INFO 3
#define BIO_CTRL_FLUSH 11
#define BIO_CLOSE 0x01
#define BIO_FP_WRITE 0x04
#define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11
#define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12
#define SSL_CTRL_SET_TMP_DH 3
#define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57
#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65
#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66
#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67
#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68
#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69
#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70
#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71
#define SSL_CTRL_SET_TMP_DH 3
#define SSL_CTRL_EXTRA_CHAIN_CERT 14
#define SSL_CTRL_SET_SESS_CACHE_SIZE 42
#define SSL_CTRL_GET_READ_AHEAD 40
#define SSL_CTRL_SET_READ_AHEAD 41
#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64
#ifdef HAVE_STUNNEL
#include <wolfssl/openssl/asn1.h>

View File

@@ -501,13 +501,35 @@ WOLFSSL_API int wolfSSL_BIO_get_mem_data(WOLFSSL_BIO* bio,const unsigned char**
WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_mem_buf(void* buf, int len);
WOLFSSL_API long wolfSSL_BIO_set_ssl(WOLFSSL_BIO*, WOLFSSL*, int flag);
WOLFSSL_API void wolfSSL_set_bio(WOLFSSL*, WOLFSSL_BIO* rd, WOLFSSL_BIO* wr);
WOLFSSL_API long wolfSSL_BIO_set_ssl(WOLFSSL_BIO*, WOLFSSL*, int flag);
WOLFSSL_API void wolfSSL_set_bio(WOLFSSL*, WOLFSSL_BIO* rd, WOLFSSL_BIO* wr);
WOLFSSL_API int wolfSSL_add_all_algorithms(void);
WOLFSSL_API long wolfSSL_BIO_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, void *parg);
WOLFSSL_API long wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b);
WOLFSSL_API int wolfSSL_add_all_algorithms(void);
WOLFSSL_API long wolfSSL_BIO_int_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, int iarg);
WOLFSSL_API const WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void);
WOLFSSL_API long wolfSSL_BIO_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, void *parg);
WOLFSSL_API long wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b);
WOLFSSL_API long wolfSSL_BIO_int_ctrl(WOLFSSL_BIO *bp, int cmd, long larg, int iarg);
WOLFSSL_API long wolfSSL_BIO_set_write_buf_size(WOLFSSL_BIO *b, long size);
WOLFSSL_API long wolfSSL_BIO_make_bio_pair(WOLFSSL_BIO *b1, WOLFSSL_BIO *b2);
WOLFSSL_API int wolfSSL_BIO_ctrl_reset_read_request(WOLFSSL_BIO *b);
WOLFSSL_API int wolfSSL_BIO_nread0(WOLFSSL_BIO *bio, char **buf);
WOLFSSL_API int wolfSSL_BIO_nread(WOLFSSL_BIO *bio, char **buf, int num);
WOLFSSL_API long wolfSSL_BIO_nwrite(WOLFSSL_BIO *bio, char **buf, int num);
WOLFSSL_API long wolfSSL_BIO_reset(WOLFSSL_BIO *bio);
#if 0
#ifndef NO_FILESYSTEM
WOLFSSL_API long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c);
WOLFSSL_API long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE fp);
#endif
#endif
WOLFSSL_API long wolfSSL_BIO_seek(WOLFSSL_BIO *bio, int ofs);
WOLFSSL_API long wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name);
WOLFSSL_API long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v);
WOLFSSL_API long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *b, void *m);
const WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void);
WOLFSSL_API void wolfSSL_RAND_screen(void);
@@ -654,6 +676,32 @@ WOLFSSL_API long wolfSSL_CTX_sess_timeouts(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_CTX_sess_number(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_CTX_sess_get_cache_size(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_need_tmp_RSA(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_set_tmp_rsa(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_set_tmp_dh(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_add_extra_chain_cert(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_sess_set_cache_size(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_sess_get_cache_size(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_get_session_cache_mode(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_get_read_ahead(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_set_read_ahead(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX*);
WOLFSSL_API long wolfSSL_SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(WOLFSSL_CTX*);
WOLFSSL_API unsigned long wolfSSL_SSL_set_options(WOLFSSL *s, unsigned long op);
WOLFSSL_API unsigned long wolfSSL_SSL_get_options(const WOLFSSL *s);
WOLFSSL_API long wolfSSL_SSL_clear_num_renegotiations(WOLFSSL *s);
WOLFSSL_API long wolfSSL_SSL_total_renegotiations(WOLFSSL *s);
WOLFSSL_API long wolfSSL_SSL_set_tmp_dh(WOLFSSL *s, WOLFSSL_DH *dh);
WOLFSSL_API long wolfSSL_SSL_set_tlsext_debug_arg(WOLFSSL *s, void *arg);
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_type(WOLFSSL *s, int type);
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_exts(WOLFSSL *s, void *arg);
WOLFSSL_API long wolfSSL_SSL_get_tlsext_status_ids(WOLFSSL *s, void *arg);
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_ids(WOLFSSL *s, void *arg);
WOLFSSL_API long wolfSSL_SSL_get_tlsext_status_ocsp_resp(WOLFSSL *s, unsigned char **resp);
WOLFSSL_API long wolfSSL_SSL_set_tlsext_status_ocsp_resp(WOLFSSL *s, unsigned char *resp, int len);
#define WOLFSSL_DEFAULT_CIPHER_LIST "" /* default all */
#define WOLFSSL_RSA_F4 0x10001L
@@ -1861,7 +1909,12 @@ WOLFSSL_API unsigned char *wolfSSL_SHA1(const unsigned char *d, size_t n, unsign
WOLFSSL_API int wolfSSL_X509_check_private_key(WOLFSSL_X509*, WOLFSSL_EVP_PKEY*);
WOLFSSL_API STACK_OF(WOLFSSL_X509_NAME) *wolfSSL_dup_CA_list( STACK_OF(WOLFSSL_X509_NAME) *sk );
/* end lighttpd, mysql, have_stunnel*/
WOLFSSL_API unsigned long wolfSSL_SSL_CTX_get_options(const WOLFSSL_CTX *ctx);
WOLFSSL_API unsigned long wolfSSL_SSL_CTX_set_options(WOLFSSL_CTX *ctx, unsigned long op);
WOLFSSL_API unsigned long wolfSSL_SSL_get_options(const WOLFSSL *s);
WOLFSSL_API unsigned long wolfSSL_SSL_set_options(WOLFSSL *s, unsigned long op);
/* end lighttpd*/
#endif
#endif