Mark BIO_nread0(3), BIO_nread(3), BIO_nwrite0(3), and BIO_nwrite(3)
authorschwarze <schwarze@openbsd.org>
Wed, 21 Dec 2022 15:08:37 +0000 (15:08 +0000)
committerschwarze <schwarze@openbsd.org>
Wed, 21 Dec 2022 15:08:37 +0000 (15:08 +0000)
as intentionally undocumented.

Bodo Moeller invented this "non-copying I/O" API in 1999, but according
to codesearch.debian.net, it is still completely unused by anything.
On top of that, it appears to be inflexible in so far as it only
supports BIO pairs and no other BIO types and fragile in so far as
it exposes pointers to internal storage and runs contrary to expectations
of how BIO objects are supposed to work.

lib/libcrypto/man/BIO_s_bio.3

index 3c5b1fb..227828e 100644 (file)
@@ -1,4 +1,4 @@
-.\" $OpenBSD: BIO_s_bio.3,v 1.15 2022/12/18 19:35:36 schwarze Exp $
+.\" $OpenBSD: BIO_s_bio.3,v 1.16 2022/12/21 15:08:37 schwarze Exp $
 .\" full merge up to: OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400
 .\"
 .\" This file was written by
@@ -53,7 +53,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 .\" OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: December 18 2022 $
+.Dd $Mdocdate: December 21 2022 $
 .Dt BIO_S_BIO 3
 .Os
 .Sh NAME
 .Nm BIO_get_read_request ,
 .Nm BIO_ctrl_get_read_request ,
 .Nm BIO_ctrl_reset_read_request
+.\" The following non-copying I/O functions are intentionally undocumented
+.\" because they seem fragile and unused by anything:
+.\" .Nm BIO_nread0
+.\" .Nm BIO_nread
+.\" .Nm BIO_nwrite0
+.\" .Nm BIO_nwrite
 .Nd BIO pair BIO
 .Sh SYNOPSIS
 .In openssl/bio.h