SSL_SET_BIO(3)

πŸ“¦ version 4.4.0, in alpine 3.24, arch rolling

πŸ’– SSL_SET_BIO β€” a libssl Library Functions Manual moment, bestie πŸ’–

okay so this is the Library Functions Manual page for SSL_set_bio, brought to you by libssl, and it’s literally all about connecting an SSL object to a BIO. iconic. πŸ’…

✨ NAME ✨

SSL_set_bio β€” connect the SSL object with a BIO

πŸŽ€ SYNOPSIS πŸŽ€

library β€œlibssl” libcrypto #include <openssl/ssl.h>

void
SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);

πŸ¦‹ DESCRIPTION πŸ¦‹

SSL_set_bio() connects the BIOs rbio and wbio for the read and write operations of the TLS/SSL (encrypted) side of ssl. so rbio is handling the read vibe and wbio is handling the write vibe, no cap. 🫢

The SSL engine inherits the behaviour of rbio and wbio, respectively. so if a BIO is non-blocking, the ssl will also have non-blocking behaviour. it’s giving β€œyou are who you surround yourself with” but for I/O. 😭

heads up bestie: if there was already a BIO connected to ssl, BIO_free(3) will be called (for both the reading and writing side, if different). so yeah, the old BIO gets cleaned up. don’t forget it. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

🌈 HISTORY 🌈

SSL_set_bio() first appeared in SSLeay 0.6.0 and has been available since OpenBSD 2.4. a whole historical moment, fr fr. ⭐


that’s the whole page, bestie β€” footer says Debian, June 8, 2025, SSL_SET_BIO(3). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from