| 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_WRITESSL_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_BUFFERSSL_MODE_AUTO_RETRYSSL_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_BUFFERSSSL_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 |