GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SMIME_CRLF_COPY(3) FreeBSD Library Functions Manual SMIME_CRLF_COPY(3)

SMIME_crlf_copy
buffered copy between BIOs

int
SMIME_crlf_copy(BIO *in_bio, BIO *out_bio, int flags);

SMIME_crlf_copy() copies data from in_bio to out_bio. To avoid many small write operations on out_bio, a buffering BIO created with BIO_f_buffer(3) is temporarily prepended to it.

If the bit SMIME_BINARY is set in the flags argument, all the data is copied verbatim using BIO_read(3) and BIO_write(3).

Otherwise, the data is read as text. All trailing carriage return and newline characters are discarded from every input line and a single pair of carriage return and newline characters is appended to mark the end of every output line, except that the last output line will end without such a pair if the last input line does not have a newline character at the end.

If the bit SMIME_TEXT is set in the flags argument and the bit SMIME_BINARY is not set, the line “Content-Type: text/plain” is prepended to the output with two pairs of carriage return and newline characters after it.

In any case, BIO_flush(3) is called on the output at the end of the function.

SMIME_crlf_copy() is intended to return 1 on success or 0 on failure.

BIO_f_buffer(3), BIO_flush(3), BIO_new(3), BIO_push(3), BIO_read(3), i2d_ASN1_bio_stream(3), SMIME_text(3), SMIME_write_ASN1(3)

SMIME_crlf_copy() first appeared in OpenSSL 1.0.0 and has been available since OpenBSD 4.9.

SMIME_crlf_copy() silently ignores most errors and may return 1 even if it lost part or all of the data in transit.

Only blocking BIOs are supported. If any of the BIO arguments is non-blocking, part or all of the data is likely to be silently lost in transit.

December 14, 2021 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.