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;
|
ret = NOT_COMPILED_IN;
|
||||||
#endif
|
#endif
|
||||||
break;
|
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 */
|
} /* switch */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -732,6 +741,15 @@ int wolfSSL_BIO_write(WOLFSSL_BIO* bio, const void* data, int len)
|
|||||||
ret = NOT_COMPILED_IN;
|
ret = NOT_COMPILED_IN;
|
||||||
#endif
|
#endif
|
||||||
break;
|
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 */
|
} /* switch */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1830,6 +1848,7 @@ long wolfSSL_BIO_set_nbio(WOLFSSL_BIO* bio, long on)
|
|||||||
if (bio) {
|
if (bio) {
|
||||||
switch (bio->type) {
|
switch (bio->type) {
|
||||||
case WOLFSSL_BIO_SOCKET:
|
case WOLFSSL_BIO_SOCKET:
|
||||||
|
case WOLFSSL_BIO_DGRAM:
|
||||||
#ifdef XFCNTL
|
#ifdef XFCNTL
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@@ -2146,6 +2165,32 @@ int wolfSSL_BIO_flush(WOLFSSL_BIO* bio)
|
|||||||
return 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
|
* Create new socket BIO object. This is a pure TCP connection with
|
||||||
* no SSL or TLS protection.
|
* no SSL or TLS protection.
|
||||||
|
@@ -8805,11 +8805,6 @@ const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_VERIFY_PARAM_lookup(const char *na
|
|||||||
return NULL;
|
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"
|
/* inherits properties of param "to" to param "from"
|
||||||
*
|
*
|
||||||
* WOLFSSL_VPARAM_DEFAULT any values in "src" is copied
|
* WOLFSSL_VPARAM_DEFAULT any values in "src" is copied
|
||||||
|
@@ -474,7 +474,8 @@ enum BIO_TYPE {
|
|||||||
WOLFSSL_BIO_BIO = 5,
|
WOLFSSL_BIO_BIO = 5,
|
||||||
WOLFSSL_BIO_FILE = 6,
|
WOLFSSL_BIO_FILE = 6,
|
||||||
WOLFSSL_BIO_BASE64 = 7,
|
WOLFSSL_BIO_BASE64 = 7,
|
||||||
WOLFSSL_BIO_MD = 8
|
WOLFSSL_BIO_MD = 8,
|
||||||
|
WOLFSSL_BIO_DGRAM = 9
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BIO_FLAGS {
|
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 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_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_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 int wolfSSL_BIO_eof(WOLFSSL_BIO* b);
|
||||||
|
|
||||||
WOLFSSL_API WOLFSSL_BIO_METHOD* wolfSSL_BIO_s_mem(void);
|
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_bio(void);
|
||||||
WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(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_connect(const char *str);
|
||||||
WOLFSSL_API WOLFSSL_BIO *wolfSSL_BIO_new_accept(const char *port);
|
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);
|
const WOLFSSL_X509_VERIFY_PARAM* from);
|
||||||
WOLFSSL_API const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_VERIFY_PARAM_lookup(
|
WOLFSSL_API const WOLFSSL_X509_VERIFY_PARAM *wolfSSL_X509_VERIFY_PARAM_lookup(
|
||||||
const char *name);
|
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,
|
WOLFSSL_API int wolfSSL_X509_VERIFY_PARAM_inherit(WOLFSSL_X509_VERIFY_PARAM *to,
|
||||||
const WOLFSSL_X509_VERIFY_PARAM *from);
|
const WOLFSSL_X509_VERIFY_PARAM *from);
|
||||||
WOLFSSL_API int wolfSSL_X509_load_crl_file(WOLFSSL_X509_LOOKUP *ctx,
|
WOLFSSL_API int wolfSSL_X509_load_crl_file(WOLFSSL_X509_LOOKUP *ctx,
|
||||||
|
Reference in New Issue
Block a user