X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=doc%2Fman3%2FSSL_set_bio.pod;h=1fa0d34926008dff87082d6613d9a4df2ee0c37b;hp=104f40678ff8f6cda2e6773df205395ddec5227e;hb=306bb728d75cac39302bd672ad48d8bf103eba4c;hpb=69687aa829bc8bdcaf5468eb3dd0ada13700b7aa diff --git a/doc/man3/SSL_set_bio.pod b/doc/man3/SSL_set_bio.pod index 104f40678f..1fa0d34926 100644 --- a/doc/man3/SSL_set_bio.pod +++ b/doc/man3/SSL_set_bio.pod @@ -30,61 +30,67 @@ ownership of one reference. Therefore it may be necessary to increment the number of references available using L before calling the set0 functions. -SSL_set_bio() does a similar job as SSL_set0_rbio() and SSL_set0_wbio() except -that it connects both the B and the B at the same time. This -function transfers the ownership of B and B to B except that -the rules for this are much more complex. For this reason this function is -considered a legacy function and SSL_set0_rbio() and SSL_set0_wbio() should be -used in preference. The ownership rules are as follows: +SSL_set_bio() is similar to SSL_set0_rbio() and SSL_set0_wbio() except +that it connects both the B and the B at the same time, and +transfers the ownership of B and B to B according to +the following set of rules: -=over 4 +=over 2 =item * -If neither the rbio or wbio have changed from their previous values then nothing -is done. +If neither the B or B have changed from their previous values +then nothing is done. =item * -If the rbio and wbio parameters are different and both are different to their +If the B and B parameters are different and both are different +to their previously set values then one reference is consumed for the rbio and one reference is consumed for the wbio. =item * -If the rbio and wbio parameters are the same and the rbio is not the same as the -previously set value then one reference is consumed. +If the B and B parameters are the same and the B is not +the same as the previously set value then one reference is consumed. =item * -If the rbio and wbio parameters are the same and the rbio is the same as the -previously set value, then no additional references are consumed. +If the B and B parameters are the same and the B is the +same as the previously set value, then no additional references are consumed. =item * -If the rbio and wbio parameters are different and the rbio is the same as the -previously set value then one reference is consumed for the wbio and no -references are consumed for the rbio. +If the B and B parameters are different and the B is the +same as the +previously set value then one reference is consumed for the B and no +references are consumed for the B. =item * -If the rbio and wbio parameters are different and the wbio is the same as the -previously set value and the old rbio and wbio values were the same as each -other then one reference is consumed for the rbio and no references are consumed -for the wbio. +If the B and B parameters are different and the B is the +same as the previously set value and the old B and B values +were the same as each other then one reference is consumed for the B +and no references are consumed for the B. =item * -If the rbio and wbio parameters are different and the wbio is the same as the -previously set value and the old rbio and wbio values were different to each -other then one reference is consumed for the rbio and one reference is consumed -for the wbio. +If the B and B parameters are different and the B +is the same as the +previously set value and the old B and B values were different +to each +other then one reference is consumed for the B and one reference +is consumed +for the B. =back +Because of this complexity, this function should be avoided; +use SSL_set0_rbio() and SSL_set0_wbio() instead. + =head1 RETURN VALUES -SSL_set_bio(), SSL_set_rbio() and SSL_set_wbio() cannot fail. +SSL_set_bio(), SSL_set0_rbio() and SSL_set0_wbio() cannot fail. =head1 SEE ALSO @@ -98,7 +104,7 @@ SSL_set0_rbio() and SSL_set0_wbio() were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy