Improve documentation of BIO_FLAGS_BASE64_NO_NL flag.
authorDaniel <daniel@openssl.org>
Mon, 21 Feb 2022 12:25:25 +0000 (13:25 +0100)
committerTomas Mraz <tomas@openssl.org>
Wed, 2 Mar 2022 12:01:54 +0000 (13:01 +0100)
Fixes #12491.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17744)

(cherry picked from commit 8bfb7506d210841f2ee4eda8afe96441a0e33fa5)

doc/man3/BIO_f_base64.pod

index 69de0077f72da6d54799967c06fcc083d42ed8ec..f97288ef3d80c59bc2557fc0742168d0ace2b49e 100644 (file)
@@ -21,13 +21,26 @@ any data read through it.
 
 Base64 BIOs do not support BIO_gets() or BIO_puts().
 
+For writing, output is by default divided to lines of length 64
+characters and there is always a newline at the end of output.
+
+For reading, first line should be at most 1024
+characters long. If it is longer then it is ignored completely.
+Other input lines can be of any length. There must be a newline
+at the end of input.
+
+This behavior can be changed with BIO_FLAGS_BASE64_NO_NL flag.
+
 BIO_flush() on a base64 BIO that is being written through is
 used to signal that no more data is to be encoded: this is used
 to flush the final block through the BIO.
 
-The flag BIO_FLAGS_BASE64_NO_NL can be set with BIO_set_flags()
-to encode the data all on one line or expect the data to be all
-on one line.
+The flag BIO_FLAGS_BASE64_NO_NL can be set with BIO_set_flags().
+For writing, it causes all data to be written on one line without
+newline at the end.
+For reading, it forces the decoder to process the data regardless
+of newlines. All newlines are ignored and the input does not need
+to contain any newline at all.
 
 =head1 NOTES