mirror of
https://github.com/openssl/openssl.git
synced 2024-12-21 06:09:35 +08:00
Document expected BIO operations for libssl
If your custom BIO does not implement BIO_CTRL_FLUSH, it won't work, but this is not document anywhere. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/26060)
This commit is contained in:
parent
5dbcfbff16
commit
847a23757f
@ -23,6 +23,9 @@ function, any existing B<rbio> that was previously set will also be freed via a
|
||||
call to L<BIO_free_all(3)> (this includes the case where the B<rbio> is set to
|
||||
the same value as previously).
|
||||
|
||||
If using a custom BIO, B<rbio> must implement either
|
||||
L<BIO_meth_set_read_ex(3)> or L<BIO_meth_set_read(3)>.
|
||||
|
||||
SSL_set0_wbio() works in the same as SSL_set0_rbio() except that it connects
|
||||
the BIO B<wbio> for the write operations of the B<ssl> object. Note that if the
|
||||
rbio and wbio are the same then SSL_set0_rbio() and SSL_set0_wbio() each take
|
||||
@ -30,6 +33,12 @@ ownership of one reference. Therefore, it may be necessary to increment the
|
||||
number of references available using L<BIO_up_ref(3)> before calling the set0
|
||||
functions.
|
||||
|
||||
If using a custom BIO, B<wbio> must implement
|
||||
L<BIO_meth_set_write_ex(3)> or L<BIO_meth_set_write(3)>. It additionally must
|
||||
implement L<BIO_flush(3)> using B<BIO_CTRL_FLUSH> and L<BIO_meth_set_ctrl(3)>.
|
||||
If flushing is unnecessary with B<wbio>, L<BIO_flush(3)> should return one and
|
||||
do nothing.
|
||||
|
||||
SSL_set_bio() is similar to SSL_set0_rbio() and SSL_set0_wbio() except
|
||||
that it connects both the B<rbio> and the B<wbio> at the same time, and
|
||||
transfers the ownership of B<rbio> and B<wbio> to B<ssl> according to
|
||||
|
Loading…
Reference in New Issue
Block a user