Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/3926)
+Additionally the maximum early data value should be set via a call to
+L<SSL_SESSION_set_max_early_data(3)> if the PSK will be used for sending early
+data.
+
Alternatively an SSL_SESSION created from a previous non-PSK handshake may also
be used as the basis for a PSK.
Alternatively an SSL_SESSION created from a previous non-PSK handshake may also
be used as the basis for a PSK.
SSL_get_max_early_data,
SSL_CTX_get_max_early_data,
SSL_SESSION_get_max_early_data,
SSL_get_max_early_data,
SSL_CTX_get_max_early_data,
SSL_SESSION_get_max_early_data,
+SSL_SESSION_set_max_early_data,
SSL_write_early_data,
SSL_read_early_data,
SSL_get_early_data_status
SSL_write_early_data,
SSL_read_early_data,
SSL_get_early_data_status
int SSL_set_max_early_data(SSL *s, uint32_t max_early_data);
uint32_t SSL_get_max_early_data(const SSL *s);
uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s);
int SSL_set_max_early_data(SSL *s, uint32_t max_early_data);
uint32_t SSL_get_max_early_data(const SSL *s);
uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s);
+ int SSL_SESSION_set_max_early_data(SSL_SESSION *s, uint32_t max_early_data);
int SSL_write_early_data(SSL *s, const void *buf, size_t num, size_t *written);
int SSL_write_early_data(SSL *s, const void *buf, size_t num, size_t *written);
If the session cannot be used then this function will return 0. Otherwise it
will return the maximum number of early data bytes that can be sent.
If the session cannot be used then this function will return 0. Otherwise it
will return the maximum number of early data bytes that can be sent.
+The function SSL_SESSION_set_max_early_data() sets the maximum number of early
+data bytes that can be sent for a session. This would typically be used when
+creating a PSK session file (see L<SSL_CTX_set_psk_use_session_callback(3)>).
+
A client uses the function SSL_write_early_data() to send early data. This
function is similar to the L<SSL_write_ex(3)> function, but with the following
differences. See L<SSL_write_ex(3)> for information on how to write bytes to
A client uses the function SSL_write_early_data() to send early data. This
function is similar to the L<SSL_write_ex(3)> function, but with the following
differences. See L<SSL_write_ex(3)> for information on how to write bytes to
SSL_SESSION_get_max_early_data() return the maximum number of early data bytes
that may be sent.
SSL_SESSION_get_max_early_data() return the maximum number of early data bytes
that may be sent.
-SSL_set_max_early_data() and SSL_CTX_set_max_early_data() return 1 for success
-or 0 for failure.
+SSL_set_max_early_data(), SSL_CTX_set_max_early_data() and
+SSL_SESSION_set_max_early_data() return 1 for success or 0 for failure.
SSL_get_early_data_status() returns SSL_EARLY_DATA_ACCEPTED if early data was
accepted by the server, SSL_EARLY_DATA_REJECTED if early data was rejected by
SSL_get_early_data_status() returns SSL_EARLY_DATA_ACCEPTED if early data was
accepted by the server, SSL_EARLY_DATA_REJECTED if early data was rejected by
L<SSL_connect(3)>,
L<SSL_accept(3)>,
L<SSL_do_handshake(3)>,
L<SSL_connect(3)>,
L<SSL_accept(3)>,
L<SSL_do_handshake(3)>,
+L<SSL_CTX_set_psk_use_session_callback(3)>,