SSL_CTX_SET_MODE(3) | Library Functions Manual | SSL_CTX_SET_MODE(3) |
SSL_CTX_set_mode
,
SSL_set_mode
,
SSL_CTX_clear_mode
,
SSL_clear_mode
,
SSL_CTX_get_mode
,
SSL_get_mode
— manipulate
SSL engine mode
#include
<openssl/ssl.h>
long
SSL_CTX_set_mode
(SSL_CTX
*ctx, long
mode);
long
SSL_set_mode
(SSL
*ssl, long
mode);
long
SSL_CTX_clear_mode
(SSL_CTX
*ctx, long
mode);
long
SSL_clear_mode
(SSL
*ssl, long
mode);
long
SSL_CTX_get_mode
(SSL_CTX
*ctx);
long
SSL_get_mode
(SSL
*ssl);
SSL_CTX_set_mode
()
and
SSL_set_mode
()
enable the options contained in the bitmask mode for
the ctx or ssl object,
respectively. Options that were already enabled before the call are not
disabled.
SSL_CTX_clear_mode
()
and
SSL_clear_mode
()
disable the options contained in the bitmask mode for
the ctx or ssl object.
SSL_CTX_get_mode
()
and
SSL_get_mode
()
return a bitmask representing the options that are currently enabled for the
ctx or ssl object.
The following options are available:
SSL_MODE_ENABLE_PARTIAL_WRITE
SSL_write
(...,
n) to return r with
(i.e., report success when just a single record has been written). When not
set (the default), SSL_write(3) will
only report success once the complete chunk was written. Once
SSL_write(3) returns with
r, r bytes have been
successfully written and the next call to
SSL_write(3) must only send the
n − r bytes left, imitating the behaviour
of write(2).SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER
SSL_MODE_AUTO_RETRY
SSL_ERROR_WANT_READ
. In a non-blocking environment
applications must be prepared to handle incomplete read/write operations.
In a blocking environment, applications are not always prepared to deal
with read/write operations returning without success report. The flag
SSL_MODE_AUTO_RETRY
will cause read/write
operations to only return after the handshake and successful
completion.SSL_MODE_RELEASE_BUFFERS
SSL_CTX_set_mode
(),
SSL_set_mode
(),
SSL_CTX_clear_mode
(), and
SSL_clear_mode
() return the new mode bitmask after
adding or clearing mode.
SSL_CTX_get_mode
() and
SSL_get_mode
() return the current bitmask.
SSL_CTX_set_mode
(),
SSL_set_mode
(),
SSL_CTX_get_mode
(), and
SSL_get_mode
() first appeared in OpenSSL 0.9.4 and
have been available since OpenBSD 2.6.
SSL_CTX_clear_mode
() and
SSL_clear_mode
() first appeared in OpenSSL 0.9.8m
and have been available since OpenBSD 4.9.
SSL_MODE_AUTO_RETRY
was added in OpenSSL
0.9.6.
October 8, 2020 | OpenBSD-current |