From: Dr. David von Oheimb Date: Fri, 22 Oct 2021 10:04:35 +0000 (+0200) Subject: OSSL_HTTP_transfer.pod: clarify that resulting BIO must be freed X-Git-Tag: openssl-3.2.0-alpha1~3436 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a26c089ba3637a3283cc0e76ea9529e90d18ba0d;p=thirdparty%2Fopenssl.git OSSL_HTTP_transfer.pod: clarify that resulting BIO must be freed Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/16888) --- diff --git a/doc/man3/OSSL_HTTP_transfer.pod b/doc/man3/OSSL_HTTP_transfer.pod index ab30f5385f1..ff29c79837c 100644 --- a/doc/man3/OSSL_HTTP_transfer.pod +++ b/doc/man3/OSSL_HTTP_transfer.pod @@ -185,10 +185,11 @@ If the response header contains one or more "Content-Length" header lines and/or an ASN.1-encoded response is expected, which should include a total length, the length indications received are checked for consistency and for not exceeding any given maximum response length. -On receiving a response, the function returns the contents as a memory BIO, -which does not support streaming, in case an ASN.1-encoded response is expected. -Else it returns directly the read BIO that holds the response contents, +If an ASN.1-encoded response is expected, the function returns on success +the contents as a memory BIO, which does not support streaming. +Otherwise it returns directly the read BIO that holds the response contents, which allows a response of indefinite length and may support streaming. +The caller is responsible for freeing the BIO pointer obtained. OSSL_HTTP_get() uses HTTP GET to obtain data from I if non-NULL, else from the server contained in the I, and returns it as a BIO. @@ -202,6 +203,7 @@ If the scheme component of the I is C a TLS connection is requested and the I, as described for OSSL_HTTP_open(), must be provided. Also the remaining parameters are interpreted as described for OSSL_HTTP_open() and OSSL_HTTP_set1_request(), respectively. +The caller is responsible for freeing the BIO pointer obtained. OSSL_HTTP_transfer() exchanges an HTTP request and response over a connection managed via I without supporting redirection. @@ -213,6 +215,7 @@ or required and this was granted by the server, else it closes the connection and assigns NULL to I<*prctx>. The remaining parameters are interpreted as described for OSSL_HTTP_open() and OSSL_HTTP_set1_request(), respectively. +The caller is responsible for freeing the BIO pointer obtained. OSSL_HTTP_close() closes the connection and releases I. The I parameter is passed to any BIO update function @@ -238,6 +241,7 @@ is expected, else a BIO that may support streaming. The BIO must be freed by the caller. On failure, they return NULL. Failure conditions include connection/transfer timeout, parse errors, etc. +The caller is responsible for freeing the BIO pointer obtained. OSSL_HTTP_close() returns 0 if anything went wrong while disconnecting, else 1.