xref: /openbsd-src/lib/libcrypto/man/BIO_f_null.3 (revision eae3c81d70fa5e5d80517463d64c419bce6b3d36)
1*eae3c81dSschwarze.\" $OpenBSD: BIO_f_null.3,v 1.12 2023/04/11 16:58:43 schwarze Exp $
253d779efSschwarze.\" full merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100
38974101aSjmc.\"
46c1b3e16Sschwarze.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
56c1b3e16Sschwarze.\" Copyright (c) 2000 The OpenSSL Project.  All rights reserved.
66c1b3e16Sschwarze.\"
76c1b3e16Sschwarze.\" Redistribution and use in source and binary forms, with or without
86c1b3e16Sschwarze.\" modification, are permitted provided that the following conditions
96c1b3e16Sschwarze.\" are met:
106c1b3e16Sschwarze.\"
116c1b3e16Sschwarze.\" 1. Redistributions of source code must retain the above copyright
126c1b3e16Sschwarze.\"    notice, this list of conditions and the following disclaimer.
136c1b3e16Sschwarze.\"
146c1b3e16Sschwarze.\" 2. Redistributions in binary form must reproduce the above copyright
156c1b3e16Sschwarze.\"    notice, this list of conditions and the following disclaimer in
166c1b3e16Sschwarze.\"    the documentation and/or other materials provided with the
176c1b3e16Sschwarze.\"    distribution.
186c1b3e16Sschwarze.\"
196c1b3e16Sschwarze.\" 3. All advertising materials mentioning features or use of this
206c1b3e16Sschwarze.\"    software must display the following acknowledgment:
216c1b3e16Sschwarze.\"    "This product includes software developed by the OpenSSL Project
226c1b3e16Sschwarze.\"    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
236c1b3e16Sschwarze.\"
246c1b3e16Sschwarze.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
256c1b3e16Sschwarze.\"    endorse or promote products derived from this software without
266c1b3e16Sschwarze.\"    prior written permission. For written permission, please contact
276c1b3e16Sschwarze.\"    openssl-core@openssl.org.
286c1b3e16Sschwarze.\"
296c1b3e16Sschwarze.\" 5. Products derived from this software may not be called "OpenSSL"
306c1b3e16Sschwarze.\"    nor may "OpenSSL" appear in their names without prior written
316c1b3e16Sschwarze.\"    permission of the OpenSSL Project.
326c1b3e16Sschwarze.\"
336c1b3e16Sschwarze.\" 6. Redistributions of any form whatsoever must retain the following
346c1b3e16Sschwarze.\"    acknowledgment:
356c1b3e16Sschwarze.\"    "This product includes software developed by the OpenSSL Project
366c1b3e16Sschwarze.\"    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
376c1b3e16Sschwarze.\"
386c1b3e16Sschwarze.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
396c1b3e16Sschwarze.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
406c1b3e16Sschwarze.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
416c1b3e16Sschwarze.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
426c1b3e16Sschwarze.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
436c1b3e16Sschwarze.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
446c1b3e16Sschwarze.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
456c1b3e16Sschwarze.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
466c1b3e16Sschwarze.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
476c1b3e16Sschwarze.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
486c1b3e16Sschwarze.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
496c1b3e16Sschwarze.\" OF THE POSSIBILITY OF SUCH DAMAGE.
506c1b3e16Sschwarze.\"
51*eae3c81dSschwarze.Dd $Mdocdate: April 11 2023 $
529a5a2d0dSschwarze.Dt BIO_F_NULL 3
539a5a2d0dSschwarze.Os
549a5a2d0dSschwarze.Sh NAME
559a5a2d0dSschwarze.Nm BIO_f_null
569f71e853Sschwarze.\" .Nm BIO_f_nbio_test is intentionally undocumented
579f71e853Sschwarze.\" because it exposes absurd functionality that is unused
589f71e853Sschwarze.\" except in openssl(1) s_client/s_server -nbio_test.
599a5a2d0dSschwarze.Nd null filter
609a5a2d0dSschwarze.Sh SYNOPSIS
619a5a2d0dSschwarze.In openssl/bio.h
62abc5ebd3Sschwarze.Ft const BIO_METHOD *
639a5a2d0dSschwarze.Fo BIO_f_null
649a5a2d0dSschwarze.Fa void
659a5a2d0dSschwarze.Fc
669a5a2d0dSschwarze.Sh DESCRIPTION
679a5a2d0dSschwarze.Fn BIO_f_null
689a5a2d0dSschwarzereturns the null filter BIO method.
699a5a2d0dSschwarzeThis is a filter BIO that does nothing.
70b34045edSjmcAs may be apparent, a null filter BIO is not particularly useful.
719a5a2d0dSschwarze.Pp
729a5a2d0dSschwarzeAll requests to a null filter BIO are passed through to the next BIO
739a5a2d0dSschwarzein the chain: this means that a BIO chain containing a null filter BIO
749a5a2d0dSschwarzebehaves just as though the BIO was not there.
7553d779efSschwarze.Pp
7653d779efSschwarzeA chain containing a null filter BIO cannot be copied with
7753d779efSschwarze.Xr BIO_dup_chain 3 ,
7853d779efSschwarzeand any attempt to do so fails and returns
7953d779efSschwarze.Dv NULL .
809a5a2d0dSschwarze.Sh RETURN VALUES
819a5a2d0dSschwarze.Fn BIO_f_null
829a5a2d0dSschwarzereturns the null filter BIO method.
83*eae3c81dSschwarze.Pp
84*eae3c81dSschwarzeWhen called on a null filter BIO object,
85*eae3c81dSschwarze.Xr BIO_method_type 3
86*eae3c81dSschwarzereturns the constant
87*eae3c81dSschwarze.Dv BIO_TYPE_NULL_FILTER
88*eae3c81dSschwarzeand
89*eae3c81dSschwarze.Xr BIO_method_name 3
90*eae3c81dSschwarzereturns a pointer to the static string
91*eae3c81dSschwarze.Qq NULL filter ,
92*eae3c81dSschwarzenot to be confused with a NUL string nor with a
93*eae3c81dSschwarze.Dv NULL pointer .
9483df270eSschwarze.Sh SEE ALSO
9583df270eSschwarze.Xr BIO_new 3
9694cd7e1eSschwarze.Sh HISTORY
9794cd7e1eSschwarze.Fn BIO_f_null
9810e00d17Sschwarzefirst appeared in SSLeay 0.8.0 and has been available since
9994cd7e1eSschwarze.Ox 2.4 .
100