diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2016-12-01 16:48:37 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2016-12-01 16:48:37 +0000 |
commit | df891e6b7efd6de8ddb1e15606d83c06f813e692 (patch) | |
tree | 41fa71a12a6f21c534ffdd38ad680034fc00481d /lib/libssl/man | |
parent | 4cdd36b12da34c8cb2ff354bced1972a42296c24 (diff) |
import SSL_CTX_set_read_ahead(3) from OpsenSSL, with considerable tweaks
Diffstat (limited to 'lib/libssl/man')
-rw-r--r-- | lib/libssl/man/Makefile | 3 | ||||
-rw-r--r-- | lib/libssl/man/SSL_CTX_set_read_ahead.3 | 131 |
2 files changed, 133 insertions, 1 deletions
diff --git a/lib/libssl/man/Makefile b/lib/libssl/man/Makefile index 3078a76008b..6e565b0a975 100644 --- a/lib/libssl/man/Makefile +++ b/lib/libssl/man/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.41 2016/12/01 16:02:14 schwarze Exp $ +# $OpenBSD: Makefile,v 1.42 2016/12/01 16:48:36 schwarze Exp $ .include <bsd.own.mk> @@ -34,6 +34,7 @@ MAN = BIO_f_ssl.3 \ SSL_CTX_set_msg_callback.3 \ SSL_CTX_set_options.3 \ SSL_CTX_set_quiet_shutdown.3 \ + SSL_CTX_set_read_ahead.3 \ SSL_CTX_set_session_cache_mode.3 \ SSL_CTX_set_session_id_context.3 \ SSL_CTX_set_ssl_version.3 \ diff --git a/lib/libssl/man/SSL_CTX_set_read_ahead.3 b/lib/libssl/man/SSL_CTX_set_read_ahead.3 new file mode 100644 index 00000000000..4b6f6d7f21d --- /dev/null +++ b/lib/libssl/man/SSL_CTX_set_read_ahead.3 @@ -0,0 +1,131 @@ +.\" $OpenBSD: SSL_CTX_set_read_ahead.3,v 1.1 2016/12/01 16:48:36 schwarze Exp $ +.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100 +.\" +.\" This file was written by Matt Caswell <matt@openssl.org>. +.\" Copyright (c) 2015, 2016 The OpenSSL Project. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in +.\" the documentation and/or other materials provided with the +.\" distribution. +.\" +.\" 3. All advertising materials mentioning features or use of this +.\" software must display the following acknowledgment: +.\" "This product includes software developed by the OpenSSL Project +.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +.\" +.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +.\" endorse or promote products derived from this software without +.\" prior written permission. For written permission, please contact +.\" openssl-core@openssl.org. +.\" +.\" 5. Products derived from this software may not be called "OpenSSL" +.\" nor may "OpenSSL" appear in their names without prior written +.\" permission of the OpenSSL Project. +.\" +.\" 6. Redistributions of any form whatsoever must retain the following +.\" acknowledgment: +.\" "This product includes software developed by the OpenSSL Project +.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +.\" OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd $Mdocdate: December 1 2016 $ +.Dt SSL_CTX_SET_READ_AHEAD 3 +.Os +.Sh NAME +.Nm SSL_CTX_set_read_ahead , +.Nm SSL_CTX_get_read_ahead , +.Nm SSL_set_read_ahead , +.Nm SSL_get_read_ahead , +.Nm SSL_CTX_get_default_read_ahead +.Nd manage whether to read as many input bytes as possible +.Sh SYNOPSIS +.In openssl/ssl.h +.Ft void +.Fo SSL_CTX_set_read_ahead +.Fa "SSL_CTX *ctx" +.Fa "int yes" +.Fc +.Ft long +.Fo SSL_CTX_get_read_ahead +.Fa "SSL_CTX *ctx" +.Fc +.Ft void +.Fo SSL_set_read_ahead +.Fa "SSL *s" +.Fa "int yes" +.Fc +.Ft long +.Fo SSL_get_read_ahead +.Fa "const SSL *s" +.Fc +.Ft long +.Fo SSL_CTX_get_default_read_ahead +.Fa "SSL_CTX *ctx" +.Fc +.Sh DESCRIPTION +.Fn SSL_CTX_set_read_ahead +and +.Fn SSL_set_read_ahead +set whether as many input bytes as possible are read for non-blocking +reads. +For example if +.Ar x +bytes are currently required by OpenSSL, but +.Ar y +bytes are available from the underlying BIO (where +.Ar y No > Ar x ) , +then OpenSSL will read all +.Ar y +bytes into its buffer (provided that the buffer is large enough) if +reading ahead is on, or +.Ar x +bytes otherwise. +The parameter +.Fa yes +should be 0 to ensure reading ahead is off, or non zero otherwise. +.Pp +.Fn SSL_CTX_get_read_ahead +and +.Fn SSL_get_read_ahead +indicate whether reading ahead is set or not. +.Pp +.Fn SSL_CTX_get_default_read_ahead +is identical to +.Fn SSL_CTX_get_read_ahead . +.Pp +These functions are implemented as macros. +.Pp +These functions have no effect when used with DTLS. +.Sh RETURN VALUES +.Fn SSL_CTX_get_read_ahead +and +.Fn SSL_get_read_ahead +return 0 if reading ahead is off or non-zero otherwise, +except that the return values are undefined for DTLS. +.Sh SEE ALSO +.Xr ssl 3 , +.Xr SSL_pending 3 +.Sh CAVEATS +Switching read ahead on can impact the behaviour of the +.Xr SSL_pending 3 +function. |