Added stubs required to compile HAPROXY

This commit is contained in:
Daniele Lacamera
2017-04-11 16:03:08 +02:00
parent 8f300515bd
commit de017b0028
3 changed files with 225 additions and 0 deletions

183
src/ssl.c
View File

@ -14288,6 +14288,11 @@ WOLFSSL_COMP_METHOD* wolfSSL_COMP_rle(void)
return 0;
}
int sk_SSL_COMP_zero(WOLFSSL* st)
{
wolfSSL_set_options(st, SSL_OP_NO_COMPRESSION);
return 0;
}
int wolfSSL_COMP_add_compression_method(int method, void* data)
{
@ -15392,6 +15397,14 @@ long wolfSSL_set_tlsext_debug_arg(WOLFSSL* ssl, void *arg)
}
#endif /* HAVE_PK_CALLBACKS */
#ifdef WOLFSSL_HAPROXY
const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *sess, unsigned int *sid_ctx_length)
{
const byte *c = wolfSSL_SESSION_get_id((SSL_SESSION *)sess, sid_ctx_length);
return c;
}
#endif
/*** TBD ***/
WOLFSSL_API long wolfSSL_set_tlsext_status_type(WOLFSSL *s, int type)
{
@ -15432,6 +15445,169 @@ WOLFSSL_API long wolfSSL_set_tlsext_status_ids(WOLFSSL *s, void *arg)
return 0;
}
/*** TBD ***/
int SSL_SESSION_set1_id(WOLFSSL_SESSION *s, const unsigned char *sid, unsigned int sid_len)
{
(void)s;
(void)sid;
(void)sid_len;
return 1;
}
/*** TBD ***/
int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, unsigned int sid_ctx_len)
{
(void)s;
(void)sid_ctx;
(void)sid_ctx_len;
return 1;
}
/*** TBD ***/
void *X509_get0_tbs_sigalg(const X509 *x)
{
(void)x;
return NULL;
}
/*** TBD ***/
void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, const void **ppval, const void *algor)
{
(void)paobj;
(void)pptype;
(void)ppval;
(void)algor;
}
/*** TBD ***/
void *X509_get_X509_PUBKEY(void * x)
{
(void)x;
return NULL;
}
/*** TBD ***/
int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, void **pa, WOLFSSL_EVP_PKEY *pub)
{
(void)ppkalg;
(void)pk;
(void)ppklen;
(void)pa;
(void)pub;
return 1;
}
/*** TBD ***/
struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl)
{
(void)ssl;
return NULL;
}
/*** TBD ***/
int EVP_PKEY_bits(EVP_PKEY *pkey)
{
(void)pkey;
return -1;
}
/*** TBD ***/
int i2d_X509(X509 *x, unsigned char **out)
{
(void)x;
(void)out;
return -1;
}
/*** TBD ***/
int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a)
{
(void)buf;
(void)buf_len;
(void)a;
return -1;
}
/*** TBD ***/
size_t SSL_get_finished(const SSL *s, void *buf, size_t count)
{
(void)s;
(void)buf;
(void)count;
return 0;
}
/*** TBD ***/
size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count)
{
(void)s;
(void)buf;
(void)count;
return 0;
}
/*** TBD ***/
void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*dh) (SSL *ssl, int is_export, int keylength))
{
(void)ctx;
(void)dh;
}
/*** TBD ***/
STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void)
{
return NULL;
}
/*** TBD ***/
int sk_SSL_CIPHER_num(const void * p)
{
(void)p;
return -1;
}
/*** TBD ***/
X509 *PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u)
{
(void)fp;
(void)x;
(void)cb;
(void)u;
return NULL;
}
/*** TBD ***/
EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u)
{
(void)fp;
(void)x;
(void)cb;
(void)u;
return NULL;
}
/*** TBD ***/
int X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *dir)
{
(void)ctx;
(void)file;
(void)dir;
return -1;
}
/*** TBD ***/
int sk_SSL_CIPHER_value(void *ciphers, int idx)
{
(void)ciphers;
(void)idx;
return 0;
}
void ERR_load_SSL_strings(void)
{
}
WOLFSSL_API long wolfSSL_get_tlsext_status_ocsp_resp(WOLFSSL *s, unsigned char **resp)
{
if (s == NULL || resp == NULL)
@ -22657,6 +22833,13 @@ const char * wolfSSL_get_servername(WOLFSSL* ssl, byte type)
#endif /* HAVE_SNI */
#if defined(WOLFSSL_HAPROXY)
#endif
WOLFSSL_CTX* wolfSSL_set_SSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx)
{
if (ssl && ctx && SetSSL_CTX(ssl, ctx) == SSL_SUCCESS)

View File

@ -518,6 +518,17 @@ typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY;
#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509
#endif /* HAVE_STUNNEL || HAVE_LIGHTY || WOLFSSL_MYSQL_COMPATIBLE || WOLFSSL_NGINX || WOLFSSL_HAPROXY */
#ifdef WOLFSSL_HAPROXY
#define SSL_get_rbio wolfSSL_SSL_get_rbio
#define SSL_get_wbio wolfSSL_SSL_get_wbio
#define SSL_do_handshake wolfSSL_SSL_do_handshake
#define SSL_get_ciphers(x) wolfSSL_get_ciphers(x, sizeof(x))
#define SSL_SESSION_get_id wolfSSL_SESSION_get_id
#define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_data
#define SSL_get_cipher_bits(s,np) wolfSSL_CIPHER_get_bits(SSL_get_current_cipher(s),np)
#endif
#define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh
#define BIO_new_file wolfSSL_BIO_new_file

View File

@ -2293,6 +2293,37 @@ WOLFSSL_API void wolfSSL_CTX_set_alpn_select_cb(WOLFSSL_CTX *ctx,
unsigned int inlen,
void *arg), void *arg);
WOLFSSL_API int sk_SSL_COMP_zero(WOLFSSL* st);
#ifdef WOLFSSL_HAPROXY
WOLFSSL_API const unsigned char *SSL_SESSION_get0_id_context(
const WOLFSSL_SESSION *sess, unsigned int *sid_ctx_length);
#endif
int SSL_SESSION_set1_id(WOLFSSL_SESSION *s, const unsigned char *sid, unsigned int sid_len);
int SSL_SESSION_set1_id_context(WOLFSSL_SESSION *s, const unsigned char *sid_ctx, unsigned int sid_ctx_len);
void *X509_get0_tbs_sigalg(const WOLFSSL_X509 *x);
void X509_ALGOR_get0(WOLFSSL_ASN1_OBJECT **paobj, int *pptype, const void **ppval, const void *algor);
void *X509_get_X509_PUBKEY(void * x);
int X509_PUBKEY_get0_param(WOLFSSL_ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, void **pa, WOLFSSL_EVP_PKEY *pub);
struct evp_pkey_st *SSL_get_privatekey(const WOLFSSL *ssl);
int EVP_PKEY_bits(WOLFSSL_EVP_PKEY *pkey);
int i2d_X509(WOLFSSL_X509 *x, unsigned char **out);
int i2t_ASN1_OBJECT(char *buf, int buf_len, WOLFSSL_ASN1_OBJECT *a);
size_t SSL_get_finished(const WOLFSSL *s, void *buf, size_t count);
size_t SSL_get_peer_finished(const WOLFSSL *s, void *buf, size_t count);
void SSL_CTX_set_tmp_dh_callback(WOLFSSL_CTX *ctx, WOLFSSL_DH *(*dh) (WOLFSSL *ssl, int is_export, int keylength));
STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
int sk_SSL_CIPHER_num(const void * p);
int X509_STORE_load_locations(WOLFSSL_X509_STORE *ctx, const char *file, const char *dir);
int sk_SSL_CIPHER_value(void *ciphers, int idx);
void ERR_load_SSL_strings(void);
WOLFSSL_X509 *PEM_read_X509(FILE *fp, WOLFSSL_X509 **x, pem_password_cb *cb, void *u);
WOLFSSL_EVP_PKEY *PEM_read_PrivateKey(FILE *fp, WOLFSSL_EVP_PKEY **x, pem_password_cb *cb, void *u);
#ifdef __cplusplus
} /* extern "C" */
#endif