Topic: How to use socket-type BIOs?
I'm using a library designed for OpenSSL. The library's API takes BIO pointers. It later calls BIO_read() and BIO_write() on that BIO pointer.
If I use the WolfSSL API normally, the WOLFSSL structure doesn't fill in the biord and biowr fields, so SSL_get_rbio/SSL_get_wbio won't provide me a BIO to pass to the third party library.
I can successfully create a socket BIO using BIO_new_socket with an opened/connected socket file descriptor, pass it to SSL_set_bio, then SSL_connect(). Everything succeeds.
SSL_write() of a char * buffer also succeeds. But if I replace that with a BIO_write(), no data is sent.
BIO_write doesn't handle BIOs of type WOLFSSL_BIO_SOCKET, so it doesn't actually work on my BIO.