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