forked from wolfSSL/wolfssl
checkpoint progress: add wolfSSL_BIO_s_dgram, wolfSSL_BIO_new_dgram, WOLFSSL_BIO_DGRAM, and remove now-duplicate prototype and definition of wolfSSL_X509_STORE_get0_param.
This commit is contained in:
45
src/bio.c
45
src/bio.c
@ -351,6 +351,15 @@ int wolfSSL_BIO_read(WOLFSSL_BIO* bio, void* buf, int len)
|
||||
ret = NOT_COMPILED_IN;
|
||||
#endif
|
||||
break;
|
||||
case WOLFSSL_BIO_DGRAM:
|
||||
#ifdef USE_WOLFSSL_IO
|
||||
/* BIO requires built-in socket support
|
||||
* (cannot be used with WOLFSSL_USER_IO) */
|
||||
ret = wolfIO_RecvDgram(bio->num, (char*)buf, len, 0);
|
||||
#else
|
||||
ret = NOT_COMPILED_IN;
|
||||
#endif
|
||||
break;
|
||||
} /* switch */
|
||||
}
|
||||
|
||||
@ -732,6 +741,15 @@ int wolfSSL_BIO_write(WOLFSSL_BIO* bio, const void* data, int len)
|
||||
ret = NOT_COMPILED_IN;
|
||||
#endif
|
||||
break;
|
||||
case WOLFSSL_BIO_DGRAM:
|
||||
#ifdef USE_WOLFSSL_IO
|
||||
/* BIO requires built-in socket support
|
||||
* (cannot be used with WOLFSSL_USER_IO) */
|
||||
ret = wolfIO_SendDgram(bio->num, (char*)data, len, 0);
|
||||
#else
|
||||
ret = NOT_COMPILED_IN;
|
||||
#endif
|
||||
break;
|
||||
} /* switch */
|
||||
}
|
||||
|
||||
@ -1830,6 +1848,7 @@ long wolfSSL_BIO_set_nbio(WOLFSSL_BIO* bio, long on)
|
||||
if (bio) {
|
||||
switch (bio->type) {
|
||||
case WOLFSSL_BIO_SOCKET:
|
||||
case WOLFSSL_BIO_DGRAM:
|
||||
#ifdef XFCNTL
|
||||
{
|
||||
int ret;
|
||||
@ -2146,6 +2165,32 @@ int wolfSSL_BIO_flush(WOLFSSL_BIO* bio)
|
||||
return bio;
|
||||
}
|
||||
|
||||
|
||||
WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_dgram(void)
|
||||
{
|
||||
static WOLFSSL_BIO_METHOD meth =
|
||||
WOLFSSL_BIO_METHOD_INIT(WOLFSSL_BIO_DGRAM);
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_BIO_s_dgram");
|
||||
|
||||
return &meth;
|
||||
}
|
||||
|
||||
|
||||
WOLFSSL_BIO* wolfSSL_BIO_new_dgram(int fd, int closeF)
|
||||
{
|
||||
WOLFSSL_BIO* bio = wolfSSL_BIO_new(wolfSSL_BIO_s_dgram());
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_BIO_new_dgram");
|
||||
if (bio) {
|
||||
bio->type = WOLFSSL_BIO_DGRAM;
|
||||
bio->shutdown = (byte)closeF;
|
||||
bio->num = fd;
|
||||
}
|
||||
return bio;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create new socket BIO object. This is a pure TCP connection with
|
||||
* no SSL or TLS protection.
|
||||
|
@ -8805,11 +8805,6 @@ const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_VERIFY_PARAM_lookup(const char *na
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_STORE_get0_param(const WOLFSSL_X509_STORE *store)
|
||||
{
|
||||
return store->param;
|
||||
}
|
||||
|
||||
/* inherits properties of param "to" to param "from"
|
||||
*
|
||||
* WOLFSSL_VPARAM_DEFAULT any values in "src" is copied
|
||||
|
@ -474,7 +474,8 @@ enum BIO_TYPE {
|
||||
WOLFSSL_BIO_BIO = 5,
|
||||
WOLFSSL_BIO_FILE = 6,
|
||||
WOLFSSL_BIO_BASE64 = 7,
|
||||
WOLFSSL_BIO_MD = 8
|
||||
WOLFSSL_BIO_MD = 8,
|
||||
WOLFSSL_BIO_DGRAM = 9
|
||||
};
|
||||
|
||||
enum BIO_FLAGS {
|
||||
@ -1774,6 +1775,7 @@ WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_f_buffer(void);
|
||||
WOLFSSL_API long wolfSSL_BIO_set_write_buffer_size(WOLFSSL_BIO* bio, long size);
|
||||
WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_f_ssl(void);
|
||||
WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_socket(int sfd, int flag);
|
||||
WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_dgram(int fd, int closeF);
|
||||
WOLFSSL_API int wolfSSL_BIO_eof(WOLFSSL_BIO* b);
|
||||
|
||||
WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_s_mem(void);
|
||||
@ -1833,6 +1835,7 @@ WOLFSSL_API WOLFSSL_BIO *wolfSSL_BIO_new_fd(int fd, int close_flag);
|
||||
|
||||
WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_bio(void);
|
||||
WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void);
|
||||
WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_dgram(void);
|
||||
|
||||
WOLFSSL_API WOLFSSL_BIO *wolfSSL_BIO_new_connect(const char *str);
|
||||
WOLFSSL_API WOLFSSL_BIO *wolfSSL_BIO_new_accept(const char *port);
|
||||
@ -2141,8 +2144,6 @@ WOLFSSL_API int wolfSSL_X509_VERIFY_PARAM_set1(WOLFSSL_X509_VERIFY_PARAM* to,
|
||||
const WOLFSSL_X509_VERIFY_PARAM* from);
|
||||
WOLFSSL_API const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_VERIFY_PARAM_lookup(
|
||||
const char *name);
|
||||
WOLFSSL_API const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_STORE_get0_param(
|
||||
const WOLFSSL_X509_STORE *store);
|
||||
WOLFSSL_API int wolfSSL_X509_VERIFY_PARAM_inherit(WOLFSSL_X509_VERIFY_PARAM *to,
|
||||
const WOLFSSL_X509_VERIFY_PARAM *from);
|
||||
WOLFSSL_API int wolfSSL_X509_load_crl_file(WOLFSSL_X509_LOOKUP *ctx,
|
||||
|
Reference in New Issue
Block a user