aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssl/ssl
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2025-09-08 03:20:42 +0000
committerMark Johnston <markj@FreeBSD.org>2026-06-07 16:57:09 +0000
commit0f6e90c4cc4f9bb006de556b46db0dcb3283491a (patch)
tree8941e073cf664ecc73ded6c7fa38c064c282e7f8 /crypto/openssl/ssl
parent998de2d14e25c1246b8fe75f85c053e0b9781a8f (diff)
openssl: Update to 3.5.6 and associated fixes.
Included fixes: OpenSSL: update Makefiles to reflect 3.5.1 release (cherry picked from commit ee6882e6b1287aa910a4f74f5290ae397dbd5054) crypto/openssl: fix importing new versions from pristine trees (cherry picked from commit f43d0ac1b0e29bbd77d6b0b1c87dca075cd7b9bf) openssl: import 3.5.5 (cherry picked from commit f775385affefd7beac0d038d5cd9cbf01bfc4a06) OpenSSL: update vendor sources to match 3.5.5 content (cherry picked from commit 12eecb3bcc0be4d7fd35847252c40998806fc551) OpenSSL: install EVP_CIPHER_CTX_get_app_data.3 once (cherry picked from commit b0476eea5ef4ab2ccf2479652f486af3d4ab9cc0) MFV: crypto/openssl: update to 3.5.6 (cherry picked from commit e2fcde7333a515907316cf1a4ee4858edc90419d) OpenSSL: commit sys/crypto changes for 3.5.5 (cherry picked from commit e6c8997a8958c7aaec8e266d2eeefbfaa137e218) crypto/openssl: update artifacts to match 3.5.6 release artifacts (cherry picked from commit 293c738aa45003423f45eb7f0e37f3047e52c502) crypto/openssl: add new manpage from release 3.5.6 (cherry picked from commit 51a80be04fe63a8d6950a7524b3ca0d511ade131) Approved by: so Security: FreeBSD-EN-26:15.openssl Security: CVE-2026-2673 Security: CVE-2026-28387 Security: CVE-2026-28388 Security: CVE-2026-28389 Security: CVE-2026-31789 Security: CVE-2026-31790
Diffstat (limited to 'crypto/openssl/ssl')
-rw-r--r--crypto/openssl/ssl/bio_ssl.c20
-rw-r--r--crypto/openssl/ssl/d1_lib.c173
-rw-r--r--crypto/openssl/ssl/d1_msg.c6
-rw-r--r--crypto/openssl/ssl/d1_srtp.c88
-rw-r--r--crypto/openssl/ssl/methods.c176
-rw-r--r--crypto/openssl/ssl/pqueue.c6
-rw-r--r--crypto/openssl/ssl/priority_queue.c28
-rw-r--r--crypto/openssl/ssl/quic/cc_newreno.c118
-rw-r--r--crypto/openssl/ssl/quic/json_enc.c88
-rw-r--r--crypto/openssl/ssl/quic/qlog.c120
-rw-r--r--crypto/openssl/ssl/quic/qlog_event_helpers.c525
-rw-r--r--crypto/openssl/ssl/quic/quic_ackm.c308
-rw-r--r--crypto/openssl/ssl/quic/quic_cfq.c89
-rw-r--r--crypto/openssl/ssl/quic/quic_channel.c1148
-rw-r--r--crypto/openssl/ssl/quic/quic_channel_local.h236
-rw-r--r--crypto/openssl/ssl/quic/quic_demux.c103
-rw-r--r--crypto/openssl/ssl/quic/quic_engine.c33
-rw-r--r--crypto/openssl/ssl/quic/quic_engine_local.h27
-rw-r--r--crypto/openssl/ssl/quic/quic_fc.c84
-rw-r--r--crypto/openssl/ssl/quic/quic_fifd.c160
-rw-r--r--crypto/openssl/ssl/quic/quic_impl.c711
-rw-r--r--crypto/openssl/ssl/quic/quic_lcidm.c157
-rw-r--r--crypto/openssl/ssl/quic/quic_local.h228
-rw-r--r--crypto/openssl/ssl/quic/quic_method.c18
-rw-r--r--crypto/openssl/ssl/quic/quic_obj.c54
-rw-r--r--crypto/openssl/ssl/quic/quic_obj_local.h54
-rw-r--r--crypto/openssl/ssl/quic/quic_port.c247
-rw-r--r--crypto/openssl/ssl/quic/quic_port_local.h58
-rw-r--r--crypto/openssl/ssl/quic/quic_rcidm.c135
-rw-r--r--crypto/openssl/ssl/quic/quic_reactor.c194
-rw-r--r--crypto/openssl/ssl/quic/quic_reactor_wait_ctx.c19
-rw-r--r--crypto/openssl/ssl/quic/quic_record_rx.c395
-rw-r--r--crypto/openssl/ssl/quic/quic_record_shared.c226
-rw-r--r--crypto/openssl/ssl/quic/quic_record_shared.h82
-rw-r--r--crypto/openssl/ssl/quic/quic_record_tx.c206
-rw-r--r--crypto/openssl/ssl/quic/quic_record_util.c134
-rw-r--r--crypto/openssl/ssl/quic/quic_rstream.c45
-rw-r--r--crypto/openssl/ssl/quic/quic_rx_depack.c618
-rw-r--r--crypto/openssl/ssl/quic/quic_sf_list.c38
-rw-r--r--crypto/openssl/ssl/quic/quic_srt_gen.c14
-rw-r--r--crypto/openssl/ssl/quic/quic_srtm.c69
-rw-r--r--crypto/openssl/ssl/quic/quic_sstream.c74
-rw-r--r--crypto/openssl/ssl/quic/quic_statm.c40
-rw-r--r--crypto/openssl/ssl/quic/quic_stream_map.c215
-rw-r--r--crypto/openssl/ssl/quic/quic_thread_assist.c14
-rw-r--r--crypto/openssl/ssl/quic/quic_tls.c188
-rw-r--r--crypto/openssl/ssl/quic/quic_tls_api.c47
-rw-r--r--crypto/openssl/ssl/quic/quic_trace.c153
-rw-r--r--crypto/openssl/ssl/quic/quic_tserver.c145
-rw-r--r--crypto/openssl/ssl/quic/quic_txp.c1436
-rw-r--r--crypto/openssl/ssl/quic/quic_txpim.c46
-rw-r--r--crypto/openssl/ssl/quic/quic_types.c2
-rw-r--r--crypto/openssl/ssl/quic/quic_wire.c490
-rw-r--r--crypto/openssl/ssl/quic/quic_wire_pkt.c413
-rw-r--r--crypto/openssl/ssl/quic/uint_set.c10
-rw-r--r--crypto/openssl/ssl/record/methods/dtls_meth.c138
-rw-r--r--crypto/openssl/ssl/record/methods/ktls_meth.c278
-rw-r--r--crypto/openssl/ssl/record/methods/recmethod_local.h256
-rw-r--r--crypto/openssl/ssl/record/methods/ssl3_cbc.c85
-rw-r--r--crypto/openssl/ssl/record/methods/ssl3_meth.c53
-rw-r--r--crypto/openssl/ssl/record/methods/tls13_meth.c99
-rw-r--r--crypto/openssl/ssl/record/methods/tls1_meth.c211
-rw-r--r--crypto/openssl/ssl/record/methods/tls_common.c424
-rw-r--r--crypto/openssl/ssl/record/methods/tls_multib.c66
-rw-r--r--crypto/openssl/ssl/record/methods/tls_pad.c76
-rw-r--r--crypto/openssl/ssl/record/methods/tlsany_meth.c47
-rw-r--r--crypto/openssl/ssl/record/rec_layer_d1.c83
-rw-r--r--crypto/openssl/ssl/record/rec_layer_s3.c263
-rw-r--r--crypto/openssl/ssl/record/record.h58
-rw-r--r--crypto/openssl/ssl/record/record_local.h2
-rw-r--r--crypto/openssl/ssl/rio/poll_builder.c31
-rw-r--r--crypto/openssl/ssl/rio/poll_builder.h34
-rw-r--r--crypto/openssl/ssl/rio/poll_immediate.c178
-rw-r--r--crypto/openssl/ssl/rio/poll_method.h30
-rw-r--r--crypto/openssl/ssl/rio/rio_notifier.c92
-rw-r--r--crypto/openssl/ssl/s3_enc.c54
-rw-r--r--crypto/openssl/ssl/s3_lib.c6805
-rw-r--r--crypto/openssl/ssl/s3_msg.c14
-rw-r--r--crypto/openssl/ssl/ssl_asn1.c46
-rw-r--r--crypto/openssl/ssl/ssl_cert.c149
-rw-r--r--crypto/openssl/ssl/ssl_cert_comp.c66
-rw-r--r--crypto/openssl/ssl/ssl_cert_table.h20
-rw-r--r--crypto/openssl/ssl/ssl_ciph.c652
-rw-r--r--crypto/openssl/ssl/ssl_conf.c252
-rw-r--r--crypto/openssl/ssl/ssl_init.c6
-rw-r--r--crypto/openssl/ssl/ssl_lib.c853
-rw-r--r--crypto/openssl/ssl/ssl_local.h1850
-rw-r--r--crypto/openssl/ssl/ssl_mcnf.c4
-rw-r--r--crypto/openssl/ssl/ssl_rsa.c206
-rw-r--r--crypto/openssl/ssl/ssl_rsa_legacy.c14
-rw-r--r--crypto/openssl/ssl/ssl_sess.c186
-rw-r--r--crypto/openssl/ssl/ssl_txt.c44
-rw-r--r--crypto/openssl/ssl/statem/extensions.c656
-rw-r--r--crypto/openssl/ssl/statem/extensions_clnt.c622
-rw-r--r--crypto/openssl/ssl/statem/extensions_cust.c207
-rw-r--r--crypto/openssl/ssl/statem/extensions_srvr.c740
-rw-r--r--crypto/openssl/ssl/statem/statem.c94
-rw-r--r--crypto/openssl/ssl/statem/statem_clnt.c632
-rw-r--r--crypto/openssl/ssl/statem/statem_dtls.c269
-rw-r--r--crypto/openssl/ssl/statem/statem_lib.c579
-rw-r--r--crypto/openssl/ssl/statem/statem_local.h486
-rw-r--r--crypto/openssl/ssl/statem/statem_srvr.c1005
-rw-r--r--crypto/openssl/ssl/t1_enc.c189
-rw-r--r--crypto/openssl/ssl/t1_lib.c1159
-rw-r--r--crypto/openssl/ssl/t1_trce.c1326
-rw-r--r--crypto/openssl/ssl/tls13_enc.c303
-rw-r--r--crypto/openssl/ssl/tls_depr.c43
-rw-r--r--crypto/openssl/ssl/tls_srp.c132
108 files changed, 16489 insertions, 16189 deletions
diff --git a/crypto/openssl/ssl/bio_ssl.c b/crypto/openssl/ssl/bio_ssl.c
index d1034814bff2..1123899c9224 100644
--- a/crypto/openssl/ssl/bio_ssl.c
+++ b/crypto/openssl/ssl/bio_ssl.c
@@ -26,7 +26,7 @@ static int ssl_new(BIO *h);
static int ssl_free(BIO *data);
static long ssl_callback_ctrl(BIO *h, int cmd, BIO_info_cb *fp);
typedef struct bio_ssl_st {
- SSL *ssl; /* The ssl handle :-) */
+ SSL *ssl; /* The ssl handle :-) */
/*
* Re-negotiate every time the total number of bytes is this size
* or when timeout expires.
@@ -43,11 +43,11 @@ static const BIO_METHOD methods_sslp = {
BIO_TYPE_SSL,
"ssl",
ssl_write,
- NULL, /* ssl_write_old, */
+ NULL, /* ssl_write_old, */
ssl_read,
- NULL, /* ssl_read_old, */
+ NULL, /* ssl_read_old, */
ssl_puts,
- NULL, /* ssl_gets, */
+ NULL, /* ssl_gets, */
ssl_ctrl,
ssl_new,
ssl_free,
@@ -267,7 +267,7 @@ static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr)
ret = 0;
break;
case BIO_C_SSL_MODE:
- if (num) /* client mode */
+ if (num) /* client mode */
SSL_set_connect_state(ssl);
else
SSL_set_accept_state(ssl);
@@ -445,11 +445,11 @@ BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx)
#ifndef OPENSSL_NO_SOCK
BIO *ret = NULL, *buf = NULL, *ssl = NULL;
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
if (ctx != NULL && IS_QUIC_CTX(ctx))
/* Never use buffering for QUIC. */
return BIO_new_ssl_connect(ctx);
-# endif
+#endif
if ((buf = BIO_new(BIO_f_buffer())) == NULL)
return NULL;
@@ -458,7 +458,7 @@ BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx)
if ((ret = BIO_push(buf, ssl)) == NULL)
goto err;
return ret;
- err:
+err:
BIO_free(buf);
BIO_free(ssl);
#endif
@@ -473,7 +473,7 @@ BIO *BIO_new_ssl_connect(SSL_CTX *ctx)
if ((con = BIO_new(BIO_s_connect())) == NULL)
return NULL;
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
if (ctx != NULL && IS_QUIC_CTX(ctx))
if (!BIO_set_sock_type(con, SOCK_DGRAM))
goto err;
@@ -484,7 +484,7 @@ BIO *BIO_new_ssl_connect(SSL_CTX *ctx)
if ((ret = BIO_push(ssl, con)) == NULL)
goto err;
return ret;
- err:
+err:
BIO_free(ssl);
BIO_free(con);
#endif
diff --git a/crypto/openssl/ssl/d1_lib.c b/crypto/openssl/ssl/d1_lib.c
index a5a52a7ee80e..ad1bc7d8c830 100644
--- a/crypto/openssl/ssl/d1_lib.c
+++ b/crypto/openssl/ssl/d1_lib.c
@@ -8,7 +8,7 @@
*/
#include "internal/e_os.h"
-#include "internal/e_winsock.h" /* struct timeval for DTLS_CTRL_GET_TIMEOUT */
+#include "internal/e_winsock.h" /* struct timeval for DTLS_CTRL_GET_TIMEOUT */
#include <stdio.h>
#include <openssl/objects.h>
#include <openssl/rand.h>
@@ -134,8 +134,8 @@ void dtls1_clear_sent_buffer(SSL_CONNECTION *s)
frag = (hm_fragment *)item->data;
if (frag->msg_header.is_ccs
- && frag->msg_header.saved_retransmit_state.wrlmethod != NULL
- && s->rlayer.wrl != frag->msg_header.saved_retransmit_state.wrl) {
+ && frag->msg_header.saved_retransmit_state.wrlmethod != NULL
+ && s->rlayer.wrl != frag->msg_header.saved_retransmit_state.wrl) {
/*
* If we're freeing the CCS then we're done with the old wrl and it
* can bee freed
@@ -148,7 +148,6 @@ void dtls1_clear_sent_buffer(SSL_CONNECTION *s)
}
}
-
void dtls1_free(SSL *ssl)
{
SSL_CONNECTION *s = SSL_CONNECTION_FROM_SSL_ONLY(ssl);
@@ -374,8 +373,7 @@ int dtls1_check_timeout_num(SSL_CONNECTION *s)
/* Reduce MTU after 2 unsuccessful retransmissions */
if (s->d1->timeout_num_alerts > 2
&& !(SSL_get_options(ssl) & SSL_OP_NO_QUERY_MTU)) {
- mtu =
- BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_GET_FALLBACK_MTU, 0, NULL);
+ mtu = BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_GET_FALLBACK_MTU, 0, NULL);
if (mtu < s->d1->mtu)
s->d1->mtu = mtu;
}
@@ -398,7 +396,7 @@ int dtls1_handle_timeout(SSL_CONNECTION *s)
if (s->d1->timer_cb != NULL)
s->d1->timeout_duration_us = s->d1->timer_cb(SSL_CONNECTION_GET_USER_SSL(s),
- s->d1->timeout_duration_us);
+ s->d1->timeout_duration_us);
else
dtls1_double_timeout(s);
@@ -412,8 +410,8 @@ int dtls1_handle_timeout(SSL_CONNECTION *s)
return dtls1_retransmit_buffered_messages(s);
}
-#define LISTEN_SUCCESS 2
-#define LISTEN_SEND_VERIFY_REQUEST 1
+#define LISTEN_SUCCESS 2
+#define LISTEN_SEND_VERIFY_REQUEST 1
#ifndef OPENSSL_NO_SOCK
int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
@@ -477,8 +475,7 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
/* Get a packet */
clear_sys_error();
- n = BIO_read(rbio, buf, SSL3_RT_MAX_PLAIN_LENGTH
- + DTLS1_RT_HEADER_LENGTH);
+ n = BIO_read(rbio, buf, SSL3_RT_MAX_PLAIN_LENGTH + DTLS1_RT_HEADER_LENGTH);
if (n <= 0) {
if (BIO_should_retry(rbio)) {
/* Non-blocking IO */
@@ -519,7 +516,7 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
if (s->msg_callback)
s->msg_callback(0, (versmajor << 8) | versminor, SSL3_RT_HEADER, buf,
- DTLS1_RT_HEADER_LENGTH, ssl, s->msg_callback_arg);
+ DTLS1_RT_HEADER_LENGTH, ssl, s->msg_callback_arg);
if (rectype != SSL3_RT_HANDSHAKE) {
ERR_raise(ERR_LIB_SSL, SSL_R_UNEXPECTED_MESSAGE);
@@ -573,7 +570,7 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
}
/* Message sequence number can only be 0 or 1 */
- if (msgseq > 2) {
+ if (msgseq > 1) {
ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_SEQUENCE_NUMBER);
goto end;
}
@@ -593,8 +590,8 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE, data,
- fraglen + DTLS1_HM_HEADER_LENGTH, ssl,
- s->msg_callback_arg);
+ fraglen + DTLS1_HM_HEADER_LENGTH, ssl,
+ s->msg_callback_arg);
if (!PACKET_get_net_2(&msgpayload, &clientvers)) {
ERR_raise(ERR_LIB_SSL, SSL_R_LENGTH_MISMATCH);
@@ -604,8 +601,7 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
/*
* Verify client version is supported
*/
- if (DTLS_VERSION_LT(clientvers, (unsigned int)ssl->method->version) &&
- ssl->method->version != DTLS_ANY_VERSION) {
+ if (DTLS_VERSION_LT(clientvers, (unsigned int)ssl->method->version) && ssl->method->version != DTLS_ANY_VERSION) {
ERR_raise(ERR_LIB_SSL, SSL_R_WRONG_VERSION_NUMBER);
goto end;
}
@@ -638,7 +634,8 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
goto end;
}
if (ssl->ctx->app_verify_cookie_cb(ssl, PACKET_data(&cookiepkt),
- (unsigned int)PACKET_remaining(&cookiepkt)) == 0) {
+ (unsigned int)PACKET_remaining(&cookiepkt))
+ == 0) {
/*
* We treat invalid cookies in the same was as no cookie as
* per RFC6347
@@ -662,9 +659,7 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
*/
/* Generate the cookie */
- if (ssl->ctx->app_gen_cookie_cb == NULL ||
- ssl->ctx->app_gen_cookie_cb(ssl, cookie, &cookielen) == 0 ||
- cookielen > 255) {
+ if (ssl->ctx->app_gen_cookie_cb == NULL || ssl->ctx->app_gen_cookie_cb(ssl, cookie, &cookielen) == 0 || cookielen > 255) {
ERR_raise(ERR_LIB_SSL, SSL_R_COOKIE_GEN_CALLBACK_FAILURE);
/* This is fatal */
ret = -1;
@@ -681,54 +676,54 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
/* Construct the record and message headers */
if (!WPACKET_init_static_len(&wpkt,
- wbuf,
- ssl_get_max_send_fragment(s)
- + DTLS1_RT_HEADER_LENGTH,
- 0)
- || !WPACKET_put_bytes_u8(&wpkt, SSL3_RT_HANDSHAKE)
- || !WPACKET_put_bytes_u16(&wpkt, version)
- /*
- * Record sequence number is always the same as in the
- * received ClientHello
- */
- || !WPACKET_memcpy(&wpkt, seq, SEQ_NUM_SIZE)
- /* End of record, start sub packet for message */
- || !WPACKET_start_sub_packet_u16(&wpkt)
- /* Message type */
- || !WPACKET_put_bytes_u8(&wpkt,
- DTLS1_MT_HELLO_VERIFY_REQUEST)
- /*
- * Message length - doesn't follow normal TLS convention:
- * the length isn't the last thing in the message header.
- * We'll need to fill this in later when we know the
- * length. Set it to zero for now
- */
- || !WPACKET_put_bytes_u24(&wpkt, 0)
- /*
- * Message sequence number is always 0 for a
- * HelloVerifyRequest
- */
- || !WPACKET_put_bytes_u16(&wpkt, 0)
- /*
- * We never fragment a HelloVerifyRequest, so fragment
- * offset is 0
- */
- || !WPACKET_put_bytes_u24(&wpkt, 0)
- /*
- * Fragment length is the same as message length, but
- * this *is* the last thing in the message header so we
- * can just start a sub-packet. No need to come back
- * later for this one.
- */
- || !WPACKET_start_sub_packet_u24(&wpkt)
- /* Create the actual HelloVerifyRequest body */
- || !dtls_raw_hello_verify_request(&wpkt, cookie, cookielen)
- /* Close message body */
- || !WPACKET_close(&wpkt)
- /* Close record body */
- || !WPACKET_close(&wpkt)
- || !WPACKET_get_total_written(&wpkt, &wreclen)
- || !WPACKET_finish(&wpkt)) {
+ wbuf,
+ ssl_get_max_send_fragment(s)
+ + DTLS1_RT_HEADER_LENGTH,
+ 0)
+ || !WPACKET_put_bytes_u8(&wpkt, SSL3_RT_HANDSHAKE)
+ || !WPACKET_put_bytes_u16(&wpkt, version)
+ /*
+ * Record sequence number is always the same as in the
+ * received ClientHello
+ */
+ || !WPACKET_memcpy(&wpkt, seq, SEQ_NUM_SIZE)
+ /* End of record, start sub packet for message */
+ || !WPACKET_start_sub_packet_u16(&wpkt)
+ /* Message type */
+ || !WPACKET_put_bytes_u8(&wpkt,
+ DTLS1_MT_HELLO_VERIFY_REQUEST)
+ /*
+ * Message length - doesn't follow normal TLS convention:
+ * the length isn't the last thing in the message header.
+ * We'll need to fill this in later when we know the
+ * length. Set it to zero for now
+ */
+ || !WPACKET_put_bytes_u24(&wpkt, 0)
+ /*
+ * Message sequence number is always 0 for a
+ * HelloVerifyRequest
+ */
+ || !WPACKET_put_bytes_u16(&wpkt, 0)
+ /*
+ * We never fragment a HelloVerifyRequest, so fragment
+ * offset is 0
+ */
+ || !WPACKET_put_bytes_u24(&wpkt, 0)
+ /*
+ * Fragment length is the same as message length, but
+ * this *is* the last thing in the message header so we
+ * can just start a sub-packet. No need to come back
+ * later for this one.
+ */
+ || !WPACKET_start_sub_packet_u24(&wpkt)
+ /* Create the actual HelloVerifyRequest body */
+ || !dtls_raw_hello_verify_request(&wpkt, cookie, cookielen)
+ /* Close message body */
+ || !WPACKET_close(&wpkt)
+ /* Close record body */
+ || !WPACKET_close(&wpkt)
+ || !WPACKET_get_total_written(&wpkt, &wreclen)
+ || !WPACKET_finish(&wpkt)) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
WPACKET_cleanup(&wpkt);
/* This is fatal */
@@ -744,13 +739,13 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
* last 3 bytes of the message header
*/
memcpy(&wbuf[DTLS1_RT_HEADER_LENGTH + 1],
- &wbuf[DTLS1_RT_HEADER_LENGTH + DTLS1_HM_HEADER_LENGTH - 3],
- 3);
+ &wbuf[DTLS1_RT_HEADER_LENGTH + DTLS1_HM_HEADER_LENGTH - 3],
+ 3);
if (s->msg_callback)
- s->msg_callback(1, 0, SSL3_RT_HEADER, buf,
- DTLS1_RT_HEADER_LENGTH, ssl,
- s->msg_callback_arg);
+ s->msg_callback(1, version, SSL3_RT_HEADER, wbuf,
+ DTLS1_RT_HEADER_LENGTH, ssl,
+ s->msg_callback_arg);
if ((tmpclient = BIO_ADDR_new()) == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_BIO_LIB);
@@ -832,18 +827,18 @@ int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
* buffered in s->rlayer.rrlnext
*/
if (!ssl_set_new_record_layer(s,
- DTLS_ANY_VERSION,
- OSSL_RECORD_DIRECTION_READ,
- OSSL_RECORD_PROTECTION_LEVEL_NONE, NULL, 0,
- NULL, 0, NULL, 0, NULL, 0, NULL, 0,
- NID_undef, NULL, NULL, NULL)) {
+ DTLS_ANY_VERSION,
+ OSSL_RECORD_DIRECTION_READ,
+ OSSL_RECORD_PROTECTION_LEVEL_NONE, NULL, 0,
+ NULL, 0, NULL, 0, NULL, 0, NULL, 0,
+ NID_undef, NULL, NULL, NULL)) {
/* SSLfatal already called */
ret = -1;
goto end;
}
ret = 1;
- end:
+end:
BIO_ADDR_free(tmpclient);
OPENSSL_free(buf);
OPENSSL_free(wbuf);
@@ -867,15 +862,14 @@ int dtls1_shutdown(SSL *s)
return -1;
wbio = SSL_get_wbio(s);
- if (wbio != NULL && BIO_dgram_is_sctp(wbio) &&
- !(sc->shutdown & SSL_SENT_SHUTDOWN)) {
+ if (wbio != NULL && BIO_dgram_is_sctp(wbio) && !(sc->shutdown & SSL_SENT_SHUTDOWN)) {
ret = BIO_dgram_sctp_wait_for_dry(wbio);
if (ret < 0)
return -1;
if (ret == 0)
BIO_ctrl(SSL_get_wbio(s), BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN, 1,
- NULL);
+ NULL);
}
#endif
ret = ssl3_shutdown(s);
@@ -890,16 +884,14 @@ int dtls1_query_mtu(SSL_CONNECTION *s)
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
if (s->d1->link_mtu) {
- s->d1->mtu =
- s->d1->link_mtu - BIO_dgram_get_mtu_overhead(SSL_get_wbio(ssl));
+ s->d1->mtu = s->d1->link_mtu - BIO_dgram_get_mtu_overhead(SSL_get_wbio(ssl));
s->d1->link_mtu = 0;
}
/* AHA! Figure out the MTU, and stick to the right size */
if (s->d1->mtu < dtls1_min_mtu(s)) {
if (!(SSL_get_options(ssl) & SSL_OP_NO_QUERY_MTU)) {
- s->d1->mtu =
- BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_QUERY_MTU, 0, NULL);
+ s->d1->mtu = BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_QUERY_MTU, 0, NULL);
/*
* I've seen the kernel return bogus numbers when it doesn't know
@@ -909,7 +901,7 @@ int dtls1_query_mtu(SSL_CONNECTION *s)
/* Set to min mtu */
s->d1->mtu = dtls1_min_mtu(s);
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SET_MTU,
- (long)s->d1->mtu, NULL);
+ (long)s->d1->mtu, NULL);
}
} else
return 0;
@@ -919,8 +911,7 @@ int dtls1_query_mtu(SSL_CONNECTION *s)
static size_t dtls1_link_min_mtu(void)
{
- return (g_probable_mtu[(sizeof(g_probable_mtu) /
- sizeof(g_probable_mtu[0])) - 1]);
+ return (g_probable_mtu[(sizeof(g_probable_mtu) / sizeof(g_probable_mtu[0])) - 1]);
}
size_t dtls1_min_mtu(SSL_CONNECTION *s)
@@ -946,7 +937,7 @@ size_t DTLS_get_data_mtu(const SSL *ssl)
return 0;
if (!ssl_cipher_get_overhead(ciph, &mac_overhead, &int_overhead,
- &blocksize, &ext_overhead))
+ &blocksize, &ext_overhead))
return 0;
if (SSL_READ_ETM(s))
diff --git a/crypto/openssl/ssl/d1_msg.c b/crypto/openssl/ssl/d1_msg.c
index 6613f0f4c87a..50676a1cda38 100644
--- a/crypto/openssl/ssl/d1_msg.c
+++ b/crypto/openssl/ssl/d1_msg.c
@@ -11,7 +11,7 @@
#include "internal/ssl_unwrap.h"
int dtls1_write_app_data_bytes(SSL *s, uint8_t type, const void *buf_,
- size_t len, size_t *written)
+ size_t len, size_t *written)
{
int i;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s);
@@ -40,7 +40,7 @@ int dtls1_write_app_data_bytes(SSL *s, uint8_t type, const void *buf_,
int dtls1_dispatch_alert(SSL *ssl)
{
int i, j;
- void (*cb) (const SSL *ssl, int type, int val) = NULL;
+ void (*cb)(const SSL *ssl, int type, int val) = NULL;
unsigned char buf[DTLS1_AL_HEADER_LENGTH];
unsigned char *ptr = &buf[0];
size_t written;
@@ -64,7 +64,7 @@ int dtls1_dispatch_alert(SSL *ssl)
if (s->msg_callback)
s->msg_callback(1, s->version, SSL3_RT_ALERT, s->s3.send_alert,
- 2, ssl, s->msg_callback_arg);
+ 2, ssl, s->msg_callback_arg);
if (s->info_callback != NULL)
cb = s->info_callback;
diff --git a/crypto/openssl/ssl/d1_srtp.c b/crypto/openssl/ssl/d1_srtp.c
index ad926a613dee..d096a056ceda 100644
--- a/crypto/openssl/ssl/d1_srtp.c
+++ b/crypto/openssl/ssl/d1_srtp.c
@@ -22,58 +22,58 @@
static const SRTP_PROTECTION_PROFILE srtp_known_profiles[] = {
{
- "SRTP_AES128_CM_SHA1_80",
- SRTP_AES128_CM_SHA1_80,
- },
+ "SRTP_AES128_CM_SHA1_80",
+ SRTP_AES128_CM_SHA1_80,
+ },
{
- "SRTP_AES128_CM_SHA1_32",
- SRTP_AES128_CM_SHA1_32,
- },
+ "SRTP_AES128_CM_SHA1_32",
+ SRTP_AES128_CM_SHA1_32,
+ },
{
- "SRTP_AEAD_AES_128_GCM",
- SRTP_AEAD_AES_128_GCM,
- },
+ "SRTP_AEAD_AES_128_GCM",
+ SRTP_AEAD_AES_128_GCM,
+ },
{
- "SRTP_AEAD_AES_256_GCM",
- SRTP_AEAD_AES_256_GCM,
- },
+ "SRTP_AEAD_AES_256_GCM",
+ SRTP_AEAD_AES_256_GCM,
+ },
{
- "SRTP_DOUBLE_AEAD_AES_128_GCM_AEAD_AES_128_GCM",
- SRTP_DOUBLE_AEAD_AES_128_GCM_AEAD_AES_128_GCM,
- },
+ "SRTP_DOUBLE_AEAD_AES_128_GCM_AEAD_AES_128_GCM",
+ SRTP_DOUBLE_AEAD_AES_128_GCM_AEAD_AES_128_GCM,
+ },
{
- "SRTP_DOUBLE_AEAD_AES_256_GCM_AEAD_AES_256_GCM",
- SRTP_DOUBLE_AEAD_AES_256_GCM_AEAD_AES_256_GCM,
- },
+ "SRTP_DOUBLE_AEAD_AES_256_GCM_AEAD_AES_256_GCM",
+ SRTP_DOUBLE_AEAD_AES_256_GCM_AEAD_AES_256_GCM,
+ },
{
- "SRTP_ARIA_128_CTR_HMAC_SHA1_80",
- SRTP_ARIA_128_CTR_HMAC_SHA1_80,
- },
+ "SRTP_ARIA_128_CTR_HMAC_SHA1_80",
+ SRTP_ARIA_128_CTR_HMAC_SHA1_80,
+ },
{
- "SRTP_ARIA_128_CTR_HMAC_SHA1_32",
- SRTP_ARIA_128_CTR_HMAC_SHA1_32,
- },
+ "SRTP_ARIA_128_CTR_HMAC_SHA1_32",
+ SRTP_ARIA_128_CTR_HMAC_SHA1_32,
+ },
{
- "SRTP_ARIA_256_CTR_HMAC_SHA1_80",
- SRTP_ARIA_256_CTR_HMAC_SHA1_80,
- },
+ "SRTP_ARIA_256_CTR_HMAC_SHA1_80",
+ SRTP_ARIA_256_CTR_HMAC_SHA1_80,
+ },
{
- "SRTP_ARIA_256_CTR_HMAC_SHA1_32",
- SRTP_ARIA_256_CTR_HMAC_SHA1_32,
- },
+ "SRTP_ARIA_256_CTR_HMAC_SHA1_32",
+ SRTP_ARIA_256_CTR_HMAC_SHA1_32,
+ },
{
- "SRTP_AEAD_ARIA_128_GCM",
- SRTP_AEAD_ARIA_128_GCM,
- },
+ "SRTP_AEAD_ARIA_128_GCM",
+ SRTP_AEAD_ARIA_128_GCM,
+ },
{
- "SRTP_AEAD_ARIA_256_GCM",
- SRTP_AEAD_ARIA_256_GCM,
- },
- {0}
+ "SRTP_AEAD_ARIA_256_GCM",
+ SRTP_AEAD_ARIA_256_GCM,
+ },
+ { 0 }
};
static int find_profile_by_name(char *profile_name,
- const SRTP_PROTECTION_PROFILE **pptr, size_t len)
+ const SRTP_PROTECTION_PROFILE **pptr, size_t len)
{
const SRTP_PROTECTION_PROFILE *p;
@@ -92,7 +92,7 @@ static int find_profile_by_name(char *profile_name,
}
static int ssl_ctx_make_profiles(const char *profiles_string,
- STACK_OF(SRTP_PROTECTION_PROFILE) **out)
+ STACK_OF(SRTP_PROTECTION_PROFILE) **out)
{
STACK_OF(SRTP_PROTECTION_PROFILE) *profiles;
@@ -108,16 +108,16 @@ static int ssl_ctx_make_profiles(const char *profiles_string,
do {
col = strchr(ptr, ':');
- if (!find_profile_by_name(ptr, &p, col ? (size_t)(col - ptr)
- : strlen(ptr))) {
+ if (!find_profile_by_name(ptr, &p, col ? (size_t)(col - ptr) : strlen(ptr))) {
if (sk_SRTP_PROTECTION_PROFILE_find(profiles,
- (SRTP_PROTECTION_PROFILE *)p) >= 0) {
+ (SRTP_PROTECTION_PROFILE *)p)
+ >= 0) {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
goto err;
}
if (!sk_SRTP_PROTECTION_PROFILE_push(profiles,
- (SRTP_PROTECTION_PROFILE *)p)) {
+ (SRTP_PROTECTION_PROFILE *)p)) {
ERR_raise(ERR_LIB_SSL, SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES);
goto err;
}
@@ -135,7 +135,7 @@ static int ssl_ctx_make_profiles(const char *profiles_string,
*out = profiles;
return 0;
- err:
+err:
sk_SRTP_PROTECTION_PROFILE_free(profiles);
return 1;
}
diff --git a/crypto/openssl/ssl/methods.c b/crypto/openssl/ssl/methods.c
index 525f59e91231..07098839058d 100644
--- a/crypto/openssl/ssl/methods.c
+++ b/crypto/openssl/ssl/methods.c
@@ -17,29 +17,29 @@
*/
IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
- TLS_method,
- ossl_statem_accept,
- ossl_statem_connect, TLSv1_2_enc_data)
+ TLS_method,
+ ossl_statem_accept,
+ ossl_statem_connect, TLSv1_2_enc_data)
IMPLEMENT_tls_meth_func(TLS1_3_VERSION, 0, SSL_OP_NO_TLSv1_3,
- tlsv1_3_method,
- ossl_statem_accept,
- ossl_statem_connect, TLSv1_3_enc_data)
+ tlsv1_3_method,
+ ossl_statem_accept,
+ ossl_statem_connect, TLSv1_3_enc_data)
#ifndef OPENSSL_NO_TLS1_2_METHOD
IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
- tlsv1_2_method,
- ossl_statem_accept,
- ossl_statem_connect, TLSv1_2_enc_data)
+ tlsv1_2_method,
+ ossl_statem_accept,
+ ossl_statem_connect, TLSv1_2_enc_data)
#endif
#ifndef OPENSSL_NO_TLS1_1_METHOD
IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
- tlsv1_1_method,
- ossl_statem_accept,
- ossl_statem_connect, TLSv1_1_enc_data)
+ tlsv1_1_method,
+ ossl_statem_accept,
+ ossl_statem_connect, TLSv1_1_enc_data)
#endif
#ifndef OPENSSL_NO_TLS1_METHOD
IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
- tlsv1_method,
- ossl_statem_accept, ossl_statem_connect, TLSv1_enc_data)
+ tlsv1_method,
+ ossl_statem_accept, ossl_statem_connect, TLSv1_enc_data)
#endif
#ifndef OPENSSL_NO_SSL3_METHOD
IMPLEMENT_ssl3_meth_func(sslv3_method, ossl_statem_accept, ossl_statem_connect)
@@ -48,133 +48,133 @@ IMPLEMENT_ssl3_meth_func(sslv3_method, ossl_statem_accept, ossl_statem_connect)
* TLS/SSLv3 server methods
*/
IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
- TLS_server_method,
- ossl_statem_accept,
- ssl_undefined_function, TLSv1_2_enc_data)
+ TLS_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, TLSv1_2_enc_data)
IMPLEMENT_tls_meth_func(TLS1_3_VERSION, 0, SSL_OP_NO_TLSv1_3,
- tlsv1_3_server_method,
- ossl_statem_accept,
- ssl_undefined_function, TLSv1_3_enc_data)
+ tlsv1_3_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, TLSv1_3_enc_data)
#ifndef OPENSSL_NO_TLS1_2_METHOD
IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
- tlsv1_2_server_method,
- ossl_statem_accept,
- ssl_undefined_function, TLSv1_2_enc_data)
+ tlsv1_2_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, TLSv1_2_enc_data)
#endif
#ifndef OPENSSL_NO_TLS1_1_METHOD
IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
- tlsv1_1_server_method,
- ossl_statem_accept,
- ssl_undefined_function, TLSv1_1_enc_data)
+ tlsv1_1_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, TLSv1_1_enc_data)
#endif
#ifndef OPENSSL_NO_TLS1_METHOD
IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
- tlsv1_server_method,
- ossl_statem_accept,
- ssl_undefined_function, TLSv1_enc_data)
+ tlsv1_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, TLSv1_enc_data)
#endif
#ifndef OPENSSL_NO_SSL3_METHOD
IMPLEMENT_ssl3_meth_func(sslv3_server_method,
- ossl_statem_accept, ssl_undefined_function)
+ ossl_statem_accept, ssl_undefined_function)
#endif
/*-
* TLS/SSLv3 client methods
*/
IMPLEMENT_tls_meth_func(TLS_ANY_VERSION, 0, 0,
- TLS_client_method,
- ssl_undefined_function,
- ossl_statem_connect, TLSv1_2_enc_data)
+ TLS_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, TLSv1_2_enc_data)
IMPLEMENT_tls_meth_func(TLS1_3_VERSION, 0, SSL_OP_NO_TLSv1_3,
- tlsv1_3_client_method,
- ssl_undefined_function,
- ossl_statem_connect, TLSv1_3_enc_data)
+ tlsv1_3_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, TLSv1_3_enc_data)
#ifndef OPENSSL_NO_TLS1_2_METHOD
IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
- tlsv1_2_client_method,
- ssl_undefined_function,
- ossl_statem_connect, TLSv1_2_enc_data)
+ tlsv1_2_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, TLSv1_2_enc_data)
#endif
#ifndef OPENSSL_NO_TLS1_1_METHOD
IMPLEMENT_tls_meth_func(TLS1_1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1_1,
- tlsv1_1_client_method,
- ssl_undefined_function,
- ossl_statem_connect, TLSv1_1_enc_data)
+ tlsv1_1_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, TLSv1_1_enc_data)
#endif
#ifndef OPENSSL_NO_TLS1_METHOD
IMPLEMENT_tls_meth_func(TLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_TLSv1,
- tlsv1_client_method,
- ssl_undefined_function,
- ossl_statem_connect, TLSv1_enc_data)
+ tlsv1_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, TLSv1_enc_data)
#endif
#ifndef OPENSSL_NO_SSL3_METHOD
IMPLEMENT_ssl3_meth_func(sslv3_client_method,
- ssl_undefined_function, ossl_statem_connect)
+ ssl_undefined_function, ossl_statem_connect)
#endif
/*-
* DTLS methods
*/
#ifndef OPENSSL_NO_DTLS1_METHOD
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
- dtlsv1_method,
- ossl_statem_accept,
- ossl_statem_connect, DTLSv1_enc_data)
+ dtlsv1_method,
+ ossl_statem_accept,
+ ossl_statem_connect, DTLSv1_enc_data)
#endif
#ifndef OPENSSL_NO_DTLS1_2_METHOD
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
- dtlsv1_2_method,
- ossl_statem_accept,
- ossl_statem_connect, DTLSv1_2_enc_data)
+ dtlsv1_2_method,
+ ossl_statem_accept,
+ ossl_statem_connect, DTLSv1_2_enc_data)
#endif
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
- DTLS_method,
- ossl_statem_accept,
- ossl_statem_connect, DTLSv1_2_enc_data)
+ DTLS_method,
+ ossl_statem_accept,
+ ossl_statem_connect, DTLSv1_2_enc_data)
/*-
* DTLS server methods
*/
#ifndef OPENSSL_NO_DTLS1_METHOD
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
- dtlsv1_server_method,
- ossl_statem_accept,
- ssl_undefined_function, DTLSv1_enc_data)
+ dtlsv1_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, DTLSv1_enc_data)
#endif
#ifndef OPENSSL_NO_DTLS1_2_METHOD
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
- dtlsv1_2_server_method,
- ossl_statem_accept,
- ssl_undefined_function, DTLSv1_2_enc_data)
+ dtlsv1_2_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, DTLSv1_2_enc_data)
#endif
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
- DTLS_server_method,
- ossl_statem_accept,
- ssl_undefined_function, DTLSv1_2_enc_data)
+ DTLS_server_method,
+ ossl_statem_accept,
+ ssl_undefined_function, DTLSv1_2_enc_data)
/*-
* DTLS client methods
*/
#ifndef OPENSSL_NO_DTLS1_METHOD
IMPLEMENT_dtls1_meth_func(DTLS1_VERSION, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
- dtlsv1_client_method,
- ssl_undefined_function,
- ossl_statem_connect, DTLSv1_enc_data)
+ dtlsv1_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, DTLSv1_enc_data)
IMPLEMENT_dtls1_meth_func(DTLS1_BAD_VER, SSL_METHOD_NO_SUITEB, SSL_OP_NO_DTLSv1,
- dtls_bad_ver_client_method,
- ssl_undefined_function,
- ossl_statem_connect, DTLSv1_enc_data)
+ dtls_bad_ver_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, DTLSv1_enc_data)
#endif
#ifndef OPENSSL_NO_DTLS1_2_METHOD
IMPLEMENT_dtls1_meth_func(DTLS1_2_VERSION, 0, SSL_OP_NO_DTLSv1_2,
- dtlsv1_2_client_method,
- ssl_undefined_function,
- ossl_statem_connect, DTLSv1_2_enc_data)
+ dtlsv1_2_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, DTLSv1_2_enc_data)
#endif
IMPLEMENT_dtls1_meth_func(DTLS_ANY_VERSION, 0, 0,
- DTLS_client_method,
- ssl_undefined_function,
- ossl_statem_connect, DTLSv1_2_enc_data)
+ DTLS_client_method,
+ ssl_undefined_function,
+ ossl_statem_connect, DTLSv1_2_enc_data)
#ifndef OPENSSL_NO_DEPRECATED_1_1_0
-# ifndef OPENSSL_NO_TLS1_2_METHOD
+#ifndef OPENSSL_NO_TLS1_2_METHOD
const SSL_METHOD *TLSv1_2_method(void)
{
return tlsv1_2_method();
@@ -189,9 +189,9 @@ const SSL_METHOD *TLSv1_2_client_method(void)
{
return tlsv1_2_client_method();
}
-# endif
+#endif
-# ifndef OPENSSL_NO_TLS1_1_METHOD
+#ifndef OPENSSL_NO_TLS1_1_METHOD
const SSL_METHOD *TLSv1_1_method(void)
{
return tlsv1_1_method();
@@ -206,9 +206,9 @@ const SSL_METHOD *TLSv1_1_client_method(void)
{
return tlsv1_1_client_method();
}
-# endif
+#endif
-# ifndef OPENSSL_NO_TLS1_METHOD
+#ifndef OPENSSL_NO_TLS1_METHOD
const SSL_METHOD *TLSv1_method(void)
{
return tlsv1_method();
@@ -223,9 +223,9 @@ const SSL_METHOD *TLSv1_client_method(void)
{
return tlsv1_client_method();
}
-# endif
+#endif
-# ifndef OPENSSL_NO_SSL3_METHOD
+#ifndef OPENSSL_NO_SSL3_METHOD
const SSL_METHOD *SSLv3_method(void)
{
return sslv3_method();
@@ -240,9 +240,9 @@ const SSL_METHOD *SSLv3_client_method(void)
{
return sslv3_client_method();
}
-# endif
+#endif
-# ifndef OPENSSL_NO_DTLS1_2_METHOD
+#ifndef OPENSSL_NO_DTLS1_2_METHOD
const SSL_METHOD *DTLSv1_2_method(void)
{
return dtlsv1_2_method();
@@ -257,9 +257,9 @@ const SSL_METHOD *DTLSv1_2_client_method(void)
{
return dtlsv1_2_client_method();
}
-# endif
+#endif
-# ifndef OPENSSL_NO_DTLS1_METHOD
+#ifndef OPENSSL_NO_DTLS1_METHOD
const SSL_METHOD *DTLSv1_method(void)
{
return dtlsv1_method();
@@ -274,6 +274,6 @@ const SSL_METHOD *DTLSv1_client_method(void)
{
return dtlsv1_client_method();
}
-# endif
+#endif
#endif
diff --git a/crypto/openssl/ssl/pqueue.c b/crypto/openssl/ssl/pqueue.c
index db161e25da1f..87918e5e2bc9 100644
--- a/crypto/openssl/ssl/pqueue.c
+++ b/crypto/openssl/ssl/pqueue.c
@@ -55,12 +55,12 @@ pitem *pqueue_insert(pqueue *pq, pitem *item)
}
for (curr = NULL, next = pq->items;
- next != NULL; curr = next, next = next->next) {
+ next != NULL; curr = next, next = next->next) {
/*
* we can compare 64-bit value in big-endian encoding with memcmp:-)
*/
int cmp = memcmp(next->priority, item->priority, 8);
- if (cmp > 0) { /* next > item */
+ if (cmp > 0) { /* next > item */
item->next = next;
if (curr == NULL)
@@ -71,7 +71,7 @@ pitem *pqueue_insert(pqueue *pq, pitem *item)
return item;
}
- else if (cmp == 0) /* duplicates not allowed */
+ else if (cmp == 0) /* duplicates not allowed */
return NULL;
}
diff --git a/crypto/openssl/ssl/priority_queue.c b/crypto/openssl/ssl/priority_queue.c
index ed1d191f2e85..6f1de51b89d4 100644
--- a/crypto/openssl/ssl/priority_queue.c
+++ b/crypto/openssl/ssl/priority_queue.c
@@ -35,14 +35,14 @@ OSSL_SAFE_MATH_UNSIGNED(size_t, size_t)
*/
struct pq_heap_st {
- void *data; /* User supplied data pointer */
- size_t index; /* Constant index in elements[] */
+ void *data; /* User supplied data pointer */
+ size_t index; /* Constant index in elements[] */
};
struct pq_elem_st {
- size_t posn; /* Current index in heap[] or link in free list */
+ size_t posn; /* Current index in heap[] or link in free list */
#ifndef NDEBUG
- int used; /* Debug flag indicating that this is in use */
+ int used; /* Debug flag indicating that this is in use */
#endif
};
@@ -50,29 +50,27 @@ struct ossl_pqueue_st {
struct pq_heap_st *heap;
struct pq_elem_st *elements;
int (*compare)(const void *, const void *);
- size_t htop; /* Highest used heap element */
- size_t hmax; /* Allocated heap & element space */
- size_t freelist; /* Index into elements[], start of free element list */
+ size_t htop; /* Highest used heap element */
+ size_t hmax; /* Allocated heap & element space */
+ size_t freelist; /* Index into elements[], start of free element list */
};
/*
* The initial and maximum number of elements in the heap.
*/
static const size_t min_nodes = 8;
-static const size_t max_nodes =
- SIZE_MAX / (sizeof(struct pq_heap_st) > sizeof(struct pq_elem_st)
- ? sizeof(struct pq_heap_st) : sizeof(struct pq_elem_st));
+static const size_t max_nodes = SIZE_MAX / (sizeof(struct pq_heap_st) > sizeof(struct pq_elem_st) ? sizeof(struct pq_heap_st) : sizeof(struct pq_elem_st));
#ifndef NDEBUG
/* Some basic sanity checking of the data structure */
-# define ASSERT_USED(pq, idx) \
- assert(pq->elements[pq->heap[idx].index].used); \
+#define ASSERT_USED(pq, idx) \
+ assert(pq->elements[pq->heap[idx].index].used); \
assert(pq->elements[pq->heap[idx].index].posn == idx)
-# define ASSERT_ELEM_USED(pq, elem) \
+#define ASSERT_ELEM_USED(pq, elem) \
assert(pq->elements[elem].used)
#else
-# define ASSERT_USED(pq, idx)
-# define ASSERT_ELEM_USED(pq, elem)
+#define ASSERT_USED(pq, idx)
+#define ASSERT_ELEM_USED(pq, elem)
#endif
/*
diff --git a/crypto/openssl/ssl/quic/cc_newreno.c b/crypto/openssl/ssl/quic/cc_newreno.c
index 1fe37c276e58..27708a37577c 100644
--- a/crypto/openssl/ssl/quic/cc_newreno.c
+++ b/crypto/openssl/ssl/quic/cc_newreno.c
@@ -6,54 +6,54 @@ OSSL_SAFE_MATH_UNSIGNED(u64, uint64_t)
typedef struct ossl_cc_newreno_st {
/* Dependencies. */
- OSSL_TIME (*now_cb)(void *arg);
- void *now_cb_arg;
+ OSSL_TIME (*now_cb)(void *arg);
+ void *now_cb_arg;
/* 'Constants' (which we allow to be configurable). */
- uint64_t k_init_wnd, k_min_wnd;
- uint32_t k_loss_reduction_factor_num, k_loss_reduction_factor_den;
- uint32_t persistent_cong_thresh;
+ uint64_t k_init_wnd, k_min_wnd;
+ uint32_t k_loss_reduction_factor_num, k_loss_reduction_factor_den;
+ uint32_t persistent_cong_thresh;
/* State. */
- size_t max_dgram_size;
- uint64_t bytes_in_flight, cong_wnd, slow_start_thresh, bytes_acked;
- OSSL_TIME cong_recovery_start_time;
+ size_t max_dgram_size;
+ uint64_t bytes_in_flight, cong_wnd, slow_start_thresh, bytes_acked;
+ OSSL_TIME cong_recovery_start_time;
/* Unflushed state during multiple on-loss calls. */
- int processing_loss; /* 1 if not flushed */
- OSSL_TIME tx_time_of_last_loss;
+ int processing_loss; /* 1 if not flushed */
+ OSSL_TIME tx_time_of_last_loss;
/* Diagnostic state. */
- int in_congestion_recovery;
+ int in_congestion_recovery;
/* Diagnostic output locations. */
- size_t *p_diag_max_dgram_payload_len;
- uint64_t *p_diag_cur_cwnd_size;
- uint64_t *p_diag_min_cwnd_size;
- uint64_t *p_diag_cur_bytes_in_flight;
- uint32_t *p_diag_cur_state;
+ size_t *p_diag_max_dgram_payload_len;
+ uint64_t *p_diag_cur_cwnd_size;
+ uint64_t *p_diag_min_cwnd_size;
+ uint64_t *p_diag_cur_bytes_in_flight;
+ uint32_t *p_diag_cur_state;
} OSSL_CC_NEWRENO;
-#define MIN_MAX_INIT_WND_SIZE 14720 /* RFC 9002 s. 7.2 */
+#define MIN_MAX_INIT_WND_SIZE 14720 /* RFC 9002 s. 7.2 */
/* TODO(QUIC FUTURE): Pacing support. */
static void newreno_set_max_dgram_size(OSSL_CC_NEWRENO *nr,
- size_t max_dgram_size);
+ size_t max_dgram_size);
static void newreno_update_diag(OSSL_CC_NEWRENO *nr);
static void newreno_reset(OSSL_CC_DATA *cc);
static OSSL_CC_DATA *newreno_new(OSSL_TIME (*now_cb)(void *arg),
- void *now_cb_arg)
+ void *now_cb_arg)
{
OSSL_CC_NEWRENO *nr;
if ((nr = OPENSSL_zalloc(sizeof(*nr))) == NULL)
return NULL;
- nr->now_cb = now_cb;
- nr->now_cb_arg = now_cb_arg;
+ nr->now_cb = now_cb;
+ nr->now_cb_arg = now_cb_arg;
newreno_set_max_dgram_size(nr, QUIC_MIN_INITIAL_DGRAM_LEN);
newreno_reset((OSSL_CC_DATA *)nr);
@@ -67,7 +67,7 @@ static void newreno_free(OSSL_CC_DATA *cc)
}
static void newreno_set_max_dgram_size(OSSL_CC_NEWRENO *nr,
- size_t max_dgram_size)
+ size_t max_dgram_size)
{
size_t max_init_wnd;
int is_reduced = (max_dgram_size < nr->max_dgram_size);
@@ -94,19 +94,19 @@ static void newreno_reset(OSSL_CC_DATA *cc)
{
OSSL_CC_NEWRENO *nr = (OSSL_CC_NEWRENO *)cc;
- nr->k_loss_reduction_factor_num = 1;
- nr->k_loss_reduction_factor_den = 2;
- nr->persistent_cong_thresh = 3;
+ nr->k_loss_reduction_factor_num = 1;
+ nr->k_loss_reduction_factor_den = 2;
+ nr->persistent_cong_thresh = 3;
- nr->cong_wnd = nr->k_init_wnd;
- nr->bytes_in_flight = 0;
- nr->bytes_acked = 0;
- nr->slow_start_thresh = UINT64_MAX;
- nr->cong_recovery_start_time = ossl_time_zero();
+ nr->cong_wnd = nr->k_init_wnd;
+ nr->bytes_in_flight = 0;
+ nr->bytes_acked = 0;
+ nr->slow_start_thresh = UINT64_MAX;
+ nr->cong_recovery_start_time = ossl_time_zero();
- nr->processing_loss = 0;
- nr->tx_time_of_last_loss = ossl_time_zero();
- nr->in_congestion_recovery = 0;
+ nr->processing_loss = 0;
+ nr->tx_time_of_last_loss = ossl_time_zero();
+ nr->in_congestion_recovery = 0;
}
static int newreno_set_input_params(OSSL_CC_DATA *cc, const OSSL_PARAM *params)
@@ -129,7 +129,7 @@ static int newreno_set_input_params(OSSL_CC_DATA *cc, const OSSL_PARAM *params)
}
static int bind_diag(OSSL_PARAM *params, const char *param_name, size_t len,
- void **pp)
+ void **pp)
{
const OSSL_PARAM *p = OSSL_PARAM_locate_const(params, param_name);
@@ -156,15 +156,15 @@ static int newreno_bind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
uint32_t *new_p_cur_state;
if (!bind_diag(params, OSSL_CC_OPTION_MAX_DGRAM_PAYLOAD_LEN,
- sizeof(size_t), (void **)&new_p_max_dgram_payload_len)
+ sizeof(size_t), (void **)&new_p_max_dgram_payload_len)
|| !bind_diag(params, OSSL_CC_OPTION_CUR_CWND_SIZE,
- sizeof(uint64_t), (void **)&new_p_cur_cwnd_size)
+ sizeof(uint64_t), (void **)&new_p_cur_cwnd_size)
|| !bind_diag(params, OSSL_CC_OPTION_MIN_CWND_SIZE,
- sizeof(uint64_t), (void **)&new_p_min_cwnd_size)
+ sizeof(uint64_t), (void **)&new_p_min_cwnd_size)
|| !bind_diag(params, OSSL_CC_OPTION_CUR_BYTES_IN_FLIGHT,
- sizeof(uint64_t), (void **)&new_p_cur_bytes_in_flight)
+ sizeof(uint64_t), (void **)&new_p_cur_bytes_in_flight)
|| !bind_diag(params, OSSL_CC_OPTION_CUR_STATE,
- sizeof(uint32_t), (void **)&new_p_cur_state))
+ sizeof(uint32_t), (void **)&new_p_cur_state))
return 0;
if (new_p_max_dgram_payload_len != NULL)
@@ -187,7 +187,7 @@ static int newreno_bind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
}
static void unbind_diag(OSSL_PARAM *params, const char *param_name,
- void **pp)
+ void **pp)
{
const OSSL_PARAM *p = OSSL_PARAM_locate_const(params, param_name);
@@ -200,15 +200,15 @@ static int newreno_unbind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
OSSL_CC_NEWRENO *nr = (OSSL_CC_NEWRENO *)cc;
unbind_diag(params, OSSL_CC_OPTION_MAX_DGRAM_PAYLOAD_LEN,
- (void **)&nr->p_diag_max_dgram_payload_len);
+ (void **)&nr->p_diag_max_dgram_payload_len);
unbind_diag(params, OSSL_CC_OPTION_CUR_CWND_SIZE,
- (void **)&nr->p_diag_cur_cwnd_size);
+ (void **)&nr->p_diag_cur_cwnd_size);
unbind_diag(params, OSSL_CC_OPTION_MIN_CWND_SIZE,
- (void **)&nr->p_diag_min_cwnd_size);
+ (void **)&nr->p_diag_min_cwnd_size);
unbind_diag(params, OSSL_CC_OPTION_CUR_BYTES_IN_FLIGHT,
- (void **)&nr->p_diag_cur_bytes_in_flight);
+ (void **)&nr->p_diag_cur_bytes_in_flight);
unbind_diag(params, OSSL_CC_OPTION_CUR_STATE,
- (void **)&nr->p_diag_cur_state);
+ (void **)&nr->p_diag_cur_state);
return 1;
}
@@ -256,9 +256,9 @@ static void newreno_cong(OSSL_CC_NEWRENO *nr, OSSL_TIME tx_time)
/* slow_start_thresh = cong_wnd * loss_reduction_factor */
nr->slow_start_thresh
= safe_muldiv_u64(nr->cong_wnd,
- nr->k_loss_reduction_factor_num,
- nr->k_loss_reduction_factor_den,
- &err);
+ nr->k_loss_reduction_factor_num,
+ nr->k_loss_reduction_factor_den,
+ &err);
if (err)
nr->slow_start_thresh = UINT64_MAX;
@@ -276,8 +276,8 @@ static void newreno_flush(OSSL_CC_NEWRENO *nr, uint32_t flags)
newreno_cong(nr, nr->tx_time_of_last_loss);
if ((flags & OSSL_CC_LOST_FLAG_PERSISTENT_CONGESTION) != 0) {
- nr->cong_wnd = nr->k_min_wnd;
- nr->cong_recovery_start_time = ossl_time_zero();
+ nr->cong_wnd = nr->k_min_wnd;
+ nr->cong_recovery_start_time = ossl_time_zero();
}
nr->processing_loss = 0;
@@ -333,11 +333,11 @@ static int newreno_is_cong_limited(OSSL_CC_NEWRENO *nr)
* have consumed half of our window.
*/
return (nr->cong_wnd < nr->slow_start_thresh && wnd_rem <= nr->cong_wnd / 2)
- || wnd_rem <= 3 * nr->max_dgram_size;
+ || wnd_rem <= 3 * nr->max_dgram_size;
}
static int newreno_on_data_acked(OSSL_CC_DATA *cc,
- const OSSL_CC_ACK_INFO *info)
+ const OSSL_CC_ACK_INFO *info)
{
OSSL_CC_NEWRENO *nr = (OSSL_CC_NEWRENO *)cc;
@@ -389,7 +389,7 @@ static int newreno_on_data_acked(OSSL_CC_DATA *cc,
*/
if (nr->bytes_acked >= nr->cong_wnd) {
nr->bytes_acked -= nr->cong_wnd;
- nr->cong_wnd += nr->max_dgram_size;
+ nr->cong_wnd += nr->max_dgram_size;
}
nr->in_congestion_recovery = 0;
@@ -401,7 +401,7 @@ out:
}
static int newreno_on_data_lost(OSSL_CC_DATA *cc,
- const OSSL_CC_LOSS_INFO *info)
+ const OSSL_CC_LOSS_INFO *info)
{
OSSL_CC_NEWRENO *nr = (OSSL_CC_NEWRENO *)cc;
@@ -446,7 +446,7 @@ static int newreno_on_data_lost_finished(OSSL_CC_DATA *cc, uint32_t flags)
}
static int newreno_on_data_invalidated(OSSL_CC_DATA *cc,
- uint64_t num_bytes)
+ uint64_t num_bytes)
{
OSSL_CC_NEWRENO *nr = (OSSL_CC_NEWRENO *)cc;
@@ -456,13 +456,13 @@ static int newreno_on_data_invalidated(OSSL_CC_DATA *cc,
}
static int newreno_on_ecn(OSSL_CC_DATA *cc,
- const OSSL_CC_ECN_INFO *info)
+ const OSSL_CC_ECN_INFO *info)
{
OSSL_CC_NEWRENO *nr = (OSSL_CC_NEWRENO *)cc;
- nr->processing_loss = 1;
- nr->bytes_acked = 0;
- nr->tx_time_of_last_loss = info->largest_acked_time;
+ nr->processing_loss = 1;
+ nr->bytes_acked = 0;
+ nr->tx_time_of_last_loss = info->largest_acked_time;
newreno_flush(nr, 0);
return 1;
}
diff --git a/crypto/openssl/ssl/quic/json_enc.c b/crypto/openssl/ssl/quic/json_enc.c
index 527230137ec2..9e14e821f1cc 100644
--- a/crypto/openssl/ssl/quic/json_enc.c
+++ b/crypto/openssl/ssl/quic/json_enc.c
@@ -24,16 +24,16 @@ static int wbuf_init(struct json_write_buf *wbuf, BIO *bio, size_t alloc)
if (wbuf->buf == NULL)
return 0;
- wbuf->cur = 0;
+ wbuf->cur = 0;
wbuf->alloc = alloc;
- wbuf->bio = bio;
+ wbuf->bio = bio;
return 1;
}
static void wbuf_cleanup(struct json_write_buf *wbuf)
{
OPENSSL_free(wbuf->buf);
- wbuf->buf = NULL;
+ wbuf->buf = NULL;
wbuf->alloc = 0;
}
@@ -87,12 +87,12 @@ static int wbuf_flush(struct json_write_buf *wbuf, int full)
while (total_written < wbuf->cur) {
if (!BIO_write_ex(wbuf->bio,
- wbuf->buf + total_written,
- wbuf->cur - total_written,
- &written)) {
+ wbuf->buf + total_written,
+ wbuf->cur - total_written,
+ &written)) {
memmove(wbuf->buf,
- wbuf->buf + total_written,
- wbuf->cur - total_written);
+ wbuf->buf + total_written,
+ wbuf->cur - total_written);
wbuf->cur = 0;
return 0;
}
@@ -131,8 +131,8 @@ static int json_ensure_stack_size(OSSL_JSON_ENC *json, size_t num_bytes)
return 0;
}
- json->stack = stack;
- json->stack_bytes = num_bytes;
+ json->stack = stack;
+ json->stack_bytes = num_bytes;
return 1;
}
@@ -193,10 +193,10 @@ static int json_peek(OSSL_JSON_ENC *json)
size_t obyte, obit;
obyte = json->stack_end_byte;
- obit = json->stack_end_bit;
+ obit = json->stack_end_bit;
if (obit == 0) {
- if (obyte == 0)
- return -1;
+ if (obyte == 0)
+ return -1;
--obyte;
obit = CHAR_BIT - 1;
@@ -236,8 +236,8 @@ static ossl_inline int in_pretty(const OSSL_JSON_ENC *json)
int ossl_json_init(OSSL_JSON_ENC *json, BIO *bio, uint32_t flags)
{
memset(json, 0, sizeof(*json));
- json->flags = flags;
- json->error = 0;
+ json->flags = flags;
+ json->error = 0;
if (!wbuf_init(&json->wbuf, bio, 4096))
return 0;
@@ -266,9 +266,9 @@ int ossl_json_flush_cleanup(OSSL_JSON_ENC *json)
int ossl_json_reset(OSSL_JSON_ENC *json)
{
wbuf_clean(&json->wbuf);
- json->stack_end_byte = 0;
- json->stack_end_bit = 0;
- json->error = 0;
+ json->stack_end_byte = 0;
+ json->stack_end_bit = 0;
+ json->error = 0;
return 1;
}
@@ -605,7 +605,7 @@ static ossl_inline int hex_digit(int v)
static ossl_inline void
json_write_qstring_inner(OSSL_JSON_ENC *json, const char *str, size_t str_len,
- int nul_term)
+ int nul_term)
{
char c, *o, obuf[7];
unsigned char *u_str;
@@ -619,19 +619,33 @@ json_write_qstring_inner(OSSL_JSON_ENC *json, const char *str, size_t str_len,
for (j = nul_term ? strlen(str) : str_len; j > 0; str++, j--) {
c = *str;
- u_str = (unsigned char*)str;
+ u_str = (unsigned char *)str;
switch (c) {
- case '\n': o = "\\n"; break;
- case '\r': o = "\\r"; break;
- case '\t': o = "\\t"; break;
- case '\b': o = "\\b"; break;
- case '\f': o = "\\f"; break;
- case '"': o = "\\\""; break;
- case '\\': o = "\\\\"; break;
+ case '\n':
+ o = "\\n";
+ break;
+ case '\r':
+ o = "\\r";
+ break;
+ case '\t':
+ o = "\\t";
+ break;
+ case '\b':
+ o = "\\b";
+ break;
+ case '\f':
+ o = "\\f";
+ break;
+ case '"':
+ o = "\\\"";
+ break;
+ case '\\':
+ o = "\\\\";
+ break;
default:
/* valid UTF-8 sequences according to RFC-3629 */
if (u_str[0] >= 0xc2 && u_str[0] <= 0xdf && j >= 2
- && u_str[1] >= 0x80 && u_str[1] <= 0xbf) {
+ && u_str[1] >= 0x80 && u_str[1] <= 0xbf) {
memcpy(obuf, str, 2);
obuf[2] = '\0';
str++, j--;
@@ -639,10 +653,10 @@ json_write_qstring_inner(OSSL_JSON_ENC *json, const char *str, size_t str_len,
break;
}
if (u_str[0] >= 0xe0 && u_str[0] <= 0xef && j >= 3
- && u_str[1] >= 0x80 && u_str[1] <= 0xbf
- && u_str[2] >= 0x80 && u_str[2] <= 0xbf
- && !(u_str[0] == 0xe0 && u_str[1] <= 0x9f)
- && !(u_str[0] == 0xed && u_str[1] >= 0xa0)) {
+ && u_str[1] >= 0x80 && u_str[1] <= 0xbf
+ && u_str[2] >= 0x80 && u_str[2] <= 0xbf
+ && !(u_str[0] == 0xe0 && u_str[1] <= 0x9f)
+ && !(u_str[0] == 0xed && u_str[1] >= 0xa0)) {
memcpy(obuf, str, 3);
obuf[3] = '\0';
str += 2;
@@ -651,11 +665,11 @@ json_write_qstring_inner(OSSL_JSON_ENC *json, const char *str, size_t str_len,
break;
}
if (u_str[0] >= 0xf0 && u_str[0] <= 0xf4 && j >= 4
- && u_str[1] >= 0x80 && u_str[1] <= 0xbf
- && u_str[2] >= 0x80 && u_str[2] <= 0xbf
- && u_str[3] >= 0x80 && u_str[3] <= 0xbf
- && !(u_str[0] == 0xf0 && u_str[1] <= 0x8f)
- && !(u_str[0] == 0xf4 && u_str[1] >= 0x90)) {
+ && u_str[1] >= 0x80 && u_str[1] <= 0xbf
+ && u_str[2] >= 0x80 && u_str[2] <= 0xbf
+ && u_str[3] >= 0x80 && u_str[3] <= 0xbf
+ && !(u_str[0] == 0xf0 && u_str[1] <= 0x8f)
+ && !(u_str[0] == 0xf4 && u_str[1] >= 0x90)) {
memcpy(obuf, str, 4);
obuf[4] = '\0';
str += 3;
diff --git a/crypto/openssl/ssl/quic/qlog.c b/crypto/openssl/ssl/quic/qlog.c
index 3aadda046f74..41025159ced8 100644
--- a/crypto/openssl/ssl/quic/qlog.c
+++ b/crypto/openssl/ssl/quic/qlog.c
@@ -34,13 +34,13 @@ static ossl_unused ossl_inline void bit_set(size_t *p, uint32_t bit_no, int enab
struct qlog_st {
QLOG_TRACE_INFO info;
- BIO *bio;
- size_t enabled[NUM_ENABLED_W];
- uint32_t event_type;
- const char *event_cat, *event_name, *event_combined_name;
- OSSL_TIME event_time, prev_event_time;
- OSSL_JSON_ENC json;
- int header_done, first_event_done;
+ BIO *bio;
+ size_t enabled[NUM_ENABLED_W];
+ uint32_t event_type;
+ const char *event_cat, *event_name, *event_combined_name;
+ OSSL_TIME event_time, prev_event_time;
+ OSSL_JSON_ENC json;
+ int header_done, first_event_done;
};
static OSSL_TIME default_now(void *arg)
@@ -59,11 +59,11 @@ QLOG *ossl_qlog_new(const QLOG_TRACE_INFO *info)
if (qlog == NULL)
return NULL;
- qlog->info.odcid = info->odcid;
- qlog->info.is_server = info->is_server;
- qlog->info.now_cb = info->now_cb;
- qlog->info.now_cb_arg = info->now_cb_arg;
- qlog->info.override_process_id = info->override_process_id;
+ qlog->info.odcid = info->odcid;
+ qlog->info.is_server = info->is_server;
+ qlog->info.now_cb = info->now_cb;
+ qlog->info.now_cb_arg = info->now_cb_arg;
+ qlog->info.override_process_id = info->override_process_id;
if (info->title != NULL
&& (qlog->info.title = OPENSSL_strdup(info->title)) == NULL)
@@ -79,11 +79,12 @@ QLOG *ossl_qlog_new(const QLOG_TRACE_INFO *info)
if (info->override_impl_name != NULL
&& (qlog->info.override_impl_name
- = OPENSSL_strdup(info->override_impl_name)) == NULL)
+ = OPENSSL_strdup(info->override_impl_name))
+ == NULL)
goto err;
if (!ossl_json_init(&qlog->json, NULL,
- OSSL_JSON_FLAG_IJSON | OSSL_JSON_FLAG_SEQ))
+ OSSL_JSON_FLAG_IJSON | OSSL_JSON_FLAG_SEQ))
goto err;
if (qlog->info.now_cb == NULL)
@@ -133,7 +134,7 @@ QLOG *ossl_qlog_new_from_env(const QLOG_TRACE_INFO *info)
l += BIO_snprintf(filename + l, strl - l, "%02x", info->odcid.id[i]);
l += BIO_snprintf(filename + l, strl - l, "_%s.sqlog",
- info->is_server ? "server" : "client");
+ info->is_server ? "server" : "client");
qlog = ossl_qlog_new(info);
if (qlog == NULL)
@@ -242,7 +243,7 @@ int ossl_qlog_flush(QLOG *qlog)
}
int ossl_qlog_set_event_type_enabled(QLOG *qlog, uint32_t event_type,
- int enabled)
+ int enabled)
{
if (qlog == NULL || event_type >= QLOG_EVENT_TYPE_NUM)
return 0;
@@ -339,13 +340,13 @@ static void qlog_event_seq_header(QLOG *qlog)
p = qlog->info.override_impl_name;
} else {
BIO_snprintf(buf, sizeof(buf), "OpenSSL/%s (%s)",
- OpenSSL_version(OPENSSL_FULL_VERSION_STRING),
- OpenSSL_version(OPENSSL_PLATFORM) + 10);
+ OpenSSL_version(OPENSSL_FULL_VERSION_STRING),
+ OpenSSL_version(OPENSSL_PLATFORM) + 10);
}
ossl_json_key(&qlog->json, "type");
ossl_json_str(&qlog->json,
- qlog->info.is_server ? "server" : "client");
+ qlog->info.is_server ? "server" : "client");
ossl_json_key(&qlog->json, "name");
ossl_json_str(&qlog->json, p);
@@ -383,7 +384,7 @@ static void qlog_event_epilogue(QLOG *qlog)
qlog->first_event_done = 1;
} else {
OSSL_TIME delta = ossl_time_subtract(qlog->event_time,
- qlog->prev_event_time);
+ qlog->prev_event_time);
ossl_json_u64(&qlog->json, ossl_time2ms(delta));
qlog->prev_event_time = qlog->event_time;
@@ -393,10 +394,10 @@ static void qlog_event_epilogue(QLOG *qlog)
}
int ossl_qlog_event_try_begin(QLOG *qlog,
- uint32_t event_type,
- const char *event_cat,
- const char *event_name,
- const char *event_combined_name)
+ uint32_t event_type,
+ const char *event_cat,
+ const char *event_name,
+ const char *event_combined_name)
{
if (qlog == NULL)
return 0;
@@ -405,11 +406,11 @@ int ossl_qlog_event_try_begin(QLOG *qlog,
|| !ossl_qlog_enabled(qlog, event_type))
return 0;
- qlog->event_type = event_type;
- qlog->event_cat = event_cat;
- qlog->event_name = event_name;
- qlog->event_combined_name = event_combined_name;
- qlog->event_time = qlog->info.now_cb(qlog->info.now_cb_arg);
+ qlog->event_type = event_type;
+ qlog->event_cat = event_cat;
+ qlog->event_name = event_name;
+ qlog->event_combined_name = event_combined_name;
+ qlog->event_time = qlog->info.now_cb(qlog->info.now_cb_arg);
qlog_event_prologue(qlog);
return 1;
@@ -468,7 +469,7 @@ void ossl_qlog_str(QLOG *qlog, const char *name, const char *value)
}
void ossl_qlog_str_len(QLOG *qlog, const char *name,
- const char *value, size_t value_len)
+ const char *value, size_t value_len)
{
if (name != NULL)
ossl_json_key(&qlog->json, name);
@@ -501,7 +502,7 @@ void ossl_qlog_bool(QLOG *qlog, const char *name, int value)
}
void ossl_qlog_bin(QLOG *qlog, const char *name,
- const void *value, size_t value_len)
+ const void *value, size_t value_len)
{
if (name != NULL)
ossl_json_key(&qlog->json, name);
@@ -532,9 +533,9 @@ static int lex_init(struct lexer *lex, const char *in, size_t in_len)
if (in == NULL)
return 0;
- lex->p = in;
- lex->term_end = in;
- lex->end = in + in_len;
+ lex->p = in;
+ lex->term_end = in;
+ lex->end = in + in_len;
return 1;
}
@@ -542,18 +543,20 @@ static int lex_do(struct lexer *lex)
{
const char *p = lex->term_end, *end = lex->end, *term_end;
- for (; is_term_sep_ws(*p) && p < end; ++p);
+ for (; is_term_sep_ws(*p) && p < end; ++p)
+ ;
if (p == end) {
- lex->p = end;
- lex->term_end = end;
+ lex->p = end;
+ lex->term_end = end;
return 0;
}
- for (term_end = p; !is_term_sep_ws(*term_end) && term_end < end; ++term_end);
+ for (term_end = p; !is_term_sep_ws(*term_end) && term_end < end; ++term_end)
+ ;
- lex->p = p;
- lex->term_end = term_end;
+ lex->p = p;
+ lex->term_end = term_end;
return 1;
}
@@ -589,29 +592,30 @@ static int lex_match(struct lexer *lex, const char *s, size_t s_len)
static void lex_get_rest(struct lexer *lex, const char **str, size_t *str_l)
{
- *str = lex->p;
- *str_l = lex->term_end - lex->p;
+ *str = lex->p;
+ *str_l = lex->term_end - lex->p;
}
static int lex_extract_to(struct lexer *lex, char c,
- const char **str, size_t *str_l)
+ const char **str, size_t *str_l)
{
const char *p = lex->p, *term_end = lex->term_end, *s;
- for (s = p; s < term_end && *s != c; ++s);
+ for (s = p; s < term_end && *s != c; ++s)
+ ;
if (s == term_end)
return 0;
- *str = p;
- *str_l = s - p;
- lex->p = ++s;
+ *str = p;
+ *str_l = s - p;
+ lex->p = ++s;
return 1;
}
static int ossl_unused filter_match_event(const char *cat, size_t cat_l,
- const char *event, size_t event_l,
- const char *expect_cat,
- const char *expect_event)
+ const char *event, size_t event_l,
+ const char *expect_cat,
+ const char *expect_event)
{
size_t expect_cat_l = strlen(expect_cat);
size_t expect_event_l = strlen(expect_event);
@@ -634,16 +638,16 @@ static int ossl_unused filter_match_event(const char *cat, size_t cat_l,
* NULL to match any.
*/
static void filter_apply(size_t *enabled, int add,
- const char *cat, size_t cat_l,
- const char *event, size_t event_l)
+ const char *cat, size_t cat_l,
+ const char *event, size_t event_l)
{
/* Find events which match the given filters. */
-# define QLOG_EVENT(e_cat, e_name) \
+#define QLOG_EVENT(e_cat, e_name) \
if (filter_match_event(cat, cat_l, event, event_l, \
- #e_cat, #e_name)) \
+ #e_cat, #e_name)) \
bit_set(enabled, QLOG_EVENT_TYPE_##e_cat##_##e_name, add);
-# include "internal/qlog_events.h"
-# undef QLOG_EVENT
+#include "internal/qlog_events.h"
+#undef QLOG_EVENT
}
static int lex_fail(struct lexer *lex, const char *msg)
@@ -679,7 +683,7 @@ static int validate_name(const char **p, size_t *l)
int ossl_qlog_set_filter(QLOG *qlog, const char *filter)
{
- struct lexer lex = {0};
+ struct lexer lex = { 0 };
char c;
const char *cat, *event;
size_t cat_l, event_l, enabled[NUM_ENABLED_W];
@@ -699,7 +703,7 @@ int ossl_qlog_set_filter(QLOG *qlog, const char *filter)
c = lex_peek_char(&lex);
if (!is_name_char(c) && c != '*')
return lex_fail(&lex, "expected alphanumeric name or '*'"
- " after +/-");
+ " after +/-");
} else if (!is_name_char(c) && c != '*') {
return lex_fail(&lex, "expected +/- or alphanumeric name or '*'");
} else {
diff --git a/crypto/openssl/ssl/quic/qlog_event_helpers.c b/crypto/openssl/ssl/quic/qlog_event_helpers.c
index a4f74e25c800..83eebe82ad4f 100644
--- a/crypto/openssl/ssl/quic/qlog_event_helpers.c
+++ b/crypto/openssl/ssl/quic/qlog_event_helpers.c
@@ -14,20 +14,20 @@
#include "internal/quic_error.h"
void ossl_qlog_event_connectivity_connection_started(QLOG *qlog,
- const QUIC_CONN_ID *init_dcid)
+ const QUIC_CONN_ID *init_dcid)
{
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(qlog, connectivity, connection_started)
- QLOG_STR("protocol", "quic");
- QLOG_CID("dst_cid", init_dcid);
+ QLOG_STR("protocol", "quic");
+ QLOG_CID("dst_cid", init_dcid);
QLOG_EVENT_END()
#endif
}
#ifndef OPENSSL_NO_QLOG
static const char *map_state_to_qlog(uint32_t state,
- int handshake_complete,
- int handshake_confirmed)
+ int handshake_complete,
+ int handshake_confirmed)
{
switch (state) {
default:
@@ -55,21 +55,21 @@ static const char *map_state_to_qlog(uint32_t state,
#endif
void ossl_qlog_event_connectivity_connection_state_updated(QLOG *qlog,
- uint32_t old_state,
- uint32_t new_state,
- int handshake_complete,
- int handshake_confirmed)
+ uint32_t old_state,
+ uint32_t new_state,
+ int handshake_complete,
+ int handshake_confirmed)
{
#ifndef OPENSSL_NO_QLOG
const char *state_s;
QLOG_EVENT_BEGIN(qlog, connectivity, connection_state_updated)
- state_s = map_state_to_qlog(new_state,
- handshake_complete,
- handshake_confirmed);
+ state_s = map_state_to_qlog(new_state,
+ handshake_complete,
+ handshake_confirmed);
- if (state_s != NULL)
- QLOG_STR("state", state_s);
+ if (state_s != NULL)
+ QLOG_STR("state", state_s);
QLOG_EVENT_END()
#endif
}
@@ -117,32 +117,32 @@ static const char *quic_err_to_qlog(uint64_t error_code)
#endif
void ossl_qlog_event_connectivity_connection_closed(QLOG *qlog,
- const QUIC_TERMINATE_CAUSE *tcause)
+ const QUIC_TERMINATE_CAUSE *tcause)
{
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(qlog, connectivity, connection_closed)
- QLOG_STR("owner", tcause->remote ? "remote" : "local");
- if (tcause->app) {
- QLOG_U64("application_code", tcause->error_code);
- } else {
- const char *m = quic_err_to_qlog(tcause->error_code);
- char ce[32];
+ QLOG_STR("owner", tcause->remote ? "remote" : "local");
+ if (tcause->app) {
+ QLOG_U64("application_code", tcause->error_code);
+ } else {
+ const char *m = quic_err_to_qlog(tcause->error_code);
+ char ce[32];
- if (tcause->error_code >= OSSL_QUIC_ERR_CRYPTO_ERR_BEGIN
- && tcause->error_code <= OSSL_QUIC_ERR_CRYPTO_ERR_END) {
- BIO_snprintf(ce, sizeof(ce), "crypto_error_0x%03llx",
- (unsigned long long)tcause->error_code);
- m = ce;
- }
- /* TODO(QLOG FUTURE): Consider adding ERR information in the output. */
-
- if (m != NULL)
- QLOG_STR("connection_code", m);
- else
- QLOG_U64("connection_code", tcause->error_code);
+ if (tcause->error_code >= OSSL_QUIC_ERR_CRYPTO_ERR_BEGIN
+ && tcause->error_code <= OSSL_QUIC_ERR_CRYPTO_ERR_END) {
+ BIO_snprintf(ce, sizeof(ce), "crypto_error_0x%03llx",
+ (unsigned long long)tcause->error_code);
+ m = ce;
}
+ /* TODO(QLOG FUTURE): Consider adding ERR information in the output. */
+
+ if (m != NULL)
+ QLOG_STR("connection_code", m);
+ else
+ QLOG_U64("connection_code", tcause->error_code);
+ }
- QLOG_STR_LEN("reason", tcause->reason, tcause->reason_len);
+ QLOG_STR_LEN("reason", tcause->reason, tcause->reason_len);
QLOG_EVENT_END()
#endif
}
@@ -170,23 +170,23 @@ static const char *quic_pkt_type_to_qlog(uint32_t pkt_type)
#endif
void ossl_qlog_event_recovery_packet_lost(QLOG *qlog,
- const QUIC_TXPIM_PKT *tpkt)
+ const QUIC_TXPIM_PKT *tpkt)
{
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(qlog, recovery, packet_lost)
- QLOG_BEGIN("header")
- QLOG_STR("packet_type", quic_pkt_type_to_qlog(tpkt->pkt_type));
- if (ossl_quic_pkt_type_has_pn(tpkt->pkt_type))
- QLOG_U64("packet_number", tpkt->ackm_pkt.pkt_num);
- QLOG_END()
+ QLOG_BEGIN("header")
+ QLOG_STR("packet_type", quic_pkt_type_to_qlog(tpkt->pkt_type));
+ if (ossl_quic_pkt_type_has_pn(tpkt->pkt_type))
+ QLOG_U64("packet_number", tpkt->ackm_pkt.pkt_num);
+ QLOG_END()
QLOG_EVENT_END()
#endif
}
#ifndef OPENSSL_NO_QLOG
-# define MAX_ACK_RANGES 32
+#define MAX_ACK_RANGES 32
-static void ignore_res(int x) {}
+static void ignore_res(int x) { }
/*
* For logging received packets, we need to parse all the frames in the packet
@@ -204,7 +204,7 @@ static void ignore_res(int x) {}
* data on what frames it contained.
*/
static int log_frame_actual(QLOG *qlog_instance, PACKET *pkt,
- size_t *need_skip)
+ size_t *need_skip)
{
uint64_t frame_type;
OSSL_QUIC_FRAME_ACK ack;
@@ -227,7 +227,7 @@ static int log_frame_actual(QLOG *qlog_instance, PACKET *pkt,
case OSSL_QUIC_FRAME_TYPE_PADDING:
QLOG_STR("frame_type", "padding");
QLOG_U64("payload_length",
- ossl_quic_wire_decode_padding(pkt));
+ ossl_quic_wire_decode_padding(pkt));
break;
case OSSL_QUIC_FRAME_TYPE_PING:
if (!ossl_quic_wire_decode_frame_ping(pkt))
@@ -240,8 +240,8 @@ static int log_frame_actual(QLOG *qlog_instance, PACKET *pkt,
if (!ossl_quic_wire_peek_frame_ack_num_ranges(pkt, &num_ranges))
goto unknown;
- ack.ack_ranges = ack_ranges;
- ack.num_ack_ranges = OSSL_NELEM(ack_ranges);
+ ack.ack_ranges = ack_ranges;
+ ack.num_ack_ranges = OSSL_NELEM(ack_ranges);
if (!ossl_quic_wire_decode_frame_ack(pkt, 3, &ack, &total_ranges))
goto unknown;
@@ -255,51 +255,45 @@ static int log_frame_actual(QLOG *qlog_instance, PACKET *pkt,
QLOG_BEGIN_ARRAY("acked_ranges");
for (i = 0; i < ack.num_ack_ranges; ++i) {
QLOG_BEGIN_ARRAY(NULL)
- QLOG_U64(NULL, ack.ack_ranges[i].start);
- if (ack.ack_ranges[i].end != ack.ack_ranges[i].start)
- QLOG_U64(NULL, ack.ack_ranges[i].end);
+ QLOG_U64(NULL, ack.ack_ranges[i].start);
+ if (ack.ack_ranges[i].end != ack.ack_ranges[i].start)
+ QLOG_U64(NULL, ack.ack_ranges[i].end);
QLOG_END_ARRAY()
}
QLOG_END_ARRAY()
break;
- case OSSL_QUIC_FRAME_TYPE_RESET_STREAM:
- {
- OSSL_QUIC_FRAME_RESET_STREAM f;
+ case OSSL_QUIC_FRAME_TYPE_RESET_STREAM: {
+ OSSL_QUIC_FRAME_RESET_STREAM f;
- if (!ossl_quic_wire_decode_frame_reset_stream(pkt, &f))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_reset_stream(pkt, &f))
+ goto unknown;
- QLOG_STR("frame_type", "reset_stream");
- QLOG_U64("stream_id", f.stream_id);
- QLOG_U64("error_code", f.app_error_code);
- QLOG_U64("final_size", f.final_size);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_STOP_SENDING:
- {
- OSSL_QUIC_FRAME_STOP_SENDING f;
+ QLOG_STR("frame_type", "reset_stream");
+ QLOG_U64("stream_id", f.stream_id);
+ QLOG_U64("error_code", f.app_error_code);
+ QLOG_U64("final_size", f.final_size);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_STOP_SENDING: {
+ OSSL_QUIC_FRAME_STOP_SENDING f;
- if (!ossl_quic_wire_decode_frame_stop_sending(pkt, &f))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_stop_sending(pkt, &f))
+ goto unknown;
- QLOG_STR("frame_type", "stop_sending");
- QLOG_U64("stream_id", f.stream_id);
- QLOG_U64("error_code", f.app_error_code);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_CRYPTO:
- {
- OSSL_QUIC_FRAME_CRYPTO f;
+ QLOG_STR("frame_type", "stop_sending");
+ QLOG_U64("stream_id", f.stream_id);
+ QLOG_U64("error_code", f.app_error_code);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_CRYPTO: {
+ OSSL_QUIC_FRAME_CRYPTO f;
- if (!ossl_quic_wire_decode_frame_crypto(pkt, 1, &f))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_crypto(pkt, 1, &f))
+ goto unknown;
- QLOG_STR("frame_type", "crypto");
- QLOG_U64("offset", f.offset);
- QLOG_U64("payload_length", f.len);
- *need_skip += (size_t)f.len;
- }
- break;
+ QLOG_STR("frame_type", "crypto");
+ QLOG_U64("offset", f.offset);
+ QLOG_U64("payload_length", f.len);
+ *need_skip += (size_t)f.len;
+ } break;
case OSSL_QUIC_FRAME_TYPE_STREAM:
case OSSL_QUIC_FRAME_TYPE_STREAM_FIN:
case OSSL_QUIC_FRAME_TYPE_STREAM_LEN:
@@ -307,194 +301,169 @@ static int log_frame_actual(QLOG *qlog_instance, PACKET *pkt,
case OSSL_QUIC_FRAME_TYPE_STREAM_OFF:
case OSSL_QUIC_FRAME_TYPE_STREAM_OFF_FIN:
case OSSL_QUIC_FRAME_TYPE_STREAM_OFF_LEN:
- case OSSL_QUIC_FRAME_TYPE_STREAM_OFF_LEN_FIN:
- {
- OSSL_QUIC_FRAME_STREAM f;
+ case OSSL_QUIC_FRAME_TYPE_STREAM_OFF_LEN_FIN: {
+ OSSL_QUIC_FRAME_STREAM f;
- if (!ossl_quic_wire_decode_frame_stream(pkt, 1, &f))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_stream(pkt, 1, &f))
+ goto unknown;
- QLOG_STR("frame_type", "stream");
- QLOG_U64("stream_id", f.stream_id);
- QLOG_U64("offset", f.offset);
- QLOG_U64("payload_length", f.len);
- QLOG_BOOL("explicit_length", f.has_explicit_len);
- if (f.is_fin)
- QLOG_BOOL("fin", 1);
- *need_skip = f.has_explicit_len
- ? *need_skip + (size_t)f.len : SIZE_MAX;
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_MAX_DATA:
- {
- uint64_t x;
+ QLOG_STR("frame_type", "stream");
+ QLOG_U64("stream_id", f.stream_id);
+ QLOG_U64("offset", f.offset);
+ QLOG_U64("payload_length", f.len);
+ QLOG_BOOL("explicit_length", f.has_explicit_len);
+ if (f.is_fin)
+ QLOG_BOOL("fin", 1);
+ *need_skip = f.has_explicit_len
+ ? *need_skip + (size_t)f.len
+ : SIZE_MAX;
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_MAX_DATA: {
+ uint64_t x;
- if (!ossl_quic_wire_decode_frame_max_data(pkt, &x))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_max_data(pkt, &x))
+ goto unknown;
- QLOG_STR("frame_type", "max_data");
- QLOG_U64("maximum", x);
- }
- break;
+ QLOG_STR("frame_type", "max_data");
+ QLOG_U64("maximum", x);
+ } break;
case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI:
- case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI:
- {
- uint64_t x;
+ case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI: {
+ uint64_t x;
- if (!ossl_quic_wire_decode_frame_max_streams(pkt, &x))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_max_streams(pkt, &x))
+ goto unknown;
- QLOG_STR("frame_type", "max_streams");
- QLOG_STR("stream_type",
- frame_type == OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI
- ? "bidirectional" : "unidirectional");
- QLOG_U64("maximum", x);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA:
- {
- uint64_t stream_id, max_data;
+ QLOG_STR("frame_type", "max_streams");
+ QLOG_STR("stream_type",
+ frame_type == OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI
+ ? "bidirectional"
+ : "unidirectional");
+ QLOG_U64("maximum", x);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA: {
+ uint64_t stream_id, max_data;
- if (!ossl_quic_wire_decode_frame_max_stream_data(pkt, &stream_id,
- &max_data))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_max_stream_data(pkt, &stream_id,
+ &max_data))
+ goto unknown;
- QLOG_STR("frame_type", "max_stream_data");
- QLOG_U64("stream_id", stream_id);
- QLOG_U64("maximum", max_data);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE:
- {
- uint64_t challenge;
+ QLOG_STR("frame_type", "max_stream_data");
+ QLOG_U64("stream_id", stream_id);
+ QLOG_U64("maximum", max_data);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE: {
+ uint64_t challenge;
- if (!ossl_quic_wire_decode_frame_path_challenge(pkt, &challenge))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_path_challenge(pkt, &challenge))
+ goto unknown;
- QLOG_STR("frame_type", "path_challenge");
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE:
- {
- uint64_t challenge;
+ QLOG_STR("frame_type", "path_challenge");
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE: {
+ uint64_t challenge;
- if (!ossl_quic_wire_decode_frame_path_response(pkt, &challenge))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_path_response(pkt, &challenge))
+ goto unknown;
- QLOG_STR("frame_type", "path_response");
- }
- break;
+ QLOG_STR("frame_type", "path_response");
+ } break;
case OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_APP:
- case OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_TRANSPORT:
- {
- OSSL_QUIC_FRAME_CONN_CLOSE f;
+ case OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_TRANSPORT: {
+ OSSL_QUIC_FRAME_CONN_CLOSE f;
- if (!ossl_quic_wire_decode_frame_conn_close(pkt, &f))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_conn_close(pkt, &f))
+ goto unknown;
- QLOG_STR("frame_type", "connection_close");
- QLOG_STR("error_space", f.is_app ? "application" : "transport");
- QLOG_U64("error_code_value", f.error_code);
- if (f.is_app)
- QLOG_U64("error_code", f.error_code);
- if (!f.is_app && f.frame_type != 0)
- QLOG_U64("trigger_frame_type", f.frame_type);
- QLOG_STR_LEN("reason", f.reason, f.reason_len);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE:
- {
- if (!ossl_quic_wire_decode_frame_handshake_done(pkt))
- goto unknown;
+ QLOG_STR("frame_type", "connection_close");
+ QLOG_STR("error_space", f.is_app ? "application" : "transport");
+ QLOG_U64("error_code_value", f.error_code);
+ if (f.is_app)
+ QLOG_U64("error_code", f.error_code);
+ if (!f.is_app && f.frame_type != 0)
+ QLOG_U64("trigger_frame_type", f.frame_type);
+ QLOG_STR_LEN("reason", f.reason, f.reason_len);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE: {
+ if (!ossl_quic_wire_decode_frame_handshake_done(pkt))
+ goto unknown;
- QLOG_STR("frame_type", "handshake_done");
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID:
- {
- OSSL_QUIC_FRAME_NEW_CONN_ID f;
+ QLOG_STR("frame_type", "handshake_done");
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID: {
+ OSSL_QUIC_FRAME_NEW_CONN_ID f;
- if (!ossl_quic_wire_decode_frame_new_conn_id(pkt, &f))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_new_conn_id(pkt, &f))
+ goto unknown;
- QLOG_STR("frame_type", "new_connection_id");
- QLOG_U64("sequence_number", f.seq_num);
- QLOG_U64("retire_prior_to", f.retire_prior_to);
- QLOG_CID("connection_id", &f.conn_id);
- QLOG_BIN("stateless_reset_token",
- f.stateless_reset.token,
- sizeof(f.stateless_reset.token));
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID:
- {
- uint64_t seq_num;
+ QLOG_STR("frame_type", "new_connection_id");
+ QLOG_U64("sequence_number", f.seq_num);
+ QLOG_U64("retire_prior_to", f.retire_prior_to);
+ QLOG_CID("connection_id", &f.conn_id);
+ QLOG_BIN("stateless_reset_token",
+ f.stateless_reset.token,
+ sizeof(f.stateless_reset.token));
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID: {
+ uint64_t seq_num;
- if (!ossl_quic_wire_decode_frame_retire_conn_id(pkt, &seq_num))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_retire_conn_id(pkt, &seq_num))
+ goto unknown;
- QLOG_STR("frame_type", "retire_connection_id");
- QLOG_U64("sequence_number", seq_num);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_DATA_BLOCKED:
- {
- uint64_t x;
+ QLOG_STR("frame_type", "retire_connection_id");
+ QLOG_U64("sequence_number", seq_num);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_DATA_BLOCKED: {
+ uint64_t x;
- if (!ossl_quic_wire_decode_frame_data_blocked(pkt, &x))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_data_blocked(pkt, &x))
+ goto unknown;
- QLOG_STR("frame_type", "data_blocked");
- QLOG_U64("limit", x);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED:
- {
- uint64_t stream_id, x;
+ QLOG_STR("frame_type", "data_blocked");
+ QLOG_U64("limit", x);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED: {
+ uint64_t stream_id, x;
- if (!ossl_quic_wire_decode_frame_stream_data_blocked(pkt,
- &stream_id,
- &x))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_stream_data_blocked(pkt,
+ &stream_id,
+ &x))
+ goto unknown;
- QLOG_STR("frame_type", "stream_data_blocked");
- QLOG_U64("stream_id", stream_id);
- QLOG_U64("limit", x);
- }
- break;
+ QLOG_STR("frame_type", "stream_data_blocked");
+ QLOG_U64("stream_id", stream_id);
+ QLOG_U64("limit", x);
+ } break;
case OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_BIDI:
- case OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_UNI:
- {
- uint64_t x;
+ case OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_UNI: {
+ uint64_t x;
- if (!ossl_quic_wire_decode_frame_streams_blocked(pkt, &x))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_streams_blocked(pkt, &x))
+ goto unknown;
- QLOG_STR("frame_type", "streams_blocked");
- QLOG_STR("stream_type",
- frame_type == OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_BIDI
- ? "bidirectional" : "unidirectional");
- QLOG_U64("limit", x);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_NEW_TOKEN:
- {
- const unsigned char *token;
- size_t token_len;
+ QLOG_STR("frame_type", "streams_blocked");
+ QLOG_STR("stream_type",
+ frame_type == OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_BIDI
+ ? "bidirectional"
+ : "unidirectional");
+ QLOG_U64("limit", x);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_NEW_TOKEN: {
+ const unsigned char *token;
+ size_t token_len;
- if (!ossl_quic_wire_decode_frame_new_token(pkt, &token, &token_len))
- goto unknown;
+ if (!ossl_quic_wire_decode_frame_new_token(pkt, &token, &token_len))
+ goto unknown;
- QLOG_STR("frame_type", "new_token");
- QLOG_BEGIN("token");
- QLOG_BEGIN("raw");
- QLOG_BIN("data", token, token_len);
- QLOG_END();
- QLOG_END();
- }
- break;
+ QLOG_STR("frame_type", "new_token");
+ QLOG_BEGIN("token");
+ QLOG_BEGIN("raw");
+ QLOG_BIN("data", token, token_len);
+ QLOG_END();
+ QLOG_END();
+ } break;
default:
-unknown:
+ unknown:
QLOG_STR("frame_type", "unknown");
QLOG_U64("frame_type_value", frame_type);
@@ -504,8 +473,8 @@ unknown:
* as the raw data of the frame.
*/
QLOG_BEGIN("raw");
- QLOG_BIN("data", PACKET_data(&orig_pkt),
- PACKET_remaining(&orig_pkt));
+ QLOG_BIN("data", PACKET_data(&orig_pkt),
+ PACKET_remaining(&orig_pkt));
QLOG_END();
ignore_res(PACKET_forward(pkt, PACKET_remaining(pkt)));
break;
@@ -515,7 +484,7 @@ unknown:
}
static void log_frame(QLOG *qlog_instance, PACKET *pkt,
- size_t *need_skip)
+ size_t *need_skip)
{
size_t rem_before, rem_after;
@@ -529,8 +498,8 @@ static void log_frame(QLOG *qlog_instance, PACKET *pkt,
}
static int log_frames(QLOG *qlog_instance,
- const OSSL_QTX_IOVEC *iovec,
- size_t num_iovec)
+ const OSSL_QTX_IOVEC *iovec,
+ size_t num_iovec)
{
size_t i;
PACKET pkt;
@@ -566,41 +535,41 @@ static int log_frames(QLOG *qlog_instance,
}
static void log_packet(QLOG *qlog_instance,
- const QUIC_PKT_HDR *hdr,
- QUIC_PN pn,
- const OSSL_QTX_IOVEC *iovec,
- size_t num_iovec,
- uint64_t datagram_id)
+ const QUIC_PKT_HDR *hdr,
+ QUIC_PN pn,
+ const OSSL_QTX_IOVEC *iovec,
+ size_t num_iovec,
+ uint64_t datagram_id)
{
const char *type_s;
QLOG_BEGIN("header")
- type_s = quic_pkt_type_to_qlog(hdr->type);
- if (type_s == NULL)
- type_s = "unknown";
+ type_s = quic_pkt_type_to_qlog(hdr->type);
+ if (type_s == NULL)
+ type_s = "unknown";
- QLOG_STR("packet_type", type_s);
- if (ossl_quic_pkt_type_has_pn(hdr->type))
- QLOG_U64("packet_number", pn);
+ QLOG_STR("packet_type", type_s);
+ if (ossl_quic_pkt_type_has_pn(hdr->type))
+ QLOG_U64("packet_number", pn);
- QLOG_CID("dcid", &hdr->dst_conn_id);
- if (ossl_quic_pkt_type_has_scid(hdr->type))
- QLOG_CID("scid", &hdr->src_conn_id);
+ QLOG_CID("dcid", &hdr->dst_conn_id);
+ if (ossl_quic_pkt_type_has_scid(hdr->type))
+ QLOG_CID("scid", &hdr->src_conn_id);
- if (hdr->token_len > 0) {
- QLOG_BEGIN("token")
- QLOG_BEGIN("raw")
- QLOG_BIN("data", hdr->token, hdr->token_len);
- QLOG_END()
- QLOG_END()
- }
- /* TODO(QLOG FUTURE): flags, length */
+ if (hdr->token_len > 0) {
+ QLOG_BEGIN("token")
+ QLOG_BEGIN("raw")
+ QLOG_BIN("data", hdr->token, hdr->token_len);
+ QLOG_END()
+ QLOG_END()
+ }
+ /* TODO(QLOG FUTURE): flags, length */
QLOG_END()
QLOG_U64("datagram_id", datagram_id);
if (ossl_quic_pkt_type_is_encrypted(hdr->type)) {
QLOG_BEGIN_ARRAY("frames")
- log_frames(qlog_instance, iovec, num_iovec);
+ log_frames(qlog_instance, iovec, num_iovec);
QLOG_END_ARRAY()
}
}
@@ -608,29 +577,29 @@ static void log_packet(QLOG *qlog_instance,
#endif
void ossl_qlog_event_transport_packet_sent(QLOG *qlog,
- const QUIC_PKT_HDR *hdr,
- QUIC_PN pn,
- const OSSL_QTX_IOVEC *iovec,
- size_t num_iovec,
- uint64_t datagram_id)
+ const QUIC_PKT_HDR *hdr,
+ QUIC_PN pn,
+ const OSSL_QTX_IOVEC *iovec,
+ size_t num_iovec,
+ uint64_t datagram_id)
{
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(qlog, transport, packet_sent)
- log_packet(qlog, hdr, pn, iovec, num_iovec, datagram_id);
+ log_packet(qlog, hdr, pn, iovec, num_iovec, datagram_id);
QLOG_EVENT_END()
#endif
}
void ossl_qlog_event_transport_packet_received(QLOG *qlog,
- const QUIC_PKT_HDR *hdr,
- QUIC_PN pn,
- const OSSL_QTX_IOVEC *iovec,
- size_t num_iovec,
- uint64_t datagram_id)
+ const QUIC_PKT_HDR *hdr,
+ QUIC_PN pn,
+ const OSSL_QTX_IOVEC *iovec,
+ size_t num_iovec,
+ uint64_t datagram_id)
{
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(qlog, transport, packet_received)
- log_packet(qlog, hdr, pn, iovec, num_iovec, datagram_id);
+ log_packet(qlog, hdr, pn, iovec, num_iovec, datagram_id);
QLOG_EVENT_END()
#endif
}
diff --git a/crypto/openssl/ssl/quic/quic_ackm.c b/crypto/openssl/ssl/quic/quic_ackm.c
index 93c83a36d8fe..503a6eae19ec 100644
--- a/crypto/openssl/ssl/quic/quic_ackm.c
+++ b/crypto/openssl/ssl/quic/quic_ackm.c
@@ -30,7 +30,8 @@ DEFINE_LIST_OF(tx_history, OSSL_ACKM_TX_PKT);
*/
struct tx_pkt_history_st {
/* A linked list of all our packets. */
- OSSL_LIST(tx_history) packets;
+ OSSL_LIST(tx_history)
+ packets;
/*
* Mapping from packet numbers (uint64_t) to (OSSL_ACKM_TX_PKT *)
@@ -65,7 +66,7 @@ static unsigned long tx_pkt_info_hash(const OSSL_ACKM_TX_PKT *pkt)
}
static int tx_pkt_info_compare(const OSSL_ACKM_TX_PKT *a,
- const OSSL_ACKM_TX_PKT *b)
+ const OSSL_ACKM_TX_PKT *b)
{
if (a->pkt_num < b->pkt_num)
return -1;
@@ -78,7 +79,7 @@ static int
tx_pkt_history_init(struct tx_pkt_history_st *h)
{
ossl_list_tx_history_init(&h->packets);
- h->watermark = 0;
+ h->watermark = 0;
h->highest_sent = 0;
h->map = lh_OSSL_ACKM_TX_PKT_new(tx_pkt_info_hash, tx_pkt_info_compare);
@@ -98,7 +99,7 @@ tx_pkt_history_destroy(struct tx_pkt_history_st *h)
static int
tx_pkt_history_add_actual(struct tx_pkt_history_st *h,
- OSSL_ACKM_TX_PKT *pkt)
+ OSSL_ACKM_TX_PKT *pkt)
{
OSSL_ACKM_TX_PKT *existing;
@@ -124,7 +125,7 @@ tx_pkt_history_add_actual(struct tx_pkt_history_st *h,
/* Adds a packet information structure to the history list. */
static int
tx_pkt_history_add(struct tx_pkt_history_st *h,
- OSSL_ACKM_TX_PKT *pkt)
+ OSSL_ACKM_TX_PKT *pkt)
{
if (!ossl_assert(pkt->pkt_num >= h->watermark))
return 0;
@@ -132,7 +133,7 @@ tx_pkt_history_add(struct tx_pkt_history_st *h,
if (tx_pkt_history_add_actual(h, pkt) < 1)
return 0;
- h->watermark = pkt->pkt_num + 1;
+ h->watermark = pkt->pkt_num + 1;
h->highest_sent = pkt->pkt_num;
return 1;
}
@@ -397,7 +398,7 @@ struct rx_pkt_history_st {
};
static int rx_pkt_history_bump_watermark(struct rx_pkt_history_st *h,
- QUIC_PN watermark);
+ QUIC_PN watermark);
static void rx_pkt_history_init(struct rx_pkt_history_st *h)
{
@@ -414,7 +415,7 @@ static void rx_pkt_history_destroy(struct rx_pkt_history_st *h)
* Limit the number of ACK ranges we store to prevent resource consumption DoS
* attacks.
*/
-#define MAX_RX_ACK_RANGES 32
+#define MAX_RX_ACK_RANGES 32
static void rx_pkt_history_trim_range_count(struct rx_pkt_history_st *h)
{
@@ -424,7 +425,8 @@ static void rx_pkt_history_trim_range_count(struct rx_pkt_history_st *h)
UINT_RANGE r = ossl_list_uint_set_head(&h->set)->range;
highest = (highest == QUIC_PN_INVALID)
- ? r.end : ossl_quic_pn_max(highest, r.end);
+ ? r.end
+ : ossl_quic_pn_max(highest, r.end);
ossl_uint_set_remove(&h->set, &r);
}
@@ -438,12 +440,12 @@ static void rx_pkt_history_trim_range_count(struct rx_pkt_history_st *h)
}
static int rx_pkt_history_add_pn(struct rx_pkt_history_st *h,
- QUIC_PN pn)
+ QUIC_PN pn)
{
UINT_RANGE r;
r.start = pn;
- r.end = pn;
+ r.end = pn;
if (pn < h->watermark)
return 1; /* consider this a success case */
@@ -456,7 +458,7 @@ static int rx_pkt_history_add_pn(struct rx_pkt_history_st *h,
}
static int rx_pkt_history_bump_watermark(struct rx_pkt_history_st *h,
- QUIC_PN watermark)
+ QUIC_PN watermark)
{
UINT_RANGE r;
@@ -465,7 +467,7 @@ static int rx_pkt_history_bump_watermark(struct rx_pkt_history_st *h,
/* Remove existing PNs below the watermark. */
r.start = 0;
- r.end = watermark - 1;
+ r.end = watermark - 1;
if (ossl_uint_set_remove(&h->set, &r) != 1)
return 0;
@@ -480,16 +482,16 @@ static int rx_pkt_history_bump_watermark(struct rx_pkt_history_st *h,
*/
/* Constants used by the ACK manager; see RFC 9002. */
-#define K_GRANULARITY (1 * OSSL_TIME_MS)
-#define K_PKT_THRESHOLD 3
-#define K_TIME_THRESHOLD_NUM 9
-#define K_TIME_THRESHOLD_DEN 8
+#define K_GRANULARITY (1 * OSSL_TIME_MS)
+#define K_PKT_THRESHOLD 3
+#define K_TIME_THRESHOLD_NUM 9
+#define K_TIME_THRESHOLD_DEN 8
/* The maximum number of times we allow PTO to be doubled. */
-#define MAX_PTO_COUNT 16
+#define MAX_PTO_COUNT 16
/* Default maximum amount of time to leave an ACK-eliciting packet un-ACK'd. */
-#define DEFAULT_TX_MAX_ACK_DELAY ossl_ms2time(QUIC_DEFAULT_MAX_ACK_DELAY)
+#define DEFAULT_TX_MAX_ACK_DELAY ossl_ms2time(QUIC_DEFAULT_MAX_ACK_DELAY)
struct ossl_ackm_st {
/* Our list of transmitted packets. Corresponds to RFC 9002 sent_packets. */
@@ -499,105 +501,105 @@ struct ossl_ackm_st {
struct rx_pkt_history_st rx_history[QUIC_PN_SPACE_NUM];
/* Polymorphic dependencies that we consume. */
- OSSL_TIME (*now)(void *arg);
- void *now_arg;
- OSSL_STATM *statm;
- const OSSL_CC_METHOD *cc_method;
- OSSL_CC_DATA *cc_data;
+ OSSL_TIME (*now)(void *arg);
+ void *now_arg;
+ OSSL_STATM *statm;
+ const OSSL_CC_METHOD *cc_method;
+ OSSL_CC_DATA *cc_data;
/* RFC 9002 variables. */
- uint32_t pto_count;
- QUIC_PN largest_acked_pkt[QUIC_PN_SPACE_NUM];
- OSSL_TIME time_of_last_ack_eliciting_pkt[QUIC_PN_SPACE_NUM];
- OSSL_TIME loss_time[QUIC_PN_SPACE_NUM];
- OSSL_TIME loss_detection_deadline;
+ uint32_t pto_count;
+ QUIC_PN largest_acked_pkt[QUIC_PN_SPACE_NUM];
+ OSSL_TIME time_of_last_ack_eliciting_pkt[QUIC_PN_SPACE_NUM];
+ OSSL_TIME loss_time[QUIC_PN_SPACE_NUM];
+ OSSL_TIME loss_detection_deadline;
/* Lowest PN which is still not known to be ACKed. */
- QUIC_PN lowest_unacked_pkt[QUIC_PN_SPACE_NUM];
+ QUIC_PN lowest_unacked_pkt[QUIC_PN_SPACE_NUM];
/* Time at which we got our first RTT sample, or 0. */
- OSSL_TIME first_rtt_sample;
+ OSSL_TIME first_rtt_sample;
/*
* A packet's num_bytes are added to this if it is inflight,
* and removed again once ack'd/lost/discarded.
*/
- uint64_t bytes_in_flight;
+ uint64_t bytes_in_flight;
/*
* A packet's num_bytes are added to this if it is both inflight and
* ack-eliciting, and removed again once ack'd/lost/discarded.
*/
- uint64_t ack_eliciting_bytes_in_flight[QUIC_PN_SPACE_NUM];
+ uint64_t ack_eliciting_bytes_in_flight[QUIC_PN_SPACE_NUM];
/* Count of ECN-CE events. */
- uint64_t peer_ecnce[QUIC_PN_SPACE_NUM];
+ uint64_t peer_ecnce[QUIC_PN_SPACE_NUM];
/* Set to 1 when the handshake is confirmed. */
- char handshake_confirmed;
+ char handshake_confirmed;
/* Set to 1 when attached to server channel */
- char is_server;
+ char is_server;
/* Set to 1 when the peer has completed address validation. */
- char peer_completed_addr_validation;
+ char peer_completed_addr_validation;
/* Set to 1 when a PN space has been discarded. */
- char discarded[QUIC_PN_SPACE_NUM];
+ char discarded[QUIC_PN_SPACE_NUM];
/* Set to 1 when we think an ACK frame should be generated. */
- char rx_ack_desired[QUIC_PN_SPACE_NUM];
+ char rx_ack_desired[QUIC_PN_SPACE_NUM];
/* Set to 1 if an ACK frame has ever been generated. */
- char rx_ack_generated[QUIC_PN_SPACE_NUM];
+ char rx_ack_generated[QUIC_PN_SPACE_NUM];
/* Probe request counts for reporting to the user. */
- OSSL_ACKM_PROBE_INFO pending_probe;
+ OSSL_ACKM_PROBE_INFO pending_probe;
/* Generated ACK frames for each PN space. */
- OSSL_QUIC_FRAME_ACK ack[QUIC_PN_SPACE_NUM];
- OSSL_QUIC_ACK_RANGE ack_ranges[QUIC_PN_SPACE_NUM][MAX_RX_ACK_RANGES];
+ OSSL_QUIC_FRAME_ACK ack[QUIC_PN_SPACE_NUM];
+ OSSL_QUIC_ACK_RANGE ack_ranges[QUIC_PN_SPACE_NUM][MAX_RX_ACK_RANGES];
/* Other RX state. */
/* Largest PN we have RX'd. */
- QUIC_PN rx_largest_pn[QUIC_PN_SPACE_NUM];
+ QUIC_PN rx_largest_pn[QUIC_PN_SPACE_NUM];
/* Time at which the PN in rx_largest_pn was RX'd. */
- OSSL_TIME rx_largest_time[QUIC_PN_SPACE_NUM];
+ OSSL_TIME rx_largest_time[QUIC_PN_SPACE_NUM];
/*
* ECN event counters. Each time we receive a packet with a given ECN label,
* the corresponding ECN counter here is incremented.
*/
- uint64_t rx_ect0[QUIC_PN_SPACE_NUM];
- uint64_t rx_ect1[QUIC_PN_SPACE_NUM];
- uint64_t rx_ecnce[QUIC_PN_SPACE_NUM];
+ uint64_t rx_ect0[QUIC_PN_SPACE_NUM];
+ uint64_t rx_ect1[QUIC_PN_SPACE_NUM];
+ uint64_t rx_ecnce[QUIC_PN_SPACE_NUM];
/*
* Number of ACK-eliciting packets since last ACK. We use this to defer
* emitting ACK frames until a threshold number of ACK-eliciting packets
* have been received.
*/
- uint32_t rx_ack_eliciting_pkts_since_last_ack[QUIC_PN_SPACE_NUM];
+ uint32_t rx_ack_eliciting_pkts_since_last_ack[QUIC_PN_SPACE_NUM];
/*
* The ACK frame coalescing deadline at which we should flush any unsent ACK
* frames.
*/
- OSSL_TIME rx_ack_flush_deadline[QUIC_PN_SPACE_NUM];
+ OSSL_TIME rx_ack_flush_deadline[QUIC_PN_SPACE_NUM];
/*
* The RX maximum ACK delay (the maximum amount of time our peer might
* wait to send us an ACK after receiving an ACK-eliciting packet).
*/
- OSSL_TIME rx_max_ack_delay;
+ OSSL_TIME rx_max_ack_delay;
/*
* The TX maximum ACK delay (the maximum amount of time we allow ourselves
* to wait before generating an ACK after receiving an ACK-eliciting
* packet).
*/
- OSSL_TIME tx_max_ack_delay;
+ OSSL_TIME tx_max_ack_delay;
/* Callbacks for deadline updates. */
void (*loss_detection_deadline_cb)(OSSL_TIME deadline, void *arg);
@@ -670,8 +672,8 @@ static int range_contains(const OSSL_QUIC_ACK_RANGE *range, QUIC_PN pn)
* list head (or NULL) if empty.
*/
static OSSL_ACKM_TX_PKT *ackm_detect_and_remove_newly_acked_pkts(OSSL_ACKM *ackm,
- const OSSL_QUIC_FRAME_ACK *ack,
- int pkt_space)
+ const OSSL_QUIC_FRAME_ACK *ack,
+ int pkt_space)
{
OSSL_ACKM_TX_PKT *acked_pkts = NULL, **fixup = &acked_pkts, *pkt, *pprev;
struct tx_pkt_history_st *h;
@@ -747,7 +749,7 @@ stop:
* detected lost. The packets in the list are removed from the TX history list.
*/
static OSSL_ACKM_TX_PKT *ackm_detect_and_remove_lost_pkts(OSSL_ACKM *ackm,
- int pkt_space)
+ int pkt_space)
{
OSSL_ACKM_TX_PKT *lost_pkts = NULL, **fixup = &lost_pkts, *pkt, *pnext;
OSSL_TIME loss_delay, lost_send_time, now;
@@ -761,8 +763,8 @@ static OSSL_ACKM_TX_PKT *ackm_detect_and_remove_lost_pkts(OSSL_ACKM *ackm,
ackm->loss_time[pkt_space] = ossl_time_zero();
loss_delay = ossl_time_multiply(ossl_time_max(rtt.latest_rtt,
- rtt.smoothed_rtt),
- K_TIME_THRESHOLD_NUM);
+ rtt.smoothed_rtt),
+ K_TIME_THRESHOLD_NUM);
loss_delay = ossl_time_divide(loss_delay, K_TIME_THRESHOLD_DEN);
/* Minimum time of K_GRANULARITY before packets are deemed lost. */
@@ -772,7 +774,7 @@ static OSSL_ACKM_TX_PKT *ackm_detect_and_remove_lost_pkts(OSSL_ACKM *ackm,
now = ackm->now(ackm->now_arg);
lost_send_time = ossl_time_subtract(now, loss_delay);
- h = get_tx_history(ackm, pkt_space);
+ h = get_tx_history(ackm, pkt_space);
pkt = ossl_list_tx_history_head(&h->packets);
for (; pkt != NULL; pkt = pnext) {
@@ -791,7 +793,7 @@ static OSSL_ACKM_TX_PKT *ackm_detect_and_remove_lost_pkts(OSSL_ACKM *ackm,
* Mark packet as lost, or set time when it should be marked.
*/
if (ossl_time_compare(pkt->time, lost_send_time) <= 0
- || ackm->largest_acked_pkt[pkt_space]
+ || ackm->largest_acked_pkt[pkt_space]
>= pkt->pkt_num + K_PKT_THRESHOLD) {
tx_pkt_history_remove(h, pkt->pkt_num);
@@ -800,12 +802,10 @@ static OSSL_ACKM_TX_PKT *ackm_detect_and_remove_lost_pkts(OSSL_ACKM *ackm,
*fixup = NULL;
} else {
if (ossl_time_is_zero(ackm->loss_time[pkt_space]))
- ackm->loss_time[pkt_space] =
- ossl_time_add(pkt->time, loss_delay);
+ ackm->loss_time[pkt_space] = ossl_time_add(pkt->time, loss_delay);
else
- ackm->loss_time[pkt_space] =
- ossl_time_min(ackm->loss_time[pkt_space],
- ossl_time_add(pkt->time, loss_delay));
+ ackm->loss_time[pkt_space] = ossl_time_min(ackm->loss_time[pkt_space],
+ ossl_time_add(pkt->time, loss_delay));
}
}
@@ -820,8 +820,8 @@ static OSSL_TIME ackm_get_loss_time_and_space(OSSL_ACKM *ackm, int *pspace)
for (i = space + 1; i < QUIC_PN_SPACE_NUM; ++i)
if (ossl_time_is_zero(time)
|| ossl_time_compare(ackm->loss_time[i], time) == -1) {
- time = ackm->loss_time[i];
- space = i;
+ time = ackm->loss_time[i];
+ space = i;
}
*pspace = space;
@@ -839,21 +839,21 @@ static OSSL_TIME ackm_get_pto_time_and_space(OSSL_ACKM *ackm, int *space)
duration
= ossl_time_add(rtt.smoothed_rtt,
- ossl_time_max(ossl_time_multiply(rtt.rtt_variance, 4),
- ossl_ticks2time(K_GRANULARITY)));
+ ossl_time_max(ossl_time_multiply(rtt.rtt_variance, 4),
+ ossl_ticks2time(K_GRANULARITY)));
duration
= ossl_time_multiply(duration,
- (uint64_t)1 << min_u32(ackm->pto_count,
- MAX_PTO_COUNT));
+ (uint64_t)1 << min_u32(ackm->pto_count,
+ MAX_PTO_COUNT));
/* Anti-deadlock PTO starts from the current time. */
if (ackm_ack_eliciting_bytes_in_flight(ackm) == 0) {
assert(!ackm->peer_completed_addr_validation);
*space = ackm->discarded[QUIC_PN_SPACE_INITIAL]
- ? QUIC_PN_SPACE_HANDSHAKE
- : QUIC_PN_SPACE_INITIAL;
+ ? QUIC_PN_SPACE_HANDSHAKE
+ : QUIC_PN_SPACE_INITIAL;
return ossl_time_add(ackm->now(ackm->now_arg), duration);
}
@@ -863,8 +863,7 @@ static OSSL_TIME ackm_get_pto_time_and_space(OSSL_ACKM *ackm, int *space)
* handshake is confirmed (client sees HANDSHAKE_DONE message
* from server).
*/
- if (ackm->ack_eliciting_bytes_in_flight[i] == 0 &&
- (ackm->handshake_confirmed == 1 || ackm->is_server == 1))
+ if (ackm->ack_eliciting_bytes_in_flight[i] == 0 && (ackm->handshake_confirmed == 1 || ackm->is_server == 1))
continue;
if (i == QUIC_PN_SPACE_APP) {
@@ -879,8 +878,8 @@ static OSSL_TIME ackm_get_pto_time_and_space(OSSL_ACKM *ackm, int *space)
duration
= ossl_time_add(duration,
- ossl_time_multiply(ackm->rx_max_ack_delay,
- factor));
+ ossl_time_multiply(ackm->rx_max_ack_delay,
+ factor));
}
}
@@ -894,7 +893,7 @@ static OSSL_TIME ackm_get_pto_time_and_space(OSSL_ACKM *ackm, int *space)
t = ossl_time_add(ackm->time_of_last_ack_eliciting_pkt[i], duration);
if (ossl_time_compare(t, pto_timeout) < 0) {
pto_timeout = t;
- pto_space = i;
+ pto_space = i;
}
}
}
@@ -904,13 +903,13 @@ static OSSL_TIME ackm_get_pto_time_and_space(OSSL_ACKM *ackm, int *space)
}
static void ackm_set_loss_detection_timer_actual(OSSL_ACKM *ackm,
- OSSL_TIME deadline)
+ OSSL_TIME deadline)
{
ackm->loss_detection_deadline = deadline;
if (ackm->loss_detection_deadline_cb != NULL)
ackm->loss_detection_deadline_cb(deadline,
- ackm->loss_detection_deadline_cb_arg);
+ ackm->loss_detection_deadline_cb_arg);
}
static int ackm_set_loss_detection_timer(OSSL_ACKM *ackm)
@@ -926,7 +925,7 @@ static int ackm_set_loss_detection_timer(OSSL_ACKM *ackm)
}
if (ackm_ack_eliciting_bytes_in_flight(ackm) == 0
- && ackm->peer_completed_addr_validation) {
+ && ackm->peer_completed_addr_validation) {
/*
* Nothing to detect lost, so no timer is set. However, the client
* needs to arm the timer if the server might be blocked by the
@@ -942,19 +941,19 @@ static int ackm_set_loss_detection_timer(OSSL_ACKM *ackm)
}
static int ackm_in_persistent_congestion(OSSL_ACKM *ackm,
- const OSSL_ACKM_TX_PKT *lpkt)
+ const OSSL_ACKM_TX_PKT *lpkt)
{
/* TODO(QUIC FUTURE): Persistent congestion not currently implemented. */
return 0;
}
static void ackm_on_pkts_lost(OSSL_ACKM *ackm, int pkt_space,
- const OSSL_ACKM_TX_PKT *lpkt, int pseudo)
+ const OSSL_ACKM_TX_PKT *lpkt, int pseudo)
{
const OSSL_ACKM_TX_PKT *p, *pnext;
OSSL_RTT_INFO rtt;
QUIC_PN largest_pn_lost = 0;
- OSSL_CC_LOSS_INFO loss_info = {0};
+ OSSL_CC_LOSS_INFO loss_info = { 0 };
uint32_t flags = 0;
for (p = lpkt; p != NULL; p = pnext) {
@@ -1001,7 +1000,7 @@ static void ackm_on_pkts_acked(OSSL_ACKM *ackm, const OSSL_ACKM_TX_PKT *apkt)
{
const OSSL_ACKM_TX_PKT *anext;
QUIC_PN last_pn_acked = 0;
- OSSL_CC_ACK_INFO ainfo = {0};
+ OSSL_CC_ACK_INFO ainfo = { 0 };
for (; apkt != NULL; apkt = anext) {
if (apkt->is_inflight) {
@@ -1019,8 +1018,8 @@ static void ackm_on_pkts_acked(OSSL_ACKM *ackm, const OSSL_ACKM_TX_PKT *apkt)
* next time.
*/
rx_pkt_history_bump_watermark(get_rx_history(ackm,
- apkt->pkt_space),
- apkt->largest_acked + 1);
+ apkt->pkt_space),
+ apkt->largest_acked + 1);
}
ainfo.tx_time = apkt->time;
@@ -1035,11 +1034,11 @@ static void ackm_on_pkts_acked(OSSL_ACKM *ackm, const OSSL_ACKM_TX_PKT *apkt)
}
OSSL_ACKM *ossl_ackm_new(OSSL_TIME (*now)(void *arg),
- void *now_arg,
- OSSL_STATM *statm,
- const OSSL_CC_METHOD *cc_method,
- OSSL_CC_DATA *cc_data,
- int is_server)
+ void *now_arg,
+ OSSL_STATM *statm,
+ const OSSL_CC_METHOD *cc_method,
+ OSSL_CC_DATA *cc_data,
+ int is_server)
{
OSSL_ACKM *ackm;
int i;
@@ -1058,11 +1057,11 @@ OSSL_ACKM *ossl_ackm_new(OSSL_TIME (*now)(void *arg),
for (i = 0; i < (int)OSSL_NELEM(ackm->rx_history); ++i)
rx_pkt_history_init(&ackm->rx_history[i]);
- ackm->now = now;
- ackm->now_arg = now_arg;
- ackm->statm = statm;
+ ackm->now = now;
+ ackm->now_arg = now_arg;
+ ackm->statm = statm;
ackm->cc_method = cc_method;
- ackm->cc_data = cc_data;
+ ackm->cc_data = cc_data;
ackm->is_server = (char)is_server;
ackm->rx_max_ack_delay = ossl_ms2time(QUIC_DEFAULT_MAX_ACK_DELAY);
@@ -1101,7 +1100,8 @@ int ossl_ackm_on_tx_packet(OSSL_ACKM *ackm, OSSL_ACKM_TX_PKT *pkt)
/* Time must be set and not move backwards. */
if (ossl_time_is_zero(pkt->time)
|| ossl_time_compare(ackm->time_of_last_ack_eliciting_pkt[pkt->pkt_space],
- pkt->time) > 0)
+ pkt->time)
+ > 0)
return 0;
/* Must have non-zero number of bytes. */
@@ -1138,11 +1138,11 @@ int ossl_ackm_on_rx_datagram(OSSL_ACKM *ackm, size_t num_bytes)
}
static void ackm_process_ecn(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,
- int pkt_space)
+ int pkt_space)
{
struct tx_pkt_history_st *h;
OSSL_ACKM_TX_PKT *pkt;
- OSSL_CC_ECN_INFO ecn_info = {0};
+ OSSL_CC_ECN_INFO ecn_info = { 0 };
/*
* If the ECN-CE counter reported by the peer has increased, this could
@@ -1162,7 +1162,7 @@ static void ackm_process_ecn(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,
}
int ossl_ackm_on_rx_ack_frame(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,
- int pkt_space, OSSL_TIME rx_time)
+ int pkt_space, OSSL_TIME rx_time)
{
OSSL_ACKM_TX_PKT *na_pkts, *lost_pkts;
int must_set_timer = 0;
@@ -1172,14 +1172,14 @@ int ossl_ackm_on_rx_ack_frame(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,
else
ackm->largest_acked_pkt[pkt_space]
= ossl_quic_pn_max(ackm->largest_acked_pkt[pkt_space],
- ack->ack_ranges[0].end);
+ ack->ack_ranges[0].end);
/*
* If we get an ACK in the handshake space, address validation is completed.
* Make sure we update the timer, even if no packets were ACK'd.
*/
if (!ackm->peer_completed_addr_validation
- && pkt_space == QUIC_PN_SPACE_HANDSHAKE) {
+ && pkt_space == QUIC_PN_SPACE_HANDSHAKE) {
ackm->peer_completed_addr_validation = 1;
must_set_timer = 1;
}
@@ -1201,8 +1201,7 @@ int ossl_ackm_on_rx_ack_frame(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,
*
* First packet in the list is always the one with the largest PN.
*/
- if (na_pkts->pkt_num == ack->ack_ranges[0].end &&
- ack_includes_ack_eliciting(na_pkts)) {
+ if (na_pkts->pkt_num == ack->ack_ranges[0].end && ack_includes_ack_eliciting(na_pkts)) {
OSSL_TIME now = ackm->now(ackm->now_arg), ack_delay;
if (ossl_time_is_zero(ackm->first_rtt_sample))
ackm->first_rtt_sample = now;
@@ -1213,7 +1212,7 @@ int ossl_ackm_on_rx_ack_frame(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,
ack_delay = ossl_time_min(ack_delay, ackm->rx_max_ack_delay);
ossl_statm_update_rtt(ackm->statm, ack_delay,
- ossl_time_subtract(now, na_pkts->time));
+ ossl_time_subtract(now, na_pkts->time));
}
/*
@@ -1256,7 +1255,7 @@ int ossl_ackm_on_pkt_space_discarded(OSSL_ACKM *ackm, int pkt_space)
ackm->peer_completed_addr_validation = 1;
for (pkt = ossl_list_tx_history_head(&get_tx_history(ackm, pkt_space)->packets);
- pkt != NULL; pkt = pnext) {
+ pkt != NULL; pkt = pnext) {
pnext = ossl_list_tx_history_next(pkt);
if (pkt->is_inflight) {
ackm->bytes_in_flight -= pkt->num_bytes;
@@ -1271,7 +1270,7 @@ int ossl_ackm_on_pkt_space_discarded(OSSL_ACKM *ackm, int pkt_space)
if (num_bytes_invalidated > 0)
ackm->cc_method->on_data_invalidated(ackm->cc_data,
- num_bytes_invalidated);
+ num_bytes_invalidated);
ackm->time_of_last_ack_eliciting_pkt[pkt_space] = ossl_time_zero();
ackm->loss_time[pkt_space] = ossl_time_zero();
@@ -1284,8 +1283,8 @@ int ossl_ackm_on_pkt_space_discarded(OSSL_ACKM *ackm, int pkt_space)
int ossl_ackm_on_handshake_confirmed(OSSL_ACKM *ackm)
{
- ackm->handshake_confirmed = 1;
- ackm->peer_completed_addr_validation = 1;
+ ackm->handshake_confirmed = 1;
+ ackm->peer_completed_addr_validation = 1;
ackm_set_loss_detection_timer(ackm);
return 1;
}
@@ -1378,7 +1377,7 @@ int ossl_ackm_get_largest_unacked(OSSL_ACKM *ackm, int pkt_space, QUIC_PN *pn)
}
/* Number of ACK-eliciting packets RX'd before we always emit an ACK. */
-#define PKTS_BEFORE_ACK 2
+#define PKTS_BEFORE_ACK 2
/*
* Return 1 if emission of an ACK frame is currently desired.
@@ -1400,7 +1399,8 @@ int ossl_ackm_is_ack_desired(OSSL_ACKM *ackm, int pkt_space)
return ackm->rx_ack_desired[pkt_space]
|| (!ossl_time_is_infinite(ackm->rx_ack_flush_deadline[pkt_space])
&& ossl_time_compare(ackm->now(ackm->now_arg),
- ackm->rx_ack_flush_deadline[pkt_space]) >= 0);
+ ackm->rx_ack_flush_deadline[pkt_space])
+ >= 0);
}
/*
@@ -1459,19 +1459,19 @@ static int ackm_has_newly_missing(OSSL_ACKM *ackm, int pkt_space)
*/
return ackm->ack[pkt_space].num_ack_ranges > 0
&& ossl_list_uint_set_tail(&h->set)->range.start
- == ossl_list_uint_set_tail(&h->set)->range.end
+ == ossl_list_uint_set_tail(&h->set)->range.end
&& ossl_list_uint_set_tail(&h->set)->range.start
- > ackm->ack[pkt_space].ack_ranges[0].end + 1;
+ > ackm->ack[pkt_space].ack_ranges[0].end + 1;
}
static void ackm_set_flush_deadline(OSSL_ACKM *ackm, int pkt_space,
- OSSL_TIME deadline)
+ OSSL_TIME deadline)
{
ackm->rx_ack_flush_deadline[pkt_space] = deadline;
if (ackm->ack_deadline_cb != NULL)
ackm->ack_deadline_cb(ossl_ackm_get_ack_deadline(ackm, pkt_space),
- pkt_space, ackm->ack_deadline_cb_arg);
+ pkt_space, ackm->ack_deadline_cb_arg);
}
/* Explicitly flags that we want to generate an ACK frame. */
@@ -1484,8 +1484,8 @@ static void ackm_queue_ack(OSSL_ACKM *ackm, int pkt_space)
}
static void ackm_on_rx_ack_eliciting(OSSL_ACKM *ackm,
- OSSL_TIME rx_time, int pkt_space,
- int was_missing)
+ OSSL_TIME rx_time, int pkt_space,
+ int was_missing)
{
OSSL_TIME tx_max_ack_delay;
@@ -1496,10 +1496,10 @@ static void ackm_on_rx_ack_eliciting(OSSL_ACKM *ackm,
++ackm->rx_ack_eliciting_pkts_since_last_ack[pkt_space];
if (!ackm->rx_ack_generated[pkt_space]
- || was_missing
- || ackm->rx_ack_eliciting_pkts_since_last_ack[pkt_space]
- >= PKTS_BEFORE_ACK
- || ackm_has_newly_missing(ackm, pkt_space)) {
+ || was_missing
+ || ackm->rx_ack_eliciting_pkts_since_last_ack[pkt_space]
+ >= PKTS_BEFORE_ACK
+ || ackm_has_newly_missing(ackm, pkt_space)) {
/*
* Either:
*
@@ -1542,12 +1542,12 @@ static void ackm_on_rx_ack_eliciting(OSSL_ACKM *ackm,
if (ossl_time_is_infinite(ackm->rx_ack_flush_deadline[pkt_space]))
ackm_set_flush_deadline(ackm, pkt_space,
- ossl_time_add(rx_time, tx_max_ack_delay));
+ ossl_time_add(rx_time, tx_max_ack_delay));
else
ackm_set_flush_deadline(ackm, pkt_space,
- ossl_time_min(ackm->rx_ack_flush_deadline[pkt_space],
- ossl_time_add(rx_time,
- tx_max_ack_delay)));
+ ossl_time_min(ackm->rx_ack_flush_deadline[pkt_space],
+ ossl_time_add(rx_time,
+ tx_max_ack_delay)));
}
int ossl_ackm_on_rx_packet(OSSL_ACKM *ackm, const OSSL_ACKM_RX_PKT *pkt)
@@ -1564,7 +1564,7 @@ int ossl_ackm_on_rx_packet(OSSL_ACKM *ackm, const OSSL_ACKM_RX_PKT *pkt)
* We use this to calculate the ACK delay field of ACK frames.
*/
if (pkt->pkt_num > ackm->rx_largest_pn[pkt->pkt_space]) {
- ackm->rx_largest_pn[pkt->pkt_space] = pkt->pkt_num;
+ ackm->rx_largest_pn[pkt->pkt_space] = pkt->pkt_num;
ackm->rx_largest_time[pkt->pkt_space] = pkt->time;
}
@@ -1610,7 +1610,7 @@ int ossl_ackm_on_rx_packet(OSSL_ACKM *ackm, const OSSL_ACKM_RX_PKT *pkt)
}
static void ackm_fill_rx_ack_ranges(OSSL_ACKM *ackm, int pkt_space,
- OSSL_QUIC_FRAME_ACK *ack)
+ OSSL_QUIC_FRAME_ACK *ack)
{
struct rx_pkt_history_st *h = get_rx_history(ackm, pkt_space);
UINT_SET_ITEM *x;
@@ -1621,18 +1621,18 @@ static void ackm_fill_rx_ack_ranges(OSSL_ACKM *ackm, int pkt_space,
* maximum number of ranges.
*/
for (x = ossl_list_uint_set_tail(&h->set);
- x != NULL && i < OSSL_NELEM(ackm->ack_ranges);
- x = ossl_list_uint_set_prev(x), ++i) {
+ x != NULL && i < OSSL_NELEM(ackm->ack_ranges);
+ x = ossl_list_uint_set_prev(x), ++i) {
ackm->ack_ranges[pkt_space][i].start = x->range.start;
- ackm->ack_ranges[pkt_space][i].end = x->range.end;
+ ackm->ack_ranges[pkt_space][i].end = x->range.end;
}
- ack->ack_ranges = ackm->ack_ranges[pkt_space];
+ ack->ack_ranges = ackm->ack_ranges[pkt_space];
ack->num_ack_ranges = i;
}
const OSSL_QUIC_FRAME_ACK *ossl_ackm_get_ack_frame(OSSL_ACKM *ackm,
- int pkt_space)
+ int pkt_space)
{
OSSL_QUIC_FRAME_ACK *ack = &ackm->ack[pkt_space];
OSSL_TIME now = ackm->now(ackm->now_arg);
@@ -1640,27 +1640,25 @@ const OSSL_QUIC_FRAME_ACK *ossl_ackm_get_ack_frame(OSSL_ACKM *ackm,
ackm_fill_rx_ack_ranges(ackm, pkt_space, ack);
if (!ossl_time_is_zero(ackm->rx_largest_time[pkt_space])
- && ossl_time_compare(now, ackm->rx_largest_time[pkt_space]) > 0
- && pkt_space == QUIC_PN_SPACE_APP)
- ack->delay_time =
- ossl_time_subtract(now, ackm->rx_largest_time[pkt_space]);
+ && ossl_time_compare(now, ackm->rx_largest_time[pkt_space]) > 0
+ && pkt_space == QUIC_PN_SPACE_APP)
+ ack->delay_time = ossl_time_subtract(now, ackm->rx_largest_time[pkt_space]);
else
ack->delay_time = ossl_time_zero();
- ack->ect0 = ackm->rx_ect0[pkt_space];
- ack->ect1 = ackm->rx_ect1[pkt_space];
- ack->ecnce = ackm->rx_ecnce[pkt_space];
- ack->ecn_present = 1;
+ ack->ect0 = ackm->rx_ect0[pkt_space];
+ ack->ect1 = ackm->rx_ect1[pkt_space];
+ ack->ecnce = ackm->rx_ecnce[pkt_space];
+ ack->ecn_present = 1;
ackm->rx_ack_eliciting_pkts_since_last_ack[pkt_space] = 0;
- ackm->rx_ack_generated[pkt_space] = 1;
- ackm->rx_ack_desired[pkt_space] = 0;
+ ackm->rx_ack_generated[pkt_space] = 1;
+ ackm->rx_ack_desired[pkt_space] = 0;
ackm_set_flush_deadline(ackm, pkt_space, ossl_time_infinite());
return ack;
}
-
OSSL_TIME ossl_ackm_get_ack_deadline(OSSL_ACKM *ackm, int pkt_space)
{
if (ackm->rx_ack_desired[pkt_space])
@@ -1678,26 +1676,26 @@ int ossl_ackm_is_rx_pn_processable(OSSL_ACKM *ackm, QUIC_PN pn, int pkt_space)
}
void ossl_ackm_set_loss_detection_deadline_callback(OSSL_ACKM *ackm,
- void (*fn)(OSSL_TIME deadline,
- void *arg),
- void *arg)
+ void (*fn)(OSSL_TIME deadline,
+ void *arg),
+ void *arg)
{
- ackm->loss_detection_deadline_cb = fn;
- ackm->loss_detection_deadline_cb_arg = arg;
+ ackm->loss_detection_deadline_cb = fn;
+ ackm->loss_detection_deadline_cb_arg = arg;
}
void ossl_ackm_set_ack_deadline_callback(OSSL_ACKM *ackm,
- void (*fn)(OSSL_TIME deadline,
- int pkt_space,
- void *arg),
- void *arg)
+ void (*fn)(OSSL_TIME deadline,
+ int pkt_space,
+ void *arg),
+ void *arg)
{
- ackm->ack_deadline_cb = fn;
+ ackm->ack_deadline_cb = fn;
ackm->ack_deadline_cb_arg = arg;
}
int ossl_ackm_mark_packet_pseudo_lost(OSSL_ACKM *ackm,
- int pkt_space, QUIC_PN pn)
+ int pkt_space, QUIC_PN pn)
{
struct tx_pkt_history_st *h = get_tx_history(ackm, pkt_space);
OSSL_ACKM_TX_PKT *pkt;
@@ -1720,8 +1718,8 @@ OSSL_TIME ossl_ackm_get_pto_duration(OSSL_ACKM *ackm)
ossl_statm_get_rtt_info(ackm->statm, &rtt);
duration = ossl_time_add(rtt.smoothed_rtt,
- ossl_time_max(ossl_time_multiply(rtt.rtt_variance, 4),
- ossl_ticks2time(K_GRANULARITY)));
+ ossl_time_max(ossl_time_multiply(rtt.rtt_variance, 4),
+ ossl_ticks2time(K_GRANULARITY)));
if (!ossl_time_is_infinite(ackm->rx_max_ack_delay))
duration = ossl_time_add(duration, ackm->rx_max_ack_delay);
diff --git a/crypto/openssl/ssl/quic/quic_cfq.c b/crypto/openssl/ssl/quic/quic_cfq.c
index fb96e0c68cc1..3c59234ff0ff 100644
--- a/crypto/openssl/ssl/quic/quic_cfq.c
+++ b/crypto/openssl/ssl/quic/quic_cfq.c
@@ -13,15 +13,15 @@
typedef struct quic_cfq_item_ex_st QUIC_CFQ_ITEM_EX;
struct quic_cfq_item_ex_st {
- QUIC_CFQ_ITEM public;
- QUIC_CFQ_ITEM_EX *prev, *next;
- unsigned char *encoded;
- cfq_free_cb *free_cb;
- void *free_cb_arg;
- uint64_t frame_type;
- size_t encoded_len;
- uint32_t priority, pn_space, flags;
- int state;
+ QUIC_CFQ_ITEM public;
+ QUIC_CFQ_ITEM_EX *prev, *next;
+ unsigned char *encoded;
+ cfq_free_cb *free_cb;
+ void *free_cb_arg;
+ uint64_t frame_type;
+ size_t encoded_len;
+ uint32_t priority, pn_space, flags;
+ int state;
};
uint64_t ossl_quic_cfq_item_get_frame_type(const QUIC_CFQ_ITEM *item)
@@ -78,7 +78,7 @@ struct quic_cfq_st {
* Invariant: The list the CFQ item is determined exactly by the state field
* of the item.
*/
- QUIC_CFQ_ITEM_LIST new_list, tx_list, free_list;
+ QUIC_CFQ_ITEM_LIST new_list, tx_list, free_list;
};
static int compare(const QUIC_CFQ_ITEM_EX *a, const QUIC_CFQ_ITEM_EX *b)
@@ -132,8 +132,8 @@ static void list_insert_tail(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n)
}
static void list_insert_after(QUIC_CFQ_ITEM_LIST *l,
- QUIC_CFQ_ITEM_EX *ref,
- QUIC_CFQ_ITEM_EX *n)
+ QUIC_CFQ_ITEM_EX *ref,
+ QUIC_CFQ_ITEM_EX *n)
{
n->prev = ref;
n->next = ref->next;
@@ -145,8 +145,8 @@ static void list_insert_after(QUIC_CFQ_ITEM_LIST *l,
}
static void list_insert_sorted(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n,
- int (*cmp)(const QUIC_CFQ_ITEM_EX *a,
- const QUIC_CFQ_ITEM_EX *b))
+ int (*cmp)(const QUIC_CFQ_ITEM_EX *a,
+ const QUIC_CFQ_ITEM_EX *b))
{
QUIC_CFQ_ITEM_EX *p = l->head, *pprev = NULL;
@@ -156,7 +156,8 @@ static void list_insert_sorted(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n,
return;
}
- for (; p != NULL && cmp(p, n) < 0; pprev = p, p = p->next);
+ for (; p != NULL && cmp(p, n) < 0; pprev = p, p = p->next)
+ ;
if (p == NULL)
list_insert_tail(l, n);
@@ -181,9 +182,9 @@ static void clear_item(QUIC_CFQ_ITEM_EX *item)
if (item->free_cb != NULL) {
item->free_cb(item->encoded, item->encoded_len, item->free_cb_arg);
- item->free_cb = NULL;
- item->encoded = NULL;
- item->encoded_len = 0;
+ item->free_cb = NULL;
+ item->encoded = NULL;
+ item->encoded_len = 0;
}
item->state = -1;
@@ -227,28 +228,28 @@ static QUIC_CFQ_ITEM_EX *cfq_get_free(QUIC_CFQ *cfq)
return item;
}
-QUIC_CFQ_ITEM *ossl_quic_cfq_add_frame(QUIC_CFQ *cfq,
- uint32_t priority,
- uint32_t pn_space,
- uint64_t frame_type,
- uint32_t flags,
- const unsigned char *encoded,
- size_t encoded_len,
- cfq_free_cb *free_cb,
- void *free_cb_arg)
+QUIC_CFQ_ITEM *ossl_quic_cfq_add_frame(QUIC_CFQ *cfq,
+ uint32_t priority,
+ uint32_t pn_space,
+ uint64_t frame_type,
+ uint32_t flags,
+ const unsigned char *encoded,
+ size_t encoded_len,
+ cfq_free_cb *free_cb,
+ void *free_cb_arg)
{
QUIC_CFQ_ITEM_EX *item = cfq_get_free(cfq);
if (item == NULL)
return NULL;
- item->priority = priority;
- item->frame_type = frame_type;
- item->pn_space = pn_space;
- item->encoded = (unsigned char *)encoded;
- item->encoded_len = encoded_len;
- item->free_cb = free_cb;
- item->free_cb_arg = free_cb_arg;
+ item->priority = priority;
+ item->frame_type = frame_type;
+ item->pn_space = pn_space;
+ item->encoded = (unsigned char *)encoded;
+ item->encoded_len = encoded_len;
+ item->free_cb = free_cb;
+ item->free_cb_arg = free_cb_arg;
item->state = QUIC_CFQ_STATE_NEW;
item->flags = flags;
@@ -276,7 +277,7 @@ void ossl_quic_cfq_mark_tx(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item)
}
void ossl_quic_cfq_mark_lost(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item,
- uint32_t priority)
+ uint32_t priority)
{
QUIC_CFQ_ITEM_EX *ex = (QUIC_CFQ_ITEM_EX *)item;
@@ -332,11 +333,12 @@ void ossl_quic_cfq_release(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item)
}
QUIC_CFQ_ITEM *ossl_quic_cfq_get_priority_head(const QUIC_CFQ *cfq,
- uint32_t pn_space)
+ uint32_t pn_space)
{
QUIC_CFQ_ITEM_EX *item = cfq->new_list.head;
- for (; item != NULL && item->pn_space != pn_space; item = item->next);
+ for (; item != NULL && item->pn_space != pn_space; item = item->next)
+ ;
if (item == NULL)
return NULL;
@@ -345,19 +347,20 @@ QUIC_CFQ_ITEM *ossl_quic_cfq_get_priority_head(const QUIC_CFQ *cfq,
}
QUIC_CFQ_ITEM *ossl_quic_cfq_item_get_priority_next(const QUIC_CFQ_ITEM *item,
- uint32_t pn_space)
+ uint32_t pn_space)
{
QUIC_CFQ_ITEM_EX *ex = (QUIC_CFQ_ITEM_EX *)item;
if (ex == NULL)
return NULL;
- ex = ex->next;
+ ex = ex->next;
- for (; ex != NULL && ex->pn_space != pn_space; ex = ex->next);
+ for (; ex != NULL && ex->pn_space != pn_space; ex = ex->next)
+ ;
- if (ex == NULL)
- return NULL; /* ubsan */
+ if (ex == NULL)
+ return NULL; /* ubsan */
- return &ex->public;
+ return &ex->public;
}
diff --git a/crypto/openssl/ssl/quic/quic_channel.c b/crypto/openssl/ssl/quic/quic_channel.c
index 652c653b9120..13692e5bd09e 100644
--- a/crypto/openssl/ssl/quic/quic_channel.c
+++ b/crypto/openssl/ssl/quic/quic_channel.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -24,9 +24,9 @@
#include "quic_port_local.h"
#include "quic_engine_local.h"
-#define INIT_CRYPTO_RECV_BUF_LEN 16384
-#define INIT_CRYPTO_SEND_BUF_LEN 16384
-#define INIT_APP_BUF_LEN 8192
+#define INIT_CRYPTO_RECV_BUF_LEN 16384
+#define INIT_CRYPTO_SEND_BUF_LEN 16384
+#define INIT_APP_BUF_LEN 8192
/*
* Interval before we force a PING to ensure NATs don't timeout. This is based
@@ -41,7 +41,7 @@
* value which determines the value of the maximum ACK delay if the
* max_ack_delay transport parameter is not set.
*/
-#define DEFAULT_MAX_ACK_DELAY QUIC_DEFAULT_MAX_ACK_DELAY
+#define DEFAULT_MAX_ACK_DELAY QUIC_DEFAULT_MAX_ACK_DELAY
DEFINE_LIST_OF_IMPL(ch, QUIC_CHANNEL);
@@ -52,53 +52,51 @@ static int ch_tick_tls(QUIC_CHANNEL *ch, int channel_only, int *notify_other_thr
static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only);
static OSSL_TIME ch_determine_next_tick_deadline(QUIC_CHANNEL *ch);
static int ch_retry(QUIC_CHANNEL *ch,
- const unsigned char *retry_token,
- size_t retry_token_len,
- const QUIC_CONN_ID *retry_scid,
- int drop_later_pn);
+ const unsigned char *retry_token,
+ size_t retry_token_len,
+ const QUIC_CONN_ID *retry_scid,
+ int drop_later_pn);
static int ch_restart(QUIC_CHANNEL *ch);
static void ch_cleanup(QUIC_CHANNEL *ch);
static int ch_generate_transport_params(QUIC_CHANNEL *ch);
static int ch_on_transport_params(const unsigned char *params,
- size_t params_len,
- void *arg);
+ size_t params_len,
+ void *arg);
static int ch_on_handshake_alert(void *arg, unsigned char alert_code);
static int ch_on_handshake_complete(void *arg);
static int ch_on_handshake_yield_secret(uint32_t prot_level, int direction,
- uint32_t suite_id, EVP_MD *md,
- const unsigned char *secret,
- size_t secret_len,
- void *arg);
+ uint32_t suite_id, EVP_MD *md,
+ const unsigned char *secret,
+ size_t secret_len,
+ void *arg);
static int ch_on_crypto_recv_record(const unsigned char **buf,
- size_t *bytes_read, void *arg);
+ size_t *bytes_read, void *arg);
static int ch_on_crypto_release_record(size_t bytes_read, void *arg);
static int crypto_ensure_empty(QUIC_RSTREAM *rstream);
static int ch_on_crypto_send(const unsigned char *buf, size_t buf_len,
- size_t *consumed, void *arg);
+ size_t *consumed, void *arg);
static OSSL_TIME get_time(void *arg);
static uint64_t get_stream_limit(int uni, void *arg);
static int rx_late_validate(QUIC_PN pn, int pn_space, void *arg);
static void rxku_detected(QUIC_PN pn, void *arg);
static int ch_retry(QUIC_CHANNEL *ch,
- const unsigned char *retry_token,
- size_t retry_token_len,
- const QUIC_CONN_ID *retry_scid,
- int drop_later_pn);
+ const unsigned char *retry_token,
+ size_t retry_token_len,
+ const QUIC_CONN_ID *retry_scid,
+ int drop_later_pn);
static void ch_update_idle(QUIC_CHANNEL *ch);
static int ch_discard_el(QUIC_CHANNEL *ch,
- uint32_t enc_level);
+ uint32_t enc_level);
static void ch_on_idle_timeout(QUIC_CHANNEL *ch);
static void ch_update_idle(QUIC_CHANNEL *ch);
static void ch_update_ping_deadline(QUIC_CHANNEL *ch);
static void ch_on_terminating_timeout(QUIC_CHANNEL *ch);
static void ch_start_terminating(QUIC_CHANNEL *ch,
- const QUIC_TERMINATE_CAUSE *tcause,
- int force_immediate);
+ const QUIC_TERMINATE_CAUSE *tcause,
+ int force_immediate);
static void ch_on_txp_ack_tx(const OSSL_QUIC_FRAME_ACK *ack, uint32_t pn_space,
- void *arg);
-static void ch_rx_handle_version_neg(QUIC_CHANNEL *ch, OSSL_QRX_PKT *pkt);
-static void ch_raise_version_neg_failure(QUIC_CHANNEL *ch);
+ void *arg);
static void ch_record_state_transition(QUIC_CHANNEL *ch, uint32_t new_state);
DEFINE_LHASH_OF_EX(QUIC_SRT_ELEM);
@@ -107,7 +105,7 @@ QUIC_NEEDS_LOCK
static QLOG *ch_get_qlog(QUIC_CHANNEL *ch)
{
#ifndef OPENSSL_NO_QLOG
- QLOG_TRACE_INFO qti = {0};
+ QLOG_TRACE_INFO qti = { 0 };
if (ch->qlog != NULL)
return ch->qlog;
@@ -118,13 +116,13 @@ static QLOG *ch_get_qlog(QUIC_CHANNEL *ch)
if (ch->is_server && ch->init_dcid.id_len == 0)
return NULL;
- qti.odcid = ch->init_dcid;
- qti.title = ch->qlog_title;
+ qti.odcid = ch->init_dcid;
+ qti.title = ch->qlog_title;
qti.description = NULL;
- qti.group_id = NULL;
- qti.is_server = ch->is_server;
- qti.now_cb = get_time;
- qti.now_cb_arg = ch;
+ qti.group_id = NULL;
+ qti.is_server = ch->is_server;
+ qti.now_cb = get_time;
+ qti.now_cb_arg = ch;
if ((ch->qlog = ossl_qlog_new_from_env(&qti)) == NULL) {
ch->use_qlog = 0; /* don't try again */
return NULL;
@@ -148,20 +146,20 @@ static QLOG *ch_get_qlog_cb(void *arg)
* QUIC Channel Initialization and Teardown
* ========================================
*/
-#define DEFAULT_INIT_CONN_RXFC_WND (768 * 1024)
-#define DEFAULT_CONN_RXFC_MAX_WND_MUL 20
+#define DEFAULT_INIT_CONN_RXFC_WND (768 * 1024)
+#define DEFAULT_CONN_RXFC_MAX_WND_MUL 20
-#define DEFAULT_INIT_STREAM_RXFC_WND (512 * 1024)
+#define DEFAULT_INIT_STREAM_RXFC_WND (512 * 1024)
#define DEFAULT_STREAM_RXFC_MAX_WND_MUL 12
-#define DEFAULT_INIT_CONN_MAX_STREAMS 100
+#define DEFAULT_INIT_CONN_MAX_STREAMS 100
static int ch_init(QUIC_CHANNEL *ch)
{
- OSSL_QUIC_TX_PACKETISER_ARGS txp_args = {0};
- OSSL_QTX_ARGS qtx_args = {0};
- OSSL_QRX_ARGS qrx_args = {0};
- QUIC_TLS_ARGS tls_args = {0};
+ OSSL_QUIC_TX_PACKETISER_ARGS txp_args = { 0 };
+ OSSL_QTX_ARGS qtx_args = { 0 };
+ OSSL_QRX_ARGS qrx_args = { 0 };
+ QUIC_TLS_ARGS tls_args = { 0 };
uint32_t pn_space;
size_t rx_short_dcid_len;
size_t tx_init_dcid_len;
@@ -175,14 +173,14 @@ static int ch_init(QUIC_CHANNEL *ch)
/* For clients, generate our initial DCID. */
if (!ch->is_server
&& !ossl_quic_gen_rand_conn_id(ch->port->engine->libctx, tx_init_dcid_len,
- &ch->init_dcid))
+ &ch->init_dcid))
goto err;
/* We plug in a network write BIO to the QTX later when we get one. */
- qtx_args.libctx = ch->port->engine->libctx;
- qtx_args.get_qlog_cb = ch_get_qlog_cb;
- qtx_args.get_qlog_cb_arg = ch;
- qtx_args.mdpl = QUIC_MIN_INITIAL_DGRAM_LEN;
+ qtx_args.libctx = ch->port->engine->libctx;
+ qtx_args.get_qlog_cb = ch_get_qlog_cb;
+ qtx_args.get_qlog_cb_arg = ch;
+ qtx_args.mdpl = QUIC_MIN_INITIAL_DGRAM_LEN;
ch->rx_max_udp_payload_size = qtx_args.mdpl;
ch->ping_deadline = ossl_time_infinite();
@@ -206,31 +204,30 @@ static int ch_init(QUIC_CHANNEL *ch)
* Note: The TP we transmit governs what the peer can transmit and thus
* applies to the RXFC.
*/
- ch->tx_init_max_stream_data_bidi_local = DEFAULT_INIT_STREAM_RXFC_WND;
+ ch->tx_init_max_stream_data_bidi_local = DEFAULT_INIT_STREAM_RXFC_WND;
ch->tx_init_max_stream_data_bidi_remote = DEFAULT_INIT_STREAM_RXFC_WND;
- ch->tx_init_max_stream_data_uni = DEFAULT_INIT_STREAM_RXFC_WND;
+ ch->tx_init_max_stream_data_uni = DEFAULT_INIT_STREAM_RXFC_WND;
if (!ossl_quic_rxfc_init(&ch->conn_rxfc, NULL,
- DEFAULT_INIT_CONN_RXFC_WND,
- DEFAULT_CONN_RXFC_MAX_WND_MUL *
- DEFAULT_INIT_CONN_RXFC_WND,
- get_time, ch))
+ DEFAULT_INIT_CONN_RXFC_WND,
+ DEFAULT_CONN_RXFC_MAX_WND_MUL * DEFAULT_INIT_CONN_RXFC_WND,
+ get_time, ch))
goto err;
for (pn_space = QUIC_PN_SPACE_INITIAL; pn_space < QUIC_PN_SPACE_NUM; ++pn_space)
if (!ossl_quic_rxfc_init_standalone(&ch->crypto_rxfc[pn_space],
- INIT_CRYPTO_RECV_BUF_LEN,
- get_time, ch))
+ INIT_CRYPTO_RECV_BUF_LEN,
+ get_time, ch))
goto err;
if (!ossl_quic_rxfc_init_standalone(&ch->max_streams_bidi_rxfc,
- DEFAULT_INIT_CONN_MAX_STREAMS,
- get_time, ch))
+ DEFAULT_INIT_CONN_MAX_STREAMS,
+ get_time, ch))
goto err;
if (!ossl_quic_rxfc_init_standalone(&ch->max_streams_uni_rxfc,
- DEFAULT_INIT_CONN_MAX_STREAMS,
- get_time, ch))
+ DEFAULT_INIT_CONN_MAX_STREAMS,
+ get_time, ch))
goto err;
if (!ossl_statm_init(&ch->statm))
@@ -242,14 +239,15 @@ static int ch_init(QUIC_CHANNEL *ch)
goto err;
if ((ch->ackm = ossl_ackm_new(get_time, ch, &ch->statm,
- ch->cc_method, ch->cc_data,
- ch->is_server)) == NULL)
+ ch->cc_method, ch->cc_data,
+ ch->is_server))
+ == NULL)
goto err;
if (!ossl_quic_stream_map_init(&ch->qsm, get_stream_limit, ch,
- &ch->max_streams_bidi_rxfc,
- &ch->max_streams_uni_rxfc,
- ch->is_server))
+ &ch->max_streams_bidi_rxfc,
+ &ch->max_streams_uni_rxfc,
+ ch->is_server))
goto err;
ch->have_qsm = 1;
@@ -258,25 +256,25 @@ static int ch_init(QUIC_CHANNEL *ch)
&& !ossl_quic_lcidm_generate_initial(ch->lcidm, ch, &ch->init_scid))
goto err;
- txp_args.cur_scid = ch->init_scid;
- txp_args.cur_dcid = ch->init_dcid;
- txp_args.ack_delay_exponent = 3;
- txp_args.qtx = ch->qtx;
- txp_args.txpim = ch->txpim;
- txp_args.cfq = ch->cfq;
- txp_args.ackm = ch->ackm;
- txp_args.qsm = &ch->qsm;
- txp_args.conn_txfc = &ch->conn_txfc;
- txp_args.conn_rxfc = &ch->conn_rxfc;
- txp_args.max_streams_bidi_rxfc = &ch->max_streams_bidi_rxfc;
- txp_args.max_streams_uni_rxfc = &ch->max_streams_uni_rxfc;
- txp_args.cc_method = ch->cc_method;
- txp_args.cc_data = ch->cc_data;
- txp_args.now = get_time;
- txp_args.now_arg = ch;
- txp_args.get_qlog_cb = ch_get_qlog_cb;
- txp_args.get_qlog_cb_arg = ch;
- txp_args.protocol_version = QUIC_VERSION_1;
+ txp_args.cur_scid = ch->init_scid;
+ txp_args.cur_dcid = ch->init_dcid;
+ txp_args.ack_delay_exponent = 3;
+ txp_args.qtx = ch->qtx;
+ txp_args.txpim = ch->txpim;
+ txp_args.cfq = ch->cfq;
+ txp_args.ackm = ch->ackm;
+ txp_args.qsm = &ch->qsm;
+ txp_args.conn_txfc = &ch->conn_txfc;
+ txp_args.conn_rxfc = &ch->conn_rxfc;
+ txp_args.max_streams_bidi_rxfc = &ch->max_streams_bidi_rxfc;
+ txp_args.max_streams_uni_rxfc = &ch->max_streams_uni_rxfc;
+ txp_args.cc_method = ch->cc_method;
+ txp_args.cc_data = ch->cc_data;
+ txp_args.now = get_time;
+ txp_args.now_arg = ch;
+ txp_args.get_qlog_cb = ch_get_qlog_cb;
+ txp_args.get_qlog_cb_arg = ch;
+ txp_args.protocol_version = QUIC_VERSION_1;
for (pn_space = QUIC_PN_SPACE_INITIAL; pn_space < QUIC_PN_SPACE_NUM; ++pn_space) {
ch->crypto_send[pn_space] = ossl_quic_sstream_new(INIT_CRYPTO_SEND_BUF_LEN);
@@ -308,10 +306,10 @@ static int ch_init(QUIC_CHANNEL *ch)
*/
if (ch->qrx == NULL && ch->is_tserver_ch == 0) {
/* we are regular client, create channel */
- qrx_args.libctx = ch->port->engine->libctx;
- qrx_args.demux = ch->port->demux;
- qrx_args.short_conn_id_len = rx_short_dcid_len;
- qrx_args.max_deferred = 32;
+ qrx_args.libctx = ch->port->engine->libctx;
+ qrx_args.demux = ch->port->demux;
+ qrx_args.short_conn_id_len = rx_short_dcid_len;
+ qrx_args.max_deferred = 32;
if ((ch->qrx = ossl_qrx_new(&qrx_args)) == NULL)
goto err;
@@ -324,17 +322,16 @@ static int ch_init(QUIC_CHANNEL *ch)
* in port_default_packet_handler()
*/
if (!ossl_qrx_set_late_validation_cb(ch->qrx,
- rx_late_validate,
- ch))
+ rx_late_validate,
+ ch))
goto err;
if (!ossl_qrx_set_key_update_cb(ch->qrx,
- rxku_detected,
- ch))
+ rxku_detected,
+ ch))
goto err;
}
-
for (pn_space = QUIC_PN_SPACE_INITIAL; pn_space < QUIC_PN_SPACE_NUM; ++pn_space) {
ch->crypto_recv[pn_space] = ossl_quic_rstream_new(NULL, NULL, 0);
if (ch->crypto_recv[pn_space] == NULL)
@@ -342,38 +339,38 @@ static int ch_init(QUIC_CHANNEL *ch)
}
/* Plug in the TLS handshake layer. */
- tls_args.s = ch->tls;
- tls_args.crypto_send_cb = ch_on_crypto_send;
- tls_args.crypto_send_cb_arg = ch;
- tls_args.crypto_recv_rcd_cb = ch_on_crypto_recv_record;
- tls_args.crypto_recv_rcd_cb_arg = ch;
- tls_args.crypto_release_rcd_cb = ch_on_crypto_release_record;
- tls_args.crypto_release_rcd_cb_arg = ch;
- tls_args.yield_secret_cb = ch_on_handshake_yield_secret;
- tls_args.yield_secret_cb_arg = ch;
- tls_args.got_transport_params_cb = ch_on_transport_params;
- tls_args.got_transport_params_cb_arg= ch;
- tls_args.handshake_complete_cb = ch_on_handshake_complete;
- tls_args.handshake_complete_cb_arg = ch;
- tls_args.alert_cb = ch_on_handshake_alert;
- tls_args.alert_cb_arg = ch;
- tls_args.is_server = ch->is_server;
- tls_args.ossl_quic = 1;
+ tls_args.s = ch->tls;
+ tls_args.crypto_send_cb = ch_on_crypto_send;
+ tls_args.crypto_send_cb_arg = ch;
+ tls_args.crypto_recv_rcd_cb = ch_on_crypto_recv_record;
+ tls_args.crypto_recv_rcd_cb_arg = ch;
+ tls_args.crypto_release_rcd_cb = ch_on_crypto_release_record;
+ tls_args.crypto_release_rcd_cb_arg = ch;
+ tls_args.yield_secret_cb = ch_on_handshake_yield_secret;
+ tls_args.yield_secret_cb_arg = ch;
+ tls_args.got_transport_params_cb = ch_on_transport_params;
+ tls_args.got_transport_params_cb_arg = ch;
+ tls_args.handshake_complete_cb = ch_on_handshake_complete;
+ tls_args.handshake_complete_cb_arg = ch;
+ tls_args.alert_cb = ch_on_handshake_alert;
+ tls_args.alert_cb_arg = ch;
+ tls_args.is_server = ch->is_server;
+ tls_args.ossl_quic = 1;
if ((ch->qtls = ossl_quic_tls_new(&tls_args)) == NULL)
goto err;
- ch->tx_max_ack_delay = DEFAULT_MAX_ACK_DELAY;
- ch->rx_max_ack_delay = QUIC_DEFAULT_MAX_ACK_DELAY;
- ch->rx_ack_delay_exp = QUIC_DEFAULT_ACK_DELAY_EXP;
+ ch->tx_max_ack_delay = DEFAULT_MAX_ACK_DELAY;
+ ch->rx_max_ack_delay = QUIC_DEFAULT_MAX_ACK_DELAY;
+ ch->rx_ack_delay_exp = QUIC_DEFAULT_ACK_DELAY_EXP;
ch->rx_active_conn_id_limit = QUIC_MIN_ACTIVE_CONN_ID_LIMIT;
- ch->tx_enc_level = QUIC_ENC_LEVEL_INITIAL;
- ch->rx_enc_level = QUIC_ENC_LEVEL_INITIAL;
+ ch->tx_enc_level = QUIC_ENC_LEVEL_INITIAL;
+ ch->rx_enc_level = QUIC_ENC_LEVEL_INITIAL;
ch->txku_threshold_override = UINT64_MAX;
- ch->max_idle_timeout_local_req = QUIC_DEFAULT_IDLE_TIMEOUT;
+ ch->max_idle_timeout_local_req = QUIC_DEFAULT_IDLE_TIMEOUT;
ch->max_idle_timeout_remote_req = 0;
- ch->max_idle_timeout = ch->max_idle_timeout_local_req;
+ ch->max_idle_timeout = ch->max_idle_timeout_local_req;
ossl_ackm_set_tx_max_ack_delay(ch->ackm, ossl_ms2time(ch->tx_max_ack_delay));
ossl_ackm_set_rx_max_ack_delay(ch->ackm, ossl_ms2time(ch->rx_max_ack_delay));
@@ -394,8 +391,8 @@ static void ch_cleanup(QUIC_CHANNEL *ch)
if (ch->ackm != NULL)
for (pn_space = QUIC_PN_SPACE_INITIAL;
- pn_space < QUIC_PN_SPACE_NUM;
- ++pn_space)
+ pn_space < QUIC_PN_SPACE_NUM;
+ ++pn_space)
ossl_ackm_on_pkt_space_discarded(ch->ackm, pn_space);
ossl_quic_lcidm_cull(ch->lcidm, ch);
@@ -453,9 +450,9 @@ void ossl_quic_channel_bind_qrx(QUIC_CHANNEL *tserver_ch, OSSL_QRX *qrx)
if (tserver_ch->qrx == NULL && tserver_ch->is_tserver_ch == 1) {
tserver_ch->qrx = qrx;
ossl_qrx_set_late_validation_cb(tserver_ch->qrx, rx_late_validate,
- tserver_ch);
+ tserver_ch);
ossl_qrx_set_key_update_cb(tserver_ch->qrx, rxku_detected,
- tserver_ch);
+ tserver_ch);
}
}
@@ -466,15 +463,15 @@ QUIC_CHANNEL *ossl_quic_channel_alloc(const QUIC_CHANNEL_ARGS *args)
if ((ch = OPENSSL_zalloc(sizeof(*ch))) == NULL)
return NULL;
- ch->port = args->port;
- ch->is_server = args->is_server;
- ch->tls = args->tls;
- ch->lcidm = args->lcidm;
- ch->srtm = args->srtm;
- ch->qrx = args->qrx;
- ch->is_tserver_ch = args->is_tserver_ch;
+ ch->port = args->port;
+ ch->is_server = args->is_server;
+ ch->tls = args->tls;
+ ch->lcidm = args->lcidm;
+ ch->srtm = args->srtm;
+ ch->qrx = args->qrx;
+ ch->is_tserver_ch = args->is_tserver_ch;
#ifndef OPENSSL_NO_QLOG
- ch->use_qlog = args->use_qlog;
+ ch->use_qlog = args->use_qlog;
if (ch->use_qlog && args->qlog_title != NULL) {
if ((ch->qlog_title = OPENSSL_strdup(args->qlog_title)) == NULL) {
@@ -498,9 +495,9 @@ void ossl_quic_channel_free(QUIC_CHANNEL *ch)
/* Set mutator callbacks for test framework support */
int ossl_quic_channel_set_mutator(QUIC_CHANNEL *ch,
- ossl_mutate_packet_cb mutatecb,
- ossl_finish_mutate_cb finishmutatecb,
- void *mutatearg)
+ ossl_mutate_packet_cb mutatecb,
+ ossl_finish_mutate_cb finishmutatecb,
+ void *mutatearg)
{
if (ch->qtx == NULL)
return 0;
@@ -563,8 +560,8 @@ static void free_buf_mem(unsigned char *buf, size_t buf_len, void *arg)
}
int ossl_quic_channel_schedule_new_token(QUIC_CHANNEL *ch,
- const unsigned char *token,
- size_t token_len)
+ const unsigned char *token,
+ size_t token_len)
{
int rc = 0;
QUIC_CFQ_ITEM *cfq_item;
@@ -580,7 +577,7 @@ int ossl_quic_channel_schedule_new_token(QUIC_CHANNEL *ch,
goto err;
if (!ossl_quic_wire_encode_frame_new_token(&wpkt, token,
- token_len)) {
+ token_len)) {
WPACKET_cleanup(&wpkt);
goto err;
}
@@ -591,11 +588,11 @@ int ossl_quic_channel_schedule_new_token(QUIC_CHANNEL *ch,
goto err;
cfq_item = ossl_quic_cfq_add_frame(ch->cfq, 1,
- QUIC_PN_SPACE_APP,
- OSSL_QUIC_FRAME_TYPE_NEW_TOKEN, 0,
- (unsigned char *)buf_mem->data, l,
- free_buf_mem,
- buf_mem);
+ QUIC_PN_SPACE_APP,
+ OSSL_QUIC_FRAME_TYPE_NEW_TOKEN, 0,
+ (unsigned char *)buf_mem->data, l,
+ free_buf_mem,
+ buf_mem);
if (cfq_item == NULL)
goto err;
@@ -612,7 +609,7 @@ size_t ossl_quic_channel_get_short_header_conn_id_len(QUIC_CHANNEL *ch)
}
QUIC_STREAM *ossl_quic_channel_get_stream_by_id(QUIC_CHANNEL *ch,
- uint64_t stream_id)
+ uint64_t stream_id)
{
return ossl_quic_stream_map_get_by_id(&ch->qsm, stream_id);
}
@@ -740,13 +737,13 @@ static void ch_trigger_txku(QUIC_CHANNEL *ch)
if (!ossl_quic_pn_valid(next_pn)
|| !ossl_qtx_trigger_key_update(ch->qtx)) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR, 0,
- "key update");
+ "key update");
return;
}
- ch->txku_in_progress = 1;
- ch->txku_pn = next_pn;
- ch->rxku_expected = ch->ku_locally_initiated;
+ ch->txku_in_progress = 1;
+ ch->txku_pn = next_pn;
+ ch->rxku_expected = ch->ku_locally_initiated;
}
QUIC_NEEDS_LOCK
@@ -765,9 +762,9 @@ static int txku_in_progress(QUIC_CHANNEL *ch)
* the ack for a TXKU-triggering packet, not when the TXKU is initiated.
* So we defer TXKU cooldown deadline calculation to this point.
*/
- ch->txku_in_progress = 0;
- ch->txku_cooldown_deadline = ossl_time_add(get_time(ch),
- ossl_time_multiply(pto, 3));
+ ch->txku_in_progress = 0;
+ ch->txku_cooldown_deadline = ossl_time_add(get_time(ch),
+ ossl_time_multiply(pto, 3));
}
return ch->txku_in_progress;
@@ -888,18 +885,18 @@ static void rxku_detected(QUIC_PN pn, void *arg)
if (decision == DECISION_PROTOCOL_VIOLATION) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_KEY_UPDATE_ERROR,
- 0, "RX key update again too soon");
+ 0, "RX key update again too soon");
return;
}
pto = ossl_ackm_get_pto_duration(ch->ackm);
- ch->ku_locally_initiated = 0;
- ch->rxku_in_progress = 1;
- ch->rxku_pending_confirm = 1;
- ch->rxku_trigger_pn = pn;
- ch->rxku_update_end_deadline = ossl_time_add(get_time(ch), pto);
- ch->rxku_expected = 0;
+ ch->ku_locally_initiated = 0;
+ ch->rxku_in_progress = 1;
+ ch->rxku_pending_confirm = 1;
+ ch->rxku_trigger_pn = pn;
+ ch->rxku_update_end_deadline = ossl_time_add(get_time(ch), pto);
+ ch->rxku_expected = 0;
if (decision == DECISION_SOLICITED_TXKU)
/* NOT gated by usual txku_allowed() */
@@ -931,17 +928,17 @@ static void ch_rxku_tick(QUIC_CHANNEL *ch)
|| ossl_time_compare(get_time(ch), ch->rxku_update_end_deadline) < 0)
return;
- ch->rxku_update_end_deadline = ossl_time_infinite();
- ch->rxku_in_progress = 0;
+ ch->rxku_update_end_deadline = ossl_time_infinite();
+ ch->rxku_in_progress = 0;
if (!ossl_qrx_key_update_timeout(ch->qrx, /*normal=*/1))
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR, 0,
- "RXKU cooldown internal error");
+ "RXKU cooldown internal error");
}
QUIC_NEEDS_LOCK
static void ch_on_txp_ack_tx(const OSSL_QUIC_FRAME_ACK *ack, uint32_t pn_space,
- void *arg)
+ void *arg)
{
QUIC_CHANNEL *ch = arg;
@@ -961,7 +958,7 @@ static void ch_on_txp_ack_tx(const OSSL_QUIC_FRAME_ACK *ack, uint32_t pn_space,
* ============================================
*/
static int ch_on_crypto_send(const unsigned char *buf, size_t buf_len,
- size_t *consumed, void *arg)
+ size_t *consumed, void *arg)
{
int ret;
QUIC_CHANNEL *ch = arg;
@@ -991,7 +988,7 @@ static int crypto_ensure_empty(QUIC_RSTREAM *rstream)
}
static int ch_on_crypto_recv_record(const unsigned char **buf,
- size_t *bytes_read, void *arg)
+ size_t *bytes_read, void *arg)
{
QUIC_CHANNEL *ch = arg;
QUIC_RSTREAM *rstream;
@@ -1012,12 +1009,11 @@ static int ch_on_crypto_recv_record(const unsigned char **buf,
* bytes at a lower EL.
*/
for (i = QUIC_ENC_LEVEL_INITIAL; i < ch->rx_enc_level; ++i)
- if (i != QUIC_ENC_LEVEL_0RTT &&
- !crypto_ensure_empty(ch->crypto_recv[ossl_quic_enc_level_to_pn_space(i)])) {
+ if (i != QUIC_ENC_LEVEL_0RTT && !crypto_ensure_empty(ch->crypto_recv[ossl_quic_enc_level_to_pn_space(i)])) {
/* Protocol violation (RFC 9001 s. 4.1.3) */
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "crypto stream data in wrong EL");
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "crypto stream data in wrong EL");
return 0;
}
@@ -1026,7 +1022,7 @@ static int ch_on_crypto_recv_record(const unsigned char **buf,
return 0;
return ossl_quic_rstream_get_record(rstream, buf, bytes_read,
- &is_fin);
+ &is_fin);
}
static int ch_on_crypto_release_record(size_t bytes_read, void *arg)
@@ -1042,17 +1038,17 @@ static int ch_on_crypto_release_record(size_t bytes_read, void *arg)
ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(ch), &rtt_info);
if (!ossl_quic_rxfc_on_retire(&ch->crypto_rxfc[rx_pn_space], bytes_read,
- rtt_info.smoothed_rtt))
+ rtt_info.smoothed_rtt))
return 0;
return ossl_quic_rstream_release_record(rstream, bytes_read);
}
static int ch_on_handshake_yield_secret(uint32_t prot_level, int direction,
- uint32_t suite_id, EVP_MD *md,
- const unsigned char *secret,
- size_t secret_len,
- void *arg)
+ uint32_t suite_id, EVP_MD *md,
+ const unsigned char *secret,
+ size_t secret_len,
+ void *arg)
{
QUIC_CHANNEL *ch = arg;
uint32_t i;
@@ -1080,7 +1076,6 @@ static int ch_on_handshake_yield_secret(uint32_t prot_level, int direction,
/* Invalid EL. */
return 0;
-
if (direction) {
/* TX */
if (enc_level <= ch->tx_enc_level)
@@ -1091,8 +1086,8 @@ static int ch_on_handshake_yield_secret(uint32_t prot_level, int direction,
return 0;
if (!ossl_qtx_provide_secret(ch->qtx, enc_level,
- suite_id, md,
- secret, secret_len))
+ suite_id, md,
+ secret, secret_len))
return 0;
ch->tx_enc_level = enc_level;
@@ -1113,14 +1108,14 @@ static int ch_on_handshake_yield_secret(uint32_t prot_level, int direction,
if (!crypto_ensure_empty(ch->crypto_recv[ossl_quic_enc_level_to_pn_space(i)])) {
/* Protocol violation (RFC 9001 s. 4.1.3) */
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "crypto stream data in wrong EL");
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "crypto stream data in wrong EL");
return 0;
}
if (!ossl_qrx_provide_secret(ch->qrx, enc_level,
- suite_id, md,
- secret, secret_len))
+ suite_id, md,
+ secret, secret_len))
return 0;
ch->have_new_rx_secret = 1;
@@ -1153,8 +1148,8 @@ static int ch_on_handshake_complete(void *arg)
* params.
*/
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_CRYPTO_MISSING_EXT,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "no transport parameters received");
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "no transport parameters received");
return 0;
}
@@ -1180,8 +1175,8 @@ static int ch_on_handshake_complete(void *arg)
* new token. As a result, we don't need to handle any errors here
*/
ossl_quic_channel_schedule_new_token(ch,
- ch->pending_new_token,
- ch->pending_new_token_len);
+ ch->pending_new_token,
+ ch->pending_new_token_len);
OPENSSL_free(ch->pending_new_token);
ch->pending_new_token = NULL;
ch->pending_new_token_len = 0;
@@ -1210,13 +1205,13 @@ static int ch_on_handshake_alert(void *arg, unsigned char alert_code)
* messages as a connection error of type PROTOCOL_VIOLATION.
*/
if (alert_code == SSL_AD_UNEXPECTED_MESSAGE
- && ch->handshake_complete
- && ossl_quic_tls_is_cert_request(ch->qtls))
+ && ch->handshake_complete
+ && ossl_quic_tls_is_cert_request(ch->qtls))
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- 0,
- "Post-handshake TLS "
- "CertificateRequest received");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ 0,
+ "Post-handshake TLS "
+ "CertificateRequest received");
/*
* RFC 9001 s. 4.6.1: Servers MUST NOT send the early_data extension with a
* max_early_data_size field set to any value other than 0xffffffff. A
@@ -1225,17 +1220,17 @@ static int ch_on_handshake_alert(void *arg, unsigned char alert_code)
* PROTOCOL_VIOLATION.
*/
else if (alert_code == SSL_AD_ILLEGAL_PARAMETER
- && ch->handshake_complete
- && ossl_quic_tls_has_bad_max_early_data(ch->qtls))
+ && ch->handshake_complete
+ && ossl_quic_tls_has_bad_max_early_data(ch->qtls))
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- 0,
- "Bad max_early_data received");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ 0,
+ "Bad max_early_data received");
else
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_CRYPTO_ERR_BEGIN
- + alert_code,
- 0, "handshake alert");
+ OSSL_QUIC_ERR_CRYPTO_ERR_BEGIN
+ + alert_code,
+ 0, "handshake alert");
return 1;
}
@@ -1301,8 +1296,8 @@ static uint64_t min_u64_ignore_0(uint64_t a, uint64_t b)
}
static int ch_on_transport_params(const unsigned char *params,
- size_t params_len,
- void *arg)
+ size_t params_len,
+ void *arg)
{
QUIC_CHANNEL *ch = arg;
PACKET pkt;
@@ -1351,7 +1346,7 @@ static int ch_on_transport_params(const unsigned char *params,
if (!PACKET_buf_init(&pkt, params, params_len)) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR, 0,
- "internal error (packet buf init)");
+ "internal error (packet buf init)");
return 0;
}
@@ -1547,7 +1542,7 @@ static int ch_on_transport_params(const unsigned char *params,
ch->rx_max_ack_delay = v;
ossl_ackm_set_rx_max_ack_delay(ch->ackm,
- ossl_ms2time(ch->rx_max_ack_delay));
+ ossl_ms2time(ch->rx_max_ack_delay));
got_max_ack_delay = 1;
break;
@@ -1603,8 +1598,7 @@ static int ch_on_transport_params(const unsigned char *params,
ch->max_idle_timeout_remote_req = v;
ch->max_idle_timeout = min_u64_ignore_0(ch->max_idle_timeout_local_req,
- ch->max_idle_timeout_remote_req);
-
+ ch->max_idle_timeout_remote_req);
ch_update_idle(ch);
got_max_idle_timeout = 1;
@@ -1625,7 +1619,7 @@ static int ch_on_transport_params(const unsigned char *params,
}
ch->rx_max_udp_payload_size = v;
- got_max_udp_payload_size = 1;
+ got_max_udp_payload_size = 1;
break;
case QUIC_TPARAM_ACTIVE_CONN_ID_LIMIT:
@@ -1666,13 +1660,13 @@ static int ch_on_transport_params(const unsigned char *params,
goto malformed;
}
if (!ossl_quic_srtm_add(ch->srtm, ch, ch->cur_remote_seq_num,
- (const QUIC_STATELESS_RESET_TOKEN *)body)) {
+ (const QUIC_STATELESS_RESET_TOKEN *)body)) {
reason = TP_REASON_INTERNAL_ERROR("STATELESS_RESET_TOKEN");
goto malformed;
}
- stateless_reset_token_p = body;
- got_stateless_reset_token = 1;
+ stateless_reset_token_p = body;
+ got_stateless_reset_token = 1;
break;
case QUIC_TPARAM_PREFERRED_ADDR:
@@ -1741,7 +1735,7 @@ static int ch_on_transport_params(const unsigned char *params,
* maintaining a list of duplicates for anything we don't recognise.
*/
body = ossl_quic_wire_decode_transport_param_bytes(&pkt, &id,
- &len);
+ &len);
if (body == NULL)
goto malformed;
@@ -1770,60 +1764,60 @@ static int ch_on_transport_params(const unsigned char *params,
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(ch_get_qlog(ch), transport, parameters_set)
- QLOG_STR("owner", "remote");
+ QLOG_STR("owner", "remote");
- if (got_orig_dcid)
- QLOG_CID("original_destination_connection_id",
- &ch->init_dcid);
- if (got_initial_scid)
- QLOG_CID("original_source_connection_id",
- &ch->init_dcid);
- if (got_retry_scid)
- QLOG_CID("retry_source_connection_id",
- &ch->retry_scid);
- if (got_initial_max_data)
- QLOG_U64("initial_max_data",
- ossl_quic_txfc_get_cwm(&ch->conn_txfc));
- if (got_initial_max_stream_data_bidi_local)
- QLOG_U64("initial_max_stream_data_bidi_local",
- ch->rx_init_max_stream_data_bidi_local);
- if (got_initial_max_stream_data_bidi_remote)
- QLOG_U64("initial_max_stream_data_bidi_remote",
- ch->rx_init_max_stream_data_bidi_remote);
- if (got_initial_max_stream_data_uni)
- QLOG_U64("initial_max_stream_data_uni",
- ch->rx_init_max_stream_data_uni);
- if (got_initial_max_streams_bidi)
- QLOG_U64("initial_max_streams_bidi",
- ch->max_local_streams_bidi);
- if (got_initial_max_streams_uni)
- QLOG_U64("initial_max_streams_uni",
- ch->max_local_streams_uni);
- if (got_ack_delay_exp)
- QLOG_U64("ack_delay_exponent", ch->rx_ack_delay_exp);
- if (got_max_ack_delay)
- QLOG_U64("max_ack_delay", ch->rx_max_ack_delay);
- if (got_max_udp_payload_size)
- QLOG_U64("max_udp_payload_size", ch->rx_max_udp_payload_size);
- if (got_max_idle_timeout)
- QLOG_U64("max_idle_timeout", rx_max_idle_timeout);
- if (got_active_conn_id_limit)
- QLOG_U64("active_connection_id_limit", ch->rx_active_conn_id_limit);
- if (got_stateless_reset_token)
- QLOG_BIN("stateless_reset_token", stateless_reset_token_p,
- QUIC_STATELESS_RESET_TOKEN_LEN);
- if (got_preferred_addr) {
- QLOG_BEGIN("preferred_addr")
- QLOG_U64("port_v4", pfa.ipv4_port);
- QLOG_U64("port_v6", pfa.ipv6_port);
- QLOG_BIN("ip_v4", pfa.ipv4, sizeof(pfa.ipv4));
- QLOG_BIN("ip_v6", pfa.ipv6, sizeof(pfa.ipv6));
- QLOG_BIN("stateless_reset_token", pfa.stateless_reset.token,
- sizeof(pfa.stateless_reset.token));
- QLOG_CID("connection_id", &pfa.cid);
- QLOG_END()
- }
- QLOG_BOOL("disable_active_migration", got_disable_active_migration);
+ if (got_orig_dcid)
+ QLOG_CID("original_destination_connection_id",
+ &ch->init_dcid);
+ if (got_initial_scid)
+ QLOG_CID("original_source_connection_id",
+ &ch->init_dcid);
+ if (got_retry_scid)
+ QLOG_CID("retry_source_connection_id",
+ &ch->retry_scid);
+ if (got_initial_max_data)
+ QLOG_U64("initial_max_data",
+ ossl_quic_txfc_get_cwm(&ch->conn_txfc));
+ if (got_initial_max_stream_data_bidi_local)
+ QLOG_U64("initial_max_stream_data_bidi_local",
+ ch->rx_init_max_stream_data_bidi_local);
+ if (got_initial_max_stream_data_bidi_remote)
+ QLOG_U64("initial_max_stream_data_bidi_remote",
+ ch->rx_init_max_stream_data_bidi_remote);
+ if (got_initial_max_stream_data_uni)
+ QLOG_U64("initial_max_stream_data_uni",
+ ch->rx_init_max_stream_data_uni);
+ if (got_initial_max_streams_bidi)
+ QLOG_U64("initial_max_streams_bidi",
+ ch->max_local_streams_bidi);
+ if (got_initial_max_streams_uni)
+ QLOG_U64("initial_max_streams_uni",
+ ch->max_local_streams_uni);
+ if (got_ack_delay_exp)
+ QLOG_U64("ack_delay_exponent", ch->rx_ack_delay_exp);
+ if (got_max_ack_delay)
+ QLOG_U64("max_ack_delay", ch->rx_max_ack_delay);
+ if (got_max_udp_payload_size)
+ QLOG_U64("max_udp_payload_size", ch->rx_max_udp_payload_size);
+ if (got_max_idle_timeout)
+ QLOG_U64("max_idle_timeout", rx_max_idle_timeout);
+ if (got_active_conn_id_limit)
+ QLOG_U64("active_connection_id_limit", ch->rx_active_conn_id_limit);
+ if (got_stateless_reset_token)
+ QLOG_BIN("stateless_reset_token", stateless_reset_token_p,
+ QUIC_STATELESS_RESET_TOKEN_LEN);
+ if (got_preferred_addr) {
+ QLOG_BEGIN("preferred_addr")
+ QLOG_U64("port_v4", pfa.ipv4_port);
+ QLOG_U64("port_v6", pfa.ipv6_port);
+ QLOG_BIN("ip_v4", pfa.ipv4, sizeof(pfa.ipv4));
+ QLOG_BIN("ip_v6", pfa.ipv6, sizeof(pfa.ipv6));
+ QLOG_BIN("stateless_reset_token", pfa.stateless_reset.token,
+ sizeof(pfa.stateless_reset.token));
+ QLOG_CID("connection_id", &pfa.cid);
+ QLOG_END()
+ }
+ QLOG_BOOL("disable_active_migration", got_disable_active_migration);
QLOG_EVENT_END()
#endif
@@ -1838,7 +1832,7 @@ static int ch_on_transport_params(const unsigned char *params,
/* If we are a server, we now generate our own transport parameters. */
if (ch->is_server && !ch_generate_transport_params(ch)) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR, 0,
- "internal error");
+ "internal error");
return 0;
}
@@ -1846,7 +1840,7 @@ static int ch_on_transport_params(const unsigned char *params,
malformed:
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_TRANSPORT_PARAMETER_ERROR,
- 0, reason);
+ 0, reason);
return 0;
}
@@ -1890,68 +1884,69 @@ static int ch_generate_transport_params(QUIC_CHANNEL *ch)
wpkt_valid = 1;
if (ossl_quic_wire_encode_transport_param_bytes(&wpkt, QUIC_TPARAM_DISABLE_ACTIVE_MIGRATION,
- NULL, 0) == NULL)
+ NULL, 0)
+ == NULL)
goto err;
if (ch->is_server) {
if (!ossl_quic_wire_encode_transport_param_cid(&wpkt, QUIC_TPARAM_ORIG_DCID,
- id_to_use))
+ id_to_use))
goto err;
if (!ossl_quic_wire_encode_transport_param_cid(&wpkt, QUIC_TPARAM_INITIAL_SCID,
- &ch->cur_local_cid))
+ &ch->cur_local_cid))
goto err;
if (ch->odcid.id_len != 0)
if (!ossl_quic_wire_encode_transport_param_cid(&wpkt,
- QUIC_TPARAM_RETRY_SCID,
- &ch->init_dcid))
+ QUIC_TPARAM_RETRY_SCID,
+ &ch->init_dcid))
goto err;
} else {
if (!ossl_quic_wire_encode_transport_param_cid(&wpkt, QUIC_TPARAM_INITIAL_SCID,
- &ch->init_scid))
+ &ch->init_scid))
goto err;
}
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_MAX_IDLE_TIMEOUT,
- ch->max_idle_timeout_local_req))
+ ch->max_idle_timeout_local_req))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_MAX_UDP_PAYLOAD_SIZE,
- QUIC_MIN_INITIAL_DGRAM_LEN))
+ QUIC_MIN_INITIAL_DGRAM_LEN))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_ACTIVE_CONN_ID_LIMIT,
- QUIC_MIN_ACTIVE_CONN_ID_LIMIT))
+ QUIC_MIN_ACTIVE_CONN_ID_LIMIT))
goto err;
if (ch->tx_max_ack_delay != QUIC_DEFAULT_MAX_ACK_DELAY
&& !ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_MAX_ACK_DELAY,
- ch->tx_max_ack_delay))
+ ch->tx_max_ack_delay))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_INITIAL_MAX_DATA,
- ossl_quic_rxfc_get_cwm(&ch->conn_rxfc)))
+ ossl_quic_rxfc_get_cwm(&ch->conn_rxfc)))
goto err;
/* Send the default CWM for a new RXFC. */
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_INITIAL_MAX_STREAM_DATA_BIDI_LOCAL,
- ch->tx_init_max_stream_data_bidi_local))
+ ch->tx_init_max_stream_data_bidi_local))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_INITIAL_MAX_STREAM_DATA_BIDI_REMOTE,
- ch->tx_init_max_stream_data_bidi_remote))
+ ch->tx_init_max_stream_data_bidi_remote))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_INITIAL_MAX_STREAM_DATA_UNI,
- ch->tx_init_max_stream_data_uni))
+ ch->tx_init_max_stream_data_uni))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_INITIAL_MAX_STREAMS_BIDI,
- ossl_quic_rxfc_get_cwm(&ch->max_streams_bidi_rxfc)))
+ ossl_quic_rxfc_get_cwm(&ch->max_streams_bidi_rxfc)))
goto err;
if (!ossl_quic_wire_encode_transport_param_int(&wpkt, QUIC_TPARAM_INITIAL_MAX_STREAMS_UNI,
- ossl_quic_rxfc_get_cwm(&ch->max_streams_uni_rxfc)))
+ ossl_quic_rxfc_get_cwm(&ch->max_streams_uni_rxfc)))
goto err;
if (!WPACKET_finish(&wpkt))
@@ -1966,34 +1961,34 @@ static int ch_generate_transport_params(QUIC_CHANNEL *ch)
buf_mem->data = NULL;
if (!ossl_quic_tls_set_transport_params(ch->qtls, ch->local_transport_params,
- buf_len))
+ buf_len))
goto err;
#ifndef OPENSSL_NO_QLOG
QLOG_EVENT_BEGIN(ch_get_qlog(ch), transport, parameters_set)
- QLOG_STR("owner", "local");
- QLOG_BOOL("disable_active_migration", 1);
- if (ch->is_server) {
- QLOG_CID("original_destination_connection_id", &ch->init_dcid);
- QLOG_CID("initial_source_connection_id", &ch->cur_local_cid);
- } else {
- QLOG_STR("initial_source_connection_id", "");
- }
- QLOG_U64("max_idle_timeout", ch->max_idle_timeout);
- QLOG_U64("max_udp_payload_size", QUIC_MIN_INITIAL_DGRAM_LEN);
- QLOG_U64("active_connection_id_limit", QUIC_MIN_ACTIVE_CONN_ID_LIMIT);
- QLOG_U64("max_ack_delay", ch->tx_max_ack_delay);
- QLOG_U64("initial_max_data", ossl_quic_rxfc_get_cwm(&ch->conn_rxfc));
- QLOG_U64("initial_max_stream_data_bidi_local",
- ch->tx_init_max_stream_data_bidi_local);
- QLOG_U64("initial_max_stream_data_bidi_remote",
- ch->tx_init_max_stream_data_bidi_remote);
- QLOG_U64("initial_max_stream_data_uni",
- ch->tx_init_max_stream_data_uni);
- QLOG_U64("initial_max_streams_bidi",
- ossl_quic_rxfc_get_cwm(&ch->max_streams_bidi_rxfc));
- QLOG_U64("initial_max_streams_uni",
- ossl_quic_rxfc_get_cwm(&ch->max_streams_uni_rxfc));
+ QLOG_STR("owner", "local");
+ QLOG_BOOL("disable_active_migration", 1);
+ if (ch->is_server) {
+ QLOG_CID("original_destination_connection_id", &ch->init_dcid);
+ QLOG_CID("initial_source_connection_id", &ch->cur_local_cid);
+ } else {
+ QLOG_STR("initial_source_connection_id", "");
+ }
+ QLOG_U64("max_idle_timeout", ch->max_idle_timeout);
+ QLOG_U64("max_udp_payload_size", QUIC_MIN_INITIAL_DGRAM_LEN);
+ QLOG_U64("active_connection_id_limit", QUIC_MIN_ACTIVE_CONN_ID_LIMIT);
+ QLOG_U64("max_ack_delay", ch->tx_max_ack_delay);
+ QLOG_U64("initial_max_data", ossl_quic_rxfc_get_cwm(&ch->conn_rxfc));
+ QLOG_U64("initial_max_stream_data_bidi_local",
+ ch->tx_init_max_stream_data_bidi_local);
+ QLOG_U64("initial_max_stream_data_bidi_remote",
+ ch->tx_init_max_stream_data_bidi_remote);
+ QLOG_U64("initial_max_stream_data_uni",
+ ch->tx_init_max_stream_data_uni);
+ QLOG_U64("initial_max_streams_bidi",
+ ossl_quic_rxfc_get_cwm(&ch->max_streams_bidi_rxfc));
+ QLOG_U64("initial_max_streams_uni",
+ ossl_quic_rxfc_get_cwm(&ch->max_streams_uni_rxfc));
QLOG_EVENT_END()
#endif
@@ -2018,7 +2013,7 @@ err:
* "loudly".
*/
void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT *res,
- uint32_t flags)
+ uint32_t flags)
{
OSSL_TIME now, deadline;
int channel_only = (flags & QUIC_REACTOR_TICK_FLAG_CHANNEL_ONLY) != 0;
@@ -2040,11 +2035,11 @@ void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT *res,
* there is nothing to do.
*/
if (ch->state == QUIC_CHANNEL_STATE_IDLE
- || ossl_quic_channel_is_terminated(ch)) {
- res->net_read_desired = 0;
- res->net_write_desired = 0;
- res->notify_other_threads = 0;
- res->tick_deadline = ossl_time_infinite();
+ || ossl_quic_channel_is_terminated(ch)) {
+ res->net_read_desired = 0;
+ res->net_write_desired = 0;
+ res->notify_other_threads = 0;
+ res->tick_deadline = ossl_time_infinite();
return;
}
@@ -2057,10 +2052,10 @@ void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT *res,
if (ossl_time_compare(now, ch->terminate_deadline) >= 0) {
ch_on_terminating_timeout(ch);
- res->net_read_desired = 0;
- res->net_write_desired = 0;
- res->notify_other_threads = 1;
- res->tick_deadline = ossl_time_infinite();
+ res->net_read_desired = 0;
+ res->net_write_desired = 0;
+ res->notify_other_threads = 1;
+ res->tick_deadline = ossl_time_infinite();
return; /* abort normal processing, nothing to do */
}
}
@@ -2071,8 +2066,8 @@ void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT *res,
do {
/* Process queued incoming packets. */
- ch->did_tls_tick = 0;
- ch->have_new_rx_secret = 0;
+ ch->did_tls_tick = 0;
+ ch->have_new_rx_secret = 0;
ch_rx(ch, channel_only, &notify_other_threads);
/*
@@ -2108,10 +2103,10 @@ void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT *res,
if (!ch->port->engine->inhibit_tick)
ch_on_idle_timeout(ch);
- res->net_read_desired = 0;
- res->net_write_desired = 0;
- res->notify_other_threads = 1;
- res->tick_deadline = ossl_time_infinite();
+ res->net_read_desired = 0;
+ res->net_write_desired = 0;
+ res->notify_other_threads = 1;
+ res->tick_deadline = ossl_time_infinite();
return;
}
@@ -2157,7 +2152,7 @@ void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT *res,
/* We want to write to the network if we have any data in our TX queue. */
res->net_write_desired
= (!ossl_quic_channel_is_terminated(ch)
- && ossl_qtx_get_queue_len_datagrams(ch->qtx) > 0);
+ && ossl_qtx_get_queue_len_datagrams(ch->qtx) > 0);
res->notify_other_threads = notify_other_threads;
}
@@ -2175,9 +2170,9 @@ static int ch_tick_tls(QUIC_CHANNEL *ch, int channel_only, int *notify_other_thr
ossl_quic_tls_tick(ch->qtls);
if (ossl_quic_tls_get_error(ch->qtls, &error_code, &error_msg,
- &error_state)) {
+ &error_state)) {
ossl_quic_channel_raise_protocol_error_state(ch, error_code, 0,
- error_msg, error_state);
+ error_msg, error_state);
if (notify_other_threads != NULL)
*notify_other_threads = 1;
@@ -2194,9 +2189,8 @@ static void ch_rx_check_forged_pkt_limit(QUIC_CHANNEL *ch)
uint64_t limit = UINT64_MAX, l;
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level)
- {
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level) {
/*
* Different ELs can have different AEADs which can in turn impose
* different limits, so use the lowest value of any currently valid EL.
@@ -2216,7 +2210,7 @@ static void ch_rx_check_forged_pkt_limit(QUIC_CHANNEL *ch)
return;
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_AEAD_LIMIT_REACHED, 0,
- "forgery limit");
+ "forgery limit");
}
/* Process queued incoming packets and handle frames, if any. */
@@ -2241,7 +2235,7 @@ static int ch_rx(QUIC_CHANNEL *ch, int channel_only, int *notify_other_threads)
/* Track the amount of data received while in the closing state */
if (closing)
ossl_quic_tx_packetiser_record_received_closing_bytes(
- ch->txp, ch->qrx_pkt->hdr->len);
+ ch->txp, ch->qrx_pkt->hdr->len);
if (!handled_any) {
ch_update_idle(ch);
@@ -2283,20 +2277,20 @@ static int bio_addr_eq(const BIO_ADDR *a, const BIO_ADDR *b)
return 0;
switch (BIO_ADDR_family(a)) {
- case AF_INET:
- return !memcmp(&a->s_in.sin_addr,
- &b->s_in.sin_addr,
- sizeof(a->s_in.sin_addr))
- && a->s_in.sin_port == b->s_in.sin_port;
+ case AF_INET:
+ return !memcmp(&a->s_in.sin_addr,
+ &b->s_in.sin_addr,
+ sizeof(a->s_in.sin_addr))
+ && a->s_in.sin_port == b->s_in.sin_port;
#if OPENSSL_USE_IPV6
- case AF_INET6:
- return !memcmp(&a->s_in6.sin6_addr,
- &b->s_in6.sin6_addr,
- sizeof(a->s_in6.sin6_addr))
- && a->s_in6.sin6_port == b->s_in6.sin6_port;
+ case AF_INET6:
+ return !memcmp(&a->s_in6.sin6_addr,
+ &b->s_in6.sin6_addr,
+ sizeof(a->s_in6.sin6_addr))
+ && a->s_in6.sin6_port == b->s_in6.sin6_port;
#endif
- default:
- return 0; /* not supported */
+ default:
+ return 0; /* not supported */
}
return 1;
@@ -2351,12 +2345,11 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
*/
if (!ch->is_server
&& ch->qrx_pkt->peer != NULL
- && (
- BIO_ADDR_family(&ch->cur_peer_addr) == AF_INET
+ && (BIO_ADDR_family(&ch->cur_peer_addr) == AF_INET
#if OPENSSL_USE_IPV6
|| BIO_ADDR_family(&ch->cur_peer_addr) == AF_INET6
#endif
- )
+ )
&& !bio_addr_eq(ch->qrx_pkt->peer, &ch->cur_peer_addr))
return;
@@ -2369,7 +2362,7 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
* that connection with a different SCID."
*/
if (!ossl_quic_conn_id_eq(&ch->qrx_pkt->hdr->src_conn_id,
- &ch->init_scid))
+ &ch->init_scid))
return;
}
@@ -2424,13 +2417,13 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
* version
*/
if (!PACKET_buf_init(&vpkt, ch->qrx_pkt->hdr->data,
- ch->qrx_pkt->hdr->len))
+ ch->qrx_pkt->hdr->len))
return;
while (PACKET_remaining(&vpkt) > 0) {
/*
* We only support quic version 1 at the moment, so
- * look to see if thats offered
+ * look to see if that's offered
*/
if (!PACKET_get_net_4(&vpkt, &supported_ver))
return;
@@ -2443,12 +2436,12 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
ossl_quic_tx_packetiser_set_protocol_version(ch->txp, QUIC_VERSION_1);
/*
- * And then request a restart of the QUIC connection
+ * And then request a restart of the QUIC connection
*/
if (!ch_restart(ch))
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- 0, "handling ver negotiation packet");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ 0, "handling ver negotiation packet");
return;
}
}
@@ -2458,7 +2451,7 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
* protocol that we can handle, abandon the connection
*/
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_CONNECTION_REFUSED,
- 0, "unsupported protocol version");
+ 0, "unsupported protocol version");
return;
}
@@ -2472,15 +2465,15 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
if (ossl_quic_pkt_type_is_encrypted(ch->qrx_pkt->hdr->type)
&& ch->qrx_pkt->hdr->reserved != 0) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- 0, "packet header reserved bits");
+ 0, "packet header reserved bits");
return;
}
- iovec.buf = ch->qrx_pkt->hdr->data;
- iovec.buf_len = ch->qrx_pkt->hdr->len;
+ iovec.buf = ch->qrx_pkt->hdr->data;
+ iovec.buf_len = ch->qrx_pkt->hdr->len;
ossl_qlog_event_transport_packet_received(ch_get_qlog(ch), ch->qrx_pkt->hdr,
- ch->qrx_pkt->pn, &iovec, 1,
- ch->qrx_pkt->datagram_id);
+ ch->qrx_pkt->pn, &iovec, 1,
+ ch->qrx_pkt->datagram_id);
/* Handle incoming packet. */
switch (ch->qrx_pkt->hdr->type) {
@@ -2514,17 +2507,17 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
* upper layers. However, special casing this will do for now.
*/
if (!ossl_quic_validate_retry_integrity_tag(ch->port->engine->libctx,
- ch->port->engine->propq,
- ch->qrx_pkt->hdr,
- &ch->init_dcid))
+ ch->port->engine->propq,
+ ch->qrx_pkt->hdr,
+ &ch->init_dcid))
/* Malformed retry packet, ignore. */
return;
if (!ch_retry(ch, ch->qrx_pkt->hdr->data,
- ch->qrx_pkt->hdr->len - QUIC_RETRY_INTEGRITY_TAG_LEN,
- &ch->qrx_pkt->hdr->src_conn_id, old_have_processed_any_pkt))
+ ch->qrx_pkt->hdr->len - QUIC_RETRY_INTEGRITY_TAG_LEN,
+ &ch->qrx_pkt->hdr->src_conn_id, old_have_processed_any_pkt))
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR,
- 0, "handling retry packet");
+ 0, "handling retry packet");
break;
case QUIC_PKT_TYPE_0RTT:
@@ -2562,7 +2555,7 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
* as a connection error of type KEY_UPDATE_ERROR.
*/
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_KEY_UPDATE_ERROR,
- 0, "new packet with old keys");
+ 0, "new packet with old keys");
break;
}
@@ -2587,7 +2580,7 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
* I.e. should we drop this packet instead of closing the connection?
*/
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- 0, "client received initial token");
+ 0, "client received initial token");
break;
}
@@ -2599,62 +2592,10 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
break;
- case QUIC_PKT_TYPE_VERSION_NEG:
- /*
- * "A client MUST discard any Version Negotiation packet if it has
- * received and successfully processed any other packet."
- */
- if (!old_have_processed_any_pkt)
- ch_rx_handle_version_neg(ch, ch->qrx_pkt);
-
- break;
-
default:
assert(0);
break;
}
-
-}
-
-static void ch_rx_handle_version_neg(QUIC_CHANNEL *ch, OSSL_QRX_PKT *pkt)
-{
- /*
- * We do not support version negotiation at this time. As per RFC 9000 s.
- * 6.2., we MUST abandon the connection attempt if we receive a Version
- * Negotiation packet, unless we have already successfully processed another
- * incoming packet, or the packet lists the QUIC version we want to use.
- */
- PACKET vpkt;
- unsigned long v;
-
- if (!PACKET_buf_init(&vpkt, pkt->hdr->data, pkt->hdr->len))
- return;
-
- while (PACKET_remaining(&vpkt) > 0) {
- if (!PACKET_get_net_4(&vpkt, &v))
- break;
-
- if ((uint32_t)v == QUIC_VERSION_1)
- return;
- }
-
- /* No match, this is a failure case. */
- ch_raise_version_neg_failure(ch);
-}
-
-static void ch_raise_version_neg_failure(QUIC_CHANNEL *ch)
-{
- QUIC_TERMINATE_CAUSE tcause = {0};
-
- tcause.error_code = OSSL_QUIC_ERR_CONNECTION_REFUSED;
- tcause.reason = "version negotiation failure";
- tcause.reason_len = strlen(tcause.reason);
-
- /*
- * Skip TERMINATING state; this is not considered a protocol error and we do
- * not send CONNECTION_CLOSE.
- */
- ch_start_terminating(ch, &tcause, 1);
}
/* Try to generate packets and if possible, flush them to the network. */
@@ -2698,33 +2639,33 @@ static int ch_tx(QUIC_CHANNEL *ch, int *notify_other_threads)
/* Loop until we stop generating packets to send */
do {
/*
- * Send packet, if we need to. Best effort. The TXP consults the CC and
- * applies any limitations imposed by it, so we don't need to do it here.
- *
- * Best effort. In particular if TXP fails for some reason we should
- * still flush any queued packets which we already generated.
- */
+ * Send packet, if we need to. Best effort. The TXP consults the CC and
+ * applies any limitations imposed by it, so we don't need to do it here.
+ *
+ * Best effort. In particular if TXP fails for some reason we should
+ * still flush any queued packets which we already generated.
+ */
res = ossl_quic_tx_packetiser_generate(ch->txp, &status);
if (status.sent_pkt > 0) {
ch->have_sent_any_pkt = 1; /* Packet(s) were sent */
ch->port->have_sent_any_pkt = 1;
/*
- * RFC 9000 s. 10.1. 'An endpoint also restarts its idle timer when
- * sending an ack-eliciting packet if no other ack-eliciting packets
- * have been sent since last receiving and processing a packet.'
- */
+ * RFC 9000 s. 10.1. 'An endpoint also restarts its idle timer when
+ * sending an ack-eliciting packet if no other ack-eliciting packets
+ * have been sent since last receiving and processing a packet.'
+ */
if (status.sent_ack_eliciting
- && !ch->have_sent_ack_eliciting_since_rx) {
+ && !ch->have_sent_ack_eliciting_since_rx) {
ch_update_idle(ch);
ch->have_sent_ack_eliciting_since_rx = 1;
}
if (!ch->is_server && status.sent_handshake)
/*
- * RFC 9001 s. 4.9.1: A client MUST discard Initial keys when it
- * first sends a Handshake packet.
- */
+ * RFC 9001 s. 4.9.1: A client MUST discard Initial keys when it
+ * first sends a Handshake packet.
+ */
ch_discard_el(ch, QUIC_ENC_LEVEL_INITIAL);
if (ch->rxku_pending_confirm_done)
@@ -2735,20 +2676,20 @@ static int ch_tx(QUIC_CHANNEL *ch, int *notify_other_threads)
if (!res) {
/*
- * One case where TXP can fail is if we reach a TX PN of 2**62 - 1.
- * As per RFC 9000 s. 12.3, if this happens we MUST close the
- * connection without sending a CONNECTION_CLOSE frame. This is
- * actually handled as an emergent consequence of our design, as the
- * TX packetiser will never transmit another packet when the TX PN
- * reaches the limit.
- *
- * Calling the below function terminates the connection; its attempt
- * to schedule a CONNECTION_CLOSE frame will not actually cause a
- * packet to be transmitted for this reason.
- */
+ * One case where TXP can fail is if we reach a TX PN of 2**62 - 1.
+ * As per RFC 9000 s. 12.3, if this happens we MUST close the
+ * connection without sending a CONNECTION_CLOSE frame. This is
+ * actually handled as an emergent consequence of our design, as the
+ * TX packetiser will never transmit another packet when the TX PN
+ * reaches the limit.
+ *
+ * Calling the below function terminates the connection; its attempt
+ * to schedule a CONNECTION_CLOSE frame will not actually cause a
+ * packet to be transmitted for this reason.
+ */
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR,
- 0,
- "internal error (txp generate)");
+ 0,
+ "internal error (txp generate)");
break;
}
} while (status.sent_pkt > 0);
@@ -2798,8 +2739,8 @@ static OSSL_TIME ch_determine_next_tick_deadline(QUIC_CHANNEL *ch)
for (i = 0; i < QUIC_ENC_LEVEL_NUM; i++) {
if (ossl_qtx_is_enc_level_provisioned(ch->qtx, i)) {
deadline = ossl_time_min(deadline,
- ossl_ackm_get_ack_deadline(ch->ackm,
- ossl_quic_enc_level_to_pn_space(i)));
+ ossl_ackm_get_ack_deadline(ch->ackm,
+ ossl_quic_enc_level_to_pn_space(i)));
}
}
@@ -2812,15 +2753,15 @@ static OSSL_TIME ch_determine_next_tick_deadline(QUIC_CHANNEL *ch)
/* Apply TXP wakeup deadline. */
deadline = ossl_time_min(deadline,
- ossl_quic_tx_packetiser_get_deadline(ch->txp));
+ ossl_quic_tx_packetiser_get_deadline(ch->txp));
/* Is the terminating timer armed? */
if (ossl_quic_channel_is_terminating(ch))
deadline = ossl_time_min(deadline,
- ch->terminate_deadline);
+ ch->terminate_deadline);
else if (!ossl_time_is_infinite(ch->idle_deadline))
deadline = ossl_time_min(deadline,
- ch->idle_deadline);
+ ch->idle_deadline);
/* When does the RXKU process complete? */
if (ch->rxku_in_progress)
@@ -2845,14 +2786,14 @@ static void ch_record_state_transition(QUIC_CHANNEL *ch, uint32_t new_state)
ch->state = new_state;
ossl_qlog_event_connectivity_connection_state_updated(ch_get_qlog(ch),
- old_state,
- new_state,
- ch->handshake_complete,
- ch->handshake_confirmed);
+ old_state,
+ new_state,
+ ch->handshake_complete,
+ ch->handshake_confirmed);
}
static void free_peer_token(const unsigned char *token,
- size_t token_len, void *arg)
+ size_t token_len, void *arg)
{
ossl_quic_free_peer_token((QUIC_TOKEN *)arg);
}
@@ -2881,20 +2822,20 @@ int ossl_quic_channel_start(QUIC_CHANNEL *ch)
*/
if (!ch->is_server
&& ossl_quic_get_peer_token(ch->port->channel_ctx,
- &ch->cur_peer_addr,
- &token)
+ &ch->cur_peer_addr,
+ &token)
&& !ossl_quic_tx_packetiser_set_initial_token(ch->txp, token->token,
- token->token_len,
- free_peer_token,
- token))
+ token->token_len,
+ free_peer_token,
+ token))
free_peer_token(NULL, 0, token);
/* Plug in secrets for the Initial EL. */
if (!ossl_quic_provide_initial_secret(ch->port->engine->libctx,
- ch->port->engine->propq,
- &ch->init_dcid,
- ch->is_server,
- ch->qrx, ch->qtx))
+ ch->port->engine->propq,
+ &ch->init_dcid,
+ ch->is_server,
+ ch->qrx, ch->qtx))
return 0;
/*
@@ -2911,7 +2852,7 @@ int ossl_quic_channel_start(QUIC_CHANNEL *ch)
ch->doing_proactive_ver_neg = 0; /* not currently supported */
ossl_qlog_event_connectivity_connection_started(ch_get_qlog(ch),
- &ch->init_dcid);
+ &ch->init_dcid);
/* Handshake layer: start (e.g. send CH). */
if (!ch_tick_tls(ch, /*channel_only=*/0, NULL))
@@ -2928,17 +2869,17 @@ static void free_token(const unsigned char *token, size_t token_len, void *arg)
/* Start a locally initiated connection shutdown. */
void ossl_quic_channel_local_close(QUIC_CHANNEL *ch, uint64_t app_error_code,
- const char *app_reason)
+ const char *app_reason)
{
- QUIC_TERMINATE_CAUSE tcause = {0};
+ QUIC_TERMINATE_CAUSE tcause = { 0 };
if (ossl_quic_channel_is_term_any(ch))
return;
- tcause.app = 1;
- tcause.error_code = app_error_code;
- tcause.reason = app_reason;
- tcause.reason_len = app_reason != NULL ? strlen(app_reason) : 0;
+ tcause.app = 1;
+ tcause.error_code = app_error_code;
+ tcause.reason = app_reason;
+ tcause.reason_len = app_reason != NULL ? strlen(app_reason) : 0;
ch_start_terminating(ch, &tcause, 0);
}
@@ -2957,16 +2898,16 @@ static int ch_restart(QUIC_CHANNEL *ch)
* Just pretend we lost our initial packet, so it gets
* regenerated, with our updated protocol version number
*/
- return ossl_ackm_mark_packet_pseudo_lost(ch->ackm, QUIC_PN_SPACE_INITIAL,
- /* PN= */ 0);
+ return ossl_ackm_mark_packet_pseudo_lost(ch->ackm, QUIC_PN_SPACE_INITIAL,
+ /* PN= */ 0);
}
/* Called when a server asks us to do a retry. */
static int ch_retry(QUIC_CHANNEL *ch,
- const unsigned char *retry_token,
- size_t retry_token_len,
- const QUIC_CONN_ID *retry_scid,
- int drop_later_pn)
+ const unsigned char *retry_token,
+ size_t retry_token_len,
+ const QUIC_CONN_ID *retry_scid,
+ int drop_later_pn)
{
void *buf;
QUIC_PN pn = 0;
@@ -2990,19 +2931,19 @@ static int ch_retry(QUIC_CHANNEL *ch,
return 0;
if (!ossl_quic_tx_packetiser_set_initial_token(ch->txp, buf,
- retry_token_len,
- free_token, NULL)) {
+ retry_token_len,
+ free_token, NULL)) {
/*
* This may fail if the token we receive is too big for us to ever be
* able to transmit in an outgoing Initial packet.
*/
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INVALID_TOKEN, 0,
- "received oversize token");
+ "received oversize token");
OPENSSL_free(buf);
return 0;
}
- ch->retry_scid = *retry_scid;
+ ch->retry_scid = *retry_scid;
ch->doing_retry = 1;
/*
@@ -3023,7 +2964,7 @@ static int ch_retry(QUIC_CHANNEL *ch,
* repeated retries.
*/
if (!ossl_ackm_mark_packet_pseudo_lost(ch->ackm, QUIC_PN_SPACE_INITIAL,
- pn))
+ pn))
return 0;
/*
@@ -3031,10 +2972,10 @@ static int ch_retry(QUIC_CHANNEL *ch,
* the secrets for an EL after we already provisioned it.
*/
if (!ossl_quic_provide_initial_secret(ch->port->engine->libctx,
- ch->port->engine->propq,
- &ch->retry_scid,
- /*is_server=*/0,
- ch->qrx, ch->qtx))
+ ch->port->engine->propq,
+ &ch->retry_scid,
+ /*is_server=*/0,
+ ch->qrx, ch->qtx))
return 0;
return 1;
@@ -3042,7 +2983,7 @@ static int ch_retry(QUIC_CHANNEL *ch,
/* Called when an EL is to be discarded. */
static int ch_discard_el(QUIC_CHANNEL *ch,
- uint32_t enc_level)
+ uint32_t enc_level)
{
if (!ossl_assert(enc_level < QUIC_ENC_LEVEL_1RTT))
return 0;
@@ -3090,9 +3031,9 @@ int ossl_quic_channel_on_handshake_confirmed(QUIC_CHANNEL *ch)
* completed.
*/
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE,
- "handshake cannot be confirmed "
- "before it is completed");
+ OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE,
+ "handshake cannot be confirmed "
+ "before it is completed");
return 0;
}
@@ -3149,14 +3090,14 @@ int ossl_quic_channel_on_handshake_confirmed(QUIC_CHANNEL *ch)
* frame in response to any UDP datagram that is received.
*/
static void copy_tcause(QUIC_TERMINATE_CAUSE *dst,
- const QUIC_TERMINATE_CAUSE *src)
+ const QUIC_TERMINATE_CAUSE *src)
{
dst->error_code = src->error_code;
dst->frame_type = src->frame_type;
- dst->app = src->app;
- dst->remote = src->remote;
+ dst->app = src->app;
+ dst->remote = src->remote;
- dst->reason = NULL;
+ dst->reason = NULL;
dst->reason_len = 0;
if (src->reason != NULL && src->reason_len > 0) {
@@ -3174,14 +3115,14 @@ static void copy_tcause(QUIC_TERMINATE_CAUSE *dst,
if (r == NULL)
return;
- r[l] = '\0';
+ r[l] = '\0';
dst->reason_len = l;
}
}
static void ch_start_terminating(QUIC_CHANNEL *ch,
- const QUIC_TERMINATE_CAUSE *tcause,
- int force_immediate)
+ const QUIC_TERMINATE_CAUSE *tcause,
+ int force_immediate)
{
/* No point sending anything if we haven't sent anything yet. */
if (!ch->have_sent_any_pkt)
@@ -3200,9 +3141,7 @@ static void ch_start_terminating(QUIC_CHANNEL *ch,
ossl_qlog_event_connectivity_connection_closed(ch_get_qlog(ch), tcause);
if (!force_immediate) {
- ch_record_state_transition(ch, tcause->remote
- ? QUIC_CHANNEL_STATE_TERMINATING_DRAINING
- : QUIC_CHANNEL_STATE_TERMINATING_CLOSING);
+ ch_record_state_transition(ch, tcause->remote ? QUIC_CHANNEL_STATE_TERMINATING_DRAINING : QUIC_CHANNEL_STATE_TERMINATING_CLOSING);
/*
* RFC 9000 s. 10.2 Immediate Close
* These states SHOULD persist for at least three times
@@ -3210,17 +3149,17 @@ static void ch_start_terminating(QUIC_CHANNEL *ch,
*/
ch->terminate_deadline
= ossl_time_add(get_time(ch),
- ossl_time_multiply(ossl_ackm_get_pto_duration(ch->ackm),
- 3));
+ ossl_time_multiply(ossl_ackm_get_pto_duration(ch->ackm),
+ 3));
if (!tcause->remote) {
- OSSL_QUIC_FRAME_CONN_CLOSE f = {0};
+ OSSL_QUIC_FRAME_CONN_CLOSE f = { 0 };
/* best effort */
f.error_code = ch->terminate_cause.error_code;
f.frame_type = ch->terminate_cause.frame_type;
- f.is_app = ch->terminate_cause.app;
- f.reason = (char *)ch->terminate_cause.reason;
+ f.is_app = ch->terminate_cause.app;
+ f.reason = (char *)ch->terminate_cause.reason;
f.reason_len = ch->terminate_cause.reason_len;
ossl_quic_tx_packetiser_schedule_conn_close(ch->txp, &f);
/*
@@ -3269,18 +3208,18 @@ static void ch_start_terminating(QUIC_CHANNEL *ch,
/* For RXDP use. */
void ossl_quic_channel_on_remote_conn_close(QUIC_CHANNEL *ch,
- OSSL_QUIC_FRAME_CONN_CLOSE *f)
+ OSSL_QUIC_FRAME_CONN_CLOSE *f)
{
- QUIC_TERMINATE_CAUSE tcause = {0};
+ QUIC_TERMINATE_CAUSE tcause = { 0 };
if (!ossl_quic_channel_is_active(ch))
return;
- tcause.remote = 1;
- tcause.app = f->is_app;
+ tcause.remote = 1;
+ tcause.app = f->is_app;
tcause.error_code = f->error_code;
tcause.frame_type = f->frame_type;
- tcause.reason = f->reason;
+ tcause.reason = f->reason;
tcause.reason_len = f->reason_len;
ch_start_terminating(ch, &tcause, 0);
}
@@ -3314,9 +3253,10 @@ static int ch_enqueue_retire_conn_id(QUIC_CHANNEL *ch, uint64_t seq_num)
goto err;
if (ossl_quic_cfq_add_frame(ch->cfq, 1, QUIC_PN_SPACE_APP,
- OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID, 0,
- (unsigned char *)buf_mem->data, l,
- free_frame_data, NULL) == NULL)
+ OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID, 0,
+ (unsigned char *)buf_mem->data, l,
+ free_frame_data, NULL)
+ == NULL)
goto err;
buf_mem->data = NULL;
@@ -3325,15 +3265,15 @@ static int ch_enqueue_retire_conn_id(QUIC_CHANNEL *ch, uint64_t seq_num)
err:
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
- "internal error enqueueing retire conn id");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
+ "internal error enqueueing retire conn id");
BUF_MEM_free(buf_mem);
return 0;
}
void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,
- OSSL_QUIC_FRAME_NEW_CONN_ID *f)
+ OSSL_QUIC_FRAME_NEW_CONN_ID *f)
{
uint64_t new_remote_seq_num = ch->cur_remote_seq_num;
uint64_t new_retire_prior_to = ch->cur_retire_prior_to;
@@ -3345,9 +3285,9 @@ void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,
if (ch->cur_remote_dcid.id_len == 0) {
/* Changing from 0 length connection id is disallowed */
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
- "zero length connection id in use");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
+ "zero length connection id in use");
return;
}
@@ -3369,9 +3309,9 @@ void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,
*/
if (new_remote_seq_num - new_retire_prior_to > 1) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_CONNECTION_ID_LIMIT_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
- "active_connection_id limit violated");
+ OSSL_QUIC_ERR_CONNECTION_ID_LIMIT_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
+ "active_connection_id limit violated");
return;
}
@@ -3392,9 +3332,9 @@ void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,
*/
if (new_retire_prior_to - ch->cur_retire_prior_to > 10) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_CONNECTION_ID_LIMIT_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
- "retiring connection id limit violated");
+ OSSL_QUIC_ERR_CONNECTION_ID_LIMIT_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
+ "retiring connection id limit violated");
return;
}
@@ -3402,11 +3342,11 @@ void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,
if (new_remote_seq_num > ch->cur_remote_seq_num) {
/* Add new stateless reset token */
if (!ossl_quic_srtm_add(ch->srtm, ch, new_remote_seq_num,
- &f->stateless_reset)) {
+ &f->stateless_reset)) {
ossl_quic_channel_raise_protocol_error(
- ch, OSSL_QUIC_ERR_CONNECTION_ID_LIMIT_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
- "unable to store stateless reset token");
+ ch, OSSL_QUIC_ERR_CONNECTION_ID_LIMIT_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
+ "unable to store stateless reset token");
return;
}
@@ -3465,16 +3405,16 @@ void ossl_quic_channel_inject_pkt(QUIC_CHANNEL *ch, OSSL_QRX_PKT *qpkt)
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch)
{
- QUIC_TERMINATE_CAUSE tcause = {0};
+ QUIC_TERMINATE_CAUSE tcause = { 0 };
- tcause.error_code = OSSL_QUIC_ERR_NO_ERROR;
- tcause.remote = 1;
+ tcause.error_code = OSSL_QUIC_ERR_NO_ERROR;
+ tcause.remote = 1;
ch_start_terminating(ch, &tcause, 0);
}
void ossl_quic_channel_raise_net_error(QUIC_CHANNEL *ch)
{
- QUIC_TERMINATE_CAUSE tcause = {0};
+ QUIC_TERMINATE_CAUSE tcause = { 0 };
if (ch->net_error)
return;
@@ -3482,7 +3422,7 @@ void ossl_quic_channel_raise_net_error(QUIC_CHANNEL *ch)
ch->net_error = 1;
tcause.error_code = OSSL_QUIC_ERR_INTERNAL_ERROR;
- tcause.reason = "network BIO I/O error";
+ tcause.reason = "network BIO I/O error";
tcause.reason_len = strlen(tcause.reason);
/*
@@ -3509,17 +3449,18 @@ void ossl_quic_channel_restore_err_state(QUIC_CHANNEL *ch)
}
void ossl_quic_channel_raise_protocol_error_loc(QUIC_CHANNEL *ch,
- uint64_t error_code,
- uint64_t frame_type,
- const char *reason,
- ERR_STATE *err_state,
- const char *src_file,
- int src_line,
- const char *src_func)
+ uint64_t error_code,
+ uint64_t frame_type,
+ const char *reason,
+ ERR_STATE *err_state,
+ const char *src_file,
+ int src_line,
+ const char *src_func)
{
- QUIC_TERMINATE_CAUSE tcause = {0};
+ QUIC_TERMINATE_CAUSE tcause = { 0 };
int err_reason = error_code == OSSL_QUIC_ERR_INTERNAL_ERROR
- ? ERR_R_INTERNAL_ERROR : SSL_R_QUIC_PROTOCOL_ERROR;
+ ? ERR_R_INTERNAL_ERROR
+ : SSL_R_QUIC_PROTOCOL_ERROR;
const char *err_str = ossl_quic_err_to_string(error_code);
const char *err_str_pfx = " (", *err_str_sfx = ")";
const char *ft_str = NULL;
@@ -3530,7 +3471,7 @@ void ossl_quic_channel_raise_protocol_error_loc(QUIC_CHANNEL *ch,
return;
if (err_str == NULL) {
- err_str = "";
+ err_str = "";
err_str_pfx = "";
err_str_sfx = "";
}
@@ -3545,25 +3486,25 @@ void ossl_quic_channel_raise_protocol_error_loc(QUIC_CHANNEL *ch,
if (frame_type != 0) {
ft_str = ossl_quic_frame_type_to_string(frame_type);
if (ft_str == NULL) {
- ft_str = "";
- ft_str_pfx = "";
- ft_str_sfx = "";
+ ft_str = "";
+ ft_str_pfx = "";
+ ft_str_sfx = "";
}
ERR_raise_data(ERR_LIB_SSL, err_reason,
- "QUIC error code: 0x%llx%s%s%s "
- "(triggered by frame type: 0x%llx%s%s%s), reason: \"%s\"",
- (unsigned long long) error_code,
- err_str_pfx, err_str, err_str_sfx,
- (unsigned long long) frame_type,
- ft_str_pfx, ft_str, ft_str_sfx,
- reason);
+ "QUIC error code: 0x%llx%s%s%s "
+ "(triggered by frame type: 0x%llx%s%s%s), reason: \"%s\"",
+ (unsigned long long)error_code,
+ err_str_pfx, err_str, err_str_sfx,
+ (unsigned long long)frame_type,
+ ft_str_pfx, ft_str, ft_str_sfx,
+ reason);
} else {
ERR_raise_data(ERR_LIB_SSL, err_reason,
- "QUIC error code: 0x%llx%s%s%s, reason: \"%s\"",
- (unsigned long long) error_code,
- err_str_pfx, err_str, err_str_sfx,
- reason);
+ "QUIC error code: 0x%llx%s%s%s, reason: \"%s\"",
+ (unsigned long long)error_code,
+ err_str_pfx, err_str, err_str_sfx,
+ reason);
}
if (src_file != NULL)
@@ -3573,7 +3514,7 @@ void ossl_quic_channel_raise_protocol_error_loc(QUIC_CHANNEL *ch,
tcause.error_code = error_code;
tcause.frame_type = frame_type;
- tcause.reason = reason;
+ tcause.reason = reason;
tcause.reason_len = strlen(reason);
ch->protocol_error = 1;
@@ -3611,7 +3552,7 @@ static OSSL_TIME ch_get_effective_idle_timeout_duration(QUIC_CHANNEL *ch)
*/
pto = ossl_ackm_get_pto_duration(ch->ackm);
return ossl_time_max(ossl_ms2time(ch->max_idle_timeout),
- ossl_time_multiply(pto, 3));
+ ossl_time_multiply(pto, 3));
}
/*
@@ -3621,7 +3562,7 @@ static OSSL_TIME ch_get_effective_idle_timeout_duration(QUIC_CHANNEL *ch)
static void ch_update_idle(QUIC_CHANNEL *ch)
{
ch->idle_deadline = ossl_time_add(get_time(ch),
- ch_get_effective_idle_timeout_duration(ch));
+ ch_get_effective_idle_timeout_duration(ch));
}
/*
@@ -3657,9 +3598,9 @@ static void ch_on_idle_timeout(QUIC_CHANNEL *ch)
* CONN_CLOSE is never sent for it. We shouldn't use this data once we reach
* TERMINATED anyway.
*/
- ch->terminate_cause.app = 0;
- ch->terminate_cause.error_code = OSSL_QUIC_LOCAL_ERR_IDLE_TIMEOUT;
- ch->terminate_cause.frame_type = 0;
+ ch->terminate_cause.app = 0;
+ ch->terminate_cause.error_code = OSSL_QUIC_LOCAL_ERR_IDLE_TIMEOUT;
+ ch->terminate_cause.frame_type = 0;
ch_record_state_transition(ch, QUIC_CHANNEL_STATE_TERMINATED);
}
@@ -3681,15 +3622,15 @@ static void ch_on_idle_timeout(QUIC_CHANNEL *ch)
* @return 1 on success, 0 on failure to set required elements.
*/
static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
- const QUIC_CONN_ID *peer_dcid,
- const QUIC_CONN_ID *peer_odcid)
+ const QUIC_CONN_ID *peer_scid,
+ const QUIC_CONN_ID *peer_dcid,
+ const QUIC_CONN_ID *peer_odcid)
{
/* Note our newly learnt peer address and CIDs. */
if (!BIO_ADDR_copy(&ch->cur_peer_addr, peer))
return 0;
- ch->init_dcid = *peer_dcid;
+ ch->init_dcid = *peer_dcid;
ch->cur_remote_dcid = *peer_scid;
ch->odcid.id_len = 0;
@@ -3716,16 +3657,14 @@ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
* port_default_packet_handler() already.
*/
if (!ossl_quic_provide_initial_secret(ch->port->engine->libctx,
- ch->port->engine->propq,
- &ch->init_dcid,
- /*is_server=*/1,
- NULL, ch->qtx))
+ ch->port->engine->propq,
+ &ch->init_dcid,
+ /*is_server=*/1,
+ NULL, ch->qtx))
return 0;
/* Register the peer ODCID in the LCIDM. */
- if (!ossl_quic_lcidm_enrol_odcid(ch->lcidm, ch, peer_odcid == NULL ?
- &ch->init_dcid :
- peer_odcid))
+ if (!ossl_quic_lcidm_enrol_odcid(ch->lcidm, ch, peer_odcid == NULL ? &ch->init_dcid : peer_odcid))
return 0;
/* Change state. */
@@ -3736,8 +3675,8 @@ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
/* Called when we, as a server, get a new incoming connection. */
int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
- const QUIC_CONN_ID *peer_dcid)
+ const QUIC_CONN_ID *peer_scid,
+ const QUIC_CONN_ID *peer_dcid)
{
if (!ossl_assert(ch->state == QUIC_CHANNEL_STATE_IDLE && ch->is_server))
return 0;
@@ -3773,9 +3712,9 @@ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
* met (e.g., channel is not idle or not a server, or binding fails).
*/
int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
- const QUIC_CONN_ID *peer_dcid,
- const QUIC_CONN_ID *peer_odcid)
+ const QUIC_CONN_ID *peer_scid,
+ const QUIC_CONN_ID *peer_dcid,
+ const QUIC_CONN_ID *peer_odcid)
{
if (peer_dcid == NULL)
return 0;
@@ -3800,7 +3739,7 @@ SSL *ossl_quic_channel_get0_ssl(QUIC_CHANNEL *ch)
}
static int ch_init_new_stream(QUIC_CHANNEL *ch, QUIC_STREAM *qs,
- int can_send, int can_recv)
+ int can_send, int can_recv)
{
uint64_t rxfc_wnd;
int server_init = ossl_quic_stream_is_server_init(qs);
@@ -3850,9 +3789,9 @@ static int ch_init_new_stream(QUIC_CHANNEL *ch, QUIC_STREAM *qs,
rxfc_wnd = ch->tx_init_max_stream_data_bidi_remote;
if (!ossl_quic_rxfc_init(&qs->rxfc, &ch->conn_rxfc,
- rxfc_wnd,
- DEFAULT_STREAM_RXFC_MAX_WND_MUL * rxfc_wnd,
- get_time, ch))
+ rxfc_wnd,
+ DEFAULT_STREAM_RXFC_MAX_WND_MUL * rxfc_wnd,
+ get_time, ch))
goto err;
return 1;
@@ -3866,50 +3805,50 @@ err:
}
static uint64_t *ch_get_local_stream_next_ordinal_ptr(QUIC_CHANNEL *ch,
- int is_uni)
+ int is_uni)
{
return is_uni ? &ch->next_local_stream_ordinal_uni
: &ch->next_local_stream_ordinal_bidi;
}
static const uint64_t *ch_get_local_stream_max_ptr(const QUIC_CHANNEL *ch,
- int is_uni)
+ int is_uni)
{
return is_uni ? &ch->max_local_streams_uni
: &ch->max_local_streams_bidi;
}
static const QUIC_RXFC *ch_get_remote_stream_count_rxfc(const QUIC_CHANNEL *ch,
- int is_uni)
+ int is_uni)
{
return is_uni ? &ch->max_streams_uni_rxfc
: &ch->max_streams_bidi_rxfc;
}
int ossl_quic_channel_is_new_local_stream_admissible(QUIC_CHANNEL *ch,
- int is_uni)
+ int is_uni)
{
const uint64_t *p_next_ordinal = ch_get_local_stream_next_ordinal_ptr(ch, is_uni);
return ossl_quic_stream_map_is_local_allowed_by_stream_limit(&ch->qsm,
- *p_next_ordinal,
- is_uni);
+ *p_next_ordinal,
+ is_uni);
}
uint64_t ossl_quic_channel_get_local_stream_count_avail(const QUIC_CHANNEL *ch,
- int is_uni)
+ int is_uni)
{
const uint64_t *p_next_ordinal, *p_max;
- p_next_ordinal = ch_get_local_stream_next_ordinal_ptr((QUIC_CHANNEL *)ch,
- is_uni);
- p_max = ch_get_local_stream_max_ptr(ch, is_uni);
+ p_next_ordinal = ch_get_local_stream_next_ordinal_ptr((QUIC_CHANNEL *)ch,
+ is_uni);
+ p_max = ch_get_local_stream_max_ptr(ch, is_uni);
return *p_max - *p_next_ordinal;
}
uint64_t ossl_quic_channel_get_remote_stream_count_avail(const QUIC_CHANNEL *ch,
- int is_uni)
+ int is_uni)
{
return ossl_quic_rxfc_get_credit(ch_get_remote_stream_count_rxfc(ch, is_uni));
}
@@ -3952,7 +3891,7 @@ err:
}
QUIC_STREAM *ossl_quic_channel_new_stream_remote(QUIC_CHANNEL *ch,
- uint64_t stream_id)
+ uint64_t stream_id)
{
uint64_t peer_role;
int is_uni;
@@ -3968,8 +3907,7 @@ QUIC_STREAM *ossl_quic_channel_new_stream_remote(QUIC_CHANNEL *ch,
is_uni = ((stream_id & QUIC_STREAM_DIR_MASK) == QUIC_STREAM_DIR_UNI);
qs = ossl_quic_stream_map_alloc(&ch->qsm, stream_id,
- stream_id & (QUIC_STREAM_INITIATOR_MASK
- | QUIC_STREAM_DIR_MASK));
+ stream_id & (QUIC_STREAM_INITIATOR_MASK | QUIC_STREAM_DIR_MASK));
if (qs == NULL)
return NULL;
@@ -3989,20 +3927,20 @@ err:
}
void ossl_quic_channel_set_incoming_stream_auto_reject(QUIC_CHANNEL *ch,
- int enable,
- uint64_t aec)
+ int enable,
+ uint64_t aec)
{
- ch->incoming_stream_auto_reject = (enable != 0);
+ ch->incoming_stream_auto_reject = (enable != 0);
ch->incoming_stream_auto_reject_aec = aec;
}
void ossl_quic_channel_reject_stream(QUIC_CHANNEL *ch, QUIC_STREAM *qs)
{
ossl_quic_stream_map_stop_sending_recv_part(&ch->qsm, qs,
- ch->incoming_stream_auto_reject_aec);
+ ch->incoming_stream_auto_reject_aec);
ossl_quic_stream_map_reset_stream_send_part(&ch->qsm, qs,
- ch->incoming_stream_auto_reject_aec);
+ ch->incoming_stream_auto_reject_aec);
qs->deleted = 1;
ossl_quic_stream_map_update_state(&ch->qsm, qs);
@@ -4010,7 +3948,7 @@ void ossl_quic_channel_reject_stream(QUIC_CHANNEL *ch, QUIC_STREAM *qs)
/* Replace local connection ID in TXP and DEMUX for testing purposes. */
int ossl_quic_channel_replace_local_cid(QUIC_CHANNEL *ch,
- const QUIC_CONN_ID *conn_id)
+ const QUIC_CONN_ID *conn_id)
{
/* Remove the current LCID from the LCIDM. */
if (!ossl_quic_lcidm_debug_remove(ch->lcidm, &ch->cur_local_cid))
@@ -4021,20 +3959,20 @@ int ossl_quic_channel_replace_local_cid(QUIC_CHANNEL *ch,
return 0;
/* Add the new LCID to the LCIDM. */
if (!ossl_quic_lcidm_debug_add(ch->lcidm, ch, &ch->cur_local_cid,
- 100))
+ 100))
return 0;
return 1;
}
void ossl_quic_channel_set_msg_callback(QUIC_CHANNEL *ch,
- ossl_msg_cb msg_callback,
- SSL *msg_callback_ssl)
+ ossl_msg_cb msg_callback,
+ SSL *msg_callback_ssl)
{
ch->msg_callback = msg_callback;
ch->msg_callback_ssl = msg_callback_ssl;
ossl_qtx_set_msg_callback(ch->qtx, msg_callback, msg_callback_ssl);
ossl_quic_tx_packetiser_set_msg_callback(ch->txp, msg_callback,
- msg_callback_ssl);
+ msg_callback_ssl);
/*
* postpone msg callback setting for tserver until port calls
* port_bind_channel().
@@ -4044,7 +3982,7 @@ void ossl_quic_channel_set_msg_callback(QUIC_CHANNEL *ch,
}
void ossl_quic_channel_set_msg_callback_arg(QUIC_CHANNEL *ch,
- void *msg_callback_arg)
+ void *msg_callback_arg)
{
ch->msg_callback_arg = msg_callback_arg;
ossl_qtx_set_msg_callback_arg(ch->qtx, msg_callback_arg);
@@ -4059,7 +3997,7 @@ void ossl_quic_channel_set_msg_callback_arg(QUIC_CHANNEL *ch,
}
void ossl_quic_channel_set_txku_threshold_override(QUIC_CHANNEL *ch,
- uint64_t tx_pkt_threshold)
+ uint64_t tx_pkt_threshold)
{
ch->txku_threshold_override = tx_pkt_threshold;
}
diff --git a/crypto/openssl/ssl/quic/quic_channel_local.h b/crypto/openssl/ssl/quic/quic_channel_local.h
index 816ccf694b8f..ae443fccca1e 100644
--- a/crypto/openssl/ssl/quic/quic_channel_local.h
+++ b/crypto/openssl/ssl/quic/quic_channel_local.h
@@ -1,16 +1,16 @@
#ifndef OSSL_QUIC_CHANNEL_LOCAL_H
-# define OSSL_QUIC_CHANNEL_LOCAL_H
+#define OSSL_QUIC_CHANNEL_LOCAL_H
-# include "internal/quic_channel.h"
+#include "internal/quic_channel.h"
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
-# include <openssl/lhash.h>
-# include "internal/list.h"
-# include "internal/quic_predef.h"
-# include "internal/quic_fc.h"
-# include "internal/quic_stream_map.h"
-# include "internal/quic_tls.h"
+#include <openssl/lhash.h>
+#include "internal/list.h"
+#include "internal/quic_predef.h"
+#include "internal/quic_fc.h"
+#include "internal/quic_stream_map.h"
+#include "internal/quic_tls.h"
/*
* QUIC Channel Structure
@@ -29,14 +29,14 @@
* Other components should not include this header.
*/
struct quic_channel_st {
- QUIC_PORT *port;
+ QUIC_PORT *port;
/*
* QUIC_PORT keeps the channels which belong to it on a list for bookkeeping
* purposes.
*/
- OSSL_LIST_MEMBER(ch, QUIC_CHANNEL);
- OSSL_LIST_MEMBER(incoming_ch, QUIC_CHANNEL);
+ OSSL_LIST_MEMBER(ch, QUIC_CHANNEL);
+ OSSL_LIST_MEMBER(incoming_ch, QUIC_CHANNEL);
/*
* The associated TLS 1.3 connection data. Used to provide the handshake
@@ -46,68 +46,68 @@ struct quic_channel_st {
* to be valid for the lifetime of the channel. Therefore we do not free it
* when we free the channel.
*/
- QUIC_TLS *qtls;
- SSL *tls;
+ QUIC_TLS *qtls;
+ SSL *tls;
/* Port LCIDM we use to register LCIDs. */
- QUIC_LCIDM *lcidm;
+ QUIC_LCIDM *lcidm;
/* SRTM we register SRTs with. */
- QUIC_SRTM *srtm;
+ QUIC_SRTM *srtm;
/* Optional QLOG instance (or NULL). */
- QLOG *qlog;
+ QLOG *qlog;
/*
* The transport parameter block we will send or have sent.
* Freed after sending or when connection is freed.
*/
- unsigned char *local_transport_params;
+ unsigned char *local_transport_params;
/*
* Pending new token to send once handshake is complete
*/
- uint8_t *pending_new_token;
- size_t pending_new_token_len;
+ uint8_t *pending_new_token;
+ size_t pending_new_token_len;
/* Our current L4 peer address, if any. */
- BIO_ADDR cur_peer_addr;
+ BIO_ADDR cur_peer_addr;
/*
* Subcomponents of the connection. All of these components are instantiated
* and owned by us.
*/
- OSSL_QUIC_TX_PACKETISER *txp;
- QUIC_TXPIM *txpim;
- QUIC_CFQ *cfq;
+ OSSL_QUIC_TX_PACKETISER *txp;
+ QUIC_TXPIM *txpim;
+ QUIC_CFQ *cfq;
/*
* Connection level FC. The stream_count RXFCs is used to manage
* MAX_STREAMS signalling.
*/
- QUIC_TXFC conn_txfc;
- QUIC_RXFC conn_rxfc, crypto_rxfc[QUIC_PN_SPACE_NUM];
- QUIC_RXFC max_streams_bidi_rxfc, max_streams_uni_rxfc;
- QUIC_STREAM_MAP qsm;
- OSSL_STATM statm;
- OSSL_CC_DATA *cc_data;
- const OSSL_CC_METHOD *cc_method;
- OSSL_ACKM *ackm;
+ QUIC_TXFC conn_txfc;
+ QUIC_RXFC conn_rxfc, crypto_rxfc[QUIC_PN_SPACE_NUM];
+ QUIC_RXFC max_streams_bidi_rxfc, max_streams_uni_rxfc;
+ QUIC_STREAM_MAP qsm;
+ OSSL_STATM statm;
+ OSSL_CC_DATA *cc_data;
+ const OSSL_CC_METHOD *cc_method;
+ OSSL_ACKM *ackm;
/* Record layers in the TX and RX directions. */
- OSSL_QTX *qtx;
- OSSL_QRX *qrx;
+ OSSL_QTX *qtx;
+ OSSL_QRX *qrx;
/* Message callback related arguments */
- ossl_msg_cb msg_callback;
- void *msg_callback_arg;
- SSL *msg_callback_ssl;
+ ossl_msg_cb msg_callback;
+ void *msg_callback_arg;
+ SSL *msg_callback_ssl;
/*
* Send and receive parts of the crypto streams.
* crypto_send[QUIC_PN_SPACE_APP] is the 1-RTT crypto stream. There is no
* 0-RTT crypto stream.
*/
- QUIC_SSTREAM *crypto_send[QUIC_PN_SPACE_NUM];
- QUIC_RSTREAM *crypto_recv[QUIC_PN_SPACE_NUM];
+ QUIC_SSTREAM *crypto_send[QUIC_PN_SPACE_NUM];
+ QUIC_RSTREAM *crypto_recv[QUIC_PN_SPACE_NUM];
/* Internal state. */
/*
@@ -115,89 +115,89 @@ struct quic_channel_st {
* Server: The DCID used in the first Initial packet the client transmitted.
* Randomly generated and required by RFC to be at least 8 bytes.
*/
- QUIC_CONN_ID init_dcid;
+ QUIC_CONN_ID init_dcid;
/*
* Server: If this channel is created in response to an init packet sent
* after the server has sent a retry packet to do address validation, this
* field stores the original connection id from the first init packet sent
*/
- QUIC_CONN_ID odcid;
+ QUIC_CONN_ID odcid;
/*
* Client: The SCID found in the first Initial packet from the server.
* Not valid for servers.
* Valid if have_received_enc_pkt is set.
*/
- QUIC_CONN_ID init_scid;
+ QUIC_CONN_ID init_scid;
/*
* Client only: The SCID found in an incoming Retry packet we handled.
* Not valid for servers.
*/
- QUIC_CONN_ID retry_scid;
+ QUIC_CONN_ID retry_scid;
/* Server only: The DCID we currently expect the peer to use to talk to us. */
- QUIC_CONN_ID cur_local_cid;
+ QUIC_CONN_ID cur_local_cid;
/*
* The DCID we currently use to talk to the peer and its sequence num.
*/
- QUIC_CONN_ID cur_remote_dcid;
- uint64_t cur_remote_seq_num;
- uint64_t cur_retire_prior_to;
+ QUIC_CONN_ID cur_remote_dcid;
+ uint64_t cur_remote_seq_num;
+ uint64_t cur_retire_prior_to;
/* Transport parameter values we send to our peer. */
- uint64_t tx_init_max_stream_data_bidi_local;
- uint64_t tx_init_max_stream_data_bidi_remote;
- uint64_t tx_init_max_stream_data_uni;
- uint64_t tx_max_ack_delay; /* ms */
+ uint64_t tx_init_max_stream_data_bidi_local;
+ uint64_t tx_init_max_stream_data_bidi_remote;
+ uint64_t tx_init_max_stream_data_uni;
+ uint64_t tx_max_ack_delay; /* ms */
/* Transport parameter values received from server. */
- uint64_t rx_init_max_stream_data_bidi_local;
- uint64_t rx_init_max_stream_data_bidi_remote;
- uint64_t rx_init_max_stream_data_uni;
- uint64_t rx_max_ack_delay; /* ms */
- unsigned char rx_ack_delay_exp;
+ uint64_t rx_init_max_stream_data_bidi_local;
+ uint64_t rx_init_max_stream_data_bidi_remote;
+ uint64_t rx_init_max_stream_data_uni;
+ uint64_t rx_max_ack_delay; /* ms */
+ unsigned char rx_ack_delay_exp;
/* Diagnostic counters for testing purposes only. May roll over. */
- uint16_t diag_num_rx_ack; /* Number of ACK frames received */
+ uint16_t diag_num_rx_ack; /* Number of ACK frames received */
/*
* Temporary staging area to store information about the incoming packet we
* are currently processing.
*/
- OSSL_QRX_PKT *qrx_pkt;
+ OSSL_QRX_PKT *qrx_pkt;
/*
* Current limit on number of streams we may create. Set by transport
* parameters initially and then by MAX_STREAMS frames.
*/
- uint64_t max_local_streams_bidi;
- uint64_t max_local_streams_uni;
+ uint64_t max_local_streams_bidi;
+ uint64_t max_local_streams_uni;
/* The idle timeout values we and our peer requested. */
- uint64_t max_idle_timeout_local_req;
- uint64_t max_idle_timeout_remote_req;
+ uint64_t max_idle_timeout_local_req;
+ uint64_t max_idle_timeout_remote_req;
/* The negotiated maximum idle timeout in milliseconds. */
- uint64_t max_idle_timeout;
+ uint64_t max_idle_timeout;
/*
* Maximum payload size in bytes for datagrams sent to our peer, as
* negotiated by transport parameters.
*/
- uint64_t rx_max_udp_payload_size;
+ uint64_t rx_max_udp_payload_size;
/* Maximum active CID limit, as negotiated by transport parameters. */
- uint64_t rx_active_conn_id_limit;
+ uint64_t rx_active_conn_id_limit;
/*
* Used to allocate stream IDs. This is a stream ordinal, i.e., a stream ID
* without the low two bits designating type and initiator. Shift and or in
* the type bits to convert to a stream ID.
*/
- uint64_t next_local_stream_ordinal_bidi;
- uint64_t next_local_stream_ordinal_uni;
+ uint64_t next_local_stream_ordinal_bidi;
+ uint64_t next_local_stream_ordinal_uni;
/*
* Used to track which stream ordinals within a given stream type have been
@@ -205,14 +205,14 @@ struct quic_channel_st {
* which streams should be implicitly created due to usage of a higher
* stream ordinal.
*/
- uint64_t next_remote_stream_ordinal_bidi;
- uint64_t next_remote_stream_ordinal_uni;
+ uint64_t next_remote_stream_ordinal_bidi;
+ uint64_t next_remote_stream_ordinal_uni;
/*
* Application error code to be used for STOP_SENDING/RESET_STREAM frames
* used to autoreject incoming streams.
*/
- uint64_t incoming_stream_auto_reject_aec;
+ uint64_t incoming_stream_auto_reject_aec;
/*
* Override packet count threshold at which we do a spontaneous TXKU.
@@ -220,41 +220,41 @@ struct quic_channel_st {
* limit advice from the QRL utility functions. This is intended for testing
* use only. Usually set to UINT64_MAX.
*/
- uint64_t txku_threshold_override;
+ uint64_t txku_threshold_override;
/* Valid if we are in the TERMINATING or TERMINATED states. */
- QUIC_TERMINATE_CAUSE terminate_cause;
+ QUIC_TERMINATE_CAUSE terminate_cause;
/*
* Deadline at which we move to TERMINATING state. Valid if in the
* TERMINATING state.
*/
- OSSL_TIME terminate_deadline;
+ OSSL_TIME terminate_deadline;
/*
* Deadline at which connection dies due to idle timeout if no further
* events occur.
*/
- OSSL_TIME idle_deadline;
+ OSSL_TIME idle_deadline;
/*
* Deadline at which we should send an ACK-eliciting packet to ensure
* idle timeout does not occur.
*/
- OSSL_TIME ping_deadline;
+ OSSL_TIME ping_deadline;
/*
* The deadline at which the period in which it is RECOMMENDED that we not
* initiate any spontaneous TXKU ends. This is zero if no such deadline
* applies.
*/
- OSSL_TIME txku_cooldown_deadline;
+ OSSL_TIME txku_cooldown_deadline;
/*
* The deadline at which we take the QRX out of UPDATING and back to NORMAL.
* Valid if rxku_in_progress in 1.
*/
- OSSL_TIME rxku_update_end_deadline;
+ OSSL_TIME rxku_update_end_deadline;
/*
* The first (application space) PN sent with a new key phase. Valid if the
@@ -263,13 +263,13 @@ struct quic_channel_st {
* becomes 0. For sanity's sake, such a PN p should also be <= the highest
* PN we have ever sent, of course.
*/
- QUIC_PN txku_pn;
+ QUIC_PN txku_pn;
/*
* The (application space) PN which triggered RXKU detection. Valid if
* rxku_pending_confirm.
*/
- QUIC_PN rxku_trigger_pn;
+ QUIC_PN rxku_trigger_pn;
/*
* State tracking. QUIC connection-level state is best represented based on
@@ -281,37 +281,37 @@ struct quic_channel_st {
* state if the state is QUIC_CHANNEL_STATE_ACTIVE and handshake_confirmed is
* set.
*/
- unsigned int state : 3;
+ unsigned int state : 3;
/*
* Have we received at least one encrypted packet from the peer?
* (If so, Retry and Version Negotiation messages should no longer
* be received and should be ignored if they do occur.)
*/
- unsigned int have_received_enc_pkt : 1;
+ unsigned int have_received_enc_pkt : 1;
/*
* Have we successfully processed any packet, including a Version
* Negotiation packet? If so, further Version Negotiation packets should be
* ignored.
*/
- unsigned int have_processed_any_pkt : 1;
+ unsigned int have_processed_any_pkt : 1;
/*
* Have we sent literally any packet yet? If not, there is no point polling
* RX.
*/
- unsigned int have_sent_any_pkt : 1;
+ unsigned int have_sent_any_pkt : 1;
/*
* Are we currently doing proactive version negotiation?
*/
- unsigned int doing_proactive_ver_neg : 1;
+ unsigned int doing_proactive_ver_neg : 1;
/* We have received transport parameters from the peer. */
- unsigned int got_remote_transport_params : 1;
+ unsigned int got_remote_transport_params : 1;
/* We have generated our local transport parameters. */
- unsigned int got_local_transport_params : 1;
+ unsigned int got_local_transport_params : 1;
/*
* This monotonically transitions to 1 once the TLS state machine is
@@ -322,7 +322,7 @@ struct quic_channel_st {
* Handshake completion is not the same as handshake confirmation (see
* below).
*/
- unsigned int handshake_complete : 1;
+ unsigned int handshake_complete : 1;
/*
* This monotonically transitions to 1 once the handshake is confirmed.
@@ -330,13 +330,13 @@ struct quic_channel_st {
* At our option, we may also take acknowledgement of any 1-RTT packet
* we sent as a handshake confirmation.
*/
- unsigned int handshake_confirmed : 1;
+ unsigned int handshake_confirmed : 1;
/*
* We are sending Initial packets based on a Retry. This means we definitely
* should not receive another Retry, and if we do it is an error.
*/
- unsigned int doing_retry : 1;
+ unsigned int doing_retry : 1;
/*
* We don't store the current EL here; the TXP asks the QTX which ELs
@@ -344,8 +344,8 @@ struct quic_channel_st {
*/
/* Have statm, qsm been initialised? Used to track cleanup. */
- unsigned int have_statm : 1;
- unsigned int have_qsm : 1;
+ unsigned int have_statm : 1;
+ unsigned int have_qsm : 1;
/*
* Preferred ELs for transmission and reception. This is not strictly needed
@@ -355,41 +355,41 @@ struct quic_channel_st {
* easier for interoperation with the handshake layer, which likes to invoke
* the yield secret callback at different times for TX and RX.
*/
- unsigned int tx_enc_level : 3;
- unsigned int rx_enc_level : 3;
+ unsigned int tx_enc_level : 3;
+ unsigned int rx_enc_level : 3;
/* If bit n is set, EL n has been discarded. */
- unsigned int el_discarded : 4;
+ unsigned int el_discarded : 4;
/*
* While in TERMINATING - CLOSING, set when we should generate a connection
* close frame.
*/
- unsigned int conn_close_queued : 1;
+ unsigned int conn_close_queued : 1;
/* Are we in server mode? Never changes after instantiation. */
- unsigned int is_server : 1;
+ unsigned int is_server : 1;
/*
* Set temporarily when the handshake layer has given us a new RX secret.
* Used to determine if we need to check our RX queues again.
*/
- unsigned int have_new_rx_secret : 1;
+ unsigned int have_new_rx_secret : 1;
/* Have we ever called QUIC_TLS yet during RX processing? */
- unsigned int did_tls_tick : 1;
+ unsigned int did_tls_tick : 1;
/* Has any CRYPTO frame been processed during this tick? */
- unsigned int did_crypto_frame : 1;
+ unsigned int did_crypto_frame : 1;
/*
* Have we sent an ack-eliciting packet since the last successful packet
* reception? Used to determine when to bump idle timer (see RFC 9000 s.
* 10.1).
*/
- unsigned int have_sent_ack_eliciting_since_rx : 1;
+ unsigned int have_sent_ack_eliciting_since_rx : 1;
/* Should incoming streams automatically be rejected? */
- unsigned int incoming_stream_auto_reject : 1;
+ unsigned int incoming_stream_auto_reject : 1;
/*
* 1 if a key update sequence was locally initiated, meaning we sent the
@@ -397,7 +397,7 @@ struct quic_channel_st {
* another TXKU. 0 if a key update sequence was initiated by the peer,
* meaning we detect a RXKU first and have to generate a TXKU in response.
*/
- unsigned int ku_locally_initiated : 1;
+ unsigned int ku_locally_initiated : 1;
/*
* 1 if we have triggered TXKU (whether spontaneous or solicited) but are
@@ -405,7 +405,7 @@ struct quic_channel_st {
* are not allowed to trigger spontaneous TXKU (but solicited TXKU is
* potentially still possible).
*/
- unsigned int txku_in_progress : 1;
+ unsigned int txku_in_progress : 1;
/*
* We have received an RXKU event and currently are going through
@@ -416,7 +416,7 @@ struct quic_channel_st {
* active so we know when to take the QRX out of UPDATING and back to
* NORMAL.
*/
- unsigned int rxku_in_progress : 1;
+ unsigned int rxku_in_progress : 1;
/*
* We have received an RXKU but have yet to send an ACK for it, which means
@@ -425,18 +425,18 @@ struct quic_channel_st {
* this restriction comes into play if we take more than PTO time to send
* an ACK for it (not likely).
*/
- unsigned int rxku_pending_confirm : 1;
+ unsigned int rxku_pending_confirm : 1;
/* Temporary variable indicating rxku_pending_confirm is to become 0. */
- unsigned int rxku_pending_confirm_done : 1;
+ unsigned int rxku_pending_confirm_done : 1;
/*
* If set, RXKU is expected (because we initiated a spontaneous TXKU).
*/
- unsigned int rxku_expected : 1;
+ unsigned int rxku_expected : 1;
/* Permanent net error encountered */
- unsigned int net_error : 1;
+ unsigned int net_error : 1;
/*
* Protocol error encountered. Note that you should refer to the state field
@@ -444,31 +444,31 @@ struct quic_channel_st {
* after the first protocol error, but still record the first protocol error
* if it happens during the TERMINATING state.
*/
- unsigned int protocol_error : 1;
+ unsigned int protocol_error : 1;
/* Are we using addressed mode? */
- unsigned int addressed_mode : 1;
+ unsigned int addressed_mode : 1;
/* Are we on the QUIC_PORT linked list of channels? */
- unsigned int on_port_list : 1;
+ unsigned int on_port_list : 1;
/* Has qlog been requested? */
- unsigned int use_qlog : 1;
+ unsigned int use_qlog : 1;
/* Has qlog been requested? */
- unsigned int is_tserver_ch : 1;
+ unsigned int is_tserver_ch : 1;
/* Saved error stack in case permanent error was encountered */
- ERR_STATE *err_state;
+ ERR_STATE *err_state;
/* Scratch area for use by RXDP to store decoded ACK ranges. */
- OSSL_QUIC_ACK_RANGE *ack_range_scratch;
- size_t num_ack_range_scratch;
+ OSSL_QUIC_ACK_RANGE *ack_range_scratch;
+ size_t num_ack_range_scratch;
/* Title for qlog purposes. We own this copy. */
- char *qlog_title;
+ char *qlog_title;
};
-# endif
+#endif
#endif
diff --git a/crypto/openssl/ssl/quic/quic_demux.c b/crypto/openssl/ssl/quic/quic_demux.c
index a84a44c6e9fb..8fb4adb8c1db 100644
--- a/crypto/openssl/ssl/quic/quic_demux.c
+++ b/crypto/openssl/ssl/quic/quic_demux.c
@@ -13,47 +13,47 @@
#include <openssl/lhash.h>
#include <openssl/err.h>
-#define URXE_DEMUX_STATE_FREE 0 /* on urx_free list */
-#define URXE_DEMUX_STATE_PENDING 1 /* on urx_pending list */
-#define URXE_DEMUX_STATE_ISSUED 2 /* on neither list */
+#define URXE_DEMUX_STATE_FREE 0 /* on urx_free list */
+#define URXE_DEMUX_STATE_PENDING 1 /* on urx_pending list */
+#define URXE_DEMUX_STATE_ISSUED 2 /* on neither list */
-#define DEMUX_MAX_MSGS_PER_CALL 32
+#define DEMUX_MAX_MSGS_PER_CALL 32
-#define DEMUX_DEFAULT_MTU 1500
+#define DEMUX_DEFAULT_MTU 1500
struct quic_demux_st {
/* The underlying transport BIO with datagram semantics. */
- BIO *net_bio;
+ BIO *net_bio;
/*
* QUIC short packets do not contain the length of the connection ID field,
* therefore it must be known contextually. The demuxer requires connection
* IDs of the same length to be used for all incoming packets.
*/
- size_t short_conn_id_len;
+ size_t short_conn_id_len;
/*
* Our current understanding of the upper bound on an incoming datagram size
* in bytes.
*/
- size_t mtu;
+ size_t mtu;
/* The datagram_id to use for the next datagram we receive. */
- uint64_t next_datagram_id;
+ uint64_t next_datagram_id;
/* Time retrieval callback. */
- OSSL_TIME (*now)(void *arg);
- void *now_arg;
+ OSSL_TIME (*now)(void *arg);
+ void *now_arg;
/* The default packet handler, if any. */
- ossl_quic_demux_cb_fn *default_cb;
- void *default_cb_arg;
+ ossl_quic_demux_cb_fn *default_cb;
+ void *default_cb_arg;
/*
* List of URXEs which are not currently in use (i.e., not filled with
* unconsumed data). These are moved to the pending list as they are filled.
*/
- QUIC_URXE_LIST urx_free;
+ QUIC_URXE_LIST urx_free;
/*
* List of URXEs which are filled with received encrypted data. These are
@@ -62,16 +62,16 @@ struct quic_demux_st {
* user calls ossl_quic_demux_release_urxe to return the URXE to us, at
* which point we add it to the free list.
*/
- QUIC_URXE_LIST urx_pending;
+ QUIC_URXE_LIST urx_pending;
/* Whether to use local address support. */
- char use_local_addr;
+ char use_local_addr;
};
QUIC_DEMUX *ossl_quic_demux_new(BIO *net_bio,
- size_t short_conn_id_len,
- OSSL_TIME (*now)(void *arg),
- void *now_arg)
+ size_t short_conn_id_len,
+ OSSL_TIME (*now)(void *arg),
+ void *now_arg)
{
QUIC_DEMUX *demux;
@@ -79,12 +79,12 @@ QUIC_DEMUX *ossl_quic_demux_new(BIO *net_bio,
if (demux == NULL)
return NULL;
- demux->net_bio = net_bio;
- demux->short_conn_id_len = short_conn_id_len;
+ demux->net_bio = net_bio;
+ demux->short_conn_id_len = short_conn_id_len;
/* We update this if possible when we get a BIO. */
- demux->mtu = DEMUX_DEFAULT_MTU;
- demux->now = now;
- demux->now_arg = now_arg;
+ demux->mtu = DEMUX_DEFAULT_MTU;
+ demux->now = now;
+ demux->now_arg = now_arg;
if (net_bio != NULL
&& BIO_dgram_get_local_addr_cap(net_bio)
@@ -145,11 +145,11 @@ int ossl_quic_demux_set_mtu(QUIC_DEMUX *demux, unsigned int mtu)
}
void ossl_quic_demux_set_default_handler(QUIC_DEMUX *demux,
- ossl_quic_demux_cb_fn *cb,
- void *cb_arg)
+ ossl_quic_demux_cb_fn *cb,
+ void *cb_arg)
{
- demux->default_cb = cb;
- demux->default_cb_arg = cb_arg;
+ demux->default_cb = cb;
+ demux->default_cb_arg = cb_arg;
}
static QUIC_URXE *demux_alloc_urxe(size_t alloc_len)
@@ -164,13 +164,13 @@ static QUIC_URXE *demux_alloc_urxe(size_t alloc_len)
return NULL;
ossl_list_urxe_init_elem(e);
- e->alloc_len = alloc_len;
- e->data_len = 0;
+ e->alloc_len = alloc_len;
+ e->data_len = 0;
return e;
}
static QUIC_URXE *demux_resize_urxe(QUIC_DEMUX *demux, QUIC_URXE *e,
- size_t new_alloc_len)
+ size_t new_alloc_len)
{
QUIC_URXE *e2, *prev;
@@ -181,6 +181,9 @@ static QUIC_URXE *demux_resize_urxe(QUIC_DEMUX *demux, QUIC_URXE *e,
prev = ossl_list_urxe_prev(e);
ossl_list_urxe_remove(&demux->urx_free, e);
+ if (new_alloc_len >= SIZE_MAX - sizeof(QUIC_URXE))
+ return NULL;
+
e2 = OPENSSL_realloc(e, sizeof(QUIC_URXE) + new_alloc_len);
if (e2 == NULL) {
/* Failed to resize, abort. */
@@ -202,7 +205,7 @@ static QUIC_URXE *demux_resize_urxe(QUIC_DEMUX *demux, QUIC_URXE *e,
}
static QUIC_URXE *demux_reserve_urxe(QUIC_DEMUX *demux, QUIC_URXE *e,
- size_t alloc_len)
+ size_t alloc_len)
{
return e->alloc_len < alloc_len ? demux_resize_urxe(demux, e, alloc_len) : e;
}
@@ -253,7 +256,7 @@ static int demux_recv(QUIC_DEMUX *demux)
* syscall, determined by how many free URXEs are available.
*/
for (i = 0; i < (ossl_ssize_t)OSSL_NELEM(msg);
- ++i, urxe = ossl_list_urxe_next(urxe)) {
+ ++i, urxe = ossl_list_urxe_next(urxe)) {
if (urxe == NULL) {
/* We need at least one URXE to receive into. */
if (!ossl_assert(i > 0))
@@ -270,9 +273,9 @@ static int demux_recv(QUIC_DEMUX *demux)
/* Ensure we zero any fields added to BIO_MSG at a later date. */
memset(&msg[i], 0, sizeof(BIO_MSG));
- msg[i].data = ossl_quic_urxe_data(urxe);
+ msg[i].data = ossl_quic_urxe_data(urxe);
msg[i].data_len = urxe->alloc_len;
- msg[i].peer = &urxe->peer;
+ msg[i].peer = &urxe->peer;
BIO_ADDR_clear(&urxe->peer);
if (demux->use_local_addr)
msg[i].local = &urxe->local;
@@ -300,10 +303,10 @@ static int demux_recv(QUIC_DEMUX *demux)
for (i = 0; i < rd; ++i, urxe = unext) {
unext = ossl_list_urxe_next(urxe);
/* Set URXE with actual length of received datagram. */
- urxe->data_len = msg[i].data_len;
+ urxe->data_len = msg[i].data_len;
/* Time we received datagram. */
- urxe->time = now;
- urxe->datagram_id = demux->next_datagram_id++;
+ urxe->time = now;
+ urxe->datagram_id = demux->next_datagram_id++;
/* Move from free list to pending list. */
ossl_list_urxe_remove(&demux->urx_free, urxe);
ossl_list_urxe_insert_tail(&demux->urx_pending, urxe);
@@ -315,13 +318,13 @@ static int demux_recv(QUIC_DEMUX *demux)
/* Extract destination connection ID from the first packet in a datagram. */
static int demux_identify_conn_id(QUIC_DEMUX *demux,
- QUIC_URXE *e,
- QUIC_CONN_ID *dst_conn_id)
+ QUIC_URXE *e,
+ QUIC_CONN_ID *dst_conn_id)
{
return ossl_quic_wire_get_pkt_hdr_dst_conn_id(ossl_quic_urxe_data(e),
- e->data_len,
- demux->short_conn_id_len,
- dst_conn_id);
+ e->data_len,
+ demux->short_conn_id_len,
+ dst_conn_id);
}
/*
@@ -350,7 +353,7 @@ static int demux_process_pending_urxe(QUIC_DEMUX *demux, QUIC_URXE *e)
*/
e->demux_state = URXE_DEMUX_STATE_ISSUED;
demux->default_cb(e, demux->default_cb_arg,
- dst_conn_id_ok ? &dst_conn_id : NULL);
+ dst_conn_id_ok ? &dst_conn_id : NULL);
} else {
/* Discard. */
ossl_list_urxe_insert_tail(&demux->urx_free, e);
@@ -404,10 +407,10 @@ int ossl_quic_demux_pump(QUIC_DEMUX *demux)
/* Artificially inject a packet into the demuxer for testing purposes. */
int ossl_quic_demux_inject(QUIC_DEMUX *demux,
- const unsigned char *buf,
- size_t buf_len,
- const BIO_ADDR *peer,
- const BIO_ADDR *local)
+ const unsigned char *buf,
+ size_t buf_len,
+ const BIO_ADDR *peer,
+ const BIO_ADDR *local)
{
int ret;
QUIC_URXE *urxe;
@@ -451,7 +454,7 @@ int ossl_quic_demux_inject(QUIC_DEMUX *demux,
/* Called by our user to return a URXE to the free list. */
void ossl_quic_demux_release_urxe(QUIC_DEMUX *demux,
- QUIC_URXE *e)
+ QUIC_URXE *e)
{
assert(ossl_list_urxe_prev(e) == NULL && ossl_list_urxe_next(e) == NULL);
assert(e->demux_state == URXE_DEMUX_STATE_ISSUED);
@@ -460,7 +463,7 @@ void ossl_quic_demux_release_urxe(QUIC_DEMUX *demux,
}
void ossl_quic_demux_reinject_urxe(QUIC_DEMUX *demux,
- QUIC_URXE *e)
+ QUIC_URXE *e)
{
assert(ossl_list_urxe_prev(e) == NULL && ossl_list_urxe_next(e) == NULL);
assert(e->demux_state == URXE_DEMUX_STATE_ISSUED);
diff --git a/crypto/openssl/ssl/quic/quic_engine.c b/crypto/openssl/ssl/quic/quic_engine.c
index e933d8548f47..370b9c3987f1 100644
--- a/crypto/openssl/ssl/quic/quic_engine.c
+++ b/crypto/openssl/ssl/quic/quic_engine.c
@@ -30,9 +30,9 @@ QUIC_ENGINE *ossl_quic_engine_new(const QUIC_ENGINE_ARGS *args)
if ((qeng = OPENSSL_zalloc(sizeof(QUIC_ENGINE))) == NULL)
return NULL;
- qeng->libctx = args->libctx;
- qeng->propq = args->propq;
- qeng->mutex = args->mutex;
+ qeng->libctx = args->libctx;
+ qeng->propq = args->propq;
+ qeng->mutex = args->mutex;
if (!qeng_init(qeng, args->reactor_flags)) {
OPENSSL_free(qeng);
@@ -54,8 +54,8 @@ void ossl_quic_engine_free(QUIC_ENGINE *qeng)
static int qeng_init(QUIC_ENGINE *qeng, uint64_t reactor_flags)
{
return ossl_quic_reactor_init(&qeng->rtor, qeng_tick, qeng,
- qeng->mutex,
- ossl_time_zero(), reactor_flags);
+ qeng->mutex,
+ ossl_time_zero(), reactor_flags);
}
static void qeng_cleanup(QUIC_ENGINE *qeng)
@@ -87,8 +87,8 @@ OSSL_TIME ossl_quic_engine_make_real_time(QUIC_ENGINE *qeng, OSSL_TIME tm)
OSSL_TIME offset;
if (qeng->now_cb != NULL
- && !ossl_time_is_zero(tm)
- && !ossl_time_is_infinite(tm)) {
+ && !ossl_time_is_zero(tm)
+ && !ossl_time_is_infinite(tm)) {
offset = qeng->now_cb(qeng->now_cb_arg);
@@ -100,8 +100,8 @@ OSSL_TIME ossl_quic_engine_make_real_time(QUIC_ENGINE *qeng, OSSL_TIME tm)
}
void ossl_quic_engine_set_time_cb(QUIC_ENGINE *qeng,
- OSSL_TIME (*now_cb)(void *arg),
- void *now_cb_arg)
+ OSSL_TIME (*now_cb)(void *arg),
+ void *now_cb_arg)
{
qeng->now_cb = now_cb;
qeng->now_cb_arg = now_cb_arg;
@@ -137,7 +137,7 @@ void ossl_quic_engine_update_poll_descriptors(QUIC_ENGINE *qeng, int force)
* important currently as the port list has a single entry.
*/
OSSL_LIST_FOREACH(port, port, &qeng->port_list)
- ossl_quic_port_update_poll_descriptors(port, force);
+ ossl_quic_port_update_poll_descriptors(port, force);
}
/*
@@ -146,7 +146,7 @@ void ossl_quic_engine_update_poll_descriptors(QUIC_ENGINE *qeng, int force)
*/
QUIC_PORT *ossl_quic_engine_create_port(QUIC_ENGINE *qeng,
- const QUIC_PORT_ARGS *args)
+ const QUIC_PORT_ARGS *args)
{
QUIC_PORT_ARGS largs = *args;
@@ -176,17 +176,18 @@ static void qeng_tick(QUIC_TICK_RESULT *res, void *arg, uint32_t flags)
QUIC_ENGINE *qeng = arg;
QUIC_PORT *port;
- res->net_read_desired = 0;
- res->net_write_desired = 0;
+ res->net_read_desired = 0;
+ res->net_write_desired = 0;
res->notify_other_threads = 0;
- res->tick_deadline = ossl_time_infinite();
+ res->tick_deadline = ossl_time_infinite();
if (qeng->inhibit_tick)
return;
/* Iterate through all ports and service them. */
- OSSL_LIST_FOREACH(port, port, &qeng->port_list) {
- QUIC_TICK_RESULT subr = {0};
+ OSSL_LIST_FOREACH(port, port, &qeng->port_list)
+ {
+ QUIC_TICK_RESULT subr = { 0 };
ossl_quic_port_subtick(port, &subr, flags);
ossl_quic_tick_result_merge_into(res, &subr);
diff --git a/crypto/openssl/ssl/quic/quic_engine_local.h b/crypto/openssl/ssl/quic/quic_engine_local.h
index 280fd31dd7c1..476a884f648c 100644
--- a/crypto/openssl/ssl/quic/quic_engine_local.h
+++ b/crypto/openssl/ssl/quic/quic_engine_local.h
@@ -8,12 +8,12 @@
*/
#ifndef OSSL_QUIC_ENGINE_LOCAL_H
-# define OSSL_QUIC_ENGINE_LOCAL_H
+#define OSSL_QUIC_ENGINE_LOCAL_H
-# include "internal/quic_engine.h"
-# include "internal/quic_reactor.h"
+#include "internal/quic_engine.h"
+#include "internal/quic_reactor.h"
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
/*
* QUIC Engine Structure
@@ -29,8 +29,8 @@ DECLARE_LIST_OF(port, QUIC_PORT);
struct quic_engine_st {
/* All objects in a QUIC event domain share the same (libctx, propq). */
- OSSL_LIB_CTX *libctx;
- const char *propq;
+ OSSL_LIB_CTX *libctx;
+ const char *propq;
/*
* Master synchronisation mutex for the entire QUIC event domain. Used for
@@ -38,22 +38,23 @@ struct quic_engine_st {
* of the engine passes it to us and is responsible for freeing it after
* engine destruction.
*/
- CRYPTO_MUTEX *mutex;
+ CRYPTO_MUTEX *mutex;
/* Callback used to get the current time. */
- OSSL_TIME (*now_cb)(void *arg);
- void *now_cb_arg;
+ OSSL_TIME (*now_cb)(void *arg);
+ void *now_cb_arg;
/* Asynchronous I/O reactor. */
- QUIC_REACTOR rtor;
+ QUIC_REACTOR rtor;
/* List of all child ports. */
- OSSL_LIST(port) port_list;
+ OSSL_LIST(port)
+ port_list;
/* Inhibit tick for testing purposes? */
- unsigned int inhibit_tick : 1;
+ unsigned int inhibit_tick : 1;
};
-# endif
+#endif
#endif
diff --git a/crypto/openssl/ssl/quic/quic_fc.c b/crypto/openssl/ssl/quic/quic_fc.c
index 64ef31780c22..1691d4d69efa 100644
--- a/crypto/openssl/ssl/quic/quic_fc.c
+++ b/crypto/openssl/ssl/quic/quic_fc.c
@@ -25,10 +25,10 @@ int ossl_quic_txfc_init(QUIC_TXFC *txfc, QUIC_TXFC *conn_txfc)
if (conn_txfc != NULL && conn_txfc->parent != NULL)
return 0;
- txfc->swm = 0;
- txfc->cwm = 0;
- txfc->parent = conn_txfc;
- txfc->has_become_blocked = 0;
+ txfc->swm = 0;
+ txfc->cwm = 0;
+ txfc->parent = conn_txfc;
+ txfc->has_become_blocked = 0;
return 1;
}
@@ -124,40 +124,40 @@ uint64_t ossl_quic_txfc_get_swm(QUIC_TXFC *txfc)
*/
int ossl_quic_rxfc_init(QUIC_RXFC *rxfc, QUIC_RXFC *conn_rxfc,
- uint64_t initial_window_size,
- uint64_t max_window_size,
- OSSL_TIME (*now)(void *now_arg),
- void *now_arg)
+ uint64_t initial_window_size,
+ uint64_t max_window_size,
+ OSSL_TIME (*now)(void *now_arg),
+ void *now_arg)
{
if (conn_rxfc != NULL && conn_rxfc->parent != NULL)
return 0;
- rxfc->swm = 0;
- rxfc->cwm = initial_window_size;
- rxfc->rwm = 0;
- rxfc->esrwm = 0;
- rxfc->hwm = 0;
- rxfc->cur_window_size = initial_window_size;
- rxfc->max_window_size = max_window_size;
- rxfc->parent = conn_rxfc;
- rxfc->error_code = 0;
- rxfc->has_cwm_changed = 0;
- rxfc->epoch_start = ossl_time_zero();
- rxfc->now = now;
- rxfc->now_arg = now_arg;
- rxfc->is_fin = 0;
- rxfc->standalone = 0;
+ rxfc->swm = 0;
+ rxfc->cwm = initial_window_size;
+ rxfc->rwm = 0;
+ rxfc->esrwm = 0;
+ rxfc->hwm = 0;
+ rxfc->cur_window_size = initial_window_size;
+ rxfc->max_window_size = max_window_size;
+ rxfc->parent = conn_rxfc;
+ rxfc->error_code = 0;
+ rxfc->has_cwm_changed = 0;
+ rxfc->epoch_start = ossl_time_zero();
+ rxfc->now = now;
+ rxfc->now_arg = now_arg;
+ rxfc->is_fin = 0;
+ rxfc->standalone = 0;
return 1;
}
int ossl_quic_rxfc_init_standalone(QUIC_RXFC *rxfc,
- uint64_t initial_window_size,
- OSSL_TIME (*now)(void *arg),
- void *now_arg)
+ uint64_t initial_window_size,
+ OSSL_TIME (*now)(void *arg),
+ void *now_arg)
{
if (!ossl_quic_rxfc_init(rxfc, NULL,
- initial_window_size, initial_window_size,
- now, now_arg))
+ initial_window_size, initial_window_size,
+ now, now_arg))
return 0;
rxfc->standalone = 1;
@@ -170,15 +170,15 @@ QUIC_RXFC *ossl_quic_rxfc_get_parent(QUIC_RXFC *rxfc)
}
void ossl_quic_rxfc_set_max_window_size(QUIC_RXFC *rxfc,
- size_t max_window_size)
+ size_t max_window_size)
{
rxfc->max_window_size = max_window_size;
}
static void rxfc_start_epoch(QUIC_RXFC *rxfc)
{
- rxfc->epoch_start = rxfc->now(rxfc->now_arg);
- rxfc->esrwm = rxfc->rwm;
+ rxfc->epoch_start = rxfc->now(rxfc->now_arg);
+ rxfc->esrwm = rxfc->rwm;
}
static int on_rx_controlled_bytes(QUIC_RXFC *rxfc, uint64_t num_bytes)
@@ -216,7 +216,7 @@ int ossl_quic_rxfc_on_rx_stream_frame(QUIC_RXFC *rxfc, uint64_t end, int is_fin)
delta = end - rxfc->hwm;
rxfc->hwm = end;
- on_rx_controlled_bytes(rxfc, delta); /* result ignored */
+ on_rx_controlled_bytes(rxfc, delta); /* result ignored */
if (rxfc->parent != NULL)
on_rx_controlled_bytes(rxfc->parent, delta); /* result ignored */
} else if (end < rxfc->hwm && is_fin) {
@@ -237,7 +237,7 @@ static int rxfc_cwm_bump_desired(QUIC_RXFC *rxfc)
uint64_t window_rem = rxfc->cwm - rxfc->rwm;
uint64_t threshold
= safe_muldiv_uint64_t(rxfc->cur_window_size,
- WINDOW_THRESHOLD_NUM, WINDOW_THRESHOLD_DEN, &err);
+ WINDOW_THRESHOLD_NUM, WINDOW_THRESHOLD_DEN, &err);
if (err)
/*
@@ -274,21 +274,21 @@ static int rxfc_should_bump_window_size(QUIC_RXFC *rxfc, OSSL_TIME rtt)
* our 64-bit nanosecond representation, which will afford plenty of
* precision left over after the division anyway.
*/
- uint64_t b = rxfc->rwm - rxfc->esrwm;
+ uint64_t b = rxfc->rwm - rxfc->esrwm;
OSSL_TIME now, dt, t_window;
if (b == 0)
return 0;
- now = rxfc->now(rxfc->now_arg);
- dt = ossl_time_subtract(now, rxfc->epoch_start);
+ now = rxfc->now(rxfc->now_arg);
+ dt = ossl_time_subtract(now, rxfc->epoch_start);
t_window = ossl_time_muldiv(dt, rxfc->cur_window_size, b);
return ossl_time_compare(t_window, ossl_time_multiply(rtt, 4)) < 0;
}
static void rxfc_adjust_window_size(QUIC_RXFC *rxfc, uint64_t min_window_size,
- OSSL_TIME rtt)
+ OSSL_TIME rtt)
{
/* Are we sending updates too often? */
uint64_t new_window_size;
@@ -308,7 +308,7 @@ static void rxfc_adjust_window_size(QUIC_RXFC *rxfc, uint64_t min_window_size,
}
static void rxfc_update_cwm(QUIC_RXFC *rxfc, uint64_t min_window_size,
- OSSL_TIME rtt)
+ OSSL_TIME rtt)
{
uint64_t new_cwm;
@@ -325,8 +325,8 @@ static void rxfc_update_cwm(QUIC_RXFC *rxfc, uint64_t min_window_size,
}
static int rxfc_on_retire(QUIC_RXFC *rxfc, uint64_t num_bytes,
- uint64_t min_window_size,
- OSSL_TIME rtt)
+ uint64_t min_window_size,
+ OSSL_TIME rtt)
{
if (ossl_time_is_zero(rxfc->epoch_start))
/* This happens when we retire our first ever bytes. */
@@ -338,8 +338,8 @@ static int rxfc_on_retire(QUIC_RXFC *rxfc, uint64_t num_bytes,
}
int ossl_quic_rxfc_on_retire(QUIC_RXFC *rxfc,
- uint64_t num_bytes,
- OSSL_TIME rtt)
+ uint64_t num_bytes,
+ OSSL_TIME rtt)
{
if (rxfc->parent == NULL && !rxfc->standalone)
return 0;
diff --git a/crypto/openssl/ssl/quic/quic_fifd.c b/crypto/openssl/ssl/quic/quic_fifd.c
index 1d1bcc11ce63..03b8cebd3057 100644
--- a/crypto/openssl/ssl/quic/quic_fifd.c
+++ b/crypto/openssl/ssl/quic/quic_fifd.c
@@ -14,48 +14,48 @@
DEFINE_LIST_OF(tx_history, OSSL_ACKM_TX_PKT);
int ossl_quic_fifd_init(QUIC_FIFD *fifd,
- QUIC_CFQ *cfq,
- OSSL_ACKM *ackm,
- QUIC_TXPIM *txpim,
- /* stream_id is UINT64_MAX for the crypto stream */
- QUIC_SSTREAM *(*get_sstream_by_id)(uint64_t stream_id,
- uint32_t pn_space,
- void *arg),
- void *get_sstream_by_id_arg,
- /* stream_id is UINT64_MAX if not applicable */
- void (*regen_frame)(uint64_t frame_type,
- uint64_t stream_id,
- QUIC_TXPIM_PKT *pkt,
- void *arg),
- void *regen_frame_arg,
- void (*confirm_frame)(uint64_t frame_type,
- uint64_t stream_id,
- QUIC_TXPIM_PKT *pkt,
- void *arg),
- void *confirm_frame_arg,
- void (*sstream_updated)(uint64_t stream_id,
- void *arg),
- void *sstream_updated_arg,
- QLOG *(*get_qlog_cb)(void *arg),
- void *get_qlog_cb_arg)
+ QUIC_CFQ *cfq,
+ OSSL_ACKM *ackm,
+ QUIC_TXPIM *txpim,
+ /* stream_id is UINT64_MAX for the crypto stream */
+ QUIC_SSTREAM *(*get_sstream_by_id)(uint64_t stream_id,
+ uint32_t pn_space,
+ void *arg),
+ void *get_sstream_by_id_arg,
+ /* stream_id is UINT64_MAX if not applicable */
+ void (*regen_frame)(uint64_t frame_type,
+ uint64_t stream_id,
+ QUIC_TXPIM_PKT *pkt,
+ void *arg),
+ void *regen_frame_arg,
+ void (*confirm_frame)(uint64_t frame_type,
+ uint64_t stream_id,
+ QUIC_TXPIM_PKT *pkt,
+ void *arg),
+ void *confirm_frame_arg,
+ void (*sstream_updated)(uint64_t stream_id,
+ void *arg),
+ void *sstream_updated_arg,
+ QLOG *(*get_qlog_cb)(void *arg),
+ void *get_qlog_cb_arg)
{
if (cfq == NULL || ackm == NULL || txpim == NULL
|| get_sstream_by_id == NULL || regen_frame == NULL)
return 0;
- fifd->cfq = cfq;
- fifd->ackm = ackm;
- fifd->txpim = txpim;
- fifd->get_sstream_by_id = get_sstream_by_id;
+ fifd->cfq = cfq;
+ fifd->ackm = ackm;
+ fifd->txpim = txpim;
+ fifd->get_sstream_by_id = get_sstream_by_id;
fifd->get_sstream_by_id_arg = get_sstream_by_id_arg;
- fifd->regen_frame = regen_frame;
- fifd->regen_frame_arg = regen_frame_arg;
- fifd->confirm_frame = confirm_frame;
- fifd->confirm_frame_arg = confirm_frame_arg;
- fifd->sstream_updated = sstream_updated;
- fifd->sstream_updated_arg = sstream_updated_arg;
- fifd->get_qlog_cb = get_qlog_cb;
- fifd->get_qlog_cb_arg = get_qlog_cb_arg;
+ fifd->regen_frame = regen_frame;
+ fifd->regen_frame_arg = regen_frame_arg;
+ fifd->confirm_frame = confirm_frame;
+ fifd->confirm_frame_arg = confirm_frame_arg;
+ fifd->sstream_updated = sstream_updated;
+ fifd->sstream_updated_arg = sstream_updated_arg;
+ fifd->get_qlog_cb = get_qlog_cb;
+ fifd->get_qlog_cb_arg = get_qlog_cb_arg;
return 1;
}
@@ -76,28 +76,28 @@ static void on_acked(void *arg)
/* STREAM and CRYPTO stream chunks, FINs and stream FC frames */
for (i = 0; i < num_chunks; ++i) {
sstream = fifd->get_sstream_by_id(chunks[i].stream_id,
- pkt->ackm_pkt.pkt_space,
- fifd->get_sstream_by_id_arg);
+ pkt->ackm_pkt.pkt_space,
+ fifd->get_sstream_by_id_arg);
if (sstream == NULL)
continue;
if (chunks[i].end >= chunks[i].start)
/* coverity[check_return]: Best effort - we cannot fail here. */
ossl_quic_sstream_mark_acked(sstream,
- chunks[i].start, chunks[i].end);
+ chunks[i].start, chunks[i].end);
if (chunks[i].has_fin && chunks[i].stream_id != UINT64_MAX)
ossl_quic_sstream_mark_acked_fin(sstream);
if (chunks[i].has_stop_sending && chunks[i].stream_id != UINT64_MAX)
fifd->confirm_frame(OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
- chunks[i].stream_id, pkt,
- fifd->confirm_frame_arg);
+ chunks[i].stream_id, pkt,
+ fifd->confirm_frame_arg);
if (chunks[i].has_reset_stream && chunks[i].stream_id != UINT64_MAX)
fifd->confirm_frame(OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- chunks[i].stream_id, pkt,
- fifd->confirm_frame_arg);
+ chunks[i].stream_id, pkt,
+ fifd->confirm_frame_arg);
if (ossl_quic_sstream_is_totally_acked(sstream))
fifd->sstream_updated(chunks[i].stream_id, fifd->sstream_updated_arg);
@@ -135,8 +135,8 @@ static void on_lost(void *arg)
/* STREAM and CRYPTO stream chunks, FIN and stream FC frames */
for (i = 0; i < num_chunks; ++i) {
sstream = fifd->get_sstream_by_id(chunks[i].stream_id,
- pkt->ackm_pkt.pkt_space,
- fifd->get_sstream_by_id_arg);
+ pkt->ackm_pkt.pkt_space,
+ fifd->get_sstream_by_id_arg);
if (sstream == NULL)
continue;
@@ -150,7 +150,7 @@ static void on_lost(void *arg)
* and our call to get_sstream_by_id above will return NULL.
*/
ossl_quic_sstream_mark_lost(sstream,
- chunks[i].start, chunks[i].end);
+ chunks[i].start, chunks[i].end);
sstream_updated = 1;
}
@@ -161,13 +161,13 @@ static void on_lost(void *arg)
if (chunks[i].has_stop_sending && chunks[i].stream_id != UINT64_MAX)
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
- chunks[i].stream_id, pkt,
- fifd->regen_frame_arg);
+ chunks[i].stream_id, pkt,
+ fifd->regen_frame_arg);
if (chunks[i].has_reset_stream && chunks[i].stream_id != UINT64_MAX)
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- chunks[i].stream_id, pkt,
- fifd->regen_frame_arg);
+ chunks[i].stream_id, pkt,
+ fifd->regen_frame_arg);
/*
* Inform caller that stream needs an FC frame.
@@ -180,13 +180,13 @@ static void on_lost(void *arg)
* handling loss.
*/
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
- chunks[i].stream_id,
- pkt,
- fifd->regen_frame_arg);
+ chunks[i].stream_id,
+ pkt,
+ fifd->regen_frame_arg);
if (sstream_updated && chunks[i].stream_id != UINT64_MAX)
fifd->sstream_updated(chunks[i].stream_id,
- fifd->sstream_updated_arg);
+ fifd->sstream_updated_arg);
}
/* GCR */
@@ -198,23 +198,23 @@ static void on_lost(void *arg)
/* Regenerate flag frames */
if (pkt->had_handshake_done_frame)
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE,
- UINT64_MAX, pkt,
- fifd->regen_frame_arg);
+ UINT64_MAX, pkt,
+ fifd->regen_frame_arg);
if (pkt->had_max_data_frame)
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_MAX_DATA,
- UINT64_MAX, pkt,
- fifd->regen_frame_arg);
+ UINT64_MAX, pkt,
+ fifd->regen_frame_arg);
if (pkt->had_max_streams_bidi_frame)
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI,
- UINT64_MAX, pkt,
- fifd->regen_frame_arg);
+ UINT64_MAX, pkt,
+ fifd->regen_frame_arg);
if (pkt->had_max_streams_uni_frame)
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI,
- UINT64_MAX, pkt,
- fifd->regen_frame_arg);
+ UINT64_MAX, pkt,
+ fifd->regen_frame_arg);
if (pkt->had_ack_frame)
/*
@@ -223,8 +223,8 @@ static void on_lost(void *arg)
* whether it wants to send ECN data or not.
*/
fifd->regen_frame(OSSL_QUIC_FRAME_TYPE_ACK_WITH_ECN,
- UINT64_MAX, pkt,
- fifd->regen_frame_arg);
+ UINT64_MAX, pkt,
+ fifd->regen_frame_arg);
ossl_quic_txpim_pkt_release(fifd->txpim, pkt);
}
@@ -256,12 +256,12 @@ int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt)
size_t i, num_chunks;
QUIC_SSTREAM *sstream;
- pkt->fifd = fifd;
+ pkt->fifd = fifd;
- pkt->ackm_pkt.on_lost = on_lost;
- pkt->ackm_pkt.on_acked = on_acked;
- pkt->ackm_pkt.on_discarded = on_discarded;
- pkt->ackm_pkt.cb_arg = pkt;
+ pkt->ackm_pkt.on_lost = on_lost;
+ pkt->ackm_pkt.on_acked = on_acked;
+ pkt->ackm_pkt.on_discarded = on_discarded;
+ pkt->ackm_pkt.cb_arg = pkt;
ossl_list_tx_history_init_elem(&pkt->ackm_pkt);
pkt->ackm_pkt.anext = pkt->ackm_pkt.lnext = NULL;
@@ -271,8 +271,8 @@ int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt)
* transmitted.
*/
for (cfq_item = pkt->retx_head;
- cfq_item != NULL;
- cfq_item = cfq_item->pkt_next)
+ cfq_item != NULL;
+ cfq_item = cfq_item->pkt_next)
ossl_quic_cfq_mark_tx(fifd->cfq, cfq_item);
/*
@@ -283,21 +283,21 @@ int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt)
num_chunks = ossl_quic_txpim_pkt_get_num_chunks(pkt);
for (i = 0; i < num_chunks; ++i) {
sstream = fifd->get_sstream_by_id(chunks[i].stream_id,
- pkt->ackm_pkt.pkt_space,
- fifd->get_sstream_by_id_arg);
+ pkt->ackm_pkt.pkt_space,
+ fifd->get_sstream_by_id_arg);
if (sstream == NULL)
continue;
if (chunks[i].end >= chunks[i].start
&& !ossl_quic_sstream_mark_transmitted(sstream,
- chunks[i].start,
- chunks[i].end))
+ chunks[i].start,
+ chunks[i].end))
return 0;
if (chunks[i].has_fin
&& !ossl_quic_sstream_mark_transmitted_fin(sstream,
- chunks[i].end + 1))
- return 0;
+ chunks[i].end + 1))
+ return 0;
}
/* Inform the ACKM. */
@@ -305,8 +305,8 @@ int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt)
}
void ossl_quic_fifd_set_qlog_cb(QUIC_FIFD *fifd, QLOG *(*get_qlog_cb)(void *arg),
- void *get_qlog_cb_arg)
+ void *get_qlog_cb_arg)
{
- fifd->get_qlog_cb = get_qlog_cb;
- fifd->get_qlog_cb_arg = get_qlog_cb_arg;
+ fifd->get_qlog_cb = get_qlog_cb;
+ fifd->get_qlog_cb_arg = get_qlog_cb_arg;
}
diff --git a/crypto/openssl/ssl/quic/quic_impl.c b/crypto/openssl/ssl/quic/quic_impl.c
index 0c15ef05236c..a8f9ac92c2a4 100644
--- a/crypto/openssl/ssl/quic/quic_impl.c
+++ b/crypto/openssl/ssl/quic/quic_impl.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -39,7 +39,7 @@ static void qc_update_reject_policy(QUIC_CONNECTION *qc);
static void qc_touch_default_xso(QUIC_CONNECTION *qc);
static void qc_set_default_xso(QUIC_CONNECTION *qc, QUIC_XSO *xso, int touch);
static void qc_set_default_xso_keep_ref(QUIC_CONNECTION *qc, QUIC_XSO *xso,
- int touch, QUIC_XSO **old_xso);
+ int touch, QUIC_XSO **old_xso);
static SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock);
static int quic_validate_for_write(QUIC_XSO *xso, int *err);
static int quic_mutation_allowed(QUIC_CONNECTION *qc, int req_active);
@@ -67,12 +67,12 @@ static int qctx_should_autotick(QCTX *ctx);
* of SSL_get_error.
*/
struct qctx_st {
- QUIC_OBJ *obj;
- QUIC_DOMAIN *qd;
- QUIC_LISTENER *ql;
+ QUIC_OBJ *obj;
+ QUIC_DOMAIN *qd;
+ QUIC_LISTENER *ql;
QUIC_CONNECTION *qc;
- QUIC_XSO *xso;
- int is_stream, is_listener, is_domain, in_io;
+ QUIC_XSO *xso;
+ int is_stream, is_listener, is_domain, in_io;
};
QUIC_NEEDS_LOCK
@@ -94,7 +94,7 @@ static void quic_set_last_error(QCTX *ctx, int last_error)
*/
QUIC_NEEDS_LOCK
static int quic_raise_normal_error(QCTX *ctx,
- int err)
+ int err)
{
assert(ctx->in_io);
quic_set_last_error(ctx, err);
@@ -114,12 +114,12 @@ static int quic_raise_normal_error(QCTX *ctx,
* ctx should be NULL if the connection lock is not held.
*/
static int quic_raise_non_normal_error(QCTX *ctx,
- const char *file,
- int line,
- const char *func,
- int reason,
- const char *fmt,
- ...)
+ const char *file,
+ int line,
+ const char *func,
+ int reason,
+ const char *fmt,
+ ...)
{
va_list args;
@@ -140,15 +140,15 @@ static int quic_raise_non_normal_error(QCTX *ctx,
return 0;
}
-#define QUIC_RAISE_NORMAL_ERROR(ctx, err) \
+#define QUIC_RAISE_NORMAL_ERROR(ctx, err) \
quic_raise_normal_error((ctx), (err))
-#define QUIC_RAISE_NON_NORMAL_ERROR(ctx, reason, msg) \
- quic_raise_non_normal_error((ctx), \
- OPENSSL_FILE, OPENSSL_LINE, \
- OPENSSL_FUNC, \
- (reason), \
- (msg))
+#define QUIC_RAISE_NON_NORMAL_ERROR(ctx, reason, msg) \
+ quic_raise_non_normal_error((ctx), \
+ OPENSSL_FILE, OPENSSL_LINE, \
+ OPENSSL_FUNC, \
+ (reason), \
+ (msg))
/*
* Flags for expect_quic_as:
*
@@ -191,15 +191,15 @@ static int quic_raise_non_normal_error(QCTX *ctx,
* conjunction with any flags that may raise errors not related to a wrong
* object type.
*/
-#define QCTX_C (1U << 0)
-#define QCTX_S (1U << 1)
-#define QCTX_L (1U << 2)
-#define QCTX_AUTO_S (1U << 3)
-#define QCTX_REMOTE_INIT (1U << 4)
-#define QCTX_LOCK (1U << 5)
-#define QCTX_IO (1U << 6)
-#define QCTX_D (1U << 7)
-#define QCTX_NO_ERROR (1U << 8)
+#define QCTX_C (1U << 0)
+#define QCTX_S (1U << 1)
+#define QCTX_L (1U << 2)
+#define QCTX_AUTO_S (1U << 3)
+#define QCTX_REMOTE_INIT (1U << 4)
+#define QCTX_LOCK (1U << 5)
+#define QCTX_IO (1U << 6)
+#define QCTX_D (1U << 7)
+#define QCTX_NO_ERROR (1U << 8)
/*
* Called when expect_quic failed. Used to diagnose why such a call failed and
@@ -219,7 +219,7 @@ static int wrong_type(const SSL *s, uint32_t flags)
else if ((flags & mask) == QCTX_C)
code = SSL_R_CONN_USE_ONLY;
else if ((flags & mask) == QCTX_S
- || (flags & mask) == (QCTX_C | QCTX_S))
+ || (flags & mask) == (QCTX_C | QCTX_S))
code = SSL_R_NO_STREAM;
return QUIC_RAISE_NON_NORMAL_ERROR(NULL, code, NULL);
@@ -263,15 +263,15 @@ static int expect_quic_as(const SSL *s, QCTX *ctx, uint32_t flags)
if ((flags & QCTX_AUTO_S) != 0)
flags |= QCTX_S;
- ctx->obj = NULL;
- ctx->qd = NULL;
- ctx->ql = NULL;
- ctx->qc = NULL;
- ctx->xso = NULL;
- ctx->is_stream = 0;
- ctx->is_listener = 0;
- ctx->is_domain = 0;
- ctx->in_io = ((flags & QCTX_IO) != 0);
+ ctx->obj = NULL;
+ ctx->qd = NULL;
+ ctx->ql = NULL;
+ ctx->qc = NULL;
+ ctx->xso = NULL;
+ ctx->is_stream = 0;
+ ctx->is_listener = 0;
+ ctx->is_domain = 0;
+ ctx->in_io = ((flags & QCTX_IO) != 0);
if (s == NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_PASSED_NULL_PARAMETER, NULL);
@@ -285,10 +285,10 @@ static int expect_quic_as(const SSL *s, QCTX *ctx, uint32_t flags)
goto err;
}
- qd = (QUIC_DOMAIN *)s;
- ctx->obj = &qd->obj;
- ctx->qd = qd;
- ctx->is_domain = 1;
+ qd = (QUIC_DOMAIN *)s;
+ ctx->obj = &qd->obj;
+ ctx->qd = qd;
+ ctx->is_domain = 1;
break;
case SSL_TYPE_QUIC_LISTENER:
@@ -297,19 +297,19 @@ static int expect_quic_as(const SSL *s, QCTX *ctx, uint32_t flags)
goto err;
}
- ql = (QUIC_LISTENER *)s;
- ctx->obj = &ql->obj;
- ctx->qd = ql->domain;
- ctx->ql = ql;
- ctx->is_listener = 1;
+ ql = (QUIC_LISTENER *)s;
+ ctx->obj = &ql->obj;
+ ctx->qd = ql->domain;
+ ctx->ql = ql;
+ ctx->is_listener = 1;
break;
case SSL_TYPE_QUIC_CONNECTION:
- qc = (QUIC_CONNECTION *)s;
- ctx->obj = &qc->obj;
- ctx->qd = qc->domain;
- ctx->ql = qc->listener; /* never changes, so can be read without lock */
- ctx->qc = qc;
+ qc = (QUIC_CONNECTION *)s;
+ ctx->obj = &qc->obj;
+ ctx->qd = qc->domain;
+ ctx->ql = qc->listener; /* never changes, so can be read without lock */
+ ctx->qc = qc;
if ((flags & QCTX_AUTO_S) != 0) {
if ((flags & QCTX_IO) != 0)
@@ -346,7 +346,7 @@ static int expect_quic_as(const SSL *s, QCTX *ctx, uint32_t flags)
goto err;
}
- ctx->xso = qc->default_xso;
+ ctx->xso = qc->default_xso;
break;
case SSL_TYPE_QUIC_XSO:
@@ -355,13 +355,13 @@ static int expect_quic_as(const SSL *s, QCTX *ctx, uint32_t flags)
goto err;
}
- xso = (QUIC_XSO *)s;
- ctx->obj = &xso->obj;
- ctx->qd = xso->conn->domain;
- ctx->ql = xso->conn->listener;
- ctx->qc = xso->conn;
- ctx->xso = xso;
- ctx->is_stream = 1;
+ xso = (QUIC_XSO *)s;
+ ctx->obj = &xso->obj;
+ ctx->qd = xso->conn->domain;
+ ctx->ql = xso->conn->listener;
+ ctx->qc = xso->conn;
+ ctx->xso = xso;
+ ctx->is_stream = 1;
break;
default:
@@ -444,7 +444,7 @@ static int expect_quic_domain(const SSL *s, QCTX *ctx)
*/
QUIC_ACQUIRES_LOCK
static int ossl_unused expect_quic_with_stream_lock(const SSL *s, int remote_init,
- int in_io, QCTX *ctx)
+ int in_io, QCTX *ctx)
{
uint32_t flags = QCTX_S | QCTX_LOCK;
@@ -546,8 +546,8 @@ static int qctx_blocking(QCTX *ctx)
*/
QUIC_NEEDS_LOCK
static int block_until_pred(QCTX *ctx,
- int (*pred)(void *arg), void *pred_arg,
- uint32_t flags)
+ int (*pred)(void *arg), void *pred_arg,
+ uint32_t flags)
{
QUIC_ENGINE *qeng;
QUIC_REACTOR *rtor;
@@ -631,7 +631,7 @@ SSL *ossl_quic_new(SSL_CTX *ctx)
= ((ctx->domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0);
#endif
- qc->as_server = 0;
+ qc->as_server = 0;
qc->as_server_state = qc->as_server;
if (!create_channel(qc, ctx))
@@ -642,17 +642,17 @@ SSL *ossl_quic_new(SSL_CTX *ctx)
/* Initialise the QUIC_CONNECTION's QUIC_OBJ base. */
if (!ossl_quic_obj_init(&qc->obj, ctx, SSL_TYPE_QUIC_CONNECTION, NULL,
- qc->engine, qc->port)) {
+ qc->engine, qc->port)) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
goto err;
}
/* Initialise libssl APL-related state. */
- qc->default_stream_mode = SSL_DEFAULT_STREAM_MODE_AUTO_BIDI;
- qc->default_ssl_mode = qc->obj.ssl.ctx->mode;
- qc->default_ssl_options = qc->obj.ssl.ctx->options & OSSL_QUIC_PERMITTED_OPTIONS;
- qc->incoming_stream_policy = SSL_INCOMING_STREAM_POLICY_AUTO;
- qc->last_error = SSL_ERROR_NONE;
+ qc->default_stream_mode = SSL_DEFAULT_STREAM_MODE_AUTO_BIDI;
+ qc->default_ssl_mode = qc->obj.ssl.ctx->mode;
+ qc->default_ssl_options = qc->obj.ssl.ctx->options & OSSL_QUIC_PERMITTED_OPTIONS;
+ qc->incoming_stream_policy = SSL_INCOMING_STREAM_POLICY_AUTO;
+ qc->last_error = SSL_ERROR_NONE;
qc_update_reject_policy(qc);
@@ -778,22 +778,22 @@ void ossl_quic_free(SSL *s)
--ctx.qc->num_xso;
/* If a stream's send part has not been finished, auto-reset it. */
- if (( ctx.xso->stream->send_state == QUIC_SSTREAM_STATE_READY
- || ctx.xso->stream->send_state == QUIC_SSTREAM_STATE_SEND)
+ if ((ctx.xso->stream->send_state == QUIC_SSTREAM_STATE_READY
+ || ctx.xso->stream->send_state == QUIC_SSTREAM_STATE_SEND)
&& !ossl_quic_sstream_get_final_size(ctx.xso->stream->sstream, NULL))
ossl_quic_stream_map_reset_stream_send_part(ossl_quic_channel_get_qsm(ctx.qc->ch),
- ctx.xso->stream, 0);
+ ctx.xso->stream, 0);
/* Do STOP_SENDING for the receive part, if applicable. */
- if ( ctx.xso->stream->recv_state == QUIC_RSTREAM_STATE_RECV
+ if (ctx.xso->stream->recv_state == QUIC_RSTREAM_STATE_RECV
|| ctx.xso->stream->recv_state == QUIC_RSTREAM_STATE_SIZE_KNOWN)
ossl_quic_stream_map_stop_sending_recv_part(ossl_quic_channel_get_qsm(ctx.qc->ch),
- ctx.xso->stream, 0);
+ ctx.xso->stream, 0);
/* Update stream state. */
ctx.xso->stream->deleted = 1;
ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(ctx.qc->ch),
- ctx.xso->stream);
+ ctx.xso->stream);
is_default = (ctx.xso == ctx.qc->default_xso);
qctx_unlock(&ctx);
@@ -886,8 +886,8 @@ int ossl_quic_clear(SSL *s)
}
int ossl_quic_set_override_now_cb(SSL *s,
- OSSL_TIME (*now_cb)(void *arg),
- void *now_cb_arg)
+ OSSL_TIME (*now_cb)(void *arg),
+ void *now_cb_arg)
{
QCTX ctx;
@@ -928,8 +928,8 @@ static void qc_touch_default_xso(QUIC_CONNECTION *qc)
*/
QUIC_NEEDS_LOCK
static void qc_set_default_xso_keep_ref(QUIC_CONNECTION *qc, QUIC_XSO *xso,
- int touch,
- QUIC_XSO **old_xso)
+ int touch,
+ QUIC_XSO **old_xso)
{
int refs;
@@ -1024,7 +1024,7 @@ static uint64_t quic_mask_or_options(SSL *ssl, uint64_t mask_value, uint64_t or_
* changes.
*/
hs_mask_value = (mask_value & OSSL_QUIC_PERMITTED_OPTIONS_CONN);
- hs_or_value = (or_value & OSSL_QUIC_PERMITTED_OPTIONS_CONN);
+ hs_or_value = (or_value & OSSL_QUIC_PERMITTED_OPTIONS_CONN);
SSL_clear_options(ctx.qc->tls, hs_mask_value);
SSL_set_options(ctx.qc->tls, hs_or_value);
@@ -1032,7 +1032,7 @@ static uint64_t quic_mask_or_options(SSL *ssl, uint64_t mask_value, uint64_t or_
/* Update defaults for new streams. */
ctx.qc->default_ssl_options
= ((ctx.qc->default_ssl_options & ~mask_value) | or_value)
- & OSSL_QUIC_PERMITTED_OPTIONS;
+ & OSSL_QUIC_PERMITTED_OPTIONS;
}
ret = ctx.qc->default_ssl_options;
@@ -1280,7 +1280,7 @@ out:
}
int ossl_quic_conn_set_initial_peer_addr(SSL *s,
- const BIO_ADDR *peer_addr)
+ const BIO_ADDR *peer_addr)
{
QCTX ctx;
@@ -1289,7 +1289,7 @@ int ossl_quic_conn_set_initial_peer_addr(SSL *s,
if (ctx.qc->started)
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED,
- NULL);
+ NULL);
if (peer_addr == NULL) {
BIO_ADDR_clear(&ctx.qc->init_peer_addr);
@@ -1355,7 +1355,7 @@ int ossl_quic_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite)
* Robustness against faulty applications that don't check *is_infinite;
* harmless long timeout.
*/
- tv->tv_sec = 1000000;
+ tv->tv_sec = 1000000;
tv->tv_usec = 0;
return 1;
}
@@ -1384,7 +1384,7 @@ int ossl_quic_get_rpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc)
net_rbio = ossl_quic_port_get_net_rbio(port);
if (desc == NULL || net_rbio == NULL)
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_PASSED_INVALID_ARGUMENT,
- NULL);
+ NULL);
return BIO_get_rpoll_descriptor(net_rbio, desc);
}
@@ -1403,7 +1403,7 @@ int ossl_quic_get_wpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc)
net_wbio = ossl_quic_port_get_net_wbio(port);
if (desc == NULL || net_wbio == NULL)
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_PASSED_INVALID_ARGUMENT,
- NULL);
+ NULL);
return BIO_get_wpoll_descriptor(net_wbio, desc);
}
@@ -1503,8 +1503,8 @@ static int quic_shutdown_peer_wait(void *arg)
QUIC_TAKES_LOCK
int ossl_quic_conn_shutdown(SSL *s, uint64_t flags,
- const SSL_SHUTDOWN_EX_ARGS *args,
- size_t args_len)
+ const SSL_SHUTDOWN_EX_ARGS *args,
+ size_t args_len)
{
int ret;
QCTX ctx;
@@ -1580,8 +1580,8 @@ int ossl_quic_conn_shutdown(SSL *s, uint64_t flags,
* affect the wait_peer case.
*/
ossl_quic_channel_local_close(ctx.qc->ch,
- args != NULL ? args->quic_error_code : 0,
- args != NULL ? args->quic_reason : NULL);
+ args != NULL ? args->quic_error_code : 0,
+ args != NULL ? args->quic_reason : NULL);
SSL_set_shutdown(ctx.qc->tls, SSL_SENT_SHUTDOWN);
@@ -1662,14 +1662,14 @@ long ossl_quic_ctrl(SSL *s, int cmd, long larg, void *parg)
return SSL_ctrl(ctx.qc->tls, cmd, larg, parg);
case DTLS_CTRL_GET_TIMEOUT: /* DTLSv1_get_timeout */
- {
- int is_infinite;
+ {
+ int is_infinite;
- if (!ossl_quic_get_event_timeout(s, parg, &is_infinite))
- return 0;
+ if (!ossl_quic_get_event_timeout(s, parg, &is_infinite))
+ return 0;
- return !is_infinite;
- }
+ return !is_infinite;
+ }
case DTLS_CTRL_HANDLE_TIMEOUT: /* DTLSv1_handle_timeout */
/* For legacy compatibility with DTLS calls. */
return ossl_quic_handle_events(s) == 1 ? 1 : -1;
@@ -1744,7 +1744,7 @@ int ossl_quic_set_accept_state(SSL *s, int raiseerrs)
/* SSL_do_handshake */
struct quic_handshake_wait_args {
- QUIC_CONNECTION *qc;
+ QUIC_CONNECTION *qc;
};
static int tls_wants_non_io_retry(QUIC_CONNECTION *qc)
@@ -1752,8 +1752,8 @@ static int tls_wants_non_io_retry(QUIC_CONNECTION *qc)
int want = SSL_want(qc->tls);
if (want == SSL_X509_LOOKUP
- || want == SSL_CLIENT_HELLO_CB
- || want == SSL_RETRY_VERIFY)
+ || want == SSL_CLIENT_HELLO_CB
+ || want == SSL_RETRY_VERIFY)
return 1;
return 0;
@@ -1795,13 +1795,13 @@ static int need_notifier_for_domain_flags(uint64_t domain_flags)
QUIC_NEEDS_LOCK
static int create_channel(QUIC_CONNECTION *qc, SSL_CTX *ctx)
{
- QUIC_ENGINE_ARGS engine_args = {0};
- QUIC_PORT_ARGS port_args = {0};
+ QUIC_ENGINE_ARGS engine_args = { 0 };
+ QUIC_PORT_ARGS port_args = { 0 };
- engine_args.libctx = ctx->libctx;
- engine_args.propq = ctx->propq;
+ engine_args.libctx = ctx->libctx;
+ engine_args.propq = ctx->propq;
#if defined(OPENSSL_THREADS)
- engine_args.mutex = qc->mutex;
+ engine_args.mutex = qc->mutex;
#endif
if (need_notifier_for_domain_flags(ctx->domain_flags))
@@ -1844,14 +1844,14 @@ static int ensure_channel_started(QCTX *ctx)
if (!qc->started) {
if (!configure_channel(qc)) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR,
- "failed to configure channel");
+ "failed to configure channel");
return 0;
}
if (!ossl_quic_channel_start(qc->ch)) {
ossl_quic_channel_restore_err_state(qc->ch);
QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR,
- "failed to start channel");
+ "failed to start channel");
return 0;
}
@@ -1859,7 +1859,7 @@ static int ensure_channel_started(QCTX *ctx)
if (qc->is_thread_assisted)
if (!ossl_quic_thread_assist_init_start(&qc->thread_assist, qc->ch)) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR,
- "failed to start assist thread");
+ "failed to start assist thread");
return 0;
}
#endif
@@ -1971,7 +1971,7 @@ static int quic_do_handshake(QCTX *ctx)
/* In blocking mode, wait for the handshake to complete. */
struct quic_handshake_wait_args args;
- args.qc = qc;
+ args.qc = qc;
ret = block_until_pred(ctx, quic_handshake_wait, &args, 0);
if (!quic_mutation_allowed(qc, /*req_active=*/1)) {
@@ -2074,8 +2074,8 @@ static int qc_try_create_default_xso_for_write(QCTX *ctx)
flags |= SSL_STREAM_FLAG_UNI;
qc_set_default_xso(qc, (QUIC_XSO *)quic_conn_stream_new(ctx, flags,
- /*needs_lock=*/0),
- /*touch=*/0);
+ /*needs_lock=*/0),
+ /*touch=*/0);
if (qc->default_xso == NULL)
return QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
@@ -2085,9 +2085,9 @@ static int qc_try_create_default_xso_for_write(QCTX *ctx)
struct quic_wait_for_stream_args {
QUIC_CONNECTION *qc;
- QUIC_STREAM *qs;
- QCTX *ctx;
- uint64_t expect_id;
+ QUIC_STREAM *qs;
+ QCTX *ctx;
+ uint64_t expect_id;
};
QUIC_NEEDS_LOCK
@@ -2102,10 +2102,10 @@ static int quic_wait_for_stream(void *arg)
}
args->qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(args->qc->ch),
- args->expect_id | QUIC_STREAM_DIR_BIDI);
+ args->expect_id | QUIC_STREAM_DIR_BIDI);
if (args->qs == NULL)
args->qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(args->qc->ch),
- args->expect_id | QUIC_STREAM_DIR_UNI);
+ args->expect_id | QUIC_STREAM_DIR_UNI);
if (args->qs != NULL)
return 1; /* stream now exists */
@@ -2143,16 +2143,16 @@ static int qc_wait_for_default_xso_for_read(QCTX *ctx, int peek)
: QUIC_STREAM_INITIATOR_SERVER;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(qc->ch),
- expect_id | QUIC_STREAM_DIR_BIDI);
+ expect_id | QUIC_STREAM_DIR_BIDI);
if (qs == NULL)
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(qc->ch),
- expect_id | QUIC_STREAM_DIR_UNI);
+ expect_id | QUIC_STREAM_DIR_UNI);
if (qs == NULL) {
qctx_maybe_autotick(ctx);
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(qc->ch),
- expect_id);
+ expect_id);
}
if (qs == NULL) {
@@ -2167,9 +2167,9 @@ static int qc_wait_for_default_xso_for_read(QCTX *ctx, int peek)
}
/* Block until we have a stream. */
- wargs.qc = qc;
- wargs.qs = NULL;
- wargs.ctx = ctx;
+ wargs.qc = qc;
+ wargs.qs = NULL;
+ wargs.ctx = ctx;
wargs.expect_id = expect_id;
res = block_until_pred(ctx, quic_wait_for_stream, &wargs, 0);
@@ -2188,7 +2188,7 @@ static int qc_wait_for_default_xso_for_read(QCTX *ctx, int peek)
*/
ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(qc->ch), &rtt_info);
ossl_quic_stream_map_remove_from_accept_queue(ossl_quic_channel_get_qsm(qc->ch),
- qs, rtt_info.smoothed_rtt);
+ qs, rtt_info.smoothed_rtt);
/*
* Now make qs the default stream, creating the necessary XSO.
@@ -2212,7 +2212,7 @@ static QUIC_XSO *create_xso_from_stream(QUIC_CONNECTION *qc, QUIC_STREAM *qs)
}
if (!ossl_quic_obj_init(&xso->obj, qc->obj.ssl.ctx, SSL_TYPE_QUIC_XSO,
- &qc->obj.ssl, NULL, NULL)) {
+ &qc->obj.ssl, NULL, NULL)) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
goto err;
}
@@ -2223,13 +2223,13 @@ static QUIC_XSO *create_xso_from_stream(QUIC_CONNECTION *qc, QUIC_STREAM *qs)
goto err;
}
- xso->conn = qc;
- xso->ssl_mode = qc->default_ssl_mode;
+ xso->conn = qc;
+ xso->ssl_mode = qc->default_ssl_mode;
xso->ssl_options
= qc->default_ssl_options & OSSL_QUIC_PERMITTED_OPTIONS_STREAM;
xso->last_error = SSL_ERROR_NONE;
- xso->stream = qs;
+ xso->stream = qs;
++qc->num_xso;
xso_update_options(xso);
@@ -2291,7 +2291,7 @@ static SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock)
goto err;
}
- args.qc = qc;
+ args.qc = qc;
args.is_uni = is_uni;
/* Blocking mode - wait until we can get a stream. */
@@ -2328,7 +2328,6 @@ err:
qctx_unlock(ctx);
return NULL;
-
}
QUIC_TAKES_LOCK
@@ -2388,7 +2387,7 @@ static int error_to_want(int error)
{
switch (error) {
case SSL_ERROR_WANT_CONNECT: /* never used - UDP is connectionless */
- case SSL_ERROR_WANT_ACCEPT: /* never used - UDP is connectionless */
+ case SSL_ERROR_WANT_ACCEPT: /* never used - UDP is connectionless */
case SSL_ERROR_ZERO_RETURN:
default:
return SSL_NOTHING;
@@ -2444,8 +2443,8 @@ int ossl_quic_want(const SSL *s)
*/
QUIC_NEEDS_LOCK
static void quic_post_write(QUIC_XSO *xso, int did_append,
- int did_append_all, uint64_t flags,
- int do_tick)
+ int did_append_all, uint64_t flags,
+ int do_tick)
{
/*
* We have appended at least one byte to the stream.
@@ -2453,7 +2452,7 @@ static void quic_post_write(QUIC_XSO *xso, int did_append,
*/
if (did_append)
ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(xso->conn->ch),
- xso->stream);
+ xso->stream);
if (did_append_all && (flags & SSL_WRITE_FLAG_CONCLUDE) != 0)
ossl_quic_sstream_fin(xso->stream->sstream);
@@ -2469,12 +2468,12 @@ static void quic_post_write(QUIC_XSO *xso, int did_append,
}
struct quic_write_again_args {
- QUIC_XSO *xso;
+ QUIC_XSO *xso;
const unsigned char *buf;
- size_t len;
- size_t total_written;
- int err;
- uint64_t flags;
+ size_t len;
+ size_t total_written;
+ int err;
+ uint64_t flags;
};
/*
@@ -2482,7 +2481,7 @@ struct quic_write_again_args {
* deliberately inducing DoS. This has been chosen based on the optimal buffer
* size for an RTT of 500ms and a bandwidth of 100 Mb/s.
*/
-#define MAX_WRITE_BUF_SIZE (6 * 1024 * 1024)
+#define MAX_WRITE_BUF_SIZE (6 * 1024 * 1024)
/*
* Ensure spare buffer space available (up until a limit, at least).
@@ -2513,7 +2512,7 @@ static int sstream_ensure_spare(QUIC_SSTREAM *sstream, uint64_t spare)
*/
QUIC_NEEDS_LOCK
static int xso_sstream_append(QUIC_XSO *xso, const unsigned char *buf,
- size_t len, size_t *actual_written)
+ size_t len, size_t *actual_written)
{
QUIC_SSTREAM *sstream = xso->stream->sstream;
uint64_t cur = ossl_quic_sstream_get_cur_size(sstream);
@@ -2551,10 +2550,10 @@ static int quic_write_again(void *arg)
return -2;
quic_post_write(args->xso, actual_written > 0,
- args->len == actual_written, args->flags, 0);
+ args->len == actual_written, args->flags, 0);
- args->buf += actual_written;
- args->len -= actual_written;
+ args->buf += actual_written;
+ args->len -= actual_written;
args->total_written += actual_written;
if (args->len == 0)
@@ -2567,7 +2566,7 @@ static int quic_write_again(void *arg)
QUIC_NEEDS_LOCK
static int quic_write_blocking(QCTX *ctx, const void *buf, size_t len,
- uint64_t flags, size_t *written)
+ uint64_t flags, size_t *written)
{
int res;
QUIC_XSO *xso = ctx->xso;
@@ -2598,12 +2597,12 @@ static int quic_write_blocking(QCTX *ctx, const void *buf, size_t len,
* buffer has probably filled up. This means we need to block until some of
* it is freed up.
*/
- args.xso = xso;
- args.buf = (const unsigned char *)buf + actual_written;
- args.len = len - actual_written;
- args.total_written = 0;
- args.err = ERR_R_INTERNAL_ERROR;
- args.flags = flags;
+ args.xso = xso;
+ args.buf = (const unsigned char *)buf + actual_written;
+ args.len = len - actual_written;
+ args.total_written = 0;
+ args.err = ERR_R_INTERNAL_ERROR;
+ args.flags = flags;
res = block_until_pred(ctx, quic_write_again, &args, 0);
if (res <= 0) {
@@ -2629,28 +2628,28 @@ static int quic_write_blocking(QCTX *ctx, const void *buf, size_t len,
* write semantics.
*/
static void aon_write_begin(QUIC_XSO *xso, const unsigned char *buf,
- size_t buf_len, size_t already_sent)
+ size_t buf_len, size_t already_sent)
{
assert(!xso->aon_write_in_progress);
xso->aon_write_in_progress = 1;
- xso->aon_buf_base = buf;
- xso->aon_buf_pos = already_sent;
- xso->aon_buf_len = buf_len;
+ xso->aon_buf_base = buf;
+ xso->aon_buf_pos = already_sent;
+ xso->aon_buf_len = buf_len;
}
static void aon_write_finish(QUIC_XSO *xso)
{
- xso->aon_write_in_progress = 0;
- xso->aon_buf_base = NULL;
- xso->aon_buf_pos = 0;
- xso->aon_buf_len = 0;
+ xso->aon_write_in_progress = 0;
+ xso->aon_buf_base = NULL;
+ xso->aon_buf_pos = 0;
+ xso->aon_buf_len = 0;
}
QUIC_NEEDS_LOCK
static int quic_write_nonblocking_aon(QCTX *ctx, const void *buf,
- size_t len, uint64_t flags,
- size_t *written)
+ size_t len, uint64_t flags,
+ size_t *written)
{
QUIC_XSO *xso = ctx->xso;
const void *actual_buf;
@@ -2688,7 +2687,7 @@ static int quic_write_nonblocking_aon(QCTX *ctx, const void *buf,
}
quic_post_write(xso, actual_written > 0, actual_written == actual_len,
- flags, qctx_should_autotick(ctx));
+ flags, qctx_should_autotick(ctx));
if (actual_written == actual_len) {
/* We have sent everything. */
@@ -2738,7 +2737,7 @@ static int quic_write_nonblocking_aon(QCTX *ctx, const void *buf,
QUIC_NEEDS_LOCK
static int quic_write_nonblocking_epw(QCTX *ctx, const void *buf, size_t len,
- uint64_t flags, size_t *written)
+ uint64_t flags, size_t *written)
{
QUIC_XSO *xso = ctx->xso;
@@ -2750,7 +2749,7 @@ static int quic_write_nonblocking_epw(QCTX *ctx, const void *buf, size_t len,
}
quic_post_write(xso, *written > 0, *written == len, flags,
- qctx_should_autotick(ctx));
+ qctx_should_autotick(ctx));
if (*written == 0)
/* SSL_write_ex returns 0 if it didn't write anything. */
@@ -2805,7 +2804,7 @@ static int quic_validate_for_write(QUIC_XSO *xso, int *err)
QUIC_TAKES_LOCK
int ossl_quic_write_flags(SSL *s, const void *buf, size_t len,
- uint64_t flags, size_t *written)
+ uint64_t flags, size_t *written)
{
int ret;
QCTX ctx;
@@ -2825,7 +2824,8 @@ int ossl_quic_write_flags(SSL *s, const void *buf, size_t len,
}
partial_write = ((ctx.xso != NULL)
- ? ((ctx.xso->ssl_mode & SSL_MODE_ENABLE_PARTIAL_WRITE) != 0) : 0);
+ ? ((ctx.xso->ssl_mode & SSL_MODE_ENABLE_PARTIAL_WRITE) != 0)
+ : 0);
if ((flags & ~SSL_WRITE_FLAG_CONCLUDE) != 0) {
ret = QUIC_RAISE_NON_NORMAL_ERROR(&ctx, SSL_R_UNSUPPORTED_WRITE_FLAG, NULL);
@@ -2855,7 +2855,7 @@ int ossl_quic_write_flags(SSL *s, const void *buf, size_t len,
if (len == 0) {
if ((flags & SSL_WRITE_FLAG_CONCLUDE) != 0)
quic_post_write(ctx.xso, 0, 1, flags,
- qctx_should_autotick(&ctx));
+ qctx_should_autotick(&ctx));
ret = 1;
goto out;
@@ -2884,12 +2884,12 @@ int ossl_quic_write(SSL *s, const void *buf, size_t len, size_t *written)
* --------
*/
struct quic_read_again_args {
- QCTX *ctx;
- QUIC_STREAM *stream;
- void *buf;
- size_t len;
- size_t *bytes_read;
- int peek;
+ QCTX *ctx;
+ QUIC_STREAM *stream;
+ void *buf;
+ size_t len;
+ size_t *bytes_read;
+ int peek;
};
QUIC_NEEDS_LOCK
@@ -2932,10 +2932,10 @@ static int quic_validate_for_read(QUIC_XSO *xso, int *err, int *eos)
QUIC_NEEDS_LOCK
static int quic_read_actual(QCTX *ctx,
- QUIC_STREAM *stream,
- void *buf, size_t buf_len,
- size_t *bytes_read,
- int peek)
+ QUIC_STREAM *stream,
+ void *buf, size_t buf_len,
+ size_t *bytes_read,
+ int peek)
{
int is_fin = 0, err, eos;
QUIC_CONNECTION *qc = ctx->qc;
@@ -2951,12 +2951,12 @@ static int quic_read_actual(QCTX *ctx,
if (peek) {
if (!ossl_quic_rstream_peek(stream->rstream, buf, buf_len,
- bytes_read, &is_fin))
+ bytes_read, &is_fin))
return QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
} else {
if (!ossl_quic_rstream_read(stream->rstream, buf, buf_len,
- bytes_read, &is_fin))
+ bytes_read, &is_fin))
return QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
}
@@ -2973,7 +2973,7 @@ static int quic_read_actual(QCTX *ctx,
ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(qc->ch), &rtt_info);
if (!ossl_quic_rxfc_on_retire(&stream->rxfc, *bytes_read,
- rtt_info.smoothed_rtt))
+ rtt_info.smoothed_rtt))
return QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_INTERNAL_ERROR, NULL);
}
@@ -2985,7 +2985,7 @@ static int quic_read_actual(QCTX *ctx,
if (*bytes_read > 0)
ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(qc->ch),
- stream);
+ stream);
}
if (*bytes_read == 0 && is_fin) {
@@ -3008,8 +3008,8 @@ static int quic_read_again(void *arg)
}
if (!quic_read_actual(args->ctx, args->stream,
- args->buf, args->len, args->bytes_read,
- args->peek))
+ args->buf, args->len, args->bytes_read,
+ args->peek))
return -1;
if (*args->bytes_read > 0)
@@ -3077,12 +3077,12 @@ static int quic_read(SSL *s, void *buf, size_t len, size_t *bytes_read, int peek
* buffer is empty. This means we need to block until we get
* at least one byte.
*/
- args.ctx = &ctx;
- args.stream = ctx.xso->stream;
- args.buf = buf;
- args.len = len;
+ args.ctx = &ctx;
+ args.stream = ctx.xso->stream;
+ args.buf = buf;
+ args.len = len;
args.bytes_read = bytes_read;
- args.peek = peek;
+ args.peek = peek;
res = block_until_pred(&ctx, quic_read_again, &args, 0);
if (res == 0) {
@@ -3164,12 +3164,12 @@ static size_t ossl_quic_pending_int(const SSL *s, int check_channel)
if (check_channel)
avail = ossl_quic_stream_recv_pending(ctx.xso->stream,
- /*include_fin=*/1)
- || ossl_quic_channel_has_pending(ctx.qc->ch)
- || ossl_quic_channel_is_term_any(ctx.qc->ch);
+ /*include_fin=*/1)
+ || ossl_quic_channel_has_pending(ctx.qc->ch)
+ || ossl_quic_channel_is_term_any(ctx.qc->ch);
else
avail = ossl_quic_stream_recv_pending(ctx.xso->stream,
- /*include_fin=*/0);
+ /*include_fin=*/0);
out:
qctx_unlock(&ctx);
@@ -3233,9 +3233,9 @@ int ossl_quic_conn_stream_conclude(SSL *s)
*/
QUIC_TAKES_LOCK
int SSL_inject_net_dgram(SSL *s, const unsigned char *buf,
- size_t buf_len,
- const BIO_ADDR *peer,
- const BIO_ADDR *local)
+ size_t buf_len,
+ const BIO_ADDR *peer,
+ const BIO_ADDR *local)
{
int ret = 0;
QCTX ctx;
@@ -3410,7 +3410,7 @@ int ossl_quic_set_default_stream_mode(SSL *s, uint32_t mode)
if (ctx.qc->default_xso_created) {
qctx_unlock(&ctx);
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED,
- "too late to change default stream mode");
+ "too late to change default stream mode");
}
switch (mode) {
@@ -3422,7 +3422,7 @@ int ossl_quic_set_default_stream_mode(SSL *s, uint32_t mode)
default:
qctx_unlock(&ctx);
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_PASSED_INVALID_ARGUMENT,
- "bad default stream type");
+ "bad default stream type");
}
qctx_unlock(&ctx);
@@ -3469,7 +3469,7 @@ int ossl_quic_attach_stream(SSL *conn, SSL *stream)
if (stream == NULL || stream->type != SSL_TYPE_QUIC_XSO)
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_PASSED_NULL_PARAMETER,
- "stream to attach must be a valid QUIC stream");
+ "stream to attach must be a valid QUIC stream");
xso = (QUIC_XSO *)stream;
@@ -3478,7 +3478,7 @@ int ossl_quic_attach_stream(SSL *conn, SSL *stream)
if (ctx.qc->default_xso != NULL) {
qctx_unlock(&ctx);
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED,
- "connection already has a default stream");
+ "connection already has a default stream");
}
/*
@@ -3488,14 +3488,14 @@ int ossl_quic_attach_stream(SSL *conn, SSL *stream)
if (!CRYPTO_GET_REF(&xso->obj.ssl.references, &nref)) {
qctx_unlock(&ctx);
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_INTERNAL_ERROR,
- "ref");
+ "ref");
}
if (nref != 1) {
qctx_unlock(&ctx);
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx, ERR_R_PASSED_INVALID_ARGUMENT,
- "stream being attached must have "
- "only 1 reference");
+ "stream being attached must have "
+ "only 1 reference");
}
/* Caller's reference to the XSO is transferred to us. */
@@ -3514,15 +3514,15 @@ QUIC_NEEDS_LOCK
static int qc_get_effective_incoming_stream_policy(QUIC_CONNECTION *qc)
{
switch (qc->incoming_stream_policy) {
- case SSL_INCOMING_STREAM_POLICY_AUTO:
- if ((qc->default_xso == NULL && !qc->default_xso_created)
- || qc->default_stream_mode == SSL_DEFAULT_STREAM_MODE_NONE)
- return SSL_INCOMING_STREAM_POLICY_ACCEPT;
- else
- return SSL_INCOMING_STREAM_POLICY_REJECT;
+ case SSL_INCOMING_STREAM_POLICY_AUTO:
+ if ((qc->default_xso == NULL && !qc->default_xso_created)
+ || qc->default_stream_mode == SSL_DEFAULT_STREAM_MODE_NONE)
+ return SSL_INCOMING_STREAM_POLICY_ACCEPT;
+ else
+ return SSL_INCOMING_STREAM_POLICY_REJECT;
- default:
- return qc->incoming_stream_policy;
+ default:
+ return qc->incoming_stream_policy;
}
}
@@ -3533,13 +3533,13 @@ static void qc_update_reject_policy(QUIC_CONNECTION *qc)
int enable_reject = (policy == SSL_INCOMING_STREAM_POLICY_REJECT);
ossl_quic_channel_set_incoming_stream_auto_reject(qc->ch,
- enable_reject,
- qc->incoming_stream_aec);
+ enable_reject,
+ qc->incoming_stream_aec);
}
QUIC_TAKES_LOCK
int ossl_quic_set_incoming_stream_policy(SSL *s, int policy,
- uint64_t aec)
+ uint64_t aec)
{
int ret = 1;
QCTX ctx;
@@ -3554,7 +3554,7 @@ int ossl_quic_set_incoming_stream_policy(SSL *s, int policy,
case SSL_INCOMING_STREAM_POLICY_ACCEPT:
case SSL_INCOMING_STREAM_POLICY_REJECT:
ctx.qc->incoming_stream_policy = policy;
- ctx.qc->incoming_stream_aec = aec;
+ ctx.qc->incoming_stream_aec = aec;
break;
default:
@@ -3574,7 +3574,7 @@ int ossl_quic_set_incoming_stream_policy(SSL *s, int policy,
*/
QUIC_TAKES_LOCK
static int qc_getset_idle_timeout(QCTX *ctx, uint32_t class_,
- uint64_t *p_value_out, uint64_t *p_value_in)
+ uint64_t *p_value_out, uint64_t *p_value_in)
{
int ret = 0;
uint64_t value_out = 0, value_in;
@@ -3589,13 +3589,13 @@ static int qc_getset_idle_timeout(QCTX *ctx, uint32_t class_,
value_in = *p_value_in;
if (value_in > OSSL_QUIC_VLINT_MAX) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_PASSED_INVALID_ARGUMENT,
- NULL);
+ NULL);
goto err;
}
if (ossl_quic_channel_have_generated_transport_params(ctx->qc->ch)) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_FEATURE_NOT_RENEGOTIABLE,
- NULL);
+ NULL);
goto err;
}
@@ -3607,13 +3607,13 @@ static int qc_getset_idle_timeout(QCTX *ctx, uint32_t class_,
case SSL_VALUE_CLASS_FEATURE_NEGOTIATED:
if (p_value_in != NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_UNSUPPORTED_CONFIG_VALUE_OP,
- NULL);
+ NULL);
goto err;
}
if (!ossl_quic_channel_is_handshake_complete(ctx->qc->ch)) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE,
- NULL);
+ NULL);
goto err;
}
@@ -3624,7 +3624,7 @@ static int qc_getset_idle_timeout(QCTX *ctx, uint32_t class_,
default:
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS,
- NULL);
+ NULL);
goto err;
}
@@ -3639,14 +3639,14 @@ err:
QUIC_TAKES_LOCK
static int qc_get_stream_avail(QCTX *ctx, uint32_t class_,
- int is_uni, int is_remote,
- uint64_t *value)
+ int is_uni, int is_remote,
+ uint64_t *value)
{
int ret = 0;
if (class_ != SSL_VALUE_CLASS_GENERIC) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS,
- NULL);
+ NULL);
return 0;
}
@@ -3668,7 +3668,9 @@ static int qctx_should_autotick(QCTX *ctx)
QUIC_OBJ *obj = ctx->obj;
for (; (event_handling_mode = obj->event_handling_mode) == SSL_VALUE_EVENT_HANDLING_MODE_INHERIT
- && obj->parent_obj != NULL; obj = obj->parent_obj);
+ && obj->parent_obj != NULL;
+ obj = obj->parent_obj)
+ ;
return event_handling_mode != SSL_VALUE_EVENT_HANDLING_MODE_EXPLICIT;
}
@@ -3684,8 +3686,8 @@ static void qctx_maybe_autotick(QCTX *ctx)
QUIC_TAKES_LOCK
static int qc_getset_event_handling(QCTX *ctx, uint32_t class_,
- uint64_t *p_value_out,
- uint64_t *p_value_in)
+ uint64_t *p_value_out,
+ uint64_t *p_value_in)
{
int ret = 0;
uint64_t value_out = 0;
@@ -3694,7 +3696,7 @@ static int qc_getset_event_handling(QCTX *ctx, uint32_t class_,
if (class_ != SSL_VALUE_CLASS_GENERIC) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS,
- NULL);
+ NULL);
goto err;
}
@@ -3706,7 +3708,7 @@ static int qc_getset_event_handling(QCTX *ctx, uint32_t class_,
break;
default:
QUIC_RAISE_NON_NORMAL_ERROR(ctx, ERR_R_PASSED_INVALID_ARGUMENT,
- NULL);
+ NULL);
goto err;
}
@@ -3727,8 +3729,8 @@ err:
QUIC_TAKES_LOCK
static int qc_get_stream_write_buf_stat(QCTX *ctx, uint32_t class_,
- uint64_t *p_value_out,
- size_t (*getter)(QUIC_SSTREAM *sstream))
+ uint64_t *p_value_out,
+ size_t (*getter)(QUIC_SSTREAM *sstream))
{
int ret = 0;
size_t value = 0;
@@ -3737,7 +3739,7 @@ static int qc_get_stream_write_buf_stat(QCTX *ctx, uint32_t class_,
if (class_ != SSL_VALUE_CLASS_GENERIC) {
QUIC_RAISE_NON_NORMAL_ERROR(ctx, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS,
- NULL);
+ NULL);
goto err;
}
@@ -3777,7 +3779,7 @@ static int expect_quic_for_value(SSL *s, QCTX *ctx, uint32_t id)
QUIC_TAKES_LOCK
int ossl_quic_get_value_uint(SSL *s, uint32_t class_, uint32_t id,
- uint64_t *value)
+ uint64_t *value)
{
QCTX ctx;
@@ -3786,7 +3788,7 @@ int ossl_quic_get_value_uint(SSL *s, uint32_t class_, uint32_t id,
if (value == NULL)
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx,
- ERR_R_PASSED_INVALID_ARGUMENT, NULL);
+ ERR_R_PASSED_INVALID_ARGUMENT, NULL);
switch (id) {
case SSL_VALUE_QUIC_IDLE_TIMEOUT:
@@ -3806,17 +3808,17 @@ int ossl_quic_get_value_uint(SSL *s, uint32_t class_, uint32_t id,
case SSL_VALUE_STREAM_WRITE_BUF_SIZE:
return qc_get_stream_write_buf_stat(&ctx, class_, value,
- ossl_quic_sstream_get_buffer_size);
+ ossl_quic_sstream_get_buffer_size);
case SSL_VALUE_STREAM_WRITE_BUF_USED:
return qc_get_stream_write_buf_stat(&ctx, class_, value,
- ossl_quic_sstream_get_buffer_used);
+ ossl_quic_sstream_get_buffer_used);
case SSL_VALUE_STREAM_WRITE_BUF_AVAIL:
return qc_get_stream_write_buf_stat(&ctx, class_, value,
- ossl_quic_sstream_get_buffer_avail);
+ ossl_quic_sstream_get_buffer_avail);
default:
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx,
- SSL_R_UNSUPPORTED_CONFIG_VALUE, NULL);
+ SSL_R_UNSUPPORTED_CONFIG_VALUE, NULL);
}
return 1;
@@ -3824,7 +3826,7 @@ int ossl_quic_get_value_uint(SSL *s, uint32_t class_, uint32_t id,
QUIC_TAKES_LOCK
int ossl_quic_set_value_uint(SSL *s, uint32_t class_, uint32_t id,
- uint64_t value)
+ uint64_t value)
{
QCTX ctx;
@@ -3840,7 +3842,7 @@ int ossl_quic_set_value_uint(SSL *s, uint32_t class_, uint32_t id,
default:
return QUIC_RAISE_NON_NORMAL_ERROR(&ctx,
- SSL_R_UNSUPPORTED_CONFIG_VALUE, NULL);
+ SSL_R_UNSUPPORTED_CONFIG_VALUE, NULL);
}
return 1;
@@ -3851,8 +3853,8 @@ int ossl_quic_set_value_uint(SSL *s, uint32_t class_, uint32_t id,
* -----------------
*/
struct wait_for_incoming_stream_args {
- QCTX *ctx;
- QUIC_STREAM *qs;
+ QCTX *ctx;
+ QUIC_STREAM *qs;
};
QUIC_NEEDS_LOCK
@@ -3928,7 +3930,7 @@ SSL *ossl_quic_accept_stream(SSL *s, uint64_t flags)
ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(ctx.qc->ch), &rtt_info);
ossl_quic_stream_map_remove_from_accept_queue(qsm, qs,
- rtt_info.smoothed_rtt);
+ rtt_info.smoothed_rtt);
new_s = &xso->obj.ssl;
/* Calling this function inhibits default XSO autocreation. */
@@ -3965,8 +3967,8 @@ size_t ossl_quic_get_accept_stream_queue_len(SSL *s)
* ----------------
*/
int ossl_quic_stream_reset(SSL *ssl,
- const SSL_STREAM_RESET_ARGS *args,
- size_t args_len)
+ const SSL_STREAM_RESET_ARGS *args,
+ size_t args_len)
{
QCTX ctx;
QUIC_STREAM_MAP *qsm;
@@ -3977,9 +3979,9 @@ int ossl_quic_stream_reset(SSL *ssl,
if (!expect_quic_with_stream_lock(ssl, /*remote_init=*/0, /*io=*/0, &ctx))
return 0;
- qsm = ossl_quic_channel_get_qsm(ctx.qc->ch);
- qs = ctx.xso->stream;
- error_code = (args != NULL ? args->quic_error_code : 0);
+ qsm = ossl_quic_channel_get_qsm(ctx.qc->ch);
+ qs = ctx.xso->stream;
+ error_code = (args != NULL ? args->quic_error_code : 0);
if (!quic_validate_for_write(ctx.xso, &err)) {
ok = QUIC_RAISE_NON_NORMAL_ERROR(&ctx, err, NULL);
@@ -4000,10 +4002,10 @@ err:
* -------------------------
*/
static void quic_classify_stream(QUIC_CONNECTION *qc,
- QUIC_STREAM *qs,
- int is_write,
- int *state,
- uint64_t *app_error_code)
+ QUIC_STREAM *qs,
+ int is_write,
+ int *state,
+ uint64_t *app_error_code)
{
int local_init;
uint64_t final_size;
@@ -4028,26 +4030,25 @@ static void quic_classify_stream(QUIC_CONNECTION *qc,
/* Application has read a FIN. */
*state = SSL_STREAM_STATE_FINISHED;
} else if ((!is_write && qs->stop_sending)
- || (is_write && ossl_quic_stream_send_is_reset(qs))) {
+ || (is_write && ossl_quic_stream_send_is_reset(qs))) {
/*
* Stream has been reset locally. FIN takes precedence over this for the
* read case as the application need not care if the stream is reset
* after a FIN has been successfully processed.
*/
- *state = SSL_STREAM_STATE_RESET_LOCAL;
+ *state = SSL_STREAM_STATE_RESET_LOCAL;
*app_error_code = !is_write
? qs->stop_sending_aec
: qs->reset_stream_aec;
} else if ((!is_write && ossl_quic_stream_recv_is_reset(qs))
- || (is_write && qs->peer_stop_sending)) {
+ || (is_write && qs->peer_stop_sending)) {
/*
* Stream has been reset remotely. */
- *state = SSL_STREAM_STATE_RESET_REMOTE;
+ *state = SSL_STREAM_STATE_RESET_REMOTE;
*app_error_code = !is_write
? qs->peer_reset_stream_aec
: qs->peer_stop_sending_aec;
- } else if (is_write && ossl_quic_sstream_get_final_size(qs->sstream,
- &final_size)) {
+ } else if (is_write && ossl_quic_sstream_get_final_size(qs->sstream, &final_size)) {
/*
* Stream has been finished. Stream reset takes precedence over this for
* the write case as peer may not have received all data.
@@ -4091,7 +4092,7 @@ int ossl_quic_get_stream_write_state(SSL *ssl)
* ------------------------------
*/
static int quic_get_stream_error_code(SSL *ssl, int is_write,
- uint64_t *app_error_code)
+ uint64_t *app_error_code)
{
QCTX ctx;
int state;
@@ -4099,18 +4100,18 @@ static int quic_get_stream_error_code(SSL *ssl, int is_write,
if (!expect_quic_with_stream_lock(ssl, /*remote_init=*/-1, /*io=*/0, &ctx))
return -1;
- quic_classify_stream(ctx.qc, ctx.xso->stream, /*is_write=*/0,
- &state, app_error_code);
+ quic_classify_stream(ctx.qc, ctx.xso->stream, is_write,
+ &state, app_error_code);
qctx_unlock(&ctx);
switch (state) {
- case SSL_STREAM_STATE_FINISHED:
- return 0;
- case SSL_STREAM_STATE_RESET_LOCAL:
- case SSL_STREAM_STATE_RESET_REMOTE:
- return 1;
- default:
- return -1;
+ case SSL_STREAM_STATE_FINISHED:
+ return 0;
+ case SSL_STREAM_STATE_RESET_LOCAL:
+ case SSL_STREAM_STATE_RESET_REMOTE:
+ return 1;
+ default:
+ return -1;
}
}
@@ -4172,8 +4173,8 @@ out:
* -----------------------
*/
int ossl_quic_get_conn_close_info(SSL *ssl,
- SSL_CONN_CLOSE_INFO *info,
- size_t info_len)
+ SSL_CONN_CLOSE_INFO *info,
+ size_t info_len)
{
QCTX ctx;
const QUIC_TERMINATE_CAUSE *tc;
@@ -4185,11 +4186,11 @@ int ossl_quic_get_conn_close_info(SSL *ssl,
if (tc == NULL)
return 0;
- info->error_code = tc->error_code;
- info->frame_type = tc->frame_type;
- info->reason = tc->reason;
- info->reason_len = tc->reason_len;
- info->flags = 0;
+ info->error_code = tc->error_code;
+ info->frame_type = tc->frame_type;
+ info->reason = tc->reason;
+ info->reason_len = tc->reason_len;
+ info->flags = 0;
if (!tc->remote)
info->flags |= SSL_CONN_CLOSE_FLAG_LOCAL;
if (!tc->app)
@@ -4286,8 +4287,8 @@ static SSL *alloc_port_user_ssl(QUIC_CHANNEL *ch, void *arg)
SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
{
QUIC_LISTENER *ql = NULL;
- QUIC_ENGINE_ARGS engine_args = {0};
- QUIC_PORT_ARGS port_args = {0};
+ QUIC_ENGINE_ARGS engine_args = { 0 };
+ QUIC_PORT_ARGS port_args = { 0 };
if ((ql = OPENSSL_zalloc(sizeof(*ql))) == NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_CRYPTO_LIB, NULL);
@@ -4301,10 +4302,10 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
}
#endif
- engine_args.libctx = ctx->libctx;
- engine_args.propq = ctx->propq;
+ engine_args.libctx = ctx->libctx;
+ engine_args.propq = ctx->propq;
#if defined(OPENSSL_THREADS)
- engine_args.mutex = ql->mutex;
+ engine_args.mutex = ql->mutex;
#endif
if (need_notifier_for_domain_flags(ctx->domain_flags))
@@ -4315,8 +4316,8 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
goto err;
}
- port_args.channel_ctx = ctx;
- port_args.is_multi_conn = 1;
+ port_args.channel_ctx = ctx;
+ port_args.is_multi_conn = 1;
port_args.get_conn_user_ssl = alloc_port_user_ssl;
port_args.user_ssl_arg = ql;
if ((flags & SSL_LISTENER_FLAG_NO_VALIDATE) == 0)
@@ -4333,7 +4334,7 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
/* Initialise the QUIC_LISTENER's object header. */
if (!ossl_quic_obj_init(&ql->obj, ctx, SSL_TYPE_QUIC_LISTENER, NULL,
- ql->engine, ql->port))
+ ql->engine, ql->port))
goto err;
return &ql->obj.ssl;
@@ -4357,7 +4358,7 @@ SSL *ossl_quic_new_listener_from(SSL *ssl, uint64_t flags)
{
QCTX ctx;
QUIC_LISTENER *ql = NULL;
- QUIC_PORT_ARGS port_args = {0};
+ QUIC_PORT_ARGS port_args = { 0 };
if (!expect_quic_domain(ssl, &ctx))
return NULL;
@@ -4372,8 +4373,8 @@ SSL *ossl_quic_new_listener_from(SSL *ssl, uint64_t flags)
goto err;
}
- port_args.channel_ctx = ssl->ctx;
- port_args.is_multi_conn = 1;
+ port_args.channel_ctx = ssl->ctx;
+ port_args.is_multi_conn = 1;
port_args.get_conn_user_ssl = alloc_port_user_ssl;
port_args.user_ssl_arg = ql;
if ((flags & SSL_LISTENER_FLAG_NO_VALIDATE) == 0)
@@ -4384,10 +4385,10 @@ SSL *ossl_quic_new_listener_from(SSL *ssl, uint64_t flags)
goto err;
}
- ql->domain = ctx.qd;
- ql->engine = ctx.qd->engine;
+ ql->domain = ctx.qd;
+ ql->engine = ctx.qd->engine;
#if defined(OPENSSL_THREADS)
- ql->mutex = ctx.qd->mutex;
+ ql->mutex = ctx.qd->mutex;
#endif
/*
@@ -4403,7 +4404,7 @@ SSL *ossl_quic_new_listener_from(SSL *ssl, uint64_t flags)
/* Initialise the QUIC_LISTENER's object header. */
if (!ossl_quic_obj_init(&ql->obj, ssl->ctx, SSL_TYPE_QUIC_LISTENER,
- &ctx.qd->obj.ssl, NULL, ql->port))
+ &ctx.qd->obj.ssl, NULL, ql->port))
goto err;
qctx_unlock(&ctx);
@@ -4483,7 +4484,7 @@ SSL *ossl_quic_new_from_listener(SSL *ssl, uint64_t flags)
#endif
#if !defined(OPENSSL_NO_QUIC_THREAD_ASSIST)
qc->is_thread_assisted
- = ((ql->obj.domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0);
+ = ((ql->obj.domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0);
#endif
/* Create the handshake layer. */
@@ -4503,6 +4504,10 @@ SSL *ossl_quic_new_from_listener(SSL *ssl, uint64_t flags)
* to grab reference for qc.
*/
qc->ch = ossl_quic_port_create_outgoing(qc->port, qc->tls);
+ if (qc->ch == NULL) {
+ QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
+ goto err;
+ }
ossl_quic_channel_set_msg_callback(qc->ch, ql->obj.ssl.ctx->msg_callback, &qc->obj.ssl);
ossl_quic_channel_set_msg_callback_arg(qc->ch, ql->obj.ssl.ctx->msg_callback_arg);
@@ -4514,8 +4519,8 @@ SSL *ossl_quic_new_from_listener(SSL *ssl, uint64_t flags)
* to create a new QCSO here.
*/
if (!ossl_quic_obj_init(&qc->obj, ql->obj.ssl.ctx,
- SSL_TYPE_QUIC_CONNECTION,
- &ql->obj.ssl, NULL, NULL)) {
+ SSL_TYPE_QUIC_CONNECTION,
+ &ql->obj.ssl, NULL, NULL)) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
goto err;
}
@@ -4599,9 +4604,10 @@ SSL *ossl_quic_accept_connection(SSL *ssl, uint64_t flags)
int ret;
QCTX ctx;
SSL *conn_ssl = NULL;
+ SSL *conn_ssl_tmp = NULL;
SSL_CONNECTION *conn = NULL;
QUIC_CHANNEL *new_ch = NULL;
- QUIC_CONNECTION *qc;
+ QUIC_CONNECTION *qc = NULL;
int no_block = ((flags & SSL_ACCEPT_CONNECTION_NO_BLOCK) != 0);
if (!expect_quic_listener(ssl, &ctx))
@@ -4617,7 +4623,7 @@ SSL *ossl_quic_accept_connection(SSL *ssl, uint64_t flags)
if (new_ch == NULL && ossl_quic_port_is_running(ctx.ql->port)) {
if (!no_block && qctx_blocking(&ctx)) {
ret = block_until_pred(&ctx, quic_accept_connection_wait,
- ctx.ql->port, 0);
+ ctx.ql->port, 0);
if (ret < 1)
goto out;
} else {
@@ -4642,22 +4648,46 @@ SSL *ossl_quic_accept_connection(SSL *ssl, uint64_t flags)
* created channel, so once we pop the new channel from the port above
* we just need to extract it
*/
- if (new_ch == NULL
- || (conn_ssl = ossl_quic_channel_get0_tls(new_ch)) == NULL
- || (conn = SSL_CONNECTION_FROM_SSL(conn_ssl)) == NULL
- || (conn_ssl = SSL_CONNECTION_GET_USER_SSL(conn)) == NULL)
+ if (new_ch == NULL)
goto out;
- qc = (QUIC_CONNECTION *)conn_ssl;
- qc->listener = ctx.ql;
- qc->pending = 0;
- if (!SSL_up_ref(&ctx.ql->obj.ssl)) {
- SSL_free(conn_ssl);
- SSL_free(ossl_quic_channel_get0_tls(new_ch));
- conn_ssl = NULL;
+
+ /*
+ * All objects below must exist, because new_ch != NULL. The objects are
+ * bound to new_ch. If channel constructor fails to create any item here
+ * it just fails to create channel.
+ */
+ if (!ossl_assert((conn_ssl_tmp = ossl_quic_channel_get0_tls(new_ch)) != NULL)
+ || !ossl_assert((conn = SSL_CONNECTION_FROM_SSL(conn_ssl_tmp)) != NULL)
+ || !ossl_assert((conn_ssl_tmp = SSL_CONNECTION_GET_USER_SSL(conn)) != NULL))
+ goto out;
+
+ qc = (QUIC_CONNECTION *)conn_ssl_tmp;
+ if (SSL_up_ref(&ctx.ql->obj.ssl)) {
+ qc->listener = ctx.ql;
+ conn_ssl = conn_ssl_tmp;
+ conn_ssl_tmp = NULL;
+ qc->pending = 0;
}
out:
+
qctx_unlock(&ctx);
+ /*
+ * You might expect ossl_quic_channel_free() to be called here. Be
+ * assured it happens, The process goes as follows:
+ * - The SSL_free() here is being handled by ossl_quic_free().
+ * - The very last step of ossl_quic_free() is call to qc_cleanup()
+ * where channel gets freed.
+ * NOTE: We defer this SSL_free until after the call to qctx_unlock above
+ * to avoid the deadlock that would occur when ossl_quic_free attempts to
+ * re-acquire this mutex. We also do the gymnastics with conn_ssl and
+ * conn_ssl_tmp above so that we only actually do the free on the SSL
+ * object if the up-ref above fails, in such a way that we don't unbalance
+ * the listener refcount (i.e. if the up-ref fails above, we don't set the
+ * listener pointer so that we don't then drop the ref-count erroneously
+ * during the free operation.
+ */
+ SSL_free(conn_ssl_tmp);
return conn_ssl;
}
@@ -4671,28 +4701,28 @@ static QUIC_CONNECTION *create_qc_from_incoming_conn(QUIC_LISTENER *ql, QUIC_CHA
}
if (!ossl_quic_obj_init(&qc->obj, ql->obj.ssl.ctx,
- SSL_TYPE_QUIC_CONNECTION,
- &ql->obj.ssl, NULL, NULL)) {
+ SSL_TYPE_QUIC_CONNECTION,
+ &ql->obj.ssl, NULL, NULL)) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
goto err;
}
ossl_quic_channel_get_peer_addr(ch, &qc->init_peer_addr); /* best effort */
- qc->pending = 1;
- qc->engine = ql->engine;
- qc->port = ql->port;
- qc->ch = ch;
+ qc->pending = 1;
+ qc->engine = ql->engine;
+ qc->port = ql->port;
+ qc->ch = ch;
#if defined(OPENSSL_THREADS)
- qc->mutex = ql->mutex;
+ qc->mutex = ql->mutex;
#endif
- qc->tls = ossl_quic_channel_get0_tls(ch);
- qc->started = 1;
- qc->as_server = 1;
- qc->as_server_state = 1;
- qc->default_stream_mode = SSL_DEFAULT_STREAM_MODE_AUTO_BIDI;
- qc->default_ssl_options = ql->obj.ssl.ctx->options & OSSL_QUIC_PERMITTED_OPTIONS;
- qc->incoming_stream_policy = SSL_INCOMING_STREAM_POLICY_AUTO;
- qc->last_error = SSL_ERROR_NONE;
+ qc->tls = ossl_quic_channel_get0_tls(ch);
+ qc->started = 1;
+ qc->as_server = 1;
+ qc->as_server_state = 1;
+ qc->default_stream_mode = SSL_DEFAULT_STREAM_MODE_AUTO_BIDI;
+ qc->default_ssl_options = ql->obj.ssl.ctx->options & OSSL_QUIC_PERMITTED_OPTIONS;
+ qc->incoming_stream_policy = SSL_INCOMING_STREAM_POLICY_AUTO;
+ qc->last_error = SSL_ERROR_NONE;
qc_update_reject_policy(qc);
return qc;
@@ -4805,7 +4835,7 @@ void ossl_quic_free_token_store(SSL_TOKEN_STORE *hdl)
* @returns a QUIC_TOKEN pointer or NULL on error
*/
static QUIC_TOKEN *ossl_quic_build_new_token(BIO_ADDR *peer, uint8_t *token,
- size_t token_len)
+ size_t token_len)
{
QUIC_TOKEN *new_token;
size_t hashkey_len = 0;
@@ -4858,7 +4888,7 @@ static QUIC_TOKEN *ossl_quic_build_new_token(BIO_ADDR *peer, uint8_t *token,
}
int ossl_quic_set_peer_token(SSL_CTX *ctx, BIO_ADDR *peer,
- const uint8_t *token, size_t token_len)
+ const uint8_t *token, size_t token_len)
{
SSL_TOKEN_STORE *c = ctx->tokencache;
QUIC_TOKEN *tok, *old = NULL;
@@ -4885,7 +4915,7 @@ int ossl_quic_set_peer_token(SSL_CTX *ctx, BIO_ADDR *peer,
}
int ossl_quic_get_peer_token(SSL_CTX *ctx, BIO_ADDR *peer,
- QUIC_TOKEN **token)
+ QUIC_TOKEN **token)
{
SSL_TOKEN_STORE *c = ctx->tokencache;
QUIC_TOKEN *key = NULL;
@@ -4960,13 +4990,11 @@ size_t ossl_quic_get_accept_connection_queue_len(SSL *ssl)
SSL *ossl_quic_new_domain(SSL_CTX *ctx, uint64_t flags)
{
QUIC_DOMAIN *qd = NULL;
- QUIC_ENGINE_ARGS engine_args = {0};
+ QUIC_ENGINE_ARGS engine_args = { 0 };
uint64_t domain_flags;
domain_flags = ctx->domain_flags;
- if ((flags & (SSL_DOMAIN_FLAG_SINGLE_THREAD
- | SSL_DOMAIN_FLAG_MULTI_THREAD
- | SSL_DOMAIN_FLAG_THREAD_ASSISTED)) != 0)
+ if ((flags & (SSL_DOMAIN_FLAG_SINGLE_THREAD | SSL_DOMAIN_FLAG_MULTI_THREAD | SSL_DOMAIN_FLAG_THREAD_ASSISTED)) != 0)
domain_flags = flags;
else
domain_flags = ctx->domain_flags | flags;
@@ -4986,10 +5014,10 @@ SSL *ossl_quic_new_domain(SSL_CTX *ctx, uint64_t flags)
}
#endif
- engine_args.libctx = ctx->libctx;
- engine_args.propq = ctx->propq;
+ engine_args.libctx = ctx->libctx;
+ engine_args.propq = ctx->propq;
#if defined(OPENSSL_THREADS)
- engine_args.mutex = qd->mutex;
+ engine_args.mutex = qd->mutex;
#endif
if (need_notifier_for_domain_flags(domain_flags))
@@ -5002,7 +5030,7 @@ SSL *ossl_quic_new_domain(SSL_CTX *ctx, uint64_t flags)
/* Initialise the QUIC_DOMAIN's object header. */
if (!ossl_quic_obj_init(&qd->obj, ctx, SSL_TYPE_QUIC_DOMAIN, NULL,
- qd->engine, NULL))
+ qd->engine, NULL))
goto err;
ossl_quic_obj_set_domain_flags(&qd->obj, domain_flags);
@@ -5030,7 +5058,7 @@ long ossl_quic_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
}
}
-long ossl_quic_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
+long ossl_quic_callback_ctrl(SSL *s, int cmd, void (*fp)(void))
{
QCTX ctx;
@@ -5040,9 +5068,10 @@ long ossl_quic_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
switch (cmd) {
case SSL_CTRL_SET_MSG_CALLBACK:
ossl_quic_channel_set_msg_callback(ctx.qc->ch, (ossl_msg_cb)fp,
- &ctx.qc->obj.ssl);
+ &ctx.qc->obj.ssl);
/* This callback also needs to be set on the internal SSL object */
- return ssl3_callback_ctrl(ctx.qc->tls, cmd, fp);;
+ return ssl3_callback_ctrl(ctx.qc->tls, cmd, fp);
+ ;
default:
/* Probably a TLS related ctrl. Defer to our internal SSL object */
@@ -5050,7 +5079,7 @@ long ossl_quic_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
}
}
-long ossl_quic_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
+long ossl_quic_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void))
{
return ssl3_ctx_callback_ctrl(ctx, cmd, fp);
}
@@ -5160,7 +5189,7 @@ static int test_poll_event_w(QUIC_XSO *xso)
&& ossl_quic_sstream_get_buffer_avail(xso->stream->sstream)
&& !ossl_quic_sstream_get_final_size(xso->stream->sstream, NULL)
&& ossl_quic_txfc_get_cwm(&xso->stream->txfc)
- > ossl_quic_sstream_get_cur_size(xso->stream->sstream)
+ > ossl_quic_sstream_get_cur_size(xso->stream->sstream)
&& quic_mutation_allowed(xso->conn, /*req_active=*/1);
}
@@ -5193,7 +5222,7 @@ QUIC_NEEDS_LOCK
static int test_poll_event_is(QUIC_CONNECTION *qc, int is_uni)
{
return ossl_quic_stream_map_get_accept_queue_len(ossl_quic_channel_get_qsm(qc->ch),
- is_uni);
+ is_uni);
}
/* Do we have the OS (outgoing: stream) condition? */
@@ -5221,7 +5250,7 @@ static int test_poll_event_ic(QUIC_LISTENER *ql)
QUIC_TAKES_LOCK
int ossl_quic_conn_poll_events(SSL *ssl, uint64_t events, int do_tick,
- uint64_t *p_revents)
+ uint64_t *p_revents)
{
QCTX ctx;
uint64_t revents = 0;
@@ -5297,7 +5326,7 @@ int ossl_quic_conn_poll_events(SSL *ssl, uint64_t events, int do_tick,
revents |= SSL_POLL_EVENT_IC;
}
- end:
+end:
qctx_unlock(&ctx);
*p_revents = revents;
return 1;
@@ -5321,7 +5350,7 @@ int ossl_quic_get_notifier_fd(SSL *ssl)
goto end;
nfd = ossl_rio_notifier_as_fd(nfy);
- end:
+end:
qctx_unlock(&ctx);
return nfd;
}
diff --git a/crypto/openssl/ssl/quic/quic_lcidm.c b/crypto/openssl/ssl/quic/quic_lcidm.c
index f31fd101a1f3..89ee95055dc1 100644
--- a/crypto/openssl/ssl/quic/quic_lcidm.c
+++ b/crypto/openssl/ssl/quic/quic_lcidm.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2023-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -24,63 +24,71 @@
typedef struct quic_lcidm_conn_st QUIC_LCIDM_CONN;
enum {
- LCID_TYPE_ODCID, /* This LCID is the ODCID from the peer */
- LCID_TYPE_INITIAL, /* This is our Initial SCID */
- LCID_TYPE_NCID /* This LCID was issued via a NCID frame */
+ LCID_TYPE_ODCID, /* This LCID is the ODCID from the peer */
+ LCID_TYPE_INITIAL, /* This is our Initial SCID */
+ LCID_TYPE_NCID /* This LCID was issued via a NCID frame */
};
typedef struct quic_lcid_st {
- QUIC_CONN_ID cid;
- uint64_t seq_num;
+ QUIC_CONN_ID cid;
+ uint64_t seq_num;
/* copy of the hash key from lcidm */
- uint64_t *hash_key;
+ uint64_t *hash_key;
/* Back-pointer to the owning QUIC_LCIDM_CONN structure. */
- QUIC_LCIDM_CONN *conn;
+ QUIC_LCIDM_CONN *conn;
/* LCID_TYPE_* */
- unsigned int type : 2;
+ unsigned int type : 2;
} QUIC_LCID;
DEFINE_LHASH_OF_EX(QUIC_LCID);
DEFINE_LHASH_OF_EX(QUIC_LCIDM_CONN);
struct quic_lcidm_conn_st {
- size_t num_active_lcid;
+ size_t num_active_lcid;
LHASH_OF(QUIC_LCID) *lcids;
- void *opaque;
- QUIC_LCID *odcid_lcid_obj;
- uint64_t next_seq_num;
+ void *opaque;
+ QUIC_LCID *odcid_lcid_obj;
+ uint64_t next_seq_num;
/* Have we enrolled an ODCID? */
- unsigned int done_odcid : 1;
+ unsigned int done_odcid : 1;
};
struct quic_lcidm_st {
- OSSL_LIB_CTX *libctx;
- uint64_t hash_key[2]; /* random key for siphash */
- LHASH_OF(QUIC_LCID) *lcids; /* (QUIC_CONN_ID) -> (QUIC_LCID *) */
- LHASH_OF(QUIC_LCIDM_CONN) *conns; /* (void *opaque) -> (QUIC_LCIDM_CONN *) */
- size_t lcid_len; /* Length in bytes for all LCIDs */
+ OSSL_LIB_CTX *libctx;
+ uint64_t hash_key[2]; /* random key for siphash */
+ LHASH_OF(QUIC_LCID) *lcids; /* (QUIC_CONN_ID) -> (QUIC_LCID *) */
+ LHASH_OF(QUIC_LCIDM_CONN) *conns; /* (void *opaque) -> (QUIC_LCIDM_CONN *) */
+ size_t lcid_len; /* Length in bytes for all LCIDs */
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
- QUIC_CONN_ID next_lcid;
+ QUIC_CONN_ID next_lcid;
#endif
};
static unsigned long lcid_hash(const QUIC_LCID *lcid_obj)
{
- SIPHASH siphash = {0, };
+ SIPHASH siphash = {
+ 0,
+ };
unsigned long hashval = 0;
+ unsigned char digest[SIPHASH_MIN_DIGEST_SIZE];
- if (!SipHash_set_hash_size(&siphash, sizeof(unsigned long)))
+ /* Use a supported SipHash digest size (8 or 16); 8 is sufficient here. */
+ if (!SipHash_set_hash_size(&siphash, SIPHASH_MIN_DIGEST_SIZE))
goto out;
if (!SipHash_Init(&siphash, (uint8_t *)lcid_obj->hash_key, 0, 0))
goto out;
SipHash_Update(&siphash, lcid_obj->cid.id, lcid_obj->cid.id_len);
- if (!SipHash_Final(&siphash, (unsigned char *)&hashval,
- sizeof(unsigned long)))
+ if (!SipHash_Final(&siphash, digest, SIPHASH_MIN_DIGEST_SIZE))
goto out;
+
+ /*
+ * Truncate the 64-bit SipHash digest into an unsigned long.
+ */
+ memcpy(&hashval, digest, sizeof(hashval) < sizeof(digest) ? sizeof(hashval) : sizeof(digest));
out:
return hashval;
}
@@ -112,17 +120,18 @@ QUIC_LCIDM *ossl_quic_lcidm_new(OSSL_LIB_CTX *libctx, size_t lcid_len)
/* generate a random key for the hash tables hash function */
if (!RAND_bytes_ex(libctx, (unsigned char *)&lcidm->hash_key,
- sizeof(uint64_t) * 2, 0))
+ sizeof(uint64_t) * 2, 0))
goto err;
if ((lcidm->lcids = lh_QUIC_LCID_new(lcid_hash, lcid_comp)) == NULL)
goto err;
if ((lcidm->conns = lh_QUIC_LCIDM_CONN_new(lcidm_conn_hash,
- lcidm_conn_comp)) == NULL)
+ lcidm_conn_comp))
+ == NULL)
goto err;
- lcidm->libctx = libctx;
+ lcidm->libctx = libctx;
lcidm->lcid_len = lcid_len;
return lcidm;
@@ -251,7 +260,7 @@ static void lcidm_delete_conn(QUIC_LCIDM *lcidm, QUIC_LCIDM_CONN *conn)
}
static QUIC_LCID *lcidm_conn_new_lcid(QUIC_LCIDM *lcidm, QUIC_LCIDM_CONN *conn,
- const QUIC_CONN_ID *lcid)
+ const QUIC_CONN_ID *lcid)
{
QUIC_LCID *lcid_obj = NULL;
@@ -289,7 +298,7 @@ size_t ossl_quic_lcidm_get_lcid_len(const QUIC_LCIDM *lcidm)
}
size_t ossl_quic_lcidm_get_num_active_lcid(const QUIC_LCIDM *lcidm,
- void *opaque)
+ void *opaque)
{
QUIC_LCIDM_CONN *conn;
@@ -301,7 +310,7 @@ size_t ossl_quic_lcidm_get_num_active_lcid(const QUIC_LCIDM *lcidm,
}
static int lcidm_generate_cid(QUIC_LCIDM *lcidm,
- QUIC_CONN_ID *cid)
+ QUIC_CONN_ID *cid)
{
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
int i;
@@ -320,10 +329,10 @@ static int lcidm_generate_cid(QUIC_LCIDM *lcidm,
}
static int lcidm_generate(QUIC_LCIDM *lcidm,
- void *opaque,
- unsigned int type,
- QUIC_CONN_ID *lcid_out,
- uint64_t *seq_num)
+ void *opaque,
+ unsigned int type,
+ QUIC_CONN_ID *lcid_out,
+ uint64_t *seq_num)
{
QUIC_LCIDM_CONN *conn;
QUIC_LCID key, *lcid_obj;
@@ -358,8 +367,8 @@ static int lcidm_generate(QUIC_LCIDM *lcidm,
if ((lcid_obj = lcidm_conn_new_lcid(lcidm, conn, lcid_out)) == NULL)
return 0;
- lcid_obj->seq_num = conn->next_seq_num;
- lcid_obj->type = type;
+ lcid_obj->seq_num = conn->next_seq_num;
+ lcid_obj->type = type;
if (seq_num != NULL)
*seq_num = lcid_obj->seq_num;
@@ -369,8 +378,8 @@ static int lcidm_generate(QUIC_LCIDM *lcidm,
}
int ossl_quic_lcidm_enrol_odcid(QUIC_LCIDM *lcidm,
- void *opaque,
- const QUIC_CONN_ID *initial_odcid)
+ void *opaque,
+ const QUIC_CONN_ID *initial_odcid)
{
QUIC_LCIDM_CONN *conn;
QUIC_LCID key, *lcid_obj;
@@ -393,24 +402,24 @@ int ossl_quic_lcidm_enrol_odcid(QUIC_LCIDM *lcidm,
if ((lcid_obj = lcidm_conn_new_lcid(lcidm, conn, initial_odcid)) == NULL)
return 0;
- lcid_obj->seq_num = LCIDM_ODCID_SEQ_NUM;
- lcid_obj->type = LCID_TYPE_ODCID;
+ lcid_obj->seq_num = LCIDM_ODCID_SEQ_NUM;
+ lcid_obj->type = LCID_TYPE_ODCID;
- conn->odcid_lcid_obj = lcid_obj;
- conn->done_odcid = 1;
+ conn->odcid_lcid_obj = lcid_obj;
+ conn->done_odcid = 1;
return 1;
}
int ossl_quic_lcidm_generate_initial(QUIC_LCIDM *lcidm,
- void *opaque,
- QUIC_CONN_ID *initial_lcid)
+ void *opaque,
+ QUIC_CONN_ID *initial_lcid)
{
return lcidm_generate(lcidm, opaque, LCID_TYPE_INITIAL,
- initial_lcid, NULL);
+ initial_lcid, NULL);
}
int ossl_quic_lcidm_bind_channel(QUIC_LCIDM *lcidm, void *opaque,
- const QUIC_CONN_ID *lcid)
+ const QUIC_CONN_ID *lcid)
{
QUIC_LCIDM_CONN *conn;
QUIC_LCID *lcid_obj;
@@ -440,15 +449,15 @@ int ossl_quic_lcidm_bind_channel(QUIC_LCIDM *lcidm, void *opaque,
}
int ossl_quic_lcidm_generate(QUIC_LCIDM *lcidm,
- void *opaque,
- OSSL_QUIC_FRAME_NEW_CONN_ID *ncid_frame)
+ void *opaque,
+ OSSL_QUIC_FRAME_NEW_CONN_ID *ncid_frame)
{
- ncid_frame->seq_num = 0;
+ ncid_frame->seq_num = 0;
ncid_frame->retire_prior_to = 0;
return lcidm_generate(lcidm, opaque, LCID_TYPE_NCID,
- &ncid_frame->conn_id,
- &ncid_frame->seq_num);
+ &ncid_frame->conn_id,
+ &ncid_frame->seq_num);
}
int ossl_quic_lcidm_retire_odcid(QUIC_LCIDM *lcidm, void *opaque)
@@ -467,8 +476,8 @@ int ossl_quic_lcidm_retire_odcid(QUIC_LCIDM *lcidm, void *opaque)
}
struct retire_args {
- QUIC_LCID *earliest_seq_num_lcid_obj;
- uint64_t earliest_seq_num, retire_prior_to;
+ QUIC_LCID *earliest_seq_num_lcid_obj;
+ uint64_t earliest_seq_num, retire_prior_to;
};
static void retire_for_conn(QUIC_LCID *lcid_obj, void *arg)
@@ -481,21 +490,21 @@ static void retire_for_conn(QUIC_LCID *lcid_obj, void *arg)
return;
if (lcid_obj->seq_num < args->earliest_seq_num) {
- args->earliest_seq_num = lcid_obj->seq_num;
+ args->earliest_seq_num = lcid_obj->seq_num;
args->earliest_seq_num_lcid_obj = lcid_obj;
}
}
int ossl_quic_lcidm_retire(QUIC_LCIDM *lcidm,
- void *opaque,
- uint64_t retire_prior_to,
- const QUIC_CONN_ID *containing_pkt_dcid,
- QUIC_CONN_ID *retired_lcid,
- uint64_t *retired_seq_num,
- int *did_retire)
+ void *opaque,
+ uint64_t retire_prior_to,
+ const QUIC_CONN_ID *containing_pkt_dcid,
+ QUIC_CONN_ID *retired_lcid,
+ uint64_t *retired_seq_num,
+ int *did_retire)
{
QUIC_LCIDM_CONN key, *conn;
- struct retire_args args = {0};
+ struct retire_args args = { 0 };
key.opaque = opaque;
@@ -506,8 +515,8 @@ int ossl_quic_lcidm_retire(QUIC_LCIDM *lcidm,
if ((conn = lh_QUIC_LCIDM_CONN_retrieve(lcidm->conns, &key)) == NULL)
return 1;
- args.retire_prior_to = retire_prior_to;
- args.earliest_seq_num = UINT64_MAX;
+ args.retire_prior_to = retire_prior_to;
+ args.earliest_seq_num = UINT64_MAX;
lh_QUIC_LCID_doall_arg(conn->lcids, retire_for_conn, &args);
if (args.earliest_seq_num_lcid_obj == NULL)
@@ -515,7 +524,7 @@ int ossl_quic_lcidm_retire(QUIC_LCIDM *lcidm,
if (containing_pkt_dcid != NULL
&& ossl_quic_conn_id_eq(&args.earliest_seq_num_lcid_obj->cid,
- containing_pkt_dcid))
+ containing_pkt_dcid))
return 0;
*did_retire = 1;
@@ -542,9 +551,9 @@ int ossl_quic_lcidm_cull(QUIC_LCIDM *lcidm, void *opaque)
}
int ossl_quic_lcidm_lookup(QUIC_LCIDM *lcidm,
- const QUIC_CONN_ID *lcid,
- uint64_t *seq_num,
- void **opaque)
+ const QUIC_CONN_ID *lcid,
+ uint64_t *seq_num,
+ void **opaque)
{
QUIC_LCID *lcid_obj;
@@ -555,16 +564,16 @@ int ossl_quic_lcidm_lookup(QUIC_LCIDM *lcidm,
return 0;
if (seq_num != NULL)
- *seq_num = lcid_obj->seq_num;
+ *seq_num = lcid_obj->seq_num;
if (opaque != NULL)
- *opaque = lcid_obj->conn->opaque;
+ *opaque = lcid_obj->conn->opaque;
return 1;
}
int ossl_quic_lcidm_debug_remove(QUIC_LCIDM *lcidm,
- const QUIC_CONN_ID *lcid)
+ const QUIC_CONN_ID *lcid)
{
QUIC_LCID key, *lcid_obj;
@@ -578,8 +587,8 @@ int ossl_quic_lcidm_debug_remove(QUIC_LCIDM *lcidm,
}
int ossl_quic_lcidm_debug_add(QUIC_LCIDM *lcidm, void *opaque,
- const QUIC_CONN_ID *lcid,
- uint64_t seq_num)
+ const QUIC_CONN_ID *lcid,
+ uint64_t seq_num)
{
QUIC_LCIDM_CONN *conn;
QUIC_LCID key, *lcid_obj;
@@ -598,8 +607,8 @@ int ossl_quic_lcidm_debug_add(QUIC_LCIDM *lcidm, void *opaque,
if ((lcid_obj = lcidm_conn_new_lcid(lcidm, conn, lcid)) == NULL)
return 0;
- lcid_obj->seq_num = seq_num;
- lcid_obj->type = LCID_TYPE_NCID;
+ lcid_obj->seq_num = seq_num;
+ lcid_obj->type = LCID_TYPE_NCID;
return 1;
}
diff --git a/crypto/openssl/ssl/quic/quic_local.h b/crypto/openssl/ssl/quic/quic_local.h
index 97029ae9c482..0c8594b3150e 100644
--- a/crypto/openssl/ssl/quic/quic_local.h
+++ b/crypto/openssl/ssl/quic/quic_local.h
@@ -8,24 +8,24 @@
*/
#ifndef OSSL_QUIC_LOCAL_H
-# define OSSL_QUIC_LOCAL_H
+#define OSSL_QUIC_LOCAL_H
-# include <openssl/ssl.h>
-# include "internal/quic_ssl.h" /* QUIC_CONNECTION */
-# include "internal/quic_txp.h"
-# include "internal/quic_statm.h"
-# include "internal/quic_demux.h"
-# include "internal/quic_record_rx.h"
-# include "internal/quic_tls.h"
-# include "internal/quic_fc.h"
-# include "internal/quic_stream.h"
-# include "internal/quic_channel.h"
-# include "internal/quic_reactor.h"
-# include "internal/quic_thread_assist.h"
-# include "../ssl_local.h"
-# include "quic_obj_local.h"
+#include <openssl/ssl.h>
+#include "internal/quic_ssl.h" /* QUIC_CONNECTION */
+#include "internal/quic_txp.h"
+#include "internal/quic_statm.h"
+#include "internal/quic_demux.h"
+#include "internal/quic_record_rx.h"
+#include "internal/quic_tls.h"
+#include "internal/quic_fc.h"
+#include "internal/quic_stream.h"
+#include "internal/quic_channel.h"
+#include "internal/quic_reactor.h"
+#include "internal/quic_thread_assist.h"
+#include "../ssl_local.h"
+#include "quic_obj_local.h"
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
/*
* QUIC stream SSL object (QSSO) type. This implements the API personality layer
@@ -34,22 +34,22 @@
*/
struct quic_xso_st {
/* QUIC_OBJ common header, including SSL object common header. */
- QUIC_OBJ obj;
+ QUIC_OBJ obj;
/* The connection this stream is associated with. Always non-NULL. */
- QUIC_CONNECTION *conn;
+ QUIC_CONNECTION *conn;
/* The stream object. Always non-NULL for as long as the XSO exists. */
- QUIC_STREAM *stream;
+ QUIC_STREAM *stream;
/* The application has retired a FIN (i.e. SSL_ERROR_ZERO_RETURN). */
- unsigned int retired_fin : 1;
+ unsigned int retired_fin : 1;
/*
* The application has requested a reset. Not set for reflexive
* STREAM_RESETs caused by peer STOP_SENDING.
*/
- unsigned int requested_reset : 1;
+ unsigned int requested_reset : 1;
/*
* This state tracks SSL_write all-or-nothing (AON) write semantics
@@ -70,7 +70,7 @@ struct quic_xso_st {
*
*/
/* Is an AON write in progress? */
- unsigned int aon_write_in_progress : 1;
+ unsigned int aon_write_in_progress : 1;
/*
* The base buffer pointer the caller passed us for the initial AON write
@@ -81,27 +81,27 @@ struct quic_xso_st {
* (but identical) buffer if using ACCEPT_MOVING_WRITE_BUFFER. It is for
* validation by pointer comparison only.
*/
- const unsigned char *aon_buf_base;
+ const unsigned char *aon_buf_base;
/* The total length of the AON buffer being sent, in bytes. */
- size_t aon_buf_len;
+ size_t aon_buf_len;
/*
* The position in the AON buffer up to which we have successfully sent data
* so far.
*/
- size_t aon_buf_pos;
+ size_t aon_buf_pos;
/* SSL_set_mode */
- uint32_t ssl_mode;
+ uint32_t ssl_mode;
/* SSL_set_options */
- uint64_t ssl_options;
+ uint64_t ssl_options;
/*
* Last 'normal' error during an app-level I/O operation, used by
* SSL_get_error(); used to track data-path errors like SSL_ERROR_WANT_READ
* and SSL_ERROR_WANT_WRITE.
*/
- int last_error;
+ int last_error;
};
/*
@@ -116,21 +116,21 @@ struct quic_conn_st {
*
* Note: This must come first in the QUIC_CONNECTION structure.
*/
- QUIC_OBJ obj;
+ QUIC_OBJ obj;
- SSL *tls;
+ SSL *tls;
/* The QLSO this connection belongs to, if any. */
- QUIC_LISTENER *listener;
+ QUIC_LISTENER *listener;
/* The QDSO this connection belongs to, if any. */
- QUIC_DOMAIN *domain;
+ QUIC_DOMAIN *domain;
/* The QUIC engine representing the QUIC event domain. */
- QUIC_ENGINE *engine;
+ QUIC_ENGINE *engine;
/* The QUIC port representing the QUIC listener and socket. */
- QUIC_PORT *port;
+ QUIC_PORT *port;
/*
* The QUIC channel providing the core QUIC connection implementation. Note
@@ -143,90 +143,90 @@ struct quic_conn_st {
* The channel remains available after connection termination until the SSL
* object is freed, thus (ch != NULL) iff (started == 1).
*/
- QUIC_CHANNEL *ch;
+ QUIC_CHANNEL *ch;
/*
* The mutex used to synchronise access to the QUIC_CHANNEL. We own this but
* provide it to the channel.
*/
#if defined(OPENSSL_THREADS)
- CRYPTO_MUTEX *mutex;
+ CRYPTO_MUTEX *mutex;
#endif
/*
* If we have a default stream attached, this is the internal XSO
* object. If there is no default stream, this is NULL.
*/
- QUIC_XSO *default_xso;
+ QUIC_XSO *default_xso;
/* Initial peer L4 address. */
- BIO_ADDR init_peer_addr;
+ BIO_ADDR init_peer_addr;
-# ifndef OPENSSL_NO_QUIC_THREAD_ASSIST
+#ifndef OPENSSL_NO_QUIC_THREAD_ASSIST
/* Manages thread for QUIC thread assisted mode. */
- QUIC_THREAD_ASSIST thread_assist;
-# endif
+ QUIC_THREAD_ASSIST thread_assist;
+#endif
/* Number of XSOs allocated. Includes the default XSO, if any. */
- size_t num_xso;
+ size_t num_xso;
/* Have we started? */
- unsigned int started : 1;
+ unsigned int started : 1;
/*
* This is 1 if we were instantiated using a QUIC server method
* (for future use).
*/
- unsigned int as_server : 1;
+ unsigned int as_server : 1;
/*
* Has the application called SSL_set_accept_state? We require this to be
* congruent with the value of as_server.
*/
- unsigned int as_server_state : 1;
+ unsigned int as_server_state : 1;
/* Are we using thread assisted mode? Never changes after init. */
- unsigned int is_thread_assisted : 1;
+ unsigned int is_thread_assisted : 1;
/* Have we created a default XSO yet? */
- unsigned int default_xso_created : 1;
+ unsigned int default_xso_created : 1;
/*
* Pre-TERMINATING shutdown phase in which we are flushing streams.
* Monotonically transitions to 1.
* New streams cannot be created in this state.
*/
- unsigned int shutting_down : 1;
+ unsigned int shutting_down : 1;
/* Have we probed the BIOs for addressing support? */
- unsigned int addressing_probe_done : 1;
+ unsigned int addressing_probe_done : 1;
/* Are we using addressed mode (BIO_sendmmsg with non-NULL peer)? */
- unsigned int addressed_mode_w : 1;
- unsigned int addressed_mode_r : 1;
+ unsigned int addressed_mode_w : 1;
+ unsigned int addressed_mode_r : 1;
/* Flag to indicate waiting on accept queue */
- unsigned int pending : 1;
+ unsigned int pending : 1;
/* Default stream type. Defaults to SSL_DEFAULT_STREAM_MODE_AUTO_BIDI. */
- uint32_t default_stream_mode;
+ uint32_t default_stream_mode;
/* SSL_set_mode. This is not used directly but inherited by new XSOs. */
- uint32_t default_ssl_mode;
+ uint32_t default_ssl_mode;
/* SSL_set_options. This is not used directly but inherited by new XSOs. */
- uint64_t default_ssl_options;
+ uint64_t default_ssl_options;
/* SSL_set_incoming_stream_policy. */
- int incoming_stream_policy;
- uint64_t incoming_stream_aec;
+ int incoming_stream_policy;
+ uint64_t incoming_stream_aec;
/*
* Last 'normal' error during an app-level I/O operation, used by
* SSL_get_error(); used to track data-path errors like SSL_ERROR_WANT_READ
* and SSL_ERROR_WANT_WRITE.
*/
- int last_error;
+ int last_error;
};
/*
@@ -235,27 +235,27 @@ struct quic_conn_st {
*/
struct quic_listener_st {
/* QUIC_OBJ common header, including SSL object common header. */
- QUIC_OBJ obj;
+ QUIC_OBJ obj;
/* The QDSO this connection belongs to, if any. */
- QUIC_DOMAIN *domain;
+ QUIC_DOMAIN *domain;
/* The QUIC engine representing the QUIC event domain. */
- QUIC_ENGINE *engine;
+ QUIC_ENGINE *engine;
/* The QUIC port representing the QUIC listener and socket. */
- QUIC_PORT *port;
+ QUIC_PORT *port;
#if defined(OPENSSL_THREADS)
/*
* The mutex used to synchronise access to the QUIC_ENGINE. We own this but
* provide it to the engine.
*/
- CRYPTO_MUTEX *mutex;
+ CRYPTO_MUTEX *mutex;
#endif
/* Have we started listening yet? */
- unsigned int listening : 1;
+ unsigned int listening : 1;
};
/*
@@ -263,18 +263,18 @@ struct quic_listener_st {
* for QDSO objects, wrapping the QUIC-native QUIC_ENGINE object.
*/
struct quic_domain_st {
- /* QUIC_OBJ common header, including SSL object common header. */
- QUIC_OBJ obj;
+ /* QUIC_OBJ common header, including SSL object common header. */
+ QUIC_OBJ obj;
/* The QUIC engine representing the QUIC event domain. */
- QUIC_ENGINE *engine;
+ QUIC_ENGINE *engine;
#if defined(OPENSSL_THREADS)
/*
* The mutex used to synchronise access to the QUIC_ENGINE. We own this but
* provide it to the engine.
*/
- CRYPTO_MUTEX *mutex;
+ CRYPTO_MUTEX *mutex;
#endif
};
@@ -288,55 +288,55 @@ int ossl_quic_conn_on_handshake_confirmed(QUIC_CONNECTION *qc);
* applicable.
*/
void ossl_quic_conn_raise_protocol_error(QUIC_CONNECTION *qc,
- uint64_t error_code,
- uint64_t frame_type,
- const char *reason);
+ uint64_t error_code,
+ uint64_t frame_type,
+ const char *reason);
void ossl_quic_conn_on_remote_conn_close(QUIC_CONNECTION *qc,
- OSSL_QUIC_FRAME_CONN_CLOSE *f);
+ OSSL_QUIC_FRAME_CONN_CLOSE *f);
-# define OSSL_QUIC_ANY_VERSION 0xFFFFF
-# endif
+#define OSSL_QUIC_ANY_VERSION 0xFFFFF
+#endif
-# define IMPLEMENT_quic_meth_func(version, func_name, q_accept, \
- q_connect, enc_data) \
-const SSL_METHOD *func_name(void) \
- { \
- static const SSL_METHOD func_name##_data= { \
- version, \
- 0, \
- 0, \
- ossl_quic_new, \
- ossl_quic_free, \
- ossl_quic_reset, \
- ossl_quic_init, \
- NULL /* clear */, \
- ossl_quic_deinit, \
- q_accept, \
- q_connect, \
- ossl_quic_read, \
- ossl_quic_peek, \
- ossl_quic_write, \
- NULL /* shutdown */, \
- NULL /* renegotiate */, \
- ossl_quic_renegotiate_check, \
- NULL /* read_bytes */, \
- NULL /* write_bytes */, \
- NULL /* dispatch_alert */, \
- ossl_quic_ctrl, \
- ossl_quic_ctx_ctrl, \
- ossl_quic_get_cipher_by_char, \
- NULL /* put_cipher_by_char */, \
- ossl_quic_pending, \
- ossl_quic_num_ciphers, \
- ossl_quic_get_cipher, \
- tls1_default_timeout, \
- &enc_data, \
- ssl_undefined_void_function, \
- ossl_quic_callback_ctrl, \
- ossl_quic_ctx_callback_ctrl, \
- }; \
- return &func_name##_data; \
- }
+#define IMPLEMENT_quic_meth_func(version, func_name, q_accept, \
+ q_connect, enc_data) \
+ const SSL_METHOD *func_name(void) \
+ { \
+ static const SSL_METHOD func_name##_data = { \
+ version, \
+ 0, \
+ 0, \
+ ossl_quic_new, \
+ ossl_quic_free, \
+ ossl_quic_reset, \
+ ossl_quic_init, \
+ NULL /* clear */, \
+ ossl_quic_deinit, \
+ q_accept, \
+ q_connect, \
+ ossl_quic_read, \
+ ossl_quic_peek, \
+ ossl_quic_write, \
+ NULL /* shutdown */, \
+ NULL /* renegotiate */, \
+ ossl_quic_renegotiate_check, \
+ NULL /* read_bytes */, \
+ NULL /* write_bytes */, \
+ NULL /* dispatch_alert */, \
+ ossl_quic_ctrl, \
+ ossl_quic_ctx_ctrl, \
+ ossl_quic_get_cipher_by_char, \
+ NULL /* put_cipher_by_char */, \
+ ossl_quic_pending, \
+ ossl_quic_num_ciphers, \
+ ossl_quic_get_cipher, \
+ tls1_default_timeout, \
+ &enc_data, \
+ ssl_undefined_void_function, \
+ ossl_quic_callback_ctrl, \
+ ossl_quic_ctx_callback_ctrl, \
+ }; \
+ return &func_name##_data; \
+ }
#endif
diff --git a/crypto/openssl/ssl/quic/quic_method.c b/crypto/openssl/ssl/quic/quic_method.c
index 8092855efc61..55d7824e336a 100644
--- a/crypto/openssl/ssl/quic/quic_method.c
+++ b/crypto/openssl/ssl/quic/quic_method.c
@@ -12,16 +12,16 @@
#include "quic_local.h"
IMPLEMENT_quic_meth_func(OSSL_QUIC_ANY_VERSION,
- OSSL_QUIC_client_method,
- ssl_undefined_function,
- ossl_quic_connect, ssl3_undef_enc_method)
+ OSSL_QUIC_client_method,
+ ssl_undefined_function,
+ ossl_quic_connect, ssl3_undef_enc_method)
IMPLEMENT_quic_meth_func(OSSL_QUIC_ANY_VERSION,
- OSSL_QUIC_client_thread_method,
- ssl_undefined_function,
- ossl_quic_connect, ssl3_undef_enc_method)
+ OSSL_QUIC_client_thread_method,
+ ssl_undefined_function,
+ ossl_quic_connect, ssl3_undef_enc_method)
IMPLEMENT_quic_meth_func(OSSL_QUIC_ANY_VERSION,
- OSSL_QUIC_server_method,
- ossl_quic_accept,
- ssl_undefined_function, ssl3_undef_enc_method)
+ OSSL_QUIC_server_method,
+ ossl_quic_accept,
+ ssl_undefined_function, ssl3_undef_enc_method)
diff --git a/crypto/openssl/ssl/quic/quic_obj.c b/crypto/openssl/ssl/quic/quic_obj.c
index 6c31c8c93314..0c0a3faa2ee5 100644
--- a/crypto/openssl/ssl/quic/quic_obj.c
+++ b/crypto/openssl/ssl/quic/quic_obj.c
@@ -14,17 +14,17 @@
static int obj_update_cache(QUIC_OBJ *obj);
int ossl_quic_obj_init(QUIC_OBJ *obj,
- SSL_CTX *ctx,
- int type,
- SSL *parent_obj,
- QUIC_ENGINE *engine,
- QUIC_PORT *port)
+ SSL_CTX *ctx,
+ int type,
+ SSL *parent_obj,
+ QUIC_ENGINE *engine,
+ QUIC_PORT *port)
{
int is_event_leader = (engine != NULL);
- int is_port_leader = (port != NULL);
+ int is_port_leader = (port != NULL);
if (!ossl_assert(obj != NULL && !obj->init_done && SSL_TYPE_IS_QUIC(type)
- && (parent_obj == NULL || IS_QUIC(parent_obj))))
+ && (parent_obj == NULL || IS_QUIC(parent_obj))))
return 0;
/* Event leader is always the root object. */
@@ -34,22 +34,22 @@ int ossl_quic_obj_init(QUIC_OBJ *obj,
if (!ossl_ssl_init(&obj->ssl, ctx, ctx->method, type))
goto err;
- obj->domain_flags = ctx->domain_flags;
- obj->parent_obj = (QUIC_OBJ *)parent_obj;
- obj->is_event_leader = is_event_leader;
- obj->is_port_leader = is_port_leader;
- obj->engine = engine;
- obj->port = port;
- obj->req_blocking_mode = QUIC_BLOCKING_MODE_INHERIT;
+ obj->domain_flags = ctx->domain_flags;
+ obj->parent_obj = (QUIC_OBJ *)parent_obj;
+ obj->is_event_leader = is_event_leader;
+ obj->is_port_leader = is_port_leader;
+ obj->engine = engine;
+ obj->port = port;
+ obj->req_blocking_mode = QUIC_BLOCKING_MODE_INHERIT;
if (!obj_update_cache(obj))
goto err;
- obj->init_done = 1;
+ obj->init_done = 1;
return 1;
err:
obj->is_event_leader = 0;
- obj->is_port_leader = 0;
+ obj->is_port_leader = 0;
return 0;
}
@@ -58,7 +58,7 @@ static int obj_update_cache(QUIC_OBJ *obj)
QUIC_OBJ *p;
for (p = obj; p != NULL && !p->is_event_leader;
- p = p->parent_obj)
+ p = p->parent_obj)
if (!ossl_assert(p == obj || p->init_done))
return 0;
@@ -69,14 +69,15 @@ static int obj_update_cache(QUIC_OBJ *obj)
* Offset of ->ssl is guaranteed to be 0 but the NULL check makes ubsan
* happy.
*/
- obj->cached_event_leader = p;
- obj->engine = p->engine;
+ obj->cached_event_leader = p;
+ obj->engine = p->engine;
for (p = obj; p != NULL && !p->is_port_leader;
- p = p->parent_obj);
+ p = p->parent_obj)
+ ;
- obj->cached_port_leader = p;
- obj->port = (p != NULL) ? p->port : NULL;
+ obj->cached_port_leader = p;
+ obj->port = (p != NULL) ? p->port : NULL;
return 1;
}
@@ -99,7 +100,8 @@ int ossl_quic_obj_can_support_blocking(const QUIC_OBJ *obj)
rtor = ossl_quic_obj_get0_reactor(obj);
if ((obj->domain_flags
- & (SSL_DOMAIN_FLAG_LEGACY_BLOCKING | SSL_DOMAIN_FLAG_BLOCKING)) == 0)
+ & (SSL_DOMAIN_FLAG_LEGACY_BLOCKING | SSL_DOMAIN_FLAG_BLOCKING))
+ == 0)
return 0;
return ossl_quic_reactor_can_poll_r(rtor)
@@ -112,7 +114,9 @@ int ossl_quic_obj_desires_blocking(const QUIC_OBJ *obj)
assert(obj != NULL);
for (; (req_blocking_mode = obj->req_blocking_mode) == QUIC_BLOCKING_MODE_INHERIT
- && obj->parent_obj != NULL; obj = obj->parent_obj);
+ && obj->parent_obj != NULL;
+ obj = obj->parent_obj)
+ ;
return req_blocking_mode != QUIC_BLOCKING_MODE_NONBLOCKING;
}
@@ -125,7 +129,7 @@ int ossl_quic_obj_blocking(const QUIC_OBJ *obj)
return 0;
ossl_quic_engine_update_poll_descriptors(ossl_quic_obj_get0_engine(obj),
- /*force=*/0);
+ /*force=*/0);
return ossl_quic_obj_can_support_blocking(obj);
}
diff --git a/crypto/openssl/ssl/quic/quic_obj_local.h b/crypto/openssl/ssl/quic/quic_obj_local.h
index 9f8729d32590..d454ade330bb 100644
--- a/crypto/openssl/ssl/quic/quic_obj_local.h
+++ b/crypto/openssl/ssl/quic/quic_obj_local.h
@@ -8,14 +8,14 @@
*/
#ifndef OSSL_QUIC_OBJ_LOCAL_H
-# define OSSL_QUIC_OBJ_LOCAL_H
+#define OSSL_QUIC_OBJ_LOCAL_H
-# include <openssl/ssl.h>
-# include "internal/quic_predef.h"
-# include "internal/quic_engine.h"
-# include "../ssl_local.h"
+#include <openssl/ssl.h>
+#include "internal/quic_predef.h"
+#include "internal/quic_engine.h"
+#include "../ssl_local.h"
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
/*
* QUIC Object Structure.
@@ -69,18 +69,18 @@
*/
struct quic_obj_st {
/* SSL object common header. */
- struct ssl_st ssl;
+ struct ssl_st ssl;
/*
* Pointer to a parent APL object in a QUIC APL object hierarchy, or NULL if
* this is the root object.
*/
- QUIC_OBJ *parent_obj;
+ QUIC_OBJ *parent_obj;
/* invariant: != NULL */
- QUIC_OBJ *cached_event_leader;
+ QUIC_OBJ *cached_event_leader;
/* invariant: != NULL iff this is a port leader or subsidiary object */
- QUIC_OBJ *cached_port_leader;
+ QUIC_OBJ *cached_port_leader;
/*
* Points to the QUIC_ENGINE instance. Always equals
@@ -89,7 +89,7 @@ struct quic_obj_st {
* reference cached for convenience. Unlike port this is never NULL because
* a QUIC domain is always rooted in an event leader.
*/
- QUIC_ENGINE *engine;
+ QUIC_ENGINE *engine;
/*
* Points to the QUIC_PORT instance applicable to the containing_obj APL
@@ -98,23 +98,23 @@ struct quic_obj_st {
* instance iff is_port_leader is set, otherwise it is an additional
* reference cached for convenience.
*/
- QUIC_PORT *port;
+ QUIC_PORT *port;
/* SSL_DOMAIN_FLAG values taken from SSL_CTX at construction time. */
- uint64_t domain_flags;
+ uint64_t domain_flags;
- unsigned int init_done : 1;
- unsigned int is_event_leader : 1;
- unsigned int is_port_leader : 1;
+ unsigned int init_done : 1;
+ unsigned int is_event_leader : 1;
+ unsigned int is_port_leader : 1;
/*
* Blocking mode configuration is handled generically through QUIC_OBJ as it
* by default inherits from the parent SSL object.
*/
- unsigned int req_blocking_mode : 2; /* QUIC_BLOCKING_MODE */
+ unsigned int req_blocking_mode : 2; /* QUIC_BLOCKING_MODE */
/* Event handling mode. One of SSL_QUIC_VALUE_EVENT_HANDLING. */
- unsigned int event_handling_mode : 2;
+ unsigned int event_handling_mode : 2;
};
enum {
@@ -149,11 +149,11 @@ enum {
* ancestors to find the Port Leader.
*/
int ossl_quic_obj_init(QUIC_OBJ *obj,
- SSL_CTX *ctx,
- int type,
- SSL *parent_obj,
- QUIC_ENGINE *engine,
- QUIC_PORT *port);
+ SSL_CTX *ctx,
+ int type,
+ SSL *parent_obj,
+ QUIC_ENGINE *engine,
+ QUIC_PORT *port);
/*
* Returns a pointer to the handshake layer object which should be accessible on
@@ -216,7 +216,8 @@ static ossl_inline ossl_unused QUIC_ENGINE *
ossl_quic_obj_get0_engine_local(const QUIC_OBJ *obj)
{
return ossl_quic_obj_is_event_leader(obj)
- ? ossl_quic_obj_get0_engine(obj) : NULL;
+ ? ossl_quic_obj_get0_engine(obj)
+ : NULL;
}
/* Returns 1 iff this leader structure represents a port leader. */
@@ -234,7 +235,8 @@ static ossl_inline ossl_unused QUIC_PORT *
ossl_quic_obj_get0_port_local(const QUIC_OBJ *obj)
{
return ossl_quic_obj_is_port_leader(obj)
- ? ossl_quic_obj_get0_port(obj) : NULL;
+ ? ossl_quic_obj_get0_port(obj)
+ : NULL;
}
/*
@@ -337,5 +339,5 @@ ossl_quic_obj_set_domain_flags(QUIC_OBJ *obj, uint64_t domain_flags)
obj->domain_flags = domain_flags;
}
-# endif
+#endif
#endif
diff --git a/crypto/openssl/ssl/quic/quic_port.c b/crypto/openssl/ssl/quic/quic_port.c
index d6e6d4d25cb5..1e247e1ec624 100644
--- a/crypto/openssl/ssl/quic/quic_port.c
+++ b/crypto/openssl/ssl/quic/quic_port.c
@@ -24,13 +24,13 @@
* QUIC Port Structure
* ===================
*/
-#define INIT_DCID_LEN 8
+#define INIT_DCID_LEN 8
static int port_init(QUIC_PORT *port);
static void port_cleanup(QUIC_PORT *port);
static OSSL_TIME get_time(void *arg);
static void port_default_packet_handler(QUIC_URXE *e, void *arg,
- const QUIC_CONN_ID *dcid);
+ const QUIC_CONN_ID *dcid);
static void port_rx_pre(QUIC_PORT *port);
/**
@@ -104,8 +104,8 @@ QUIC_PORT *ossl_quic_port_new(const QUIC_PORT_ARGS *args)
if ((port = OPENSSL_zalloc(sizeof(QUIC_PORT))) == NULL)
return NULL;
- port->engine = args->engine;
- port->channel_ctx = args->channel_ctx;
+ port->engine = args->engine;
+ port->channel_ctx = args->channel_ctx;
port->is_multi_conn = args->is_multi_conn;
port->validate_addr = args->do_addr_validation;
port->get_conn_user_ssl = args->get_conn_user_ssl;
@@ -143,34 +143,38 @@ static int port_init(QUIC_PORT *port)
goto err;
if ((port->demux = ossl_quic_demux_new(/*BIO=*/NULL,
- /*Short CID Len=*/rx_short_dcid_len,
- get_time, port)) == NULL)
+ /*Short CID Len=*/rx_short_dcid_len,
+ get_time, port))
+ == NULL)
goto err;
ossl_quic_demux_set_default_handler(port->demux,
- port_default_packet_handler,
- port);
+ port_default_packet_handler,
+ port);
if ((port->srtm = ossl_quic_srtm_new(port->engine->libctx,
- port->engine->propq)) == NULL)
+ port->engine->propq))
+ == NULL)
goto err;
if ((port->lcidm = ossl_quic_lcidm_new(port->engine->libctx,
- rx_short_dcid_len)) == NULL)
+ rx_short_dcid_len))
+ == NULL)
goto err;
port->rx_short_dcid_len = (unsigned char)rx_short_dcid_len;
- port->tx_init_dcid_len = INIT_DCID_LEN;
- port->state = QUIC_PORT_STATE_RUNNING;
+ port->tx_init_dcid_len = INIT_DCID_LEN;
+ port->state = QUIC_PORT_STATE_RUNNING;
ossl_list_port_insert_tail(&port->engine->port_list, port);
- port->on_engine_list = 1;
- port->bio_changed = 1;
+ port->on_engine_list = 1;
+ port->bio_changed = 1;
/* Generate random key for token encryption */
if ((port->token_ctx = EVP_CIPHER_CTX_new()) == NULL
|| (cipher = EVP_CIPHER_fetch(port->engine->libctx,
- "AES-256-GCM", NULL)) == NULL
+ "AES-256-GCM", NULL))
+ == NULL
|| !EVP_EncryptInit_ex(port->token_ctx, cipher, NULL, NULL, NULL)
|| (key_len = EVP_CIPHER_CTX_get_key_length(port->token_ctx)) <= 0
|| (token_key = OPENSSL_malloc(key_len)) == NULL
@@ -298,7 +302,7 @@ BIO *ossl_quic_port_get_net_wbio(QUIC_PORT *port)
static int port_update_poll_desc(QUIC_PORT *port, BIO *net_bio, int for_write)
{
- BIO_POLL_DESCRIPTOR d = {0};
+ BIO_POLL_DESCRIPTOR d = { 0 };
if (net_bio == NULL
|| (!for_write && !BIO_get_rpoll_descriptor(net_bio, &d))
@@ -433,7 +437,7 @@ int ossl_quic_port_set_net_wbio(QUIC_PORT *port, BIO *net_wbio)
return 0;
OSSL_LIST_FOREACH(ch, ch, &port->channel_list)
- ossl_qtx_set_bio(ch->qtx, net_wbio);
+ ossl_qtx_set_bio(ch->qtx, net_wbio);
port->net_wbio = net_wbio;
port_update_addressing_mode(port);
@@ -488,38 +492,38 @@ static SSL *port_new_handshake_layer(QUIC_PORT *port, QUIC_CHANNEL *ch)
if (ql != NULL && ql->obj.ssl.ctx->new_pending_conn_cb != NULL)
if (!ql->obj.ssl.ctx->new_pending_conn_cb(ql->obj.ssl.ctx, user_ssl,
- ql->obj.ssl.ctx->new_pending_conn_arg)) {
+ ql->obj.ssl.ctx->new_pending_conn_arg)) {
SSL_free(user_ssl);
return NULL;
}
/* Override the user_ssl of the inner connection. */
- tls_conn->s3.flags |= TLS1_FLAGS_QUIC | TLS1_FLAGS_QUIC_INTERNAL;
+ tls_conn->s3.flags |= TLS1_FLAGS_QUIC | TLS1_FLAGS_QUIC_INTERNAL;
/* Restrict options derived from the SSL_CTX. */
- tls_conn->options &= OSSL_QUIC_PERMITTED_OPTIONS_CONN;
- tls_conn->pha_enabled = 0;
+ tls_conn->options &= OSSL_QUIC_PERMITTED_OPTIONS_CONN;
+ tls_conn->pha_enabled = 0;
return tls;
}
static QUIC_CHANNEL *port_make_channel(QUIC_PORT *port, SSL *tls, OSSL_QRX *qrx,
- int is_server, int is_tserver)
+ int is_server, int is_tserver)
{
- QUIC_CHANNEL_ARGS args = {0};
+ QUIC_CHANNEL_ARGS args = { 0 };
QUIC_CHANNEL *ch;
- args.port = port;
- args.is_server = is_server;
- args.lcidm = port->lcidm;
- args.srtm = port->srtm;
- args.qrx = qrx;
+ args.port = port;
+ args.is_server = is_server;
+ args.lcidm = port->lcidm;
+ args.srtm = port->srtm;
+ args.qrx = qrx;
args.is_tserver_ch = is_tserver;
/*
* Creating a a new channel is made a bit tricky here as there is a
- * bit of a circular dependency. Initalizing a channel requires that
+ * bit of a circular dependency. Initializing a channel requires that
* the ch->tls and optionally the qlog_title be configured prior to
- * initalization, but we need the channel at least partially configured
+ * initialization, but we need the channel at least partially configured
* to create the new handshake layer, so we have to do this in a few steps.
*/
@@ -568,7 +572,7 @@ static QUIC_CHANNEL *port_make_channel(QUIC_PORT *port, SSL *tls, OSSL_QRX *qrx,
QUIC_CHANNEL *ossl_quic_port_create_outgoing(QUIC_PORT *port, SSL *tls)
{
return port_make_channel(port, tls, NULL, /* is_server= */ 0,
- /* is_tserver= */ 0);
+ /* is_tserver= */ 0);
}
QUIC_CHANNEL *ossl_quic_port_create_incoming(QUIC_PORT *port, SSL *tls)
@@ -582,7 +586,7 @@ QUIC_CHANNEL *ossl_quic_port_create_incoming(QUIC_PORT *port, SSL *tls)
* later in port_default_packet_handler() when calling port_bind_channel().
*/
ch = port_make_channel(port, tls, NULL, /* is_server= */ 1,
- /* is_tserver_ch */ 1);
+ /* is_tserver_ch */ 1);
port->tserver_ch = ch;
port->allow_incoming = 1;
return ch;
@@ -655,14 +659,14 @@ void ossl_quic_port_set_allow_incoming(QUIC_PORT *port, int allow_incoming)
* this port's network BIOs, and services child channels.
*/
void ossl_quic_port_subtick(QUIC_PORT *port, QUIC_TICK_RESULT *res,
- uint32_t flags)
+ uint32_t flags)
{
QUIC_CHANNEL *ch;
- res->net_read_desired = ossl_quic_port_is_running(port);
- res->net_write_desired = 0;
- res->notify_other_threads = 0;
- res->tick_deadline = ossl_time_infinite();
+ res->net_read_desired = ossl_quic_port_is_running(port);
+ res->net_write_desired = 0;
+ res->notify_other_threads = 0;
+ res->tick_deadline = ossl_time_infinite();
if (!port->engine->inhibit_tick) {
/* Handle any incoming data from network. */
@@ -670,8 +674,9 @@ void ossl_quic_port_subtick(QUIC_PORT *port, QUIC_TICK_RESULT *res,
port_rx_pre(port);
/* Iterate through all channels and service them. */
- OSSL_LIST_FOREACH(ch, ch, &port->channel_list) {
- QUIC_TICK_RESULT subr = {0};
+ OSSL_LIST_FOREACH(ch, ch, &port->channel_list)
+ {
+ QUIC_TICK_RESULT subr = { 0 };
ossl_quic_channel_subtick(ch, &subr, flags);
ossl_quic_tick_result_merge_into(res, &subr);
@@ -724,9 +729,9 @@ static void port_rx_pre(QUIC_PORT *port)
* to *new_ch.
*/
static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
- const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid,
- const QUIC_CONN_ID *odcid, OSSL_QRX *qrx,
- QUIC_CHANNEL **new_ch)
+ const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid,
+ const QUIC_CONN_ID *odcid, OSSL_QRX *qrx,
+ QUIC_CHANNEL **new_ch)
{
QUIC_CHANNEL *ch;
@@ -739,11 +744,11 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
port->tserver_ch = NULL;
ossl_quic_channel_bind_qrx(ch, qrx);
ossl_qrx_set_msg_callback(ch->qrx, ch->msg_callback,
- ch->msg_callback_ssl);
+ ch->msg_callback_ssl);
ossl_qrx_set_msg_callback_arg(ch->qrx, ch->msg_callback_arg);
} else {
ch = port_make_channel(port, NULL, qrx, /* is_server= */ 1,
- /* is_tserver */ 0);
+ /* is_tserver */ 0);
}
if (ch == NULL)
@@ -759,9 +764,9 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
*/
if (qrx == NULL)
if (!ossl_quic_provide_initial_secret(ch->port->engine->libctx,
- ch->port->engine->propq,
- dcid, /* is_server */ 1,
- ch->qrx, NULL))
+ ch->port->engine->propq,
+ dcid, /* is_server */ 1,
+ ch->qrx, NULL))
return;
if (odcid->id_len != 0) {
@@ -824,9 +829,9 @@ static int port_try_handle_stateless_reset(QUIC_PORT *port, const QUIC_URXE *e)
for (i = 0;; ++i) {
if (!ossl_quic_srtm_lookup(port->srtm,
- (QUIC_STATELESS_RESET_TOKEN *)(data + e->data_len
- - sizeof(QUIC_STATELESS_RESET_TOKEN)),
- i, &opaque, NULL))
+ (QUIC_STATELESS_RESET_TOKEN *)(data + e->data_len
+ - sizeof(QUIC_STATELESS_RESET_TOKEN)),
+ i, &opaque, NULL))
break;
assert(opaque != NULL);
@@ -853,8 +858,8 @@ static void cleanup_validation_token(QUIC_VALIDATION_TOKEN *token)
* @return 1 if validation token is filled successfully, 0 otherwise.
*/
static int generate_token(BIO_ADDR *peer, QUIC_CONN_ID odcid,
- QUIC_CONN_ID rscid, QUIC_VALIDATION_TOKEN *token,
- int is_retry)
+ QUIC_CONN_ID rscid, QUIC_VALIDATION_TOKEN *token,
+ int is_retry)
{
token->is_retry = is_retry;
token->timestamp = ossl_time_now();
@@ -866,7 +871,7 @@ static int generate_token(BIO_ADDR *peer, QUIC_CONN_ID odcid,
|| token->remote_addr_len == 0
|| (token->remote_addr = OPENSSL_malloc(token->remote_addr_len)) == NULL
|| !BIO_ADDR_rawaddress(peer, token->remote_addr,
- &token->remote_addr_len)) {
+ &token->remote_addr_len)) {
cleanup_validation_token(token);
return 0;
}
@@ -885,9 +890,9 @@ static int generate_token(BIO_ADDR *peer, QUIC_CONN_ID odcid,
* @param buffer_len Size of data stored in |buffer|.
*/
static int marshal_validation_token(QUIC_VALIDATION_TOKEN *token,
- unsigned char *buffer, size_t *buffer_len)
+ unsigned char *buffer, size_t *buffer_len)
{
- WPACKET wpkt = {0};
+ WPACKET wpkt = { 0 };
BUF_MEM *buf_mem = BUF_MEM_new();
if (buffer == NULL || buf_mem == NULL
@@ -899,12 +904,12 @@ static int marshal_validation_token(QUIC_VALIDATION_TOKEN *token,
if (!WPACKET_init(&wpkt, buf_mem)
|| !WPACKET_memset(&wpkt, token->is_retry, 1)
|| !WPACKET_memcpy(&wpkt, &token->timestamp,
- sizeof(token->timestamp))
+ sizeof(token->timestamp))
|| (token->is_retry
&& (!WPACKET_sub_memcpy_u8(&wpkt, &token->odcid.id,
- token->odcid.id_len)
+ token->odcid.id_len)
|| !WPACKET_sub_memcpy_u8(&wpkt, &token->rscid.id,
- token->rscid.id_len)))
+ token->rscid.id_len)))
|| !WPACKET_sub_memcpy_u8(&wpkt, token->remote_addr, token->remote_addr_len)
|| !WPACKET_get_total_written(&wpkt, buffer_len)
|| *buffer_len > MARSHALLED_TOKEN_MAX_LEN
@@ -937,10 +942,10 @@ static int marshal_validation_token(QUIC_VALIDATION_TOKEN *token,
* [EVP_GCM_IV_LEN bytes IV][encrypted data][EVP_GCM_TAG_LEN bytes tag]
*/
static int encrypt_validation_token(const QUIC_PORT *port,
- const unsigned char *plaintext,
- size_t pt_len,
- unsigned char *ciphertext,
- size_t *ct_len)
+ const unsigned char *plaintext,
+ size_t pt_len,
+ unsigned char *ciphertext,
+ size_t *ct_len)
{
int iv_len, len, ret = 0;
size_t tag_len;
@@ -987,10 +992,10 @@ err:
* [EVP_GCM_IV_LEN bytes IV][encrypted data][EVP_GCM_TAG_LEN bytes tag]
*/
static int decrypt_validation_token(const QUIC_PORT *port,
- const unsigned char *ciphertext,
- size_t ct_len,
- unsigned char *plaintext,
- size_t *pt_len)
+ const unsigned char *ciphertext,
+ size_t ct_len,
+ unsigned char *plaintext,
+ size_t *pt_len)
{
int iv_len, len = 0, ret = 0;
size_t tag_len;
@@ -1015,9 +1020,9 @@ static int decrypt_validation_token(const QUIC_PORT *port,
if (!EVP_DecryptInit_ex(port->token_ctx, NULL, NULL, NULL, iv)
|| !EVP_DecryptUpdate(port->token_ctx, plaintext, &len, data,
- ct_len - iv_len - tag_len)
+ ct_len - iv_len - tag_len)
|| !EVP_CIPHER_CTX_ctrl(port->token_ctx, EVP_CTRL_GCM_SET_TAG, tag_len,
- (void *)tag)
+ (void *)tag)
|| !EVP_DecryptFinal_ex(port->token_ctx, plaintext + len, &len))
goto err;
@@ -1030,14 +1035,14 @@ err:
/**
* @brief Parses contents of a buffer into a validation token.
*
- * VALIDATION_TOKEN should already be initalized. Does some basic sanity checks.
+ * VALIDATION_TOKEN should already be initialized. Does some basic sanity checks.
*
* @param token Validation token to fill data in.
* @param buf Buffer of previously marshaled validation token.
* @param buf_len Length of |buf|.
*/
static int parse_validation_token(QUIC_VALIDATION_TOKEN *token,
- const unsigned char *buf, size_t buf_len)
+ const unsigned char *buf, size_t buf_len)
{
PACKET pkt, subpkt;
@@ -1050,19 +1055,19 @@ static int parse_validation_token(QUIC_VALIDATION_TOKEN *token,
|| !PACKET_copy_bytes(&pkt, &token->is_retry, sizeof(token->is_retry))
|| !(token->is_retry == 0 || token->is_retry == 1)
|| !PACKET_copy_bytes(&pkt, (unsigned char *)&token->timestamp,
- sizeof(token->timestamp))
+ sizeof(token->timestamp))
|| (token->is_retry
&& (!PACKET_get_length_prefixed_1(&pkt, &subpkt)
|| (token->odcid.id_len = (unsigned char)PACKET_remaining(&subpkt))
> QUIC_MAX_CONN_ID_LEN
|| !PACKET_copy_bytes(&subpkt,
- (unsigned char *)&token->odcid.id,
- token->odcid.id_len)
+ (unsigned char *)&token->odcid.id,
+ token->odcid.id_len)
|| !PACKET_get_length_prefixed_1(&pkt, &subpkt)
|| (token->rscid.id_len = (unsigned char)PACKET_remaining(&subpkt))
> QUIC_MAX_CONN_ID_LEN
|| !PACKET_copy_bytes(&subpkt, (unsigned char *)&token->rscid.id,
- token->rscid.id_len)))
+ token->rscid.id_len)))
|| !PACKET_get_length_prefixed_1(&pkt, &subpkt)
|| (token->remote_addr_len = PACKET_remaining(&subpkt)) == 0
|| (token->remote_addr = OPENSSL_malloc(token->remote_addr_len)) == NULL
@@ -1098,8 +1103,8 @@ static int parse_validation_token(QUIC_VALIDATION_TOKEN *token,
* network transmiss
*/
static void port_send_retry(QUIC_PORT *port,
- BIO_ADDR *peer,
- QUIC_PKT_HDR *client_hdr)
+ BIO_ADDR *peer,
+ QUIC_PKT_HDR *client_hdr)
{
BIO_MSG msg[1];
/*
@@ -1111,8 +1116,8 @@ static void port_send_retry(QUIC_PORT *port,
unsigned char ct_buf[ENCRYPTED_TOKEN_MAX_LEN];
WPACKET wpkt;
size_t written, token_buf_len, ct_len;
- QUIC_PKT_HDR hdr = {0};
- QUIC_VALIDATION_TOKEN token = {0};
+ QUIC_PKT_HDR hdr = { 0 };
+ QUIC_VALIDATION_TOKEN token = { 0 };
int ok;
if (!ossl_assert(sizeof(buffer) >= MARSHALLED_TOKEN_MAX_LEN))
@@ -1137,13 +1142,13 @@ static void port_send_retry(QUIC_PORT *port,
/* Generate retry validation token */
if (!generate_token(peer, client_hdr->dst_conn_id,
- hdr.src_conn_id, &token, 1)
+ hdr.src_conn_id, &token, 1)
|| !marshal_validation_token(&token, buffer, &token_buf_len)
|| !encrypt_validation_token(port, buffer, token_buf_len, NULL,
- &ct_len)
+ &ct_len)
|| ct_len > ENCRYPTED_TOKEN_MAX_LEN
|| !encrypt_validation_token(port, buffer, token_buf_len, ct_buf,
- &ct_len)
+ &ct_len)
|| !ossl_assert(ct_len >= QUIC_RETRY_INTEGRITY_TAG_LEN))
goto err;
@@ -1154,10 +1159,10 @@ static void port_send_retry(QUIC_PORT *port,
hdr.len = ct_len;
hdr.data = ct_buf;
ok = ossl_quic_calculate_retry_integrity_tag(port->engine->libctx,
- port->engine->propq, &hdr,
- &client_hdr->dst_conn_id,
- ct_buf + ct_len
- - QUIC_RETRY_INTEGRITY_TAG_LEN);
+ port->engine->propq, &hdr,
+ &client_hdr->dst_conn_id,
+ ct_buf + ct_len
+ - QUIC_RETRY_INTEGRITY_TAG_LEN);
if (ok == 0)
goto err;
@@ -1174,7 +1179,7 @@ static void port_send_retry(QUIC_PORT *port,
goto err;
ok = ossl_quic_wire_encode_pkt_hdr(&wpkt, client_hdr->dst_conn_id.id_len,
- &hdr, NULL);
+ &hdr, NULL);
if (ok == 0)
goto err;
@@ -1192,7 +1197,7 @@ static void port_send_retry(QUIC_PORT *port,
*/
if (!BIO_sendmmsg(port->net_wbio, msg, sizeof(BIO_MSG), 1, 0, &written))
ERR_raise_data(ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR,
- "port retry send failed due to network BIO I/O error");
+ "port retry send failed due to network BIO I/O error");
err:
cleanup_validation_token(&token);
@@ -1216,7 +1221,7 @@ err:
* @note The function will raise an error if sending the message fails.
*/
static void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer,
- QUIC_PKT_HDR *client_hdr)
+ QUIC_PKT_HDR *client_hdr)
{
BIO_MSG msg[1];
unsigned char buffer[1024];
@@ -1260,7 +1265,7 @@ static void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer,
return;
if (!ossl_quic_wire_encode_pkt_hdr(&wpkt, client_hdr->dst_conn_id.id_len,
- &hdr, NULL))
+ &hdr, NULL))
return;
/*
@@ -1284,11 +1289,11 @@ static void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer,
*/
if (!BIO_sendmmsg(port->net_wbio, msg, sizeof(BIO_MSG), 1, 0, &written))
ERR_raise_data(ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR,
- "port version negotiation send failed");
+ "port version negotiation send failed");
}
/**
- * @brief defintions of token lifetimes
+ * @brief definitions of token lifetimes
*
* RETRY tokens are only valid for 10 seconds
* NEW_TOKEN tokens have a lifetime of 3600 sec (1 hour)
@@ -1327,8 +1332,8 @@ static void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer,
* configurable in the future.
*/
static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,
- BIO_ADDR *peer, QUIC_CONN_ID *odcid,
- QUIC_CONN_ID *scid, uint8_t *gen_new_token)
+ BIO_ADDR *peer, QUIC_CONN_ID *odcid,
+ QUIC_CONN_ID *scid, uint8_t *gen_new_token)
{
int ret = 0;
QUIC_VALIDATION_TOKEN token = { 0 };
@@ -1340,10 +1345,10 @@ static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,
*gen_new_token = 0;
if (!decrypt_validation_token(port, hdr->token, hdr->token_len, NULL,
- &dec_token_len)
+ &dec_token_len)
|| dec_token_len > MARSHALLED_TOKEN_MAX_LEN
|| !decrypt_validation_token(port, hdr->token, hdr->token_len,
- dec_token, &dec_token_len)
+ dec_token, &dec_token_len)
|| !parse_validation_token(&token, dec_token, dec_token_len))
goto err;
@@ -1354,7 +1359,7 @@ static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,
if (ossl_time_compare(now, token.timestamp) < 0)
goto err;
time_diff = ossl_time2seconds(ossl_time_abs_difference(token.timestamp,
- now));
+ now));
if ((token.is_retry && time_diff > RETRY_LIFETIME)
|| (!token.is_retry && time_diff > NEW_TOKEN_LIFETIME))
goto err;
@@ -1384,7 +1389,8 @@ static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,
*/
if (token.rscid.id_len != hdr->dst_conn_id.id_len
|| memcmp(&token.rscid.id, &hdr->dst_conn_id.id,
- token.rscid.id_len) != 0)
+ token.rscid.id_len)
+ != 0)
goto err;
*odcid = token.odcid;
*scid = token.rscid;
@@ -1453,10 +1459,10 @@ static void generate_new_token(QUIC_CHANNEL *ch, BIO_ADDR *peer)
if (!generate_token(peer, ch->init_dcid, rscid, &token, 0)
|| !marshal_validation_token(&token, buffer, &token_buf_len)
|| !encrypt_validation_token(ch->port, buffer, token_buf_len, NULL,
- &ct_len)
+ &ct_len)
|| ct_len > ENCRYPTED_TOKEN_MAX_LEN
|| !encrypt_validation_token(ch->port, buffer, token_buf_len, ct_buf,
- &ct_len)
+ &ct_len)
|| !ossl_assert(ct_len >= QUIC_RETRY_INTEGRITY_TAG_LEN)) {
OPENSSL_free(ct_buf);
cleanup_validation_token(&token);
@@ -1474,7 +1480,7 @@ static void generate_new_token(QUIC_CHANNEL *ch, BIO_ADDR *peer)
* DCID.
*/
static void port_default_packet_handler(QUIC_URXE *e, void *arg,
- const QUIC_CONN_ID *dcid)
+ const QUIC_CONN_ID *dcid)
{
QUIC_PORT *port = arg;
PACKET pkt;
@@ -1484,7 +1490,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
uint8_t gen_new_token = 0;
OSSL_QRX *qrx = NULL;
OSSL_QRX *qrx_src = NULL;
- OSSL_QRX_ARGS qrx_args = {0};
+ OSSL_QRX_ARGS qrx_args = { 0 };
uint64_t cause_flags = 0;
OSSL_QRX_PKT *qrx_pkt = NULL;
@@ -1497,7 +1503,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
if (dcid != NULL
&& ossl_quic_lcidm_lookup(port->lcidm, dcid, NULL,
- (void **)&ch)) {
+ (void **)&ch)) {
assert(ch != NULL);
ossl_quic_channel_inject(ch, e);
return;
@@ -1526,7 +1532,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
* care about Initial packets.
*/
if (!ossl_quic_wire_decode_pkt_hdr(&pkt, SIZE_MAX, 1, 0, &hdr, NULL,
- &cause_flags)) {
+ &cause_flags)) {
/*
* If we fail due to a bad version, we know the packet up to the version
* number was decoded, and we use it below to send a version
@@ -1574,10 +1580,10 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
* Create qrx now so we can check integrity of packet
* which does not belong to any channel.
*/
- qrx_args.libctx = port->engine->libctx;
- qrx_args.demux = port->demux;
- qrx_args.short_conn_id_len = dcid->id_len;
- qrx_args.max_deferred = 32;
+ qrx_args.libctx = port->engine->libctx;
+ qrx_args.demux = port->demux;
+ qrx_args.short_conn_id_len = dcid->id_len;
+ qrx_args.max_deferred = 32;
qrx = ossl_qrx_new(&qrx_args);
if (qrx == NULL)
goto undesirable;
@@ -1586,10 +1592,10 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
* Derive secrets for qrx only.
*/
if (!ossl_quic_provide_initial_secret(port->engine->libctx,
- port->engine->propq,
- &hdr.dst_conn_id,
- /* is_server */ 1,
- qrx, NULL))
+ port->engine->propq,
+ &hdr.dst_conn_id,
+ /* is_server */ 1,
+ qrx, NULL))
goto undesirable;
if (ossl_qrx_validate_initial_packet(qrx, e, (const QUIC_CONN_ID *)dcid) == 0)
@@ -1609,8 +1615,8 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
* going to create. We use qrx_src alias so we can read packets from
* qrx and inject them to channel.
*/
- qrx_src = qrx;
- qrx = NULL;
+ qrx_src = qrx;
+ qrx = NULL;
}
/*
* TODO(QUIC FUTURE): there should be some logic similar to accounting half-open
@@ -1630,8 +1636,9 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
*/
if (hdr.token != NULL
&& port_validate_token(&hdr, port, &e->peer,
- &odcid, &scid,
- &gen_new_token) == 0) {
+ &odcid, &scid,
+ &gen_new_token)
+ == 0) {
/*
* RFC 9000 s 8.1.3
* When a server receives an Initial packet with an address
@@ -1664,7 +1671,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
}
port_bind_channel(port, &e->peer, &scid, &hdr.dst_conn_id,
- &odcid, qrx, &new_ch);
+ &odcid, qrx, &new_ch);
/*
* if packet validates it gets moved to channel, we've just bound
@@ -1714,7 +1721,7 @@ undesirable:
}
void ossl_quic_port_raise_net_error(QUIC_PORT *port,
- QUIC_CHANNEL *triggering_ch)
+ QUIC_CHANNEL *triggering_ch)
{
QUIC_CHANNEL *ch;
@@ -1726,7 +1733,7 @@ void ossl_quic_port_raise_net_error(QUIC_PORT *port,
* cover error.
*/
ERR_raise_data(ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR,
- "port failed due to network BIO I/O error");
+ "port failed due to network BIO I/O error");
OSSL_ERR_STATE_save(port->err_state);
port_transition_failed(port);
@@ -1736,8 +1743,8 @@ void ossl_quic_port_raise_net_error(QUIC_PORT *port,
ossl_quic_channel_raise_net_error(triggering_ch);
OSSL_LIST_FOREACH(ch, ch, &port->channel_list)
- if (ch != triggering_ch)
- ossl_quic_channel_raise_net_error(ch);
+ if (ch != triggering_ch)
+ ossl_quic_channel_raise_net_error(ch);
}
void ossl_quic_port_restore_err_state(const QUIC_PORT *port)
diff --git a/crypto/openssl/ssl/quic/quic_port_local.h b/crypto/openssl/ssl/quic/quic_port_local.h
index e36272a94d61..3bad3fc3a3aa 100644
--- a/crypto/openssl/ssl/quic/quic_port_local.h
+++ b/crypto/openssl/ssl/quic/quic_port_local.h
@@ -8,13 +8,13 @@
*/
#ifndef OSSL_QUIC_PORT_LOCAL_H
-# define OSSL_QUIC_PORT_LOCAL_H
+#define OSSL_QUIC_PORT_LOCAL_H
-# include "internal/quic_port.h"
-# include "internal/quic_reactor.h"
-# include "internal/list.h"
+#include "internal/quic_port.h"
+#include "internal/quic_reactor.h"
+#include "internal/list.h"
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
/*
* QUIC Port Structure
@@ -43,7 +43,7 @@ enum {
struct quic_port_st {
/* The engine which this port is a child of. */
- QUIC_ENGINE *engine;
+ QUIC_ENGINE *engine;
/*
* QUIC_ENGINE keeps the ports which belong to it on a list for bookkeeping
@@ -51,73 +51,75 @@ struct quic_port_st {
*/
OSSL_LIST_MEMBER(port, QUIC_PORT);
- SSL * (*get_conn_user_ssl)(QUIC_CHANNEL *ch, void *arg);
+ SSL *(*get_conn_user_ssl)(QUIC_CHANNEL *ch, void *arg);
void *user_ssl_arg;
/* Used to create handshake layer objects inside newly created channels. */
- SSL_CTX *channel_ctx;
+ SSL_CTX *channel_ctx;
/* Network-side read and write BIOs. */
- BIO *net_rbio, *net_wbio;
+ BIO *net_rbio, *net_wbio;
/* RX demuxer. We register incoming DCIDs with this. */
- QUIC_DEMUX *demux;
+ QUIC_DEMUX *demux;
/* List of all child channels. */
- OSSL_LIST(ch) channel_list;
+ OSSL_LIST(ch)
+ channel_list;
/*
* Queue of unaccepted incoming channels. Each such channel is also on
* channel_list.
*/
- OSSL_LIST(incoming_ch) incoming_channel_list;
+ OSSL_LIST(incoming_ch)
+ incoming_channel_list;
/* Special TSERVER channel. To be removed in the future. */
- QUIC_CHANNEL *tserver_ch;
+ QUIC_CHANNEL *tserver_ch;
/* LCIDM used for incoming packet routing by DCID. */
- QUIC_LCIDM *lcidm;
+ QUIC_LCIDM *lcidm;
/* SRTM used for incoming packet routing by SRT. */
- QUIC_SRTM *srtm;
+ QUIC_SRTM *srtm;
/* Port-level permanent errors (causing failure state) are stored here. */
- ERR_STATE *err_state;
+ ERR_STATE *err_state;
/* DCID length used for incoming short header packets. */
- unsigned char rx_short_dcid_len;
+ unsigned char rx_short_dcid_len;
/* For clients, CID length used for outgoing Initial packets. */
- unsigned char tx_init_dcid_len;
+ unsigned char tx_init_dcid_len;
/* Port state (QUIC_PORT_STATE_*). */
- unsigned int state : 1;
+ unsigned int state : 1;
/* Is this port created to support multiple connections? */
- unsigned int is_multi_conn : 1;
+ unsigned int is_multi_conn : 1;
/* Is this port doing server address validation */
- unsigned int validate_addr : 1;
+ unsigned int validate_addr : 1;
/* Has this port sent any packet of any kind yet? */
- unsigned int have_sent_any_pkt : 1;
+ unsigned int have_sent_any_pkt : 1;
/* Does this port allow incoming connections? */
- unsigned int allow_incoming : 1;
+ unsigned int allow_incoming : 1;
/* Are we on the QUIC_ENGINE linked list of ports? */
- unsigned int on_engine_list : 1;
+ unsigned int on_engine_list : 1;
/* Are we using addressed mode (BIO_sendmmsg with non-NULL peer)? */
- unsigned int addressed_mode_w : 1;
- unsigned int addressed_mode_r : 1;
+ unsigned int addressed_mode_w : 1;
+ unsigned int addressed_mode_r : 1;
/* Has the BIO been changed since we last updated reactor pollability? */
- unsigned int bio_changed : 1;
+ unsigned int bio_changed : 1;
/* AES-256 GCM context for token encryption */
EVP_CIPHER_CTX *token_ctx;
};
-# endif
+#endif
#endif
diff --git a/crypto/openssl/ssl/quic/quic_rcidm.c b/crypto/openssl/ssl/quic/quic_rcidm.c
index 18f7e8096b20..0d5cb0337b29 100644
--- a/crypto/openssl/ssl/quic/quic_rcidm.c
+++ b/crypto/openssl/ssl/quic/quic_rcidm.c
@@ -35,12 +35,12 @@
*/
static void rcidm_update(QUIC_RCIDM *rcidm);
static void rcidm_set_preferred_rcid(QUIC_RCIDM *rcidm,
- const QUIC_CONN_ID *rcid);
+ const QUIC_CONN_ID *rcid);
-#define PACKETS_PER_RCID 10000
+#define PACKETS_PER_RCID 10000
-#define INITIAL_SEQ_NUM 0
-#define PREF_ADDR_SEQ_NUM 1
+#define INITIAL_SEQ_NUM 0
+#define PREF_ADDR_SEQ_NUM 1
/*
* RCID
@@ -114,9 +114,9 @@ enum {
};
enum {
- RCID_TYPE_INITIAL, /* CID is from an peer INITIAL packet (seq 0) */
- RCID_TYPE_PREF_ADDR, /* CID is from a preferred_address TPARAM (seq 1) */
- RCID_TYPE_NCID /* CID is from a NCID frame */
+ RCID_TYPE_INITIAL, /* CID is from an peer INITIAL packet (seq 0) */
+ RCID_TYPE_PREF_ADDR, /* CID is from a preferred_address TPARAM (seq 1) */
+ RCID_TYPE_NCID /* CID is from a NCID frame */
/*
* INITIAL_ODCID and RETRY_ODCID also conceptually exist but are tracked
* separately.
@@ -126,11 +126,11 @@ enum {
typedef struct rcid_st {
OSSL_LIST_MEMBER(retiring, struct rcid_st); /* valid iff RETIRING */
- QUIC_CONN_ID cid; /* The actual CID string for this RCID */
- uint64_t seq_num;
- size_t pq_idx; /* Index of entry into priority queue */
- unsigned int state : 2; /* RCID_STATE_* */
- unsigned int type : 2; /* RCID_TYPE_* */
+ QUIC_CONN_ID cid; /* The actual CID string for this RCID */
+ uint64_t seq_num;
+ size_t pq_idx; /* Index of entry into priority queue */
+ unsigned int state : 2; /* RCID_STATE_* */
+ unsigned int type : 2; /* RCID_TYPE_* */
} RCID;
DEFINE_PRIORITY_QUEUE_OF(RCID);
@@ -168,30 +168,30 @@ struct quic_rcidm_st {
* otherwise it is set to one of the unnumbered RCIDs (the Initial ODCID or
* Retry ODCID) if available (and cur_rcid == NULL).
*/
- QUIC_CONN_ID preferred_rcid;
+ QUIC_CONN_ID preferred_rcid;
/*
* These are initialized if the corresponding added_ flags are set.
*/
- QUIC_CONN_ID initial_odcid, retry_odcid;
+ QUIC_CONN_ID initial_odcid, retry_odcid;
/*
* Total number of packets sent since we last made a packet count-based RCID
* update decision.
*/
- uint64_t packets_sent;
+ uint64_t packets_sent;
/* Number of post-handshake RCID changes we have performed. */
- uint64_t num_changes;
+ uint64_t num_changes;
/*
* The Retire Prior To watermark value; max(retire_prior_to) of all received
* NCID frames.
*/
- uint64_t retire_prior_to;
+ uint64_t retire_prior_to;
/* (SORT BY seq_num ASC) -> (RCID *) */
- PRIORITY_QUEUE_OF(RCID) *rcids;
+ PRIORITY_QUEUE_OF(RCID) * rcids;
/*
* Current RCID object we are using. This may differ from the first item in
@@ -200,7 +200,7 @@ struct quic_rcidm_st {
* keep using seq 5 until we decide to roll again rather than immediately
* switch to seq 4. Never points to an object on the retiring_list.
*/
- RCID *cur_rcid;
+ RCID *cur_rcid;
/*
* When a RCID becomes pending-retirement, it is moved to the retiring_list,
@@ -210,28 +210,29 @@ struct quic_rcidm_st {
* maintain the guarantee that the head (if present) only changes when a
* caller calls pop().
*/
- OSSL_LIST(retiring) retiring_list;
+ OSSL_LIST(retiring)
+ retiring_list;
/* Number of entries on the retiring_list. */
- size_t num_retiring;
+ size_t num_retiring;
/* preferred_rcid has been changed? */
- unsigned int preferred_rcid_changed : 1;
+ unsigned int preferred_rcid_changed : 1;
/* Do we have any RCID we can use currently? */
- unsigned int have_preferred_rcid : 1;
+ unsigned int have_preferred_rcid : 1;
/* QUIC handshake has been completed? */
- unsigned int handshake_complete : 1;
+ unsigned int handshake_complete : 1;
/* odcid was set (not necessarily still valid as a RCID)? */
- unsigned int added_initial_odcid : 1;
+ unsigned int added_initial_odcid : 1;
/* retry_odcid was set (not necessarily still valid as a RCID?) */
- unsigned int added_retry_odcid : 1;
+ unsigned int added_retry_odcid : 1;
/* An initial RCID was added as an RCID structure? */
- unsigned int added_initial_rcid : 1;
+ unsigned int added_initial_rcid : 1;
/* Has a RCID roll been manually requested? */
- unsigned int roll_requested : 1;
+ unsigned int roll_requested : 1;
};
/*
@@ -240,31 +241,31 @@ struct quic_rcidm_st {
* Limit the total number of numbered RCIDs to an implausibly large but safe
* value.
*/
-#define MAX_NUMBERED_RCIDS (SIZE_MAX / 2)
+#define MAX_NUMBERED_RCIDS (SIZE_MAX / 2)
static void rcidm_transition_rcid(QUIC_RCIDM *rcidm, RCID *rcid,
- unsigned int state);
+ unsigned int state);
/* Check invariants of an RCID */
static void rcidm_check_rcid(QUIC_RCIDM *rcidm, RCID *rcid)
{
assert(rcid->state == RCID_STATE_PENDING
- || rcid->state == RCID_STATE_CUR
- || rcid->state == RCID_STATE_RETIRING);
+ || rcid->state == RCID_STATE_CUR
+ || rcid->state == RCID_STATE_RETIRING);
assert((rcid->state == RCID_STATE_PENDING)
- == (rcid->pq_idx != SIZE_MAX));
+ == (rcid->pq_idx != SIZE_MAX));
assert((rcid->state == RCID_STATE_CUR)
- == (rcidm->cur_rcid == rcid));
+ == (rcidm->cur_rcid == rcid));
assert((ossl_list_retiring_next(rcid) != NULL
- || ossl_list_retiring_prev(rcid) != NULL
- || ossl_list_retiring_head(&rcidm->retiring_list) == rcid)
- == (rcid->state == RCID_STATE_RETIRING));
+ || ossl_list_retiring_prev(rcid) != NULL
+ || ossl_list_retiring_head(&rcidm->retiring_list) == rcid)
+ == (rcid->state == RCID_STATE_RETIRING));
assert(rcid->type != RCID_TYPE_INITIAL || rcid->seq_num == 0);
assert(rcid->type != RCID_TYPE_PREF_ADDR || rcid->seq_num == 1);
assert(rcid->seq_num <= OSSL_QUIC_VLINT_MAX);
assert(rcid->cid.id_len > 0 && rcid->cid.id_len <= QUIC_MAX_CONN_ID_LEN);
assert(rcid->seq_num >= rcidm->retire_prior_to
- || rcid->state == RCID_STATE_RETIRING);
+ || rcid->state == RCID_STATE_RETIRING);
assert(rcidm->num_changes == 0 || rcidm->handshake_complete);
assert(rcid->state != RCID_STATE_RETIRING || rcidm->num_retiring > 0);
}
@@ -291,8 +292,8 @@ QUIC_RCIDM *ossl_quic_rcidm_new(const QUIC_CONN_ID *initial_odcid)
}
if (initial_odcid != NULL) {
- rcidm->initial_odcid = *initial_odcid;
- rcidm->added_initial_odcid = 1;
+ rcidm->initial_odcid = *initial_odcid;
+ rcidm->added_initial_odcid = 1;
}
rcidm_update(rcidm);
@@ -311,27 +312,27 @@ void ossl_quic_rcidm_free(QUIC_RCIDM *rcidm)
OPENSSL_free(rcid);
OSSL_LIST_FOREACH_DELSAFE(rcid, rnext, retiring, &rcidm->retiring_list)
- OPENSSL_free(rcid);
+ OPENSSL_free(rcid);
ossl_pqueue_RCID_free(rcidm->rcids);
OPENSSL_free(rcidm);
}
static void rcidm_set_preferred_rcid(QUIC_RCIDM *rcidm,
- const QUIC_CONN_ID *rcid)
+ const QUIC_CONN_ID *rcid)
{
if (rcid == NULL) {
- rcidm->preferred_rcid_changed = 1;
- rcidm->have_preferred_rcid = 0;
+ rcidm->preferred_rcid_changed = 1;
+ rcidm->have_preferred_rcid = 0;
return;
}
if (ossl_quic_conn_id_eq(&rcidm->preferred_rcid, rcid))
return;
- rcidm->preferred_rcid = *rcid;
- rcidm->preferred_rcid_changed = 1;
- rcidm->have_preferred_rcid = 1;
+ rcidm->preferred_rcid = *rcid;
+ rcidm->preferred_rcid_changed = 1;
+ rcidm->have_preferred_rcid = 1;
}
/*
@@ -339,8 +340,8 @@ static void rcidm_set_preferred_rcid(QUIC_RCIDM *rcidm,
* =========================
*/
static RCID *rcidm_create_rcid(QUIC_RCIDM *rcidm, uint64_t seq_num,
- const QUIC_CONN_ID *cid,
- unsigned int type)
+ const QUIC_CONN_ID *cid,
+ unsigned int type)
{
RCID *rcid;
@@ -353,9 +354,9 @@ static RCID *rcidm_create_rcid(QUIC_RCIDM *rcidm, uint64_t seq_num,
if ((rcid = OPENSSL_zalloc(sizeof(*rcid))) == NULL)
return NULL;
- rcid->seq_num = seq_num;
- rcid->cid = *cid;
- rcid->type = type;
+ rcid->seq_num = seq_num;
+ rcid->cid = *cid;
+ rcid->type = type;
if (rcid->seq_num >= rcidm->retire_prior_to) {
rcid->state = RCID_STATE_PENDING;
@@ -366,8 +367,8 @@ static RCID *rcidm_create_rcid(QUIC_RCIDM *rcidm, uint64_t seq_num,
}
} else {
/* RCID is immediately retired upon creation. */
- rcid->state = RCID_STATE_RETIRING;
- rcid->pq_idx = SIZE_MAX;
+ rcid->state = RCID_STATE_RETIRING;
+ rcid->pq_idx = SIZE_MAX;
ossl_list_retiring_insert_tail(&rcidm->retiring_list, rcid);
++rcidm->num_retiring;
}
@@ -377,7 +378,7 @@ static RCID *rcidm_create_rcid(QUIC_RCIDM *rcidm, uint64_t seq_num,
}
static void rcidm_transition_rcid(QUIC_RCIDM *rcidm, RCID *rcid,
- unsigned int state)
+ unsigned int state)
{
unsigned int old_state = rcid->state;
@@ -438,7 +439,7 @@ static void rcidm_free_rcid(QUIC_RCIDM *rcidm, RCID *rcid)
}
static void rcidm_handle_retire_prior_to(QUIC_RCIDM *rcidm,
- uint64_t retire_prior_to)
+ uint64_t retire_prior_to)
{
RCID *rcid;
@@ -457,7 +458,7 @@ static void rcidm_handle_retire_prior_to(QUIC_RCIDM *rcidm,
* threshold.
*/
while ((rcid = ossl_pqueue_RCID_peek(rcidm->rcids)) != NULL
- && rcid->seq_num < retire_prior_to)
+ && rcid->seq_num < retire_prior_to)
rcidm_transition_rcid(rcidm, rcid, RCID_STATE_RETIRING);
rcidm->retire_prior_to = retire_prior_to;
@@ -578,7 +579,7 @@ void ossl_quic_rcidm_request_roll(QUIC_RCIDM *rcidm)
* ===================
*/
int ossl_quic_rcidm_add_from_initial(QUIC_RCIDM *rcidm,
- const QUIC_CONN_ID *rcid)
+ const QUIC_CONN_ID *rcid)
{
RCID *rcid_obj;
@@ -586,7 +587,7 @@ int ossl_quic_rcidm_add_from_initial(QUIC_RCIDM *rcidm,
return 0;
rcid_obj = rcidm_create_rcid(rcidm, INITIAL_SEQ_NUM,
- rcid, RCID_TYPE_INITIAL);
+ rcid, RCID_TYPE_INITIAL);
if (rcid_obj == NULL)
return 0;
@@ -596,19 +597,19 @@ int ossl_quic_rcidm_add_from_initial(QUIC_RCIDM *rcidm,
}
int ossl_quic_rcidm_add_from_server_retry(QUIC_RCIDM *rcidm,
- const QUIC_CONN_ID *retry_odcid)
+ const QUIC_CONN_ID *retry_odcid)
{
if (rcidm->added_retry_odcid || rcidm->handshake_complete)
return 0;
- rcidm->retry_odcid = *retry_odcid;
- rcidm->added_retry_odcid = 1;
+ rcidm->retry_odcid = *retry_odcid;
+ rcidm->added_retry_odcid = 1;
rcidm_tick(rcidm);
return 1;
}
int ossl_quic_rcidm_add_from_ncid(QUIC_RCIDM *rcidm,
- const OSSL_QUIC_FRAME_NEW_CONN_ID *ncid)
+ const OSSL_QUIC_FRAME_NEW_CONN_ID *ncid)
{
RCID *rcid;
@@ -643,19 +644,19 @@ static int rcidm_get_retire(QUIC_RCIDM *rcidm, uint64_t *seq_num, int peek)
}
int ossl_quic_rcidm_pop_retire_seq_num(QUIC_RCIDM *rcidm,
- uint64_t *seq_num)
+ uint64_t *seq_num)
{
return rcidm_get_retire(rcidm, seq_num, /*peek=*/0);
}
int ossl_quic_rcidm_peek_retire_seq_num(QUIC_RCIDM *rcidm,
- uint64_t *seq_num)
+ uint64_t *seq_num)
{
return rcidm_get_retire(rcidm, seq_num, /*peek=*/1);
}
int ossl_quic_rcidm_get_preferred_tx_dcid(QUIC_RCIDM *rcidm,
- QUIC_CONN_ID *tx_dcid)
+ QUIC_CONN_ID *tx_dcid)
{
if (!rcidm->have_preferred_rcid)
return 0;
@@ -665,7 +666,7 @@ int ossl_quic_rcidm_get_preferred_tx_dcid(QUIC_RCIDM *rcidm,
}
int ossl_quic_rcidm_get_preferred_tx_dcid_changed(QUIC_RCIDM *rcidm,
- int clear)
+ int clear)
{
int r = rcidm->preferred_rcid_changed;
diff --git a/crypto/openssl/ssl/quic/quic_reactor.c b/crypto/openssl/ssl/quic/quic_reactor.c
index bca46011f2e9..c30bc3c595ab 100644
--- a/crypto/openssl/ssl/quic/quic_reactor.c
+++ b/crypto/openssl/ssl/quic/quic_reactor.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -11,6 +11,12 @@
#include "internal/thread_arch.h"
#include <assert.h>
+#if defined(OPENSSL_SYS_WINDOWS)
+#include <winsock2.h>
+#include <mstcpip.h>
+#include <mswsock.h>
+#endif
+
/*
* Core I/O Reactor Framework
* ==========================
@@ -18,24 +24,24 @@
static void rtor_notify_other_threads(QUIC_REACTOR *rtor);
int ossl_quic_reactor_init(QUIC_REACTOR *rtor,
- void (*tick_cb)(QUIC_TICK_RESULT *res, void *arg,
- uint32_t flags),
- void *tick_cb_arg,
- CRYPTO_MUTEX *mutex,
- OSSL_TIME initial_tick_deadline,
- uint64_t flags)
+ void (*tick_cb)(QUIC_TICK_RESULT *res, void *arg,
+ uint32_t flags),
+ void *tick_cb_arg,
+ CRYPTO_MUTEX *mutex,
+ OSSL_TIME initial_tick_deadline,
+ uint64_t flags)
{
- rtor->poll_r.type = BIO_POLL_DESCRIPTOR_TYPE_NONE;
- rtor->poll_w.type = BIO_POLL_DESCRIPTOR_TYPE_NONE;
- rtor->net_read_desired = 0;
+ rtor->poll_r.type = BIO_POLL_DESCRIPTOR_TYPE_NONE;
+ rtor->poll_w.type = BIO_POLL_DESCRIPTOR_TYPE_NONE;
+ rtor->net_read_desired = 0;
rtor->net_write_desired = 0;
- rtor->can_poll_r = 0;
- rtor->can_poll_w = 0;
- rtor->tick_deadline = initial_tick_deadline;
+ rtor->can_poll_r = 0;
+ rtor->can_poll_w = 0;
+ rtor->tick_deadline = initial_tick_deadline;
- rtor->tick_cb = tick_cb;
- rtor->tick_cb_arg = tick_cb_arg;
- rtor->mutex = mutex;
+ rtor->tick_cb = tick_cb;
+ rtor->tick_cb_arg = tick_cb_arg;
+ rtor->mutex = mutex;
rtor->cur_blocking_waiters = 0;
@@ -69,6 +75,34 @@ void ossl_quic_reactor_cleanup(QUIC_REACTOR *rtor)
}
}
+#if defined(OPENSSL_SYS_WINDOWS)
+
+/* Work around for MinGW builds. */
+#if defined(__MINGW32__) && !defined(SIO_UDP_NETRESET)
+#define SIO_UDP_NETRESET _WSAIOW(IOC_VENDOR, 15)
+#endif
+
+/*
+ * On Windows recvfrom() may return WSAECONNRESET when destination port
+ * used in preceding call to sendto() is no longer reachable. The reset
+ * error received from UDP socket takes the whole port down. This behavior
+ * must be suppressed for QUIC protocol so QUIC applications may rely on
+ * QUIC protocol itself to detect network failures.
+ */
+static void rtor_configure_winsock(BIO_POLL_DESCRIPTOR *bpd)
+{
+ BOOL bNewBehavior = FALSE;
+ DWORD dwBytesReturned = 0;
+
+ if (bpd->type == BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD) {
+ WSAIoctl(bpd->value.fd, SIO_UDP_CONNRESET, &bNewBehavior,
+ sizeof(bNewBehavior), NULL, 0, &dwBytesReturned, NULL, NULL);
+ WSAIoctl(bpd->value.fd, SIO_UDP_NETRESET, &bNewBehavior,
+ sizeof(bNewBehavior), NULL, 0, &dwBytesReturned, NULL, NULL);
+ }
+}
+#endif
+
void ossl_quic_reactor_set_poll_r(QUIC_REACTOR *rtor, const BIO_POLL_DESCRIPTOR *r)
{
if (r == NULL)
@@ -76,6 +110,10 @@ void ossl_quic_reactor_set_poll_r(QUIC_REACTOR *rtor, const BIO_POLL_DESCRIPTOR
else
rtor->poll_r = *r;
+#if defined(OPENSSL_SYS_WINDOWS)
+ rtor_configure_winsock(&rtor->poll_r);
+#endif
+
rtor->can_poll_r
= ossl_quic_reactor_can_support_poll_descriptor(rtor, &rtor->poll_r);
}
@@ -87,6 +125,10 @@ void ossl_quic_reactor_set_poll_w(QUIC_REACTOR *rtor, const BIO_POLL_DESCRIPTOR
else
rtor->poll_w = *w;
+#if defined(OPENSSL_SYS_WINDOWS)
+ rtor_configure_winsock(&rtor->poll_w);
+#endif
+
rtor->can_poll_w
= ossl_quic_reactor_can_support_poll_descriptor(rtor, &rtor->poll_w);
}
@@ -102,7 +144,7 @@ const BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_w(const QUIC_REACTOR *rtor
}
int ossl_quic_reactor_can_support_poll_descriptor(const QUIC_REACTOR *rtor,
- const BIO_POLL_DESCRIPTOR *d)
+ const BIO_POLL_DESCRIPTOR *d)
{
return d->type == BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD;
}
@@ -134,7 +176,7 @@ OSSL_TIME ossl_quic_reactor_get_tick_deadline(QUIC_REACTOR *rtor)
int ossl_quic_reactor_tick(QUIC_REACTOR *rtor, uint32_t flags)
{
- QUIC_TICK_RESULT res = {0};
+ QUIC_TICK_RESULT res = { 0 };
/*
* Note that the tick callback cannot fail; this is intentional. Arguably it
@@ -145,9 +187,9 @@ int ossl_quic_reactor_tick(QUIC_REACTOR *rtor, uint32_t flags)
*/
rtor->tick_cb(&res, rtor->tick_cb_arg, flags);
- rtor->net_read_desired = res.net_read_desired;
+ rtor->net_read_desired = res.net_read_desired;
rtor->net_write_desired = res.net_write_desired;
- rtor->tick_deadline = res.tick_deadline;
+ rtor->tick_deadline = res.tick_deadline;
if (res.notify_other_threads)
rtor_notify_other_threads(rtor);
@@ -207,10 +249,10 @@ RIO_NOTIFIER *ossl_quic_reactor_get0_notifier(QUIC_REACTOR *rtor)
* CRYPTO_THREAD_write_lock fails)
*/
static int poll_two_fds(int rfd, int rfd_want_read,
- int wfd, int wfd_want_write,
- int notify_rfd,
- OSSL_TIME deadline,
- CRYPTO_MUTEX *mutex)
+ int wfd, int wfd_want_write,
+ int notify_rfd,
+ OSSL_TIME deadline,
+ CRYPTO_MUTEX *mutex)
{
#if defined(OPENSSL_SYS_WINDOWS) || !defined(POLLIN)
fd_set rfd_set, wfd_set, efd_set;
@@ -218,14 +260,14 @@ static int poll_two_fds(int rfd, int rfd_want_read,
struct timeval tv, *ptv;
int maxfd, pres;
-# ifndef OPENSSL_SYS_WINDOWS
+#ifndef OPENSSL_SYS_WINDOWS
/*
* On Windows there is no relevant limit to the magnitude of a fd value (see
* above). On *NIX the fd_set uses a bitmap and we must check the limit.
*/
if (rfd >= FD_SETSIZE || wfd >= FD_SETSIZE)
return 0;
-# endif
+#endif
FD_ZERO(&rfd_set);
FD_ZERO(&wfd_set);
@@ -255,7 +297,7 @@ static int poll_two_fds(int rfd, int rfd_want_read,
maxfd = notify_rfd;
if (!ossl_assert(rfd != INVALID_SOCKET || wfd != INVALID_SOCKET
- || !ossl_time_is_infinite(deadline)))
+ || !ossl_time_is_infinite(deadline)))
/* Do not block forever; should not happen. */
return 0;
@@ -265,10 +307,10 @@ static int poll_two_fds(int rfd, int rfd_want_read,
* two threads arrive to select/poll with the same file
* descriptors. We just need to be aware of this.
*/
-# if defined(OPENSSL_THREADS)
+#if defined(OPENSSL_THREADS)
if (mutex != NULL)
ossl_crypto_mutex_unlock(mutex);
-# endif
+#endif
do {
/*
@@ -285,46 +327,46 @@ static int poll_two_fds(int rfd, int rfd_want_read,
* now > deadline.
*/
timeout = ossl_time_subtract(deadline, now);
- tv = ossl_time_to_timeval(timeout);
- ptv = &tv;
+ tv = ossl_time_to_timeval(timeout);
+ ptv = &tv;
}
pres = select(maxfd + 1, &rfd_set, &wfd_set, &efd_set, ptv);
} while (pres == -1 && get_last_socket_error_is_eintr());
-# if defined(OPENSSL_THREADS)
+#if defined(OPENSSL_THREADS)
if (mutex != NULL)
ossl_crypto_mutex_lock(mutex);
-# endif
+#endif
return pres < 0 ? 0 : 1;
#else
int pres, timeout_ms;
OSSL_TIME now, timeout;
- struct pollfd pfds[3] = {0};
+ struct pollfd pfds[3] = { 0 };
size_t npfd = 0;
if (rfd == wfd) {
pfds[npfd].fd = rfd;
- pfds[npfd].events = (rfd_want_read ? POLLIN : 0)
- | (wfd_want_write ? POLLOUT : 0);
+ pfds[npfd].events = (rfd_want_read ? POLLIN : 0)
+ | (wfd_want_write ? POLLOUT : 0);
if (rfd >= 0 && pfds[npfd].events != 0)
++npfd;
} else {
- pfds[npfd].fd = rfd;
+ pfds[npfd].fd = rfd;
pfds[npfd].events = (rfd_want_read ? POLLIN : 0);
if (rfd >= 0 && pfds[npfd].events != 0)
++npfd;
- pfds[npfd].fd = wfd;
+ pfds[npfd].fd = wfd;
pfds[npfd].events = (wfd_want_write ? POLLOUT : 0);
if (wfd >= 0 && pfds[npfd].events != 0)
++npfd;
}
if (notify_rfd >= 0) {
- pfds[npfd].fd = notify_rfd;
- pfds[npfd].events = POLLIN;
+ pfds[npfd].fd = notify_rfd;
+ pfds[npfd].events = POLLIN;
++npfd;
}
@@ -332,27 +374,27 @@ static int poll_two_fds(int rfd, int rfd_want_read,
/* Do not block forever; should not happen. */
return 0;
-# if defined(OPENSSL_THREADS)
+#if defined(OPENSSL_THREADS)
if (mutex != NULL)
ossl_crypto_mutex_unlock(mutex);
-# endif
+#endif
do {
if (ossl_time_is_infinite(deadline)) {
timeout_ms = -1;
} else {
- now = ossl_time_now();
- timeout = ossl_time_subtract(deadline, now);
- timeout_ms = ossl_time2ms(timeout);
+ now = ossl_time_now();
+ timeout = ossl_time_subtract(deadline, now);
+ timeout_ms = ossl_time2ms(timeout);
}
pres = poll(pfds, npfd, timeout_ms);
} while (pres == -1 && get_last_socket_error_is_eintr());
-# if defined(OPENSSL_THREADS)
+#if defined(OPENSSL_THREADS)
if (mutex != NULL)
ossl_crypto_mutex_lock(mutex);
-# endif
+#endif
return pres < 0 ? 0 : 1;
#endif
@@ -366,7 +408,7 @@ static int poll_descriptor_to_fd(const BIO_POLL_DESCRIPTOR *d, int *fd)
}
if (d->type != BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD
- || d->value.fd == INVALID_SOCKET)
+ || d->value.fd == INVALID_SOCKET)
return 0;
*fd = d->value.fd;
@@ -385,10 +427,10 @@ static int poll_descriptor_to_fd(const BIO_POLL_DESCRIPTOR *d, int *fd)
* CRYPTO_THREAD_write_lock fails)
*/
static int poll_two_descriptors(const BIO_POLL_DESCRIPTOR *r, int r_want_read,
- const BIO_POLL_DESCRIPTOR *w, int w_want_write,
- int notify_rfd,
- OSSL_TIME deadline,
- CRYPTO_MUTEX *mutex)
+ const BIO_POLL_DESCRIPTOR *w, int w_want_write,
+ int notify_rfd,
+ OSSL_TIME deadline,
+ CRYPTO_MUTEX *mutex)
{
int rfd, wfd;
@@ -397,7 +439,7 @@ static int poll_two_descriptors(const BIO_POLL_DESCRIPTOR *r, int r_want_read,
return 0;
return poll_two_fds(rfd, r_want_read, wfd, w_want_write,
- notify_rfd, deadline, mutex);
+ notify_rfd, deadline, mutex);
}
/*
@@ -428,21 +470,21 @@ static void rtor_notify_other_threads(QUIC_REACTOR *rtor)
* threads have woken.
*/
- if (rtor->cur_blocking_waiters == 0)
- /* Nothing to do in this case. */
- return;
+ if (rtor->cur_blocking_waiters == 0)
+ /* Nothing to do in this case. */
+ return;
- /* Signal the notifier to wake up all threads. */
- if (!rtor->signalled_notifier) {
- ossl_rio_notifier_signal(&rtor->notifier);
- rtor->signalled_notifier = 1;
- }
+ /* Signal the notifier to wake up all threads. */
+ if (!rtor->signalled_notifier) {
+ ossl_rio_notifier_signal(&rtor->notifier);
+ rtor->signalled_notifier = 1;
+ }
- /*
- * Wait on the CV until all threads have finished the first phase of the
- * wakeup process and the last thread out has taken responsibility for
- * unsignalling the notifier.
- */
+ /*
+ * Wait on the CV until all threads have finished the first phase of the
+ * wakeup process and the last thread out has taken responsibility for
+ * unsignalling the notifier.
+ */
while (rtor->signalled_notifier)
ossl_crypto_condvar_wait(rtor->notifier_cv, rtor->mutex);
}
@@ -459,8 +501,8 @@ static void rtor_notify_other_threads(QUIC_REACTOR *rtor)
* CRYPTO_THREAD_write_lock fails)
*/
int ossl_quic_reactor_block_until_pred(QUIC_REACTOR *rtor,
- int (*pred)(void *arg), void *pred_arg,
- uint32_t flags)
+ int (*pred)(void *arg), void *pred_arg,
+ uint32_t flags)
{
int res, net_read_desired, net_write_desired, notifier_fd;
OSSL_TIME tick_deadline;
@@ -479,9 +521,9 @@ int ossl_quic_reactor_block_until_pred(QUIC_REACTOR *rtor,
if ((res = pred(pred_arg)) != 0)
return res;
- net_read_desired = ossl_quic_reactor_net_read_desired(rtor);
+ net_read_desired = ossl_quic_reactor_net_read_desired(rtor);
net_write_desired = ossl_quic_reactor_net_write_desired(rtor);
- tick_deadline = ossl_quic_reactor_get_tick_deadline(rtor);
+ tick_deadline = ossl_quic_reactor_get_tick_deadline(rtor);
if (!net_read_desired && !net_write_desired
&& ossl_time_is_infinite(tick_deadline))
/* Can't wait if there is nothing to wait for. */
@@ -490,12 +532,12 @@ int ossl_quic_reactor_block_until_pred(QUIC_REACTOR *rtor,
ossl_quic_reactor_enter_blocking_section(rtor);
res = poll_two_descriptors(ossl_quic_reactor_get_poll_r(rtor),
- net_read_desired,
- ossl_quic_reactor_get_poll_w(rtor),
- net_write_desired,
- notifier_fd,
- tick_deadline,
- rtor->mutex);
+ net_read_desired,
+ ossl_quic_reactor_get_poll_w(rtor),
+ net_write_desired,
+ notifier_fd,
+ tick_deadline,
+ rtor->mutex);
/*
* We have now exited the OS poller call. We may have
diff --git a/crypto/openssl/ssl/quic/quic_reactor_wait_ctx.c b/crypto/openssl/ssl/quic/quic_reactor_wait_ctx.c
index 00efac715603..ae3b7cb3efe3 100644
--- a/crypto/openssl/ssl/quic/quic_reactor_wait_ctx.c
+++ b/crypto/openssl/ssl/quic/quic_reactor_wait_ctx.c
@@ -13,8 +13,8 @@
struct quic_reactor_wait_slot_st {
OSSL_LIST_MEMBER(quic_reactor_wait_slot, QUIC_REACTOR_WAIT_SLOT);
- QUIC_REACTOR *rtor; /* primary key */
- size_t blocking_count; /* datum */
+ QUIC_REACTOR *rtor; /* primary key */
+ size_t blocking_count; /* datum */
};
DEFINE_LIST_OF_IMPL(quic_reactor_wait_slot, QUIC_REACTOR_WAIT_SLOT);
@@ -41,13 +41,13 @@ static void slot_deactivate(QUIC_REACTOR_WAIT_SLOT *slot)
}
int ossl_quic_reactor_wait_ctx_enter(QUIC_REACTOR_WAIT_CTX *ctx,
- QUIC_REACTOR *rtor)
+ QUIC_REACTOR *rtor)
{
QUIC_REACTOR_WAIT_SLOT *slot;
OSSL_LIST_FOREACH(slot, quic_reactor_wait_slot, &ctx->slots)
- if (slot->rtor == rtor)
- break;
+ if (slot->rtor == rtor)
+ break;
if (slot == NULL) {
if ((slot = OPENSSL_zalloc(sizeof(QUIC_REACTOR_WAIT_SLOT))) == NULL)
@@ -62,13 +62,13 @@ int ossl_quic_reactor_wait_ctx_enter(QUIC_REACTOR_WAIT_CTX *ctx,
}
void ossl_quic_reactor_wait_ctx_leave(QUIC_REACTOR_WAIT_CTX *ctx,
- QUIC_REACTOR *rtor)
+ QUIC_REACTOR *rtor)
{
QUIC_REACTOR_WAIT_SLOT *slot;
OSSL_LIST_FOREACH(slot, quic_reactor_wait_slot, &ctx->slots)
- if (slot->rtor == rtor)
- break;
+ if (slot->rtor == rtor)
+ break;
assert(slot != NULL);
slot_deactivate(slot);
@@ -78,7 +78,8 @@ void ossl_quic_reactor_wait_ctx_cleanup(QUIC_REACTOR_WAIT_CTX *ctx)
{
QUIC_REACTOR_WAIT_SLOT *slot, *nslot;
- OSSL_LIST_FOREACH_DELSAFE(slot, nslot, quic_reactor_wait_slot, &ctx->slots) {
+ OSSL_LIST_FOREACH_DELSAFE(slot, nslot, quic_reactor_wait_slot, &ctx->slots)
+ {
assert(slot->blocking_count == 0);
OPENSSL_free(slot);
}
diff --git a/crypto/openssl/ssl/quic/quic_record_rx.c b/crypto/openssl/ssl/quic/quic_record_rx.c
index 1a8194b396d7..d9e2b4323bdf 100644
--- a/crypto/openssl/ssl/quic/quic_record_rx.c
+++ b/crypto/openssl/ssl/quic/quic_record_rx.c
@@ -42,36 +42,36 @@ static ossl_inline int pkt_is_marked(const uint64_t *bitf, size_t pkt_idx)
typedef struct rxe_st RXE;
struct rxe_st {
- OSSL_QRX_PKT pkt;
+ OSSL_QRX_PKT pkt;
OSSL_LIST_MEMBER(rxe, RXE);
- size_t data_len, alloc_len, refcount;
+ size_t data_len, alloc_len, refcount;
/* Extra fields for per-packet information. */
- QUIC_PKT_HDR hdr; /* data/len are decrypted payload */
+ QUIC_PKT_HDR hdr; /* data/len are decrypted payload */
/* Decoded packet number. */
- QUIC_PN pn;
+ QUIC_PN pn;
/* Addresses copied from URXE. */
- BIO_ADDR peer, local;
+ BIO_ADDR peer, local;
/* Time we received the packet (not when we processed it). */
- OSSL_TIME time;
+ OSSL_TIME time;
/* Total length of the datagram which contained this packet. */
- size_t datagram_len;
+ size_t datagram_len;
/*
* The key epoch the packet was received with. Always 0 for non-1-RTT
* packets.
*/
- uint64_t key_epoch;
+ uint64_t key_epoch;
/*
* Monotonically increases with each datagram received.
* For diagnostic use only.
*/
- uint64_t datagram_id;
+ uint64_t datagram_id;
/*
* alloc_len allocated bytes (of which data_len bytes are valid) follow this
@@ -92,80 +92,80 @@ static ossl_inline unsigned char *rxe_data(const RXE *e)
* ===
*/
struct ossl_qrx_st {
- OSSL_LIB_CTX *libctx;
- const char *propq;
+ OSSL_LIB_CTX *libctx;
+ const char *propq;
/* Demux to receive datagrams from. */
- QUIC_DEMUX *demux;
+ QUIC_DEMUX *demux;
/* Length of connection IDs used in short-header packets in bytes. */
- size_t short_conn_id_len;
+ size_t short_conn_id_len;
/* Maximum number of deferred datagrams buffered at any one time. */
- size_t max_deferred;
+ size_t max_deferred;
/* Current count of deferred datagrams. */
- size_t num_deferred;
+ size_t num_deferred;
/*
* List of URXEs which are filled with received encrypted data.
* These are returned to the DEMUX's free list as they are processed.
*/
- QUIC_URXE_LIST urx_pending;
+ QUIC_URXE_LIST urx_pending;
/*
* List of URXEs which we could not decrypt immediately and which are being
* kept in case they can be decrypted later.
*/
- QUIC_URXE_LIST urx_deferred;
+ QUIC_URXE_LIST urx_deferred;
/*
* List of RXEs which are not currently in use. These are moved
* to the pending list as they are filled.
*/
- RXE_LIST rx_free;
+ RXE_LIST rx_free;
/*
* List of RXEs which are filled with decrypted packets ready to be passed
* to the user. A RXE is removed from all lists inside the QRL when passed
* to the user, then returned to the free list when the user returns it.
*/
- RXE_LIST rx_pending;
+ RXE_LIST rx_pending;
/* Largest PN we have received and processed in a given PN space. */
- QUIC_PN largest_pn[QUIC_PN_SPACE_NUM];
+ QUIC_PN largest_pn[QUIC_PN_SPACE_NUM];
/* Per encryption-level state. */
- OSSL_QRL_ENC_LEVEL_SET el_set;
+ OSSL_QRL_ENC_LEVEL_SET el_set;
/* Bytes we have received since this counter was last cleared. */
- uint64_t bytes_received;
+ uint64_t bytes_received;
/*
* Number of forged packets we have received since the QRX was instantiated.
* Note that as per RFC 9001, this is connection-level state; it is not per
* EL and is not reset by a key update.
*/
- uint64_t forged_pkt_count;
+ uint64_t forged_pkt_count;
/*
* The PN the current key epoch started at, inclusive.
*/
- uint64_t cur_epoch_start_pn;
+ uint64_t cur_epoch_start_pn;
/* Validation callback. */
- ossl_qrx_late_validation_cb *validation_cb;
- void *validation_cb_arg;
+ ossl_qrx_late_validation_cb *validation_cb;
+ void *validation_cb_arg;
/* Key update callback. */
- ossl_qrx_key_update_cb *key_update_cb;
- void *key_update_cb_arg;
+ ossl_qrx_key_update_cb *key_update_cb;
+ void *key_update_cb_arg;
/* Initial key phase. For debugging use only; always 0 in real use. */
- unsigned char init_key_phase_bit;
+ unsigned char init_key_phase_bit;
/* Are we allowed to process 1-RTT packets yet? */
- unsigned char allow_1rtt;
+ unsigned char allow_1rtt;
/* Message callback related arguments */
ossl_msg_cb msg_callback;
@@ -175,18 +175,18 @@ struct ossl_qrx_st {
static RXE *qrx_ensure_free_rxe(OSSL_QRX *qrx, size_t alloc_len);
static int qrx_validate_hdr_early(OSSL_QRX *qrx, RXE *rxe,
- const QUIC_CONN_ID *first_dcid);
+ const QUIC_CONN_ID *first_dcid);
static int qrx_relocate_buffer(OSSL_QRX *qrx, RXE **prxe, size_t *pi,
- const unsigned char **pptr, size_t buf_len);
+ const unsigned char **pptr, size_t buf_len);
static int qrx_validate_hdr(OSSL_QRX *qrx, RXE *rxe);
static RXE *qrx_reserve_rxe(RXE_LIST *rxl, RXE *rxe, size_t n);
static int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,
- const unsigned char *src,
- size_t src_len, size_t *dec_len,
- const unsigned char *aad, size_t aad_len,
- QUIC_PN pn, uint32_t enc_level,
- unsigned char key_phase_bit,
- uint64_t *rx_key_epoch);
+ const unsigned char *src,
+ size_t src_len, size_t *dec_len,
+ const unsigned char *aad, size_t aad_len,
+ QUIC_PN pn, uint32_t enc_level,
+ unsigned char key_phase_bit,
+ uint64_t *rx_key_epoch);
static int qrx_validate_hdr_late(OSSL_QRX *qrx, RXE *rxe);
static uint32_t rxe_determine_pn_space(RXE *rxe);
static void ignore_res(int x);
@@ -206,12 +206,12 @@ OSSL_QRX *ossl_qrx_new(const OSSL_QRX_ARGS *args)
for (i = 0; i < OSSL_NELEM(qrx->largest_pn); ++i)
qrx->largest_pn[i] = args->init_largest_pn[i];
- qrx->libctx = args->libctx;
- qrx->propq = args->propq;
- qrx->demux = args->demux;
- qrx->short_conn_id_len = args->short_conn_id_len;
- qrx->init_key_phase_bit = args->init_key_phase_bit;
- qrx->max_deferred = args->max_deferred;
+ qrx->libctx = args->libctx;
+ qrx->propq = args->propq;
+ qrx->demux = args->demux;
+ qrx->short_conn_id_len = args->short_conn_id_len;
+ qrx->init_key_phase_bit = args->init_key_phase_bit;
+ qrx->max_deferred = args->max_deferred;
return qrx;
}
@@ -270,15 +270,15 @@ void ossl_qrx_free(OSSL_QRX *qrx)
void ossl_qrx_inject_urxe(OSSL_QRX *qrx, QUIC_URXE *urxe)
{
/* Initialize our own fields inside the URXE and add to the pending list. */
- urxe->processed = 0;
- urxe->hpr_removed = 0;
- urxe->deferred = 0;
+ urxe->processed = 0;
+ urxe->hpr_removed = 0;
+ urxe->deferred = 0;
ossl_list_urxe_insert_tail(&qrx->urx_pending, urxe);
if (qrx->msg_callback != NULL)
qrx->msg_callback(0, OSSL_QUIC1_VERSION, SSL3_RT_QUIC_DATAGRAM, urxe + 1,
- urxe->data_len, qrx->msg_callback_ssl,
- qrx->msg_callback_arg);
+ urxe->data_len, qrx->msg_callback_ssl,
+ qrx->msg_callback_arg);
}
void ossl_qrx_inject_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT *pkt)
@@ -303,8 +303,8 @@ void ossl_qrx_inject_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT *pkt)
* packet instead of creating a new channel for it.
*/
static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
- const QUIC_CONN_ID *first_dcid,
- size_t datagram_len)
+ const QUIC_CONN_ID *first_dcid,
+ size_t datagram_len)
{
PACKET pkt, orig_pkt;
RXE *rxe;
@@ -335,11 +335,11 @@ static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
* short_conn_id_len as 0.
*/
if (!ossl_quic_wire_decode_pkt_hdr(&pkt,
- 0, /* short_conn_id_len */
- 1, /* need second decode */
- 0, /* nodata -> want to read data */
- &rxe->hdr, &ptrs,
- NULL))
+ 0, /* short_conn_id_len */
+ 1, /* need second decode */
+ 0, /* nodata -> want to read data */
+ &rxe->hdr, &ptrs,
+ NULL))
goto malformed;
if (rxe->hdr.type != QUIC_PKT_TYPE_INITIAL)
@@ -381,7 +381,8 @@ static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
/* Decode the now unprotected header. */
if (ossl_quic_wire_decode_pkt_hdr(&pkt, 0,
- 0, 0, &rxe->hdr, NULL, NULL) != 1)
+ 0, 0, &rxe->hdr, NULL, NULL)
+ != 1)
goto malformed;
/* Validate header and decode PN. */
@@ -414,8 +415,8 @@ static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
*/
dst = (unsigned char *)rxe_data(rxe) + i;
if (!qrx_decrypt_pkt_body(qrx, dst, rxe->hdr.data, rxe->hdr.len,
- &dec_len, sop, aad_len, rxe->pn, QUIC_ENC_LEVEL_INITIAL,
- rxe->hdr.key_phase, &rx_key_epoch))
+ &dec_len, sop, aad_len, rxe->pn, QUIC_ENC_LEVEL_INITIAL,
+ rxe->hdr.key_phase, &rx_key_epoch))
goto malformed;
/*
@@ -438,11 +439,11 @@ static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
* Update header to point to the decrypted buffer, which may be shorter
* due to AEAD tags, block padding, etc.
*/
- rxe->hdr.data = dst;
- rxe->hdr.len = dec_len;
- rxe->data_len = dec_len;
- rxe->datagram_len = datagram_len;
- rxe->key_epoch = rx_key_epoch;
+ rxe->hdr.data = dst;
+ rxe->hdr.len = dec_len;
+ rxe->data_len = dec_len;
+ rxe->datagram_len = datagram_len;
+ rxe->key_epoch = rx_key_epoch;
/* We processed the PN successfully, so update largest processed PN. */
pn_space = rxe_determine_pn_space(rxe);
@@ -450,10 +451,10 @@ static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
qrx->largest_pn[pn_space] = rxe->pn;
/* Copy across network addresses and RX time from URXE to RXE. */
- rxe->peer = urxe->peer;
- rxe->local = urxe->local;
- rxe->time = urxe->time;
- rxe->datagram_id = urxe->datagram_id;
+ rxe->peer = urxe->peer;
+ rxe->local = urxe->local;
+ rxe->time = urxe->time;
+ rxe->datagram_id = urxe->datagram_id;
/*
* The packet is decrypted, we are going to move it from
@@ -471,11 +472,11 @@ malformed:
}
int ossl_qrx_validate_initial_packet(OSSL_QRX *qrx, QUIC_URXE *urxe,
- const QUIC_CONN_ID *dcid)
+ const QUIC_CONN_ID *dcid)
{
- urxe->processed = 0;
- urxe->hpr_removed = 0;
- urxe->deferred = 0;
+ urxe->processed = 0;
+ urxe->hpr_removed = 0;
+ urxe->deferred = 0;
return qrx_validate_initial_pkt(qrx, urxe, dcid, urxe->data_len);
}
@@ -491,22 +492,22 @@ static void qrx_requeue_deferred(OSSL_QRX *qrx)
}
int ossl_qrx_provide_secret(OSSL_QRX *qrx, uint32_t enc_level,
- uint32_t suite_id, EVP_MD *md,
- const unsigned char *secret, size_t secret_len)
+ uint32_t suite_id, EVP_MD *md,
+ const unsigned char *secret, size_t secret_len)
{
if (enc_level >= QUIC_ENC_LEVEL_NUM)
return 0;
if (!ossl_qrl_enc_level_set_provide_secret(&qrx->el_set,
- qrx->libctx,
- qrx->propq,
- enc_level,
- suite_id,
- md,
- secret,
- secret_len,
- qrx->init_key_phase_bit,
- /*is_tx=*/0))
+ qrx->libctx,
+ qrx->propq,
+ enc_level,
+ suite_id,
+ md,
+ secret,
+ secret_len,
+ qrx->init_key_phase_bit,
+ /*is_tx=*/0))
return 0;
/*
@@ -537,7 +538,7 @@ int ossl_qrx_processed_read_pending(OSSL_QRX *qrx)
int ossl_qrx_unprocessed_read_pending(OSSL_QRX *qrx)
{
return !ossl_list_urxe_is_empty(&qrx->urx_pending)
- || !ossl_list_urxe_is_empty(&qrx->urx_deferred);
+ || !ossl_list_urxe_is_empty(&qrx->urx_deferred);
}
/* Pop the next pending RXE. Returns NULL if no RXE is pending. */
@@ -566,8 +567,8 @@ static RXE *qrx_alloc_rxe(size_t alloc_len)
ossl_list_rxe_init_elem(rxe);
rxe->alloc_len = alloc_len;
- rxe->data_len = 0;
- rxe->refcount = 0;
+ rxe->data_len = 0;
+ rxe->refcount = 0;
return rxe;
}
@@ -645,7 +646,7 @@ static RXE *qrx_resize_rxe(RXE_LIST *rxl, RXE *rxe, size_t n)
* Returns NULL on failure.
*/
static RXE *qrx_reserve_rxe(RXE_LIST *rxl,
- RXE *rxe, size_t n)
+ RXE *rxe, size_t n)
{
if (rxe->alloc_len >= n)
return rxe;
@@ -658,9 +659,9 @@ static void qrx_recycle_rxe(OSSL_QRX *qrx, RXE *rxe)
{
/* RXE should not be in any list */
assert(ossl_list_rxe_prev(rxe) == NULL && ossl_list_rxe_next(rxe) == NULL);
- rxe->pkt.hdr = NULL;
- rxe->pkt.peer = NULL;
- rxe->pkt.local = NULL;
+ rxe->pkt.hdr = NULL;
+ rxe->pkt.peer = NULL;
+ rxe->pkt.local = NULL;
ossl_list_rxe_insert_tail(&qrx->rx_free, rxe);
}
@@ -672,7 +673,7 @@ static void qrx_recycle_rxe(OSSL_QRX *qrx, RXE *rxe)
* copied buffer. *pptr is updated to point to the new location of the buffer.
*/
static int qrx_relocate_buffer(OSSL_QRX *qrx, RXE **prxe, size_t *pi,
- const unsigned char **pptr, size_t buf_len)
+ const unsigned char **pptr, size_t buf_len)
{
RXE *rxe;
unsigned char *dst;
@@ -695,20 +696,20 @@ static int qrx_relocate_buffer(OSSL_QRX *qrx, RXE **prxe, size_t *pi,
static uint32_t qrx_determine_enc_level(const QUIC_PKT_HDR *hdr)
{
switch (hdr->type) {
- case QUIC_PKT_TYPE_INITIAL:
- return QUIC_ENC_LEVEL_INITIAL;
- case QUIC_PKT_TYPE_HANDSHAKE:
- return QUIC_ENC_LEVEL_HANDSHAKE;
- case QUIC_PKT_TYPE_0RTT:
- return QUIC_ENC_LEVEL_0RTT;
- case QUIC_PKT_TYPE_1RTT:
- return QUIC_ENC_LEVEL_1RTT;
+ case QUIC_PKT_TYPE_INITIAL:
+ return QUIC_ENC_LEVEL_INITIAL;
+ case QUIC_PKT_TYPE_HANDSHAKE:
+ return QUIC_ENC_LEVEL_HANDSHAKE;
+ case QUIC_PKT_TYPE_0RTT:
+ return QUIC_ENC_LEVEL_0RTT;
+ case QUIC_PKT_TYPE_1RTT:
+ return QUIC_ENC_LEVEL_1RTT;
- default:
- assert(0);
- case QUIC_PKT_TYPE_RETRY:
- case QUIC_PKT_TYPE_VERSION_NEG:
- return QUIC_ENC_LEVEL_INITIAL; /* not used */
+ default:
+ assert(0);
+ case QUIC_PKT_TYPE_RETRY:
+ case QUIC_PKT_TYPE_VERSION_NEG:
+ return QUIC_ENC_LEVEL_INITIAL; /* not used */
}
}
@@ -721,7 +722,7 @@ static uint32_t rxe_determine_pn_space(RXE *rxe)
}
static int qrx_validate_hdr_early(OSSL_QRX *qrx, RXE *rxe,
- const QUIC_CONN_ID *first_dcid)
+ const QUIC_CONN_ID *first_dcid)
{
/* Ensure version is what we want. */
if (rxe->hdr.version != QUIC_VERSION_1
@@ -743,8 +744,8 @@ static int qrx_validate_hdr_early(OSSL_QRX *qrx, RXE *rxe,
if (first_dcid != NULL) {
if (!ossl_assert(first_dcid->id_len < QUIC_MAX_CONN_ID_LEN)
|| !ossl_quic_conn_id_eq(first_dcid,
- &rxe->hdr.dst_conn_id))
- return 0;
+ &rxe->hdr.dst_conn_id))
+ return 0;
}
return 1;
@@ -756,8 +757,8 @@ static int qrx_validate_hdr(OSSL_QRX *qrx, RXE *rxe)
int pn_space = rxe_determine_pn_space(rxe);
if (!ossl_quic_wire_decode_pkt_hdr_pn(rxe->hdr.pn, rxe->hdr.pn_len,
- qrx->largest_pn[pn_space],
- &rxe->pn))
+ qrx->largest_pn[pn_space],
+ &rxe->pn))
return 0;
return 1;
@@ -784,10 +785,10 @@ static int qrx_validate_hdr_late(OSSL_QRX *qrx, RXE *rxe)
* epoch number actually used for packet decryption to *rx_key_epoch.
*/
static size_t qrx_get_cipher_ctx_idx(OSSL_QRX *qrx, OSSL_QRL_ENC_LEVEL *el,
- uint32_t enc_level,
- unsigned char key_phase_bit,
- uint64_t *rx_key_epoch,
- int *is_old_key)
+ uint32_t enc_level,
+ unsigned char key_phase_bit,
+ uint64_t *rx_key_epoch,
+ int *is_old_key)
{
size_t idx;
@@ -884,18 +885,18 @@ static size_t qrx_get_cipher_ctx_idx(OSSL_QRX *qrx, OSSL_QRL_ENC_LEVEL *el,
* less than) src_len.
*/
static int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,
- const unsigned char *src,
- size_t src_len, size_t *dec_len,
- const unsigned char *aad, size_t aad_len,
- QUIC_PN pn, uint32_t enc_level,
- unsigned char key_phase_bit,
- uint64_t *rx_key_epoch)
+ const unsigned char *src,
+ size_t src_len, size_t *dec_len,
+ const unsigned char *aad, size_t aad_len,
+ QUIC_PN pn, uint32_t enc_level,
+ unsigned char key_phase_bit,
+ uint64_t *rx_key_epoch)
{
int l = 0, l2 = 0, is_old_key, nonce_len;
unsigned char nonce[EVP_MAX_IV_LENGTH];
size_t i, cctx_idx;
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(&qrx->el_set,
- enc_level, 1);
+ enc_level, 1);
EVP_CIPHER_CTX *cctx;
if (src_len > INT_MAX || aad_len > INT_MAX)
@@ -916,7 +917,7 @@ static int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,
return 0;
cctx_idx = qrx_get_cipher_ctx_idx(qrx, el, enc_level, key_phase_bit,
- rx_key_epoch, &is_old_key);
+ rx_key_epoch, &is_old_key);
if (!ossl_assert(cctx_idx < OSSL_NELEM(el->cctx)))
return 0;
@@ -946,13 +947,15 @@ static int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,
/* type and key will already have been setup; feed the IV. */
if (EVP_CipherInit_ex(cctx, NULL,
- NULL, NULL, nonce, /*enc=*/0) != 1)
+ NULL, NULL, nonce, /*enc=*/0)
+ != 1)
return 0;
/* Feed the AEAD tag we got so the cipher can validate it. */
if (EVP_CIPHER_CTX_ctrl(cctx, EVP_CTRL_AEAD_SET_TAG,
- el->tag_len,
- (unsigned char *)src + src_len - el->tag_len) != 1)
+ el->tag_len,
+ (unsigned char *)src + src_len - el->tag_len)
+ != 1)
return 0;
/* Feed AAD data. */
@@ -1006,9 +1009,9 @@ static void qrx_key_update_initiated(OSSL_QRX *qrx, QUIC_PN pn)
/* Process a single packet in a datagram. */
static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
- PACKET *pkt, size_t pkt_idx,
- QUIC_CONN_ID *first_dcid,
- size_t datagram_len)
+ PACKET *pkt, size_t pkt_idx,
+ QUIC_CONN_ID *first_dcid,
+ size_t datagram_len)
{
RXE *rxe;
const unsigned char *eop = NULL;
@@ -1041,9 +1044,9 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
*/
need_second_decode = !pkt_is_marked(&urxe->hpr_removed, pkt_idx);
if (!ossl_quic_wire_decode_pkt_hdr(pkt,
- qrx->short_conn_id_len,
- need_second_decode, 0, &rxe->hdr, &ptrs,
- NULL))
+ qrx->short_conn_id_len,
+ need_second_decode, 0, &rxe->hdr, &ptrs,
+ NULL))
goto malformed;
/*
@@ -1090,16 +1093,16 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
memcpy(rxe_data(rxe), rxe->hdr.data, rxe->hdr.len);
pkt_mark(&urxe->processed, pkt_idx);
- rxe->hdr.data = rxe_data(rxe);
- rxe->pn = QUIC_PN_INVALID;
+ rxe->hdr.data = rxe_data(rxe);
+ rxe->pn = QUIC_PN_INVALID;
- rxe->data_len = rxe->hdr.len;
- rxe->datagram_len = datagram_len;
- rxe->key_epoch = 0;
- rxe->peer = urxe->peer;
- rxe->local = urxe->local;
- rxe->time = urxe->time;
- rxe->datagram_id = urxe->datagram_id;
+ rxe->data_len = rxe->hdr.len;
+ rxe->datagram_len = datagram_len;
+ rxe->key_epoch = 0;
+ rxe->peer = urxe->peer;
+ rxe->local = urxe->local;
+ rxe->time = urxe->time;
+ rxe->datagram_id = urxe->datagram_id;
/* Move RXE to pending. */
ossl_list_rxe_remove(&qrx->rx_free, rxe);
@@ -1112,22 +1115,22 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
/* If we do not have keying material for this encryption level yet, defer. */
switch (ossl_qrl_enc_level_set_have_el(&qrx->el_set, enc_level)) {
- case 1:
- /* We have keys. */
- if (enc_level == QUIC_ENC_LEVEL_1RTT && !qrx->allow_1rtt)
- /*
- * But we cannot process 1-RTT packets until the handshake is
- * completed (RFC 9000 s. 5.7).
- */
- goto cannot_decrypt;
-
- break;
- case 0:
- /* No keys yet. */
+ case 1:
+ /* We have keys. */
+ if (enc_level == QUIC_ENC_LEVEL_1RTT && !qrx->allow_1rtt)
+ /*
+ * But we cannot process 1-RTT packets until the handshake is
+ * completed (RFC 9000 s. 5.7).
+ */
goto cannot_decrypt;
- default:
- /* We already discarded keys for this EL, we will never process this.*/
- goto malformed;
+
+ break;
+ case 0:
+ /* No keys yet. */
+ goto cannot_decrypt;
+ default:
+ /* We already discarded keys for this EL, we will never process this.*/
+ goto malformed;
}
/*
@@ -1179,7 +1182,8 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
/* Decode the now unprotected header. */
if (ossl_quic_wire_decode_pkt_hdr(pkt, qrx->short_conn_id_len,
- 0, 0, &rxe->hdr, NULL, NULL) != 1)
+ 0, 0, &rxe->hdr, NULL, NULL)
+ != 1)
goto malformed;
}
@@ -1189,8 +1193,8 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
if (qrx->msg_callback != NULL)
qrx->msg_callback(0, OSSL_QUIC1_VERSION, SSL3_RT_QUIC_PACKET, sop,
- eop - sop - rxe->hdr.len, qrx->msg_callback_ssl,
- qrx->msg_callback_arg);
+ eop - sop - rxe->hdr.len, qrx->msg_callback_ssl,
+ qrx->msg_callback_arg);
/*
* The AAD data is the entire (unprotected) packet header including the PN.
@@ -1225,8 +1229,8 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
*/
dst = (unsigned char *)rxe_data(rxe) + i;
if (!qrx_decrypt_pkt_body(qrx, dst, rxe->hdr.data, rxe->hdr.len,
- &dec_len, sop, aad_len, rxe->pn, enc_level,
- rxe->hdr.key_phase, &rx_key_epoch))
+ &dec_len, sop, aad_len, rxe->pn, enc_level,
+ rxe->hdr.key_phase, &rx_key_epoch))
goto malformed;
/*
@@ -1269,11 +1273,11 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
* Update header to point to the decrypted buffer, which may be shorter
* due to AEAD tags, block padding, etc.
*/
- rxe->hdr.data = dst;
- rxe->hdr.len = dec_len;
- rxe->data_len = dec_len;
- rxe->datagram_len = datagram_len;
- rxe->key_epoch = rx_key_epoch;
+ rxe->hdr.data = dst;
+ rxe->hdr.len = dec_len;
+ rxe->data_len = dec_len;
+ rxe->datagram_len = datagram_len;
+ rxe->key_epoch = rx_key_epoch;
/* We processed the PN successfully, so update largest processed PN. */
pn_space = rxe_determine_pn_space(rxe);
@@ -1281,10 +1285,10 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
qrx->largest_pn[pn_space] = rxe->pn;
/* Copy across network addresses and RX time from URXE to RXE. */
- rxe->peer = urxe->peer;
- rxe->local = urxe->local;
- rxe->time = urxe->time;
- rxe->datagram_id = urxe->datagram_id;
+ rxe->peer = urxe->peer;
+ rxe->local = urxe->local;
+ rxe->time = urxe->time;
+ rxe->datagram_id = urxe->datagram_id;
/* Move RXE to pending. */
ossl_list_rxe_remove(&qrx->rx_free, rxe);
@@ -1338,8 +1342,8 @@ malformed:
/* Process a datagram which was received. */
static int qrx_process_datagram(OSSL_QRX *qrx, QUIC_URXE *e,
- const unsigned char *data,
- size_t data_len)
+ const unsigned char *data,
+ size_t data_len)
{
int have_deferred = 0;
PACKET pkt;
@@ -1398,15 +1402,14 @@ static int qrx_process_one_urxe(OSSL_QRX *qrx, QUIC_URXE *e)
* error.
*/
was_deferred = qrx_process_datagram(qrx, e, ossl_quic_urxe_data(e),
- e->data_len);
+ e->data_len);
/*
* Remove the URXE from the pending list and return it to
* either the free or deferred list.
*/
ossl_list_urxe_remove(&qrx->urx_pending, e);
- if (was_deferred > 0 &&
- (e->deferred || qrx->num_deferred < qrx->max_deferred)) {
+ if (was_deferred > 0 && (e->deferred || qrx->num_deferred < qrx->max_deferred)) {
ossl_list_urxe_insert_tail(&qrx->urx_deferred, e);
if (!e->deferred) {
e->deferred = 1;
@@ -1454,17 +1457,17 @@ int ossl_qrx_read_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT **ppkt)
assert(rxe->refcount == 0);
rxe->refcount = 1;
- rxe->pkt.hdr = &rxe->hdr;
- rxe->pkt.pn = rxe->pn;
- rxe->pkt.time = rxe->time;
- rxe->pkt.datagram_len = rxe->datagram_len;
+ rxe->pkt.hdr = &rxe->hdr;
+ rxe->pkt.pn = rxe->pn;
+ rxe->pkt.time = rxe->time;
+ rxe->pkt.datagram_len = rxe->datagram_len;
rxe->pkt.peer
= BIO_ADDR_family(&rxe->peer) != AF_UNSPEC ? &rxe->peer : NULL;
rxe->pkt.local
= BIO_ADDR_family(&rxe->local) != AF_UNSPEC ? &rxe->local : NULL;
- rxe->pkt.key_epoch = rxe->key_epoch;
- rxe->pkt.datagram_id = rxe->datagram_id;
- rxe->pkt.qrx = qrx;
+ rxe->pkt.key_epoch = rxe->key_epoch;
+ rxe->pkt.datagram_id = rxe->datagram_id;
+ rxe->pkt.qrx = qrx;
*ppkt = &rxe->pkt;
return 1;
@@ -1515,27 +1518,27 @@ uint64_t ossl_qrx_get_bytes_received(OSSL_QRX *qrx, int clear)
}
int ossl_qrx_set_late_validation_cb(OSSL_QRX *qrx,
- ossl_qrx_late_validation_cb *cb,
- void *cb_arg)
+ ossl_qrx_late_validation_cb *cb,
+ void *cb_arg)
{
- qrx->validation_cb = cb;
- qrx->validation_cb_arg = cb_arg;
+ qrx->validation_cb = cb;
+ qrx->validation_cb_arg = cb_arg;
return 1;
}
int ossl_qrx_set_key_update_cb(OSSL_QRX *qrx,
- ossl_qrx_key_update_cb *cb,
- void *cb_arg)
+ ossl_qrx_key_update_cb *cb,
+ void *cb_arg)
{
- qrx->key_update_cb = cb;
- qrx->key_update_cb_arg = cb_arg;
+ qrx->key_update_cb = cb;
+ qrx->key_update_cb_arg = cb_arg;
return 1;
}
uint64_t ossl_qrx_get_key_epoch(OSSL_QRX *qrx)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(&qrx->el_set,
- QUIC_ENC_LEVEL_1RTT, 1);
+ QUIC_ENC_LEVEL_1RTT, 1);
return el == NULL ? UINT64_MAX : el->key_epoch;
}
@@ -1543,19 +1546,19 @@ uint64_t ossl_qrx_get_key_epoch(OSSL_QRX *qrx)
int ossl_qrx_key_update_timeout(OSSL_QRX *qrx, int normal)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(&qrx->el_set,
- QUIC_ENC_LEVEL_1RTT, 1);
+ QUIC_ENC_LEVEL_1RTT, 1);
if (el == NULL)
return 0;
if (el->state == QRL_EL_STATE_PROV_UPDATING
&& !ossl_qrl_enc_level_set_key_update_done(&qrx->el_set,
- QUIC_ENC_LEVEL_1RTT))
+ QUIC_ENC_LEVEL_1RTT))
return 0;
if (normal && el->state == QRL_EL_STATE_PROV_COOLDOWN
&& !ossl_qrl_enc_level_set_key_cooldown_done(&qrx->el_set,
- QUIC_ENC_LEVEL_1RTT))
+ QUIC_ENC_LEVEL_1RTT))
return 0;
return 1;
@@ -1567,13 +1570,13 @@ uint64_t ossl_qrx_get_cur_forged_pkt_count(OSSL_QRX *qrx)
}
uint64_t ossl_qrx_get_max_forged_pkt_count(OSSL_QRX *qrx,
- uint32_t enc_level)
+ uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(&qrx->el_set,
- enc_level, 1);
+ enc_level, 1);
return el == NULL ? UINT64_MAX
- : ossl_qrl_get_suite_max_forged_pkt(el->suite_id);
+ : ossl_qrl_get_suite_max_forged_pkt(el->suite_id);
}
void ossl_qrx_allow_1rtt_processing(OSSL_QRX *qrx)
@@ -1586,7 +1589,7 @@ void ossl_qrx_allow_1rtt_processing(OSSL_QRX *qrx)
}
void ossl_qrx_set_msg_callback(OSSL_QRX *qrx, ossl_msg_cb msg_callback,
- SSL *msg_callback_ssl)
+ SSL *msg_callback_ssl)
{
qrx->msg_callback = msg_callback;
qrx->msg_callback_ssl = msg_callback_ssl;
diff --git a/crypto/openssl/ssl/quic/quic_record_shared.c b/crypto/openssl/ssl/quic/quic_record_shared.c
index a3fd51db6dcf..29accf602e59 100644
--- a/crypto/openssl/ssl/quic/quic_record_shared.c
+++ b/crypto/openssl/ssl/quic/quic_record_shared.c
@@ -18,8 +18,8 @@ static const unsigned char quic_v1_ku_label[] = {
};
OSSL_QRL_ENC_LEVEL *ossl_qrl_enc_level_set_get(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- int require_prov)
+ uint32_t enc_level,
+ int require_prov)
{
OSSL_QRL_ENC_LEVEL *el;
@@ -30,39 +30,39 @@ OSSL_QRL_ENC_LEVEL *ossl_qrl_enc_level_set_get(OSSL_QRL_ENC_LEVEL_SET *els,
if (require_prov)
switch (el->state) {
- case QRL_EL_STATE_PROV_NORMAL:
- case QRL_EL_STATE_PROV_UPDATING:
- case QRL_EL_STATE_PROV_COOLDOWN:
- break;
- default:
- return NULL;
+ case QRL_EL_STATE_PROV_NORMAL:
+ case QRL_EL_STATE_PROV_UPDATING:
+ case QRL_EL_STATE_PROV_COOLDOWN:
+ break;
+ default:
+ return NULL;
}
return el;
}
int ossl_qrl_enc_level_set_have_el(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level)
+ uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
switch (el->state) {
- case QRL_EL_STATE_UNPROV:
- return 0;
- case QRL_EL_STATE_PROV_NORMAL:
- case QRL_EL_STATE_PROV_UPDATING:
- case QRL_EL_STATE_PROV_COOLDOWN:
- return 1;
- default:
- case QRL_EL_STATE_DISCARDED:
- return -1;
+ case QRL_EL_STATE_UNPROV:
+ return 0;
+ case QRL_EL_STATE_PROV_NORMAL:
+ case QRL_EL_STATE_PROV_UPDATING:
+ case QRL_EL_STATE_PROV_COOLDOWN:
+ return 1;
+ default:
+ case QRL_EL_STATE_DISCARDED:
+ return -1;
}
}
int ossl_qrl_enc_level_set_has_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- unsigned char tgt_state,
- size_t keyslot)
+ uint32_t enc_level,
+ unsigned char tgt_state,
+ size_t keyslot)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
@@ -70,20 +70,20 @@ int ossl_qrl_enc_level_set_has_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
return 0;
switch (tgt_state) {
- case QRL_EL_STATE_PROV_NORMAL:
- case QRL_EL_STATE_PROV_UPDATING:
- return enc_level == QUIC_ENC_LEVEL_1RTT || keyslot == 0;
- case QRL_EL_STATE_PROV_COOLDOWN:
- assert(enc_level == QUIC_ENC_LEVEL_1RTT);
- return keyslot == (el->key_epoch & 1);
- default:
- return 0;
+ case QRL_EL_STATE_PROV_NORMAL:
+ case QRL_EL_STATE_PROV_UPDATING:
+ return enc_level == QUIC_ENC_LEVEL_1RTT || keyslot == 0;
+ case QRL_EL_STATE_PROV_COOLDOWN:
+ assert(enc_level == QUIC_ENC_LEVEL_1RTT);
+ return keyslot == (el->key_epoch & 1);
+ default:
+ return 0;
}
}
static void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- size_t keyslot)
+ uint32_t enc_level,
+ size_t keyslot)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
@@ -99,11 +99,11 @@ static void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
}
static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- unsigned char tgt_state,
- size_t keyslot,
- const unsigned char *secret,
- size_t secret_len)
+ uint32_t enc_level,
+ unsigned char tgt_state,
+ size_t keyslot,
+ const unsigned char *secret,
+ size_t secret_len)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
unsigned char key[EVP_MAX_KEY_LENGTH];
@@ -113,15 +113,15 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
EVP_CIPHER_CTX *cctx = NULL;
if (!ossl_assert(el != NULL
- && ossl_qrl_enc_level_set_has_keyslot(els, enc_level,
- tgt_state, keyslot))) {
+ && ossl_qrl_enc_level_set_has_keyslot(els, enc_level,
+ tgt_state, keyslot))) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
return 0;
}
cipher_name = ossl_qrl_get_suite_cipher_name(el->suite_id);
- iv_len = ossl_qrl_get_suite_cipher_iv_len(el->suite_id);
- key_len = ossl_qrl_get_suite_cipher_key_len(el->suite_id);
+ iv_len = ossl_qrl_get_suite_cipher_iv_len(el->suite_id);
+ key_len = ossl_qrl_get_suite_cipher_key_len(el->suite_id);
if (cipher_name == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
return 0;
@@ -137,22 +137,22 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
/* Derive "quic iv" key. */
if (!tls13_hkdf_expand_ex(el->libctx, el->propq,
- el->md,
- secret,
- quic_v1_iv_label,
- sizeof(quic_v1_iv_label),
- NULL, 0,
- el->iv[keyslot], iv_len, 1))
+ el->md,
+ secret,
+ quic_v1_iv_label,
+ sizeof(quic_v1_iv_label),
+ NULL, 0,
+ el->iv[keyslot], iv_len, 1))
goto err;
/* Derive "quic key" key. */
if (!tls13_hkdf_expand_ex(el->libctx, el->propq,
- el->md,
- secret,
- quic_v1_key_label,
- sizeof(quic_v1_key_label),
- NULL, 0,
- key, key_len, 1))
+ el->md,
+ secret,
+ quic_v1_key_label,
+ sizeof(quic_v1_key_label),
+ NULL, 0,
+ key, key_len, 1))
goto err;
/* Create and initialise cipher context. */
@@ -185,7 +185,7 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
EVP_CIPHER_free(cipher);
return 1;
- err:
+err:
EVP_CIPHER_CTX_free(cctx);
EVP_CIPHER_free(cipher);
OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot]));
@@ -194,15 +194,15 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
}
int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
- OSSL_LIB_CTX *libctx,
- const char *propq,
- uint32_t enc_level,
- uint32_t suite_id,
- EVP_MD *md,
- const unsigned char *secret,
- size_t secret_len,
- unsigned char init_key_phase_bit,
- int is_tx)
+ OSSL_LIB_CTX *libctx,
+ const char *propq,
+ uint32_t enc_level,
+ uint32_t suite_id,
+ EVP_MD *md,
+ const unsigned char *secret,
+ size_t secret_len,
+ unsigned char init_key_phase_bit,
+ int is_tx)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
unsigned char ku_key[EVP_MAX_KEY_LENGTH], hpr_key[EVP_MAX_KEY_LENGTH];
@@ -252,28 +252,28 @@ int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
own_md = 1;
}
- el->libctx = libctx;
- el->propq = propq;
- el->md = md;
- el->suite_id = suite_id;
- el->tag_len = ossl_qrl_get_suite_cipher_tag_len(suite_id);
- el->op_count = 0;
- el->key_epoch = (uint64_t)init_key_phase_bit;
- el->is_tx = (unsigned char)is_tx;
+ el->libctx = libctx;
+ el->propq = propq;
+ el->md = md;
+ el->suite_id = suite_id;
+ el->tag_len = ossl_qrl_get_suite_cipher_tag_len(suite_id);
+ el->op_count = 0;
+ el->key_epoch = (uint64_t)init_key_phase_bit;
+ el->is_tx = (unsigned char)is_tx;
/* Derive "quic hp" key. */
if (!tls13_hkdf_expand_ex(libctx, propq,
- md,
- secret,
- quic_v1_hp_label,
- sizeof(quic_v1_hp_label),
- NULL, 0,
- hpr_key, hpr_key_len, 1))
+ md,
+ secret,
+ quic_v1_hp_label,
+ sizeof(quic_v1_hp_label),
+ NULL, 0,
+ hpr_key, hpr_key_len, 1))
goto err;
/* Setup KS0 (or KS1 if init_key_phase_bit), our initial keyslot. */
if (!el_setup_keyslot(els, enc_level, QRL_EL_STATE_PROV_NORMAL,
- init_keyslot, secret, secret_len))
+ init_keyslot, secret, secret_len))
goto err;
have_ks0 = 1;
@@ -281,39 +281,39 @@ int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
if (enc_level == QUIC_ENC_LEVEL_1RTT) {
/* Derive "quic ku" key (the epoch 1 secret). */
if (!tls13_hkdf_expand_ex(libctx, propq,
- md,
- secret,
- quic_v1_ku_label,
- sizeof(quic_v1_ku_label),
- NULL, 0,
- is_tx ? el->ku : ku_key, secret_len, 1))
+ md,
+ secret,
+ quic_v1_ku_label,
+ sizeof(quic_v1_ku_label),
+ NULL, 0,
+ is_tx ? el->ku : ku_key, secret_len, 1))
goto err;
if (!is_tx) {
/* Setup KS1 (or KS0 if init_key_phase_bit), our next keyslot. */
if (!el_setup_keyslot(els, enc_level, QRL_EL_STATE_PROV_NORMAL,
- !init_keyslot, ku_key, secret_len))
+ !init_keyslot, ku_key, secret_len))
goto err;
have_ks1 = 1;
/* Derive NEXT "quic ku" key (the epoch 2 secret). */
if (!tls13_hkdf_expand_ex(libctx, propq,
- md,
- ku_key,
- quic_v1_ku_label,
- sizeof(quic_v1_ku_label),
- NULL, 0,
- el->ku, secret_len, 1))
+ md,
+ ku_key,
+ quic_v1_ku_label,
+ sizeof(quic_v1_ku_label),
+ NULL, 0,
+ el->ku, secret_len, 1))
goto err;
}
}
/* Setup header protection context. */
if (!ossl_quic_hdr_protector_init(&el->hpr,
- libctx, propq,
- ossl_qrl_get_suite_hdr_prot_cipher_id(suite_id),
- hpr_key, hpr_key_len))
+ libctx, propq,
+ ossl_qrl_get_suite_hdr_prot_cipher_id(suite_id),
+ hpr_key, hpr_key_len))
goto err;
/*
@@ -327,7 +327,7 @@ int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
el->state = QRL_EL_STATE_PROV_NORMAL;
return 1;
- err:
+err:
el->suite_id = 0;
el->md = NULL;
OPENSSL_cleanse(hpr_key, sizeof(hpr_key));
@@ -343,7 +343,7 @@ int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
}
int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level)
+ uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
size_t secret_len;
@@ -376,18 +376,18 @@ int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,
/* Derive NEXT "quic ku" key (the epoch n+1 secret). */
if (!tls13_hkdf_expand_ex(el->libctx, el->propq,
- el->md, el->ku,
- quic_v1_ku_label,
- sizeof(quic_v1_ku_label),
- NULL, 0,
- new_ku, secret_len, 1))
+ el->md, el->ku,
+ quic_v1_ku_label,
+ sizeof(quic_v1_ku_label),
+ NULL, 0,
+ new_ku, secret_len, 1))
return 0;
el_teardown_keyslot(els, enc_level, 0);
/* Setup keyslot for CURRENT "quic ku" key. */
if (!el_setup_keyslot(els, enc_level, QRL_EL_STATE_PROV_NORMAL,
- 0, el->ku, secret_len))
+ 0, el->ku, secret_len))
return 0;
++el->key_epoch;
@@ -399,7 +399,7 @@ int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,
/* Transitions from PROV_UPDATING to PROV_COOLDOWN. */
int ossl_qrl_enc_level_set_key_update_done(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level)
+ uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
@@ -419,7 +419,7 @@ int ossl_qrl_enc_level_set_key_update_done(OSSL_QRL_ENC_LEVEL_SET *els,
* auto-transitions to PROV_COOLDOWN first.)
*/
int ossl_qrl_enc_level_set_key_cooldown_done(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level)
+ uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
size_t secret_len;
@@ -444,17 +444,17 @@ int ossl_qrl_enc_level_set_key_cooldown_done(OSSL_QRL_ENC_LEVEL_SET *els,
secret_len = ossl_qrl_get_suite_secret_len(el->suite_id);
if (!el_setup_keyslot(els, enc_level, QRL_EL_STATE_PROV_NORMAL,
- ~el->key_epoch & 1, el->ku, secret_len))
+ ~el->key_epoch & 1, el->ku, secret_len))
return 0;
/* Derive NEXT "quic ku" key (the epoch n+1 secret). */
if (!tls13_hkdf_expand_ex(el->libctx, el->propq,
- el->md,
- el->ku,
- quic_v1_ku_label,
- sizeof(quic_v1_ku_label),
- NULL, 0,
- new_ku, secret_len, 1)) {
+ el->md,
+ el->ku,
+ quic_v1_ku_label,
+ sizeof(quic_v1_ku_label),
+ NULL, 0,
+ new_ku, secret_len, 1)) {
el_teardown_keyslot(els, enc_level, ~el->key_epoch & 1);
return 0;
}
@@ -469,7 +469,7 @@ int ossl_qrl_enc_level_set_key_cooldown_done(OSSL_QRL_ENC_LEVEL_SET *els,
* state to DISCARDED.
*/
void ossl_qrl_enc_level_set_discard(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level)
+ uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
@@ -484,6 +484,6 @@ void ossl_qrl_enc_level_set_discard(OSSL_QRL_ENC_LEVEL_SET *els,
}
EVP_MD_free(el->md);
- el->md = NULL;
- el->state = QRL_EL_STATE_DISCARDED;
+ el->md = NULL;
+ el->state = QRL_EL_STATE_DISCARDED;
}
diff --git a/crypto/openssl/ssl/quic/quic_record_shared.h b/crypto/openssl/ssl/quic/quic_record_shared.h
index e8c9e28e92a4..ba9571f450fe 100644
--- a/crypto/openssl/ssl/quic/quic_record_shared.h
+++ b/crypto/openssl/ssl/quic/quic_record_shared.h
@@ -8,11 +8,11 @@
*/
#ifndef OSSL_QUIC_RECORD_SHARED_H
-# define OSSL_QUIC_RECORD_SHARED_H
+#define OSSL_QUIC_RECORD_SHARED_H
-# include <openssl/ssl.h>
-# include "internal/quic_types.h"
-# include "internal/quic_wire_pkt.h"
+#include <openssl/ssl.h>
+#include "internal/quic_types.h"
+#include "internal/quic_wire_pkt.h"
/*
* QUIC Record Layer EL Management Utilities
@@ -29,27 +29,27 @@
*
* Key material is available if in the Provisioned state.
*/
-#define QRL_EL_STATE_UNPROV 0 /* Unprovisioned (initial state) */
-#define QRL_EL_STATE_PROV_NORMAL 1 /* Provisioned - Normal */
-#define QRL_EL_STATE_PROV_UPDATING 2 /* Provisioned - Updating */
-#define QRL_EL_STATE_PROV_COOLDOWN 3 /* Provisioned - Cooldown */
-#define QRL_EL_STATE_DISCARDED 4 /* Discarded (terminal state) */
+#define QRL_EL_STATE_UNPROV 0 /* Unprovisioned (initial state) */
+#define QRL_EL_STATE_PROV_NORMAL 1 /* Provisioned - Normal */
+#define QRL_EL_STATE_PROV_UPDATING 2 /* Provisioned - Updating */
+#define QRL_EL_STATE_PROV_COOLDOWN 3 /* Provisioned - Cooldown */
+#define QRL_EL_STATE_DISCARDED 4 /* Discarded (terminal state) */
typedef struct ossl_qrl_enc_level_st {
/*
* Cryptographic context used to apply and remove header protection from
* packet headers.
*/
- QUIC_HDR_PROTECTOR hpr;
+ QUIC_HDR_PROTECTOR hpr;
/* Hash function used for key derivation. */
- EVP_MD *md;
+ EVP_MD *md;
/* Context used for packet body ciphering. One for each keyslot. */
- EVP_CIPHER_CTX *cctx[2];
+ EVP_CIPHER_CTX *cctx[2];
- OSSL_LIB_CTX *libctx;
- const char *propq;
+ OSSL_LIB_CTX *libctx;
+ const char *propq;
/*
* Key epoch, essentially the number of times we have done a key update.
@@ -57,30 +57,30 @@ typedef struct ossl_qrl_enc_level_st {
* The least significant bit of this is therefore by definition the current
* Key Phase bit value.
*/
- uint64_t key_epoch;
+ uint64_t key_epoch;
/* Usage counter. The caller maintains this. Used by TX side only. */
- uint64_t op_count;
+ uint64_t op_count;
/* QRL_SUITE_* value. */
- uint32_t suite_id;
+ uint32_t suite_id;
/* Length of authentication tag. */
- uint32_t tag_len;
+ uint32_t tag_len;
/* Current EL state. */
- unsigned char state; /* QRL_EL_STATE_* */
+ unsigned char state; /* QRL_EL_STATE_* */
/* 1 if for TX, else RX. Initialised when secret provided. */
- unsigned char is_tx;
+ unsigned char is_tx;
/* IV used to construct nonces used for AEAD packet body ciphering. */
- unsigned char iv[2][EVP_MAX_IV_LENGTH];
+ unsigned char iv[2][EVP_MAX_IV_LENGTH];
/*
* Secret for next key epoch.
*/
- unsigned char ku[EVP_MAX_KEY_LENGTH];
+ unsigned char ku[EVP_MAX_KEY_LENGTH];
} OSSL_QRL_ENC_LEVEL;
typedef struct ossl_qrl_enc_level_set_st {
@@ -94,7 +94,7 @@ typedef struct ossl_qrl_enc_level_set_st {
* DISCARDED state).
*/
int ossl_qrl_enc_level_set_have_el(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level);
+ uint32_t enc_level);
/*
* Returns EL in a set. If enc_level is not a valid QUIC_ENC_LEVEL_* value,
@@ -102,49 +102,49 @@ int ossl_qrl_enc_level_set_have_el(OSSL_QRL_ENC_LEVEL_SET *els,
* the PROVISIONED state; otherwise, the returned EL may be in any state.
*/
OSSL_QRL_ENC_LEVEL *ossl_qrl_enc_level_set_get(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- int require_prov);
+ uint32_t enc_level,
+ int require_prov);
/* Provide secret to an EL. md may be NULL. */
int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
- OSSL_LIB_CTX *libctx,
- const char *propq,
- uint32_t enc_level,
- uint32_t suite_id,
- EVP_MD *md,
- const unsigned char *secret,
- size_t secret_len,
- unsigned char init_key_phase_bit,
- int is_tx);
+ OSSL_LIB_CTX *libctx,
+ const char *propq,
+ uint32_t enc_level,
+ uint32_t suite_id,
+ EVP_MD *md,
+ const unsigned char *secret,
+ size_t secret_len,
+ unsigned char init_key_phase_bit,
+ int is_tx);
/*
* Returns 1 if the given keyslot index is currently valid for a given EL and EL
* state.
*/
int ossl_qrl_enc_level_set_has_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- unsigned char tgt_state,
- size_t keyslot);
+ uint32_t enc_level,
+ unsigned char tgt_state,
+ size_t keyslot);
/* Perform a key update. Transitions from PROV_NORMAL to PROV_UPDATING. */
int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level);
+ uint32_t enc_level);
/* Transitions from PROV_UPDATING to PROV_COOLDOWN. */
int ossl_qrl_enc_level_set_key_update_done(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level);
+ uint32_t enc_level);
/*
* Transitions from PROV_COOLDOWN to PROV_NORMAL. (If in PROV_UPDATING,
* auto-transitions to PROV_COOLDOWN first.)
*/
int ossl_qrl_enc_level_set_key_cooldown_done(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level);
+ uint32_t enc_level);
/*
* Discard an EL. No secret can be provided for the EL ever again.
*/
void ossl_qrl_enc_level_set_discard(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level);
+ uint32_t enc_level);
#endif
diff --git a/crypto/openssl/ssl/quic/quic_record_tx.c b/crypto/openssl/ssl/quic/quic_record_tx.c
index ae37353a9b26..28158ae03895 100644
--- a/crypto/openssl/ssl/quic/quic_record_tx.c
+++ b/crypto/openssl/ssl/quic/quic_record_tx.c
@@ -25,13 +25,13 @@ typedef struct txe_st TXE;
struct txe_st {
OSSL_LIST_MEMBER(txe, TXE);
- size_t data_len, alloc_len;
+ size_t data_len, alloc_len;
/*
* Destination and local addresses, as applicable. Both of these are only
* used if the family is not AF_UNSPEC.
*/
- BIO_ADDR peer, local;
+ BIO_ADDR peer, local;
/*
* alloc_len allocated bytes (of which data_len bytes are valid) follow this
@@ -52,52 +52,52 @@ static ossl_inline unsigned char *txe_data(const TXE *e)
* ===
*/
struct ossl_qtx_st {
- OSSL_LIB_CTX *libctx;
- const char *propq;
+ OSSL_LIB_CTX *libctx;
+ const char *propq;
/* Per encryption-level state. */
- OSSL_QRL_ENC_LEVEL_SET el_set;
+ OSSL_QRL_ENC_LEVEL_SET el_set;
/* TX BIO. */
- BIO *bio;
+ BIO *bio;
/* QLOG instance retrieval callback if in use, or NULL. */
- QLOG *(*get_qlog_cb)(void *arg);
- void *get_qlog_cb_arg;
+ QLOG *(*get_qlog_cb)(void *arg);
+ void *get_qlog_cb_arg;
/* TX maximum datagram payload length. */
- size_t mdpl;
+ size_t mdpl;
/*
* List of TXEs which are not currently in use. These are moved to the
* pending list (possibly via tx_cons first) as they are filled.
*/
- TXE_LIST free;
+ TXE_LIST free;
/*
* List of TXEs which are filled with completed datagrams ready to be
* transmitted.
*/
- TXE_LIST pending;
- size_t pending_count; /* items in list */
- size_t pending_bytes; /* sum(txe->data_len) in pending */
+ TXE_LIST pending;
+ size_t pending_count; /* items in list */
+ size_t pending_bytes; /* sum(txe->data_len) in pending */
/*
* TXE which is under construction for coalescing purposes, if any.
* This TXE is neither on the free nor pending list. Once the datagram
* is completed, it is moved to the pending list.
*/
- TXE *cons;
- size_t cons_count; /* num packets */
+ TXE *cons;
+ size_t cons_count; /* num packets */
/*
* Number of packets transmitted in this key epoch. Used to enforce AEAD
* confidentiality limit.
*/
- uint64_t epoch_pkt_count;
+ uint64_t epoch_pkt_count;
/* Datagram counter. Increases monotonically per datagram (not per packet). */
- uint64_t datagram_count;
+ uint64_t datagram_count;
ossl_mutate_packet_cb mutatecb;
ossl_finish_mutate_cb finishmutatecb;
@@ -121,12 +121,12 @@ OSSL_QTX *ossl_qtx_new(const OSSL_QTX_ARGS *args)
if (qtx == NULL)
return 0;
- qtx->libctx = args->libctx;
- qtx->propq = args->propq;
- qtx->bio = args->bio;
- qtx->mdpl = args->mdpl;
- qtx->get_qlog_cb = args->get_qlog_cb;
- qtx->get_qlog_cb_arg = args->get_qlog_cb_arg;
+ qtx->libctx = args->libctx;
+ qtx->propq = args->propq;
+ qtx->bio = args->bio;
+ qtx->mdpl = args->mdpl;
+ qtx->get_qlog_cb = args->get_qlog_cb;
+ qtx->get_qlog_cb_arg = args->get_qlog_cb_arg;
return qtx;
}
@@ -163,40 +163,40 @@ void ossl_qtx_free(OSSL_QTX *qtx)
/* Set mutator callbacks for test framework support */
void ossl_qtx_set_mutator(OSSL_QTX *qtx, ossl_mutate_packet_cb mutatecb,
- ossl_finish_mutate_cb finishmutatecb, void *mutatearg)
+ ossl_finish_mutate_cb finishmutatecb, void *mutatearg)
{
- qtx->mutatecb = mutatecb;
+ qtx->mutatecb = mutatecb;
qtx->finishmutatecb = finishmutatecb;
- qtx->mutatearg = mutatearg;
+ qtx->mutatearg = mutatearg;
}
void ossl_qtx_set_qlog_cb(OSSL_QTX *qtx, QLOG *(*get_qlog_cb)(void *arg),
- void *get_qlog_cb_arg)
+ void *get_qlog_cb_arg)
{
- qtx->get_qlog_cb = get_qlog_cb;
- qtx->get_qlog_cb_arg = get_qlog_cb_arg;
+ qtx->get_qlog_cb = get_qlog_cb;
+ qtx->get_qlog_cb_arg = get_qlog_cb_arg;
}
-int ossl_qtx_provide_secret(OSSL_QTX *qtx,
- uint32_t enc_level,
- uint32_t suite_id,
- EVP_MD *md,
- const unsigned char *secret,
- size_t secret_len)
+int ossl_qtx_provide_secret(OSSL_QTX *qtx,
+ uint32_t enc_level,
+ uint32_t suite_id,
+ EVP_MD *md,
+ const unsigned char *secret,
+ size_t secret_len)
{
if (enc_level >= QUIC_ENC_LEVEL_NUM)
return 0;
return ossl_qrl_enc_level_set_provide_secret(&qtx->el_set,
- qtx->libctx,
- qtx->propq,
- enc_level,
- suite_id,
- md,
- secret,
- secret_len,
- 0,
- /*is_tx=*/1);
+ qtx->libctx,
+ qtx->propq,
+ enc_level,
+ suite_id,
+ md,
+ secret,
+ secret_len,
+ 0,
+ /*is_tx=*/1);
}
int ossl_qtx_discard_enc_level(OSSL_QTX *qtx, uint32_t enc_level)
@@ -304,7 +304,7 @@ static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n)
* Returns NULL on failure.
*/
static TXE *qtx_reserve_txe(OSSL_QTX *qtx, TXE_LIST *txl,
- TXE *txe, size_t n)
+ TXE *txe, size_t n)
{
if (txe->alloc_len >= n)
return txe;
@@ -334,11 +334,11 @@ static void qtx_add_to_pending(OSSL_QTX *qtx, TXE *txe)
struct iovec_cur {
const OSSL_QTX_IOVEC *iovec;
- size_t num_iovec, idx, byte_off, bytes_remaining;
+ size_t num_iovec, idx, byte_off, bytes_remaining;
};
static size_t iovec_total_bytes(const OSSL_QTX_IOVEC *iovec,
- size_t num_iovec)
+ size_t num_iovec)
{
size_t i, l = 0;
@@ -349,14 +349,14 @@ static size_t iovec_total_bytes(const OSSL_QTX_IOVEC *iovec,
}
static void iovec_cur_init(struct iovec_cur *cur,
- const OSSL_QTX_IOVEC *iovec,
- size_t num_iovec)
+ const OSSL_QTX_IOVEC *iovec,
+ size_t num_iovec)
{
- cur->iovec = iovec;
- cur->num_iovec = num_iovec;
- cur->idx = 0;
- cur->byte_off = 0;
- cur->bytes_remaining = iovec_total_bytes(iovec, num_iovec);
+ cur->iovec = iovec;
+ cur->num_iovec = num_iovec;
+ cur->idx = 0;
+ cur->byte_off = 0;
+ cur->bytes_remaining = iovec_total_bytes(iovec, num_iovec);
}
/*
@@ -366,8 +366,8 @@ static void iovec_cur_init(struct iovec_cur *cur,
* available, returns 0.
*/
static size_t iovec_cur_get_buffer(struct iovec_cur *cur,
- const unsigned char **buf,
- size_t max_buf_len)
+ const unsigned char **buf,
+ size_t max_buf_len)
{
size_t l;
@@ -402,8 +402,8 @@ static size_t iovec_cur_get_buffer(struct iovec_cur *cur,
/* Determines the size of the AEAD output given the input size. */
int ossl_qtx_calculate_ciphertext_payload_len(OSSL_QTX *qtx, uint32_t enc_level,
- size_t plaintext_len,
- size_t *ciphertext_len)
+ size_t plaintext_len,
+ size_t *ciphertext_len)
{
OSSL_QRL_ENC_LEVEL *el
= ossl_qrl_enc_level_set_get(&qtx->el_set, enc_level, 1);
@@ -426,8 +426,8 @@ int ossl_qtx_calculate_ciphertext_payload_len(OSSL_QTX *qtx, uint32_t enc_level,
/* Determines the size of the AEAD input given the output size. */
int ossl_qtx_calculate_plaintext_payload_len(OSSL_QTX *qtx, uint32_t enc_level,
- size_t ciphertext_len,
- size_t *plaintext_len)
+ size_t ciphertext_len,
+ size_t *plaintext_len)
{
OSSL_QRL_ENC_LEVEL *el
= ossl_qrl_enc_level_set_get(&qtx->el_set, enc_level, 1);
@@ -450,16 +450,16 @@ int ossl_qtx_calculate_plaintext_payload_len(OSSL_QTX *qtx, uint32_t enc_level,
}
/* Any other error (including packet being too big for MDPL). */
-#define QTX_FAIL_GENERIC (-1)
+#define QTX_FAIL_GENERIC (-1)
/*
* Returned where there is insufficient room in the datagram to write the
* packet.
*/
-#define QTX_FAIL_INSUFFICIENT_LEN (-2)
+#define QTX_FAIL_INSUFFICIENT_LEN (-2)
static int qtx_write_hdr(OSSL_QTX *qtx, const QUIC_PKT_HDR *hdr, TXE *txe,
- QUIC_PKT_HDR_PTRS *ptrs)
+ QUIC_PKT_HDR_PTRS *ptrs)
{
WPACKET wpkt;
size_t l = 0;
@@ -469,7 +469,7 @@ static int qtx_write_hdr(OSSL_QTX *qtx, const QUIC_PKT_HDR *hdr, TXE *txe,
return 0;
if (!ossl_quic_wire_encode_pkt_hdr(&wpkt, hdr->dst_conn_id.id_len,
- hdr, ptrs)
+ hdr, ptrs)
|| !WPACKET_get_total_written(&wpkt, &l)) {
WPACKET_finish(&wpkt);
return 0;
@@ -478,7 +478,7 @@ static int qtx_write_hdr(OSSL_QTX *qtx, const QUIC_PKT_HDR *hdr, TXE *txe,
if (qtx->msg_callback != NULL)
qtx->msg_callback(1, OSSL_QUIC1_VERSION, SSL3_RT_QUIC_PACKET, data, l,
- qtx->msg_callback_ssl, qtx->msg_callback_arg);
+ qtx->msg_callback_ssl, qtx->msg_callback_arg);
txe->data_len += l;
@@ -486,9 +486,9 @@ static int qtx_write_hdr(OSSL_QTX *qtx, const QUIC_PKT_HDR *hdr, TXE *txe,
}
static int qtx_encrypt_into_txe(OSSL_QTX *qtx, struct iovec_cur *cur, TXE *txe,
- uint32_t enc_level, QUIC_PN pn,
- const unsigned char *hdr, size_t hdr_len,
- QUIC_PKT_HDR_PTRS *ptrs)
+ uint32_t enc_level, QUIC_PN pn,
+ const unsigned char *hdr, size_t hdr_len,
+ QUIC_PKT_HDR_PTRS *ptrs)
{
int l = 0, l2 = 0, nonce_len;
OSSL_QRL_ENC_LEVEL *el
@@ -556,7 +556,8 @@ static int qtx_encrypt_into_txe(OSSL_QTX *qtx, struct iovec_cur *cur, TXE *txe,
break;
if (EVP_CipherUpdate(cctx, txe_data(txe) + txe->data_len,
- &l, src, src_len) != 1) {
+ &l, src, src_len)
+ != 1) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
return 0;
}
@@ -577,7 +578,8 @@ static int qtx_encrypt_into_txe(OSSL_QTX *qtx, struct iovec_cur *cur, TXE *txe,
}
if (EVP_CIPHER_CTX_ctrl(cctx, EVP_CTRL_AEAD_GET_TAG,
- el->tag_len, txe_data(txe) + txe->data_len) != 1) {
+ el->tag_len, txe_data(txe) + txe->data_len)
+ != 1) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
return 0;
}
@@ -597,8 +599,8 @@ static int qtx_encrypt_into_txe(OSSL_QTX *qtx, struct iovec_cur *cur, TXE *txe,
* process.
*/
static int qtx_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
- uint32_t enc_level, QUIC_PKT_HDR *hdr,
- const OSSL_QTX_IOVEC *iovec, size_t num_iovec)
+ uint32_t enc_level, QUIC_PKT_HDR *hdr,
+ const OSSL_QTX_IOVEC *iovec, size_t num_iovec)
{
int ret, needs_encrypt;
size_t hdr_len, pred_hdr_len, payload_len, pkt_len, space_left;
@@ -647,16 +649,16 @@ static int qtx_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
/* Determine encrypted payload length. */
if (needs_encrypt)
ossl_qtx_calculate_ciphertext_payload_len(qtx, enc_level,
- cur.bytes_remaining,
- &payload_len);
+ cur.bytes_remaining,
+ &payload_len);
else
payload_len = cur.bytes_remaining;
/* Determine header length. */
- hdr->data = NULL;
- hdr->len = payload_len;
+ hdr->data = NULL;
+ hdr->len = payload_len;
pred_hdr_len = ossl_quic_wire_get_encoded_pkt_hdr_len(hdr->dst_conn_id.id_len,
- hdr);
+ hdr);
if (pred_hdr_len == 0) {
ret = QTX_FAIL_GENERIC;
goto err;
@@ -672,8 +674,8 @@ static int qtx_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
if (ossl_quic_pkt_type_has_pn(hdr->type)) {
if (!ossl_quic_wire_encode_pkt_hdr_pn(pkt->pn,
- hdr->pn,
- hdr->pn_len)) {
+ hdr->pn,
+ hdr->pn_len)) {
ret = QTX_FAIL_GENERIC;
goto err;
}
@@ -706,7 +708,7 @@ static int qtx_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
} else {
/* Encrypt into TXE. */
if (!qtx_encrypt_into_txe(qtx, &cur, txe, enc_level, pkt->pn,
- hdr_start, hdr_len, &ptrs)) {
+ hdr_start, hdr_len, &ptrs)) {
ret = QTX_FAIL_GENERIC;
goto err;
}
@@ -752,7 +754,7 @@ static QLOG *qtx_get_qlog(OSSL_QTX *qtx)
}
static int qtx_mutate_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
- uint32_t enc_level)
+ uint32_t enc_level)
{
int ret;
QUIC_PKT_HDR *hdr;
@@ -762,20 +764,20 @@ static int qtx_mutate_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
/* If we are running tests then mutate_packet may be non NULL */
if (qtx->mutatecb != NULL) {
if (!qtx->mutatecb(pkt->hdr, pkt->iovec, pkt->num_iovec, &hdr,
- &iovec, &num_iovec, qtx->mutatearg))
+ &iovec, &num_iovec, qtx->mutatearg))
return QTX_FAIL_GENERIC;
} else {
- hdr = pkt->hdr;
- iovec = pkt->iovec;
- num_iovec = pkt->num_iovec;
+ hdr = pkt->hdr;
+ iovec = pkt->iovec;
+ num_iovec = pkt->num_iovec;
}
ret = qtx_write(qtx, pkt, txe, enc_level,
- hdr, iovec, num_iovec);
+ hdr, iovec, num_iovec);
if (ret == 1)
ossl_qlog_event_transport_packet_sent(qtx_get_qlog(qtx), hdr, pkt->pn,
- iovec, num_iovec,
- qtx->datagram_count);
+ iovec, num_iovec,
+ qtx->datagram_count);
if (qtx->finishmutatecb != NULL)
qtx->finishmutatecb(qtx->mutatearg);
@@ -786,7 +788,7 @@ static int qtx_mutate_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,
static int addr_eq(const BIO_ADDR *a, const BIO_ADDR *b)
{
return ((a == NULL || BIO_ADDR_family(a) == AF_UNSPEC)
- && (b == NULL || BIO_ADDR_family(b) == AF_UNSPEC))
+ && (b == NULL || BIO_ADDR_family(b) == AF_UNSPEC))
|| (a != NULL && b != NULL && memcmp(a, b, sizeof(*a)) == 0);
}
@@ -808,7 +810,7 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt)
if (!ossl_quic_pkt_type_can_share_dgram(pkt->hdr->type))
ossl_qtx_finish_dgram(qtx);
else if (enc_level >= QUIC_ENC_LEVEL_NUM
- || ossl_qrl_enc_level_set_have_el(&qtx->el_set, enc_level) != 1) {
+ || ossl_qrl_enc_level_set_have_el(&qtx->el_set, enc_level) != 1) {
/* All other packet types are encrypted. */
return 0;
}
@@ -915,23 +917,23 @@ void ossl_qtx_finish_dgram(OSSL_QTX *qtx)
else
qtx_add_to_pending(qtx, txe);
- qtx->cons = NULL;
+ qtx->cons = NULL;
qtx->cons_count = 0;
++qtx->datagram_count;
}
static void txe_to_msg(TXE *txe, BIO_MSG *msg)
{
- msg->data = txe_data(txe);
- msg->data_len = txe->data_len;
- msg->flags = 0;
+ msg->data = txe_data(txe);
+ msg->data_len = txe->data_len;
+ msg->flags = 0;
msg->peer
= BIO_ADDR_family(&txe->peer) != AF_UNSPEC ? &txe->peer : NULL;
msg->local
= BIO_ADDR_family(&txe->local) != AF_UNSPEC ? &txe->local : NULL;
}
-#define MAX_MSGS_PER_SEND 32
+#define MAX_MSGS_PER_SEND 32
int ossl_qtx_flush_net(OSSL_QTX *qtx)
{
@@ -948,8 +950,8 @@ int ossl_qtx_flush_net(OSSL_QTX *qtx)
for (;;) {
for (txe = ossl_list_txe_head(&qtx->pending), i = 0;
- txe != NULL && i < OSSL_NELEM(msg);
- txe = ossl_list_txe_next(txe), ++i)
+ txe != NULL && i < OSSL_NELEM(msg);
+ txe = ossl_list_txe_next(txe), ++i)
txe_to_msg(txe, &msg[i]);
if (!i)
@@ -988,9 +990,9 @@ int ossl_qtx_flush_net(OSSL_QTX *qtx)
for (i = 0; i < wr; ++i) {
if (qtx->msg_callback != NULL)
qtx->msg_callback(1, OSSL_QUIC1_VERSION, SSL3_RT_QUIC_DATAGRAM,
- msg[i].data, msg[i].data_len,
- qtx->msg_callback_ssl,
- qtx->msg_callback_arg);
+ msg[i].data, msg[i].data_len,
+ qtx->msg_callback_ssl,
+ qtx->msg_callback_arg);
qtx_pending_to_free(qtx);
}
@@ -1056,7 +1058,7 @@ size_t ossl_qtx_get_unflushed_pkt_count(OSSL_QTX *qtx)
int ossl_qtx_trigger_key_update(OSSL_QTX *qtx)
{
return ossl_qrl_enc_level_set_key_update(&qtx->el_set,
- QUIC_ENC_LEVEL_1RTT);
+ QUIC_ENC_LEVEL_1RTT);
}
uint64_t ossl_qtx_get_cur_epoch_pkt_count(OSSL_QTX *qtx, uint32_t enc_level)
@@ -1082,7 +1084,7 @@ uint64_t ossl_qtx_get_max_epoch_pkt_count(OSSL_QTX *qtx, uint32_t enc_level)
}
void ossl_qtx_set_msg_callback(OSSL_QTX *qtx, ossl_msg_cb msg_callback,
- SSL *msg_callback_ssl)
+ SSL *msg_callback_ssl)
{
qtx->msg_callback = msg_callback;
qtx->msg_callback_ssl = msg_callback_ssl;
diff --git a/crypto/openssl/ssl/quic/quic_record_util.c b/crypto/openssl/ssl/quic/quic_record_util.c
index d7c3cece888d..61b67a21503f 100644
--- a/crypto/openssl/ssl/quic/quic_record_util.c
+++ b/crypto/openssl/ssl/quic/quic_record_util.c
@@ -20,11 +20,11 @@
* =============================
*/
int ossl_quic_hkdf_extract(OSSL_LIB_CTX *libctx,
- const char *propq,
- const EVP_MD *md,
- const unsigned char *salt, size_t salt_len,
- const unsigned char *ikm, size_t ikm_len,
- unsigned char *out, size_t out_len)
+ const char *propq,
+ const EVP_MD *md,
+ const unsigned char *salt, size_t salt_len,
+ const unsigned char *ikm, size_t ikm_len,
+ unsigned char *out, size_t out_len)
{
int ret = 0;
EVP_KDF *kdf = NULL;
@@ -44,17 +44,17 @@ int ossl_quic_hkdf_extract(OSSL_LIB_CTX *libctx,
* at least 8 bytes. It means that the length of destination connection ID
* may be less than the minimum length for HKDF required by FIPS provider.
*
- * Therefore, we need to set `key-check` to zero to allow using destionation
+ * Therefore, we need to set `key-check` to zero to allow using destination
* connection ID as IKM.
*/
*p++ = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_FIPS_KEY_CHECK, &key_check);
*p++ = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode);
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
- (char *)md_name, 0);
+ (char *)md_name, 0);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SALT,
- (unsigned char *)salt, salt_len);
+ (unsigned char *)salt, salt_len);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY,
- (unsigned char *)ikm, ikm_len);
+ (unsigned char *)ikm, ikm_len);
*p++ = OSSL_PARAM_construct_end();
ret = EVP_KDF_derive(kctx, out, out_len, params);
@@ -80,11 +80,11 @@ static const unsigned char quic_v1_initial_salt[] = {
};
int ossl_quic_provide_initial_secret(OSSL_LIB_CTX *libctx,
- const char *propq,
- const QUIC_CONN_ID *dst_conn_id,
- int is_server,
- struct ossl_qrx_st *qrx,
- struct ossl_qtx_st *qtx)
+ const char *propq,
+ const QUIC_CONN_ID *dst_conn_id,
+ int is_server,
+ struct ossl_qrx_st *qrx,
+ struct ossl_qtx_st *qtx)
{
unsigned char initial_secret[32];
unsigned char client_initial_secret[32], server_initial_secret[32];
@@ -108,48 +108,48 @@ int ossl_quic_provide_initial_secret(OSSL_LIB_CTX *libctx,
/* Derive initial secret from destination connection ID. */
if (!ossl_quic_hkdf_extract(libctx, propq,
- sha256,
- quic_v1_initial_salt,
- sizeof(quic_v1_initial_salt),
- dst_conn_id->id,
- dst_conn_id->id_len,
- initial_secret,
- sizeof(initial_secret)))
+ sha256,
+ quic_v1_initial_salt,
+ sizeof(quic_v1_initial_salt),
+ dst_conn_id->id,
+ dst_conn_id->id_len,
+ initial_secret,
+ sizeof(initial_secret)))
goto err;
/* Derive "client in" secret. */
if (((qtx != NULL && tx_secret == client_initial_secret)
- || (qrx != NULL && rx_secret == client_initial_secret))
+ || (qrx != NULL && rx_secret == client_initial_secret))
&& !tls13_hkdf_expand_ex(libctx, propq,
- sha256,
- initial_secret,
- quic_client_in_label,
- sizeof(quic_client_in_label),
- NULL, 0,
- client_initial_secret,
- sizeof(client_initial_secret), 1))
+ sha256,
+ initial_secret,
+ quic_client_in_label,
+ sizeof(quic_client_in_label),
+ NULL, 0,
+ client_initial_secret,
+ sizeof(client_initial_secret), 1))
goto err;
/* Derive "server in" secret. */
if (((qtx != NULL && tx_secret == server_initial_secret)
- || (qrx != NULL && rx_secret == server_initial_secret))
+ || (qrx != NULL && rx_secret == server_initial_secret))
&& !tls13_hkdf_expand_ex(libctx, propq,
- sha256,
- initial_secret,
- quic_server_in_label,
- sizeof(quic_server_in_label),
- NULL, 0,
- server_initial_secret,
- sizeof(server_initial_secret), 1))
+ sha256,
+ initial_secret,
+ quic_server_in_label,
+ sizeof(quic_server_in_label),
+ NULL, 0,
+ server_initial_secret,
+ sizeof(server_initial_secret), 1))
goto err;
/* Setup RX EL. Initial encryption always uses AES-128-GCM. */
if (qrx != NULL
&& !ossl_qrx_provide_secret(qrx, QUIC_ENC_LEVEL_INITIAL,
- QRL_SUITE_AES128GCM,
- sha256,
- rx_secret,
- sizeof(server_initial_secret)))
+ QRL_SUITE_AES128GCM,
+ sha256,
+ rx_secret,
+ sizeof(server_initial_secret)))
goto err;
/*
@@ -165,10 +165,10 @@ int ossl_quic_provide_initial_secret(OSSL_LIB_CTX *libctx,
/* Setup TX cipher. */
if (qtx != NULL
&& !ossl_qtx_provide_secret(qtx, QUIC_ENC_LEVEL_INITIAL,
- QRL_SUITE_AES128GCM,
- sha256,
- tx_secret,
- sizeof(server_initial_secret)))
+ QRL_SUITE_AES128GCM,
+ sha256,
+ tx_secret,
+ sizeof(server_initial_secret)))
goto err;
return 1;
@@ -191,38 +191,56 @@ struct suite_info {
};
static const struct suite_info suite_aes128gcm = {
- "AES-128-GCM", "SHA256", 32, 16, 12, 16, 16,
+ "AES-128-GCM",
+ "SHA256",
+ 32,
+ 16,
+ 12,
+ 16,
+ 16,
QUIC_HDR_PROT_CIPHER_AES_128,
((uint64_t)1) << 23, /* Limits as prescribed by RFC 9001 */
((uint64_t)1) << 52,
};
static const struct suite_info suite_aes256gcm = {
- "AES-256-GCM", "SHA384", 48, 32, 12, 16, 32,
+ "AES-256-GCM",
+ "SHA384",
+ 48,
+ 32,
+ 12,
+ 16,
+ 32,
QUIC_HDR_PROT_CIPHER_AES_256,
((uint64_t)1) << 23, /* Limits as prescribed by RFC 9001 */
((uint64_t)1) << 52,
};
static const struct suite_info suite_chacha20poly1305 = {
- "ChaCha20-Poly1305", "SHA256", 32, 32, 12, 16, 32,
+ "ChaCha20-Poly1305",
+ "SHA256",
+ 32,
+ 32,
+ 12,
+ 16,
+ 32,
QUIC_HDR_PROT_CIPHER_CHACHA,
/* Do not use UINT64_MAX here as this represents an invalid value */
- UINT64_MAX - 1, /* No applicable limit for this suite (RFC 9001) */
- ((uint64_t)1) << 36, /* Limit as prescribed by RFC 9001 */
+ UINT64_MAX - 1, /* No applicable limit for this suite (RFC 9001) */
+ ((uint64_t)1) << 36, /* Limit as prescribed by RFC 9001 */
};
static const struct suite_info *get_suite(uint32_t suite_id)
{
switch (suite_id) {
- case QRL_SUITE_AES128GCM:
- return &suite_aes128gcm;
- case QRL_SUITE_AES256GCM:
- return &suite_aes256gcm;
- case QRL_SUITE_CHACHA20POLY1305:
- return &suite_chacha20poly1305;
- default:
- return NULL;
+ case QRL_SUITE_AES128GCM:
+ return &suite_aes128gcm;
+ case QRL_SUITE_AES256GCM:
+ return &suite_aes256gcm;
+ case QRL_SUITE_CHACHA20POLY1305:
+ return &suite_chacha20poly1305;
+ default:
+ return NULL;
}
}
diff --git a/crypto/openssl/ssl/quic/quic_rstream.c b/crypto/openssl/ssl/quic/quic_rstream.c
index dd3dbf756b44..2fe1cb2cdbe4 100644
--- a/crypto/openssl/ssl/quic/quic_rstream.c
+++ b/crypto/openssl/ssl/quic/quic_rstream.c
@@ -1,11 +1,11 @@
/*
-* Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
-*
-* Licensed under the Apache License 2.0 (the "License"). You may not use
-* this file except in compliance with the License. You can obtain a copy
-* in the file LICENSE in the source distribution or at
-* https://www.openssl.org/source/license.html
-*/
+ * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
#include <openssl/err.h>
#include "internal/common.h"
#include "internal/time.h"
@@ -22,7 +22,7 @@ struct quic_rstream_st {
};
QUIC_RSTREAM *ossl_quic_rstream_new(QUIC_RXFC *rxfc,
- OSSL_STATM *statm, size_t rbuf_size)
+ OSSL_STATM *statm, size_t rbuf_size)
{
QUIC_RSTREAM *ret = OPENSSL_zalloc(sizeof(*ret));
@@ -55,9 +55,9 @@ void ossl_quic_rstream_free(QUIC_RSTREAM *qrs)
}
int ossl_quic_rstream_queue_data(QUIC_RSTREAM *qrs, OSSL_QRX_PKT *pkt,
- uint64_t offset,
- const unsigned char *data, uint64_t data_len,
- int fin)
+ uint64_t offset,
+ const unsigned char *data, uint64_t data_len,
+ int fin)
{
UINT_RANGE range;
@@ -74,7 +74,7 @@ int ossl_quic_rstream_queue_data(QUIC_RSTREAM *qrs, OSSL_QRX_PKT *pkt,
}
static int read_internal(QUIC_RSTREAM *qrs, unsigned char *buf, size_t size,
- size_t *readbytes, int *fin, int drop)
+ size_t *readbytes, int *fin, int drop)
{
void *iter = NULL;
UINT_RANGE range;
@@ -107,7 +107,7 @@ static int read_internal(QUIC_RSTREAM *qrs, unsigned char *buf, size_t size,
readbytes_ += max_len;
l -= max_len;
data = ring_buf_get_ptr(&qrs->rbuf, range.start + max_len,
- &max_len);
+ &max_len);
if (!ossl_assert(data != NULL) || !ossl_assert(max_len > l))
return 0;
}
@@ -150,7 +150,7 @@ static OSSL_TIME get_rtt(QUIC_RSTREAM *qrs)
}
int ossl_quic_rstream_read(QUIC_RSTREAM *qrs, unsigned char *buf, size_t size,
- size_t *readbytes, int *fin)
+ size_t *readbytes, int *fin)
{
OSSL_TIME rtt = get_rtt(qrs);
@@ -165,7 +165,7 @@ int ossl_quic_rstream_read(QUIC_RSTREAM *qrs, unsigned char *buf, size_t size,
}
int ossl_quic_rstream_peek(QUIC_RSTREAM *qrs, unsigned char *buf, size_t size,
- size_t *readbytes, int *fin)
+ size_t *readbytes, int *fin)
{
return read_internal(qrs, buf, size, readbytes, fin, 0);
}
@@ -189,8 +189,8 @@ int ossl_quic_rstream_available(QUIC_RSTREAM *qrs, size_t *avail, int *fin)
}
int ossl_quic_rstream_get_record(QUIC_RSTREAM *qrs,
- const unsigned char **record, size_t *rec_len,
- int *fin)
+ const unsigned char **record, size_t *rec_len,
+ int *fin)
{
const unsigned char *record_ = NULL;
size_t rec_len_, max_len;
@@ -214,7 +214,7 @@ int ossl_quic_rstream_get_record(QUIC_RSTREAM *qrs,
if (record_ == NULL && rec_len_ != 0) {
record_ = ring_buf_get_ptr(&qrs->rbuf, qrs->head_range.start,
- &max_len);
+ &max_len);
if (!ossl_assert(record_ != NULL))
return 0;
if (max_len < rec_len_) {
@@ -228,7 +228,6 @@ int ossl_quic_rstream_get_record(QUIC_RSTREAM *qrs,
return 1;
}
-
int ossl_quic_rstream_release_record(QUIC_RSTREAM *qrs, size_t read_len)
{
uint64_t offset;
@@ -261,9 +260,9 @@ int ossl_quic_rstream_release_record(QUIC_RSTREAM *qrs, size_t read_len)
}
static int write_at_ring_buf_cb(uint64_t logical_offset,
- const unsigned char *buf,
- size_t buf_len,
- void *cb_arg)
+ const unsigned char *buf,
+ size_t buf_len,
+ void *cb_arg)
{
struct ring_buf *rbuf = cb_arg;
@@ -275,7 +274,7 @@ int ossl_quic_rstream_move_to_rbuf(QUIC_RSTREAM *qrs)
if (ring_buf_avail(&qrs->rbuf) == 0)
return 0;
return ossl_sframe_list_move_data(&qrs->fl,
- write_at_ring_buf_cb, &qrs->rbuf);
+ write_at_ring_buf_cb, &qrs->rbuf);
}
int ossl_quic_rstream_resize_rbuf(QUIC_RSTREAM *qrs, size_t rbuf_size)
diff --git a/crypto/openssl/ssl/quic/quic_rx_depack.c b/crypto/openssl/ssl/quic/quic_rx_depack.c
index f800d8984193..786af9b4c221 100644
--- a/crypto/openssl/ssl/quic/quic_rx_depack.c
+++ b/crypto/openssl/ssl/quic/quic_rx_depack.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -30,9 +30,9 @@
* them a verifiable pattern against tables where this is specified.
*/
static int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,
- uint64_t stream_id,
- uint64_t frame_type,
- QUIC_STREAM **result);
+ uint64_t stream_id,
+ uint64_t frame_type,
+ QUIC_STREAM **result);
static int depack_do_frame_padding(PACKET *pkt)
{
@@ -42,15 +42,15 @@ static int depack_do_frame_padding(PACKET *pkt)
}
static int depack_do_frame_ping(PACKET *pkt, QUIC_CHANNEL *ch,
- uint32_t enc_level,
- OSSL_ACKM_RX_PKT *ackm_data)
+ uint32_t enc_level,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
/* We ignore this frame, apart from eliciting an ACK */
if (!ossl_quic_wire_decode_frame_ping(pkt)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_PING,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_PING,
+ "decode error");
return 0;
}
@@ -59,9 +59,9 @@ static int depack_do_frame_ping(PACKET *pkt, QUIC_CHANNEL *ch,
}
static int depack_do_frame_ack(PACKET *pkt, QUIC_CHANNEL *ch,
- int packet_space, OSSL_TIME received,
- uint64_t frame_type,
- OSSL_QRX_PKT *qpacket)
+ int packet_space, OSSL_TIME received,
+ uint64_t frame_type,
+ OSSL_QRX_PKT *qpacket)
{
OSSL_QUIC_FRAME_ACK ack;
OSSL_QUIC_ACK_RANGE *p;
@@ -75,12 +75,13 @@ static int depack_do_frame_ack(PACKET *pkt, QUIC_CHANNEL *ch,
if (ch->num_ack_range_scratch < (size_t)total_ranges) {
if ((p = OPENSSL_realloc(ch->ack_range_scratch,
- sizeof(OSSL_QUIC_ACK_RANGE)
- * (size_t)total_ranges)) == NULL)
+ sizeof(OSSL_QUIC_ACK_RANGE)
+ * (size_t)total_ranges))
+ == NULL)
goto malformed;
- ch->ack_range_scratch = p;
- ch->num_ack_range_scratch = (size_t)total_ranges;
+ ch->ack_range_scratch = p;
+ ch->num_ack_range_scratch = (size_t)total_ranges;
}
ack.ack_ranges = ch->ack_range_scratch;
@@ -115,16 +116,16 @@ static int depack_do_frame_ack(PACKET *pkt, QUIC_CHANNEL *ch,
* epoch has not incremented and ch->rxku_expected is still 1.
*/
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_KEY_UPDATE_ERROR,
- frame_type,
- "acked packet which initiated a "
- "key update without a "
- "corresponding key update");
+ OSSL_QUIC_ERR_KEY_UPDATE_ERROR,
+ frame_type,
+ "acked packet which initiated a "
+ "key update without a "
+ "corresponding key update");
return 0;
}
if (!ossl_ackm_on_rx_ack_frame(ch->ackm, &ack,
- packet_space, received))
+ packet_space, received))
goto malformed;
++ch->diag_num_rx_ack;
@@ -132,15 +133,15 @@ static int depack_do_frame_ack(PACKET *pkt, QUIC_CHANNEL *ch,
malformed:
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "decode error");
return 0;
}
static int depack_do_frame_reset_stream(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
OSSL_QUIC_FRAME_RESET_STREAM frame_data;
QUIC_STREAM *stream = NULL;
@@ -148,15 +149,15 @@ static int depack_do_frame_reset_stream(PACKET *pkt,
if (!ossl_quic_wire_decode_frame_reset_stream(pkt, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
+ "decode error");
return 0;
}
if (!depack_do_implicit_stream_create(ch, frame_data.stream_id,
- OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- &stream))
+ OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
+ &stream))
return 0; /* error already raised for us */
if (stream == NULL)
@@ -164,10 +165,10 @@ static int depack_do_frame_reset_stream(PACKET *pkt,
if (!ossl_quic_stream_has_recv(stream)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_STATE_ERROR,
- OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- "RESET_STREAM frame for "
- "TX only stream");
+ OSSL_QUIC_ERR_STREAM_STATE_ERROR,
+ OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
+ "RESET_STREAM frame for "
+ "TX only stream");
return 0;
}
@@ -182,11 +183,11 @@ static int depack_do_frame_reset_stream(PACKET *pkt,
* of this for us.
*/
if (!ossl_quic_rxfc_on_rx_stream_frame(&stream->rxfc,
- frame_data.final_size, /*is_fin=*/1)) {
+ frame_data.final_size, /*is_fin=*/1)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- "internal error (flow control)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
+ "internal error (flow control)");
return 0;
}
@@ -194,9 +195,9 @@ static int depack_do_frame_reset_stream(PACKET *pkt,
fce = ossl_quic_rxfc_get_error(&stream->rxfc, 0);
if (fce != OSSL_QUIC_ERR_NO_ERROR) {
ossl_quic_channel_raise_protocol_error(ch,
- fce,
- OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
- "flow control violation");
+ fce,
+ OSSL_QUIC_FRAME_TYPE_RESET_STREAM,
+ "flow control violation");
return 0;
}
@@ -207,31 +208,31 @@ static int depack_do_frame_reset_stream(PACKET *pkt,
* protocol error conditions we need to check for here.
*/
ossl_quic_stream_map_notify_reset_recv_part(&ch->qsm, stream,
- frame_data.app_error_code,
- frame_data.final_size);
+ frame_data.app_error_code,
+ frame_data.final_size);
ossl_quic_stream_map_update_state(&ch->qsm, stream);
return 1;
}
static int depack_do_frame_stop_sending(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
OSSL_QUIC_FRAME_STOP_SENDING frame_data;
QUIC_STREAM *stream = NULL;
if (!ossl_quic_wire_decode_frame_stop_sending(pkt, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
+ "decode error");
return 0;
}
if (!depack_do_implicit_stream_create(ch, frame_data.stream_id,
- OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
- &stream))
+ OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
+ &stream))
return 0; /* error already raised for us */
if (stream == NULL)
@@ -239,15 +240,15 @@ static int depack_do_frame_stop_sending(PACKET *pkt,
if (!ossl_quic_stream_has_send(stream)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_STATE_ERROR,
- OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
- "STOP_SENDING frame for "
- "RX only stream");
+ OSSL_QUIC_ERR_STREAM_STATE_ERROR,
+ OSSL_QUIC_FRAME_TYPE_STOP_SENDING,
+ "STOP_SENDING frame for "
+ "RX only stream");
return 0;
}
- stream->peer_stop_sending = 1;
- stream->peer_stop_sending_aec = frame_data.app_error_code;
+ stream->peer_stop_sending = 1;
+ stream->peer_stop_sending_aec = frame_data.app_error_code;
/*
* RFC 9000 s. 3.5: Receiving a STOP_SENDING frame means we must respond in
@@ -255,14 +256,14 @@ static int depack_do_frame_stop_sending(PACKET *pkt,
* part is unaffected.
*/
ossl_quic_stream_map_reset_stream_send_part(&ch->qsm, stream,
- frame_data.app_error_code);
+ frame_data.app_error_code);
return 1;
}
static int depack_do_frame_crypto(PACKET *pkt, QUIC_CHANNEL *ch,
- OSSL_QRX_PKT *parent_pkt,
- OSSL_ACKM_RX_PKT *ackm_data,
- uint64_t *datalen)
+ OSSL_QRX_PKT *parent_pkt,
+ OSSL_ACKM_RX_PKT *ackm_data,
+ uint64_t *datalen)
{
OSSL_QUIC_FRAME_CRYPTO f;
QUIC_RSTREAM *rstream;
@@ -272,9 +273,9 @@ static int depack_do_frame_crypto(PACKET *pkt, QUIC_CHANNEL *ch,
if (!ossl_quic_wire_decode_frame_crypto(pkt, 0, &f)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "decode error");
return 0;
}
@@ -293,27 +294,27 @@ static int depack_do_frame_crypto(PACKET *pkt, QUIC_CHANNEL *ch,
rxfc = &ch->crypto_rxfc[ackm_data->pkt_space];
if (!ossl_quic_rxfc_on_rx_stream_frame(rxfc, f.offset + f.len,
- /*is_fin=*/0)) {
+ /*is_fin=*/0)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "internal error (crypto RXFC)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "internal error (crypto RXFC)");
return 0;
}
if (ossl_quic_rxfc_get_error(rxfc, 0) != OSSL_QUIC_ERR_NO_ERROR) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_CRYPTO_BUFFER_EXCEEDED,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "exceeded maximum crypto buffer");
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "exceeded maximum crypto buffer");
return 0;
}
if (!ossl_quic_rstream_queue_data(rstream, parent_pkt,
- f.offset, f.data, f.len, 0)) {
+ f.offset, f.data, f.len, 0)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- OSSL_QUIC_FRAME_TYPE_CRYPTO,
- "internal error (rstream queue)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ OSSL_QUIC_FRAME_TYPE_CRYPTO,
+ "internal error (rstream queue)");
return 0;
}
@@ -324,16 +325,16 @@ static int depack_do_frame_crypto(PACKET *pkt, QUIC_CHANNEL *ch,
}
static int depack_do_frame_new_token(PACKET *pkt, QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ OSSL_ACKM_RX_PKT *ackm_data)
{
const uint8_t *token;
size_t token_len;
if (!ossl_quic_wire_decode_frame_new_token(pkt, &token, &token_len)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_TOKEN,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_TOKEN,
+ "decode error");
return 0;
}
@@ -344,15 +345,15 @@ static int depack_do_frame_new_token(PACKET *pkt, QUIC_CHANNEL *ch,
* FRAME_ENCODING_ERROR."
*/
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_TOKEN,
- "zero-length NEW_TOKEN");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_TOKEN,
+ "zero-length NEW_TOKEN");
return 0;
}
/* store the new token in our token cache */
if (!ossl_quic_set_peer_token(ossl_quic_port_get_channel_ctx(ch->port),
- &ch->cur_peer_addr, token, token_len))
+ &ch->cur_peer_addr, token, token_len))
return 0;
return 1;
@@ -364,9 +365,9 @@ static int depack_do_frame_new_token(PACKET *pkt, QUIC_CHANNEL *ch,
* causing this function to be called. Returns 0 on protocol violation.
*/
static int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,
- uint64_t stream_id,
- uint64_t frame_type,
- QUIC_STREAM **result)
+ uint64_t stream_id,
+ uint64_t frame_type,
+ QUIC_STREAM **result)
{
QUIC_STREAM *stream;
uint64_t peer_role, stream_ordinal;
@@ -425,19 +426,19 @@ static int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,
: &ch->max_streams_bidi_rxfc;
if (!ossl_quic_rxfc_on_rx_stream_frame(max_streams_fc,
- stream_ordinal + 1,
- /*is_fin=*/0)) {
+ stream_ordinal + 1,
+ /*is_fin=*/0)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- frame_type,
- "internal error (stream count RXFC)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ frame_type,
+ "internal error (stream count RXFC)");
return 0;
}
if (ossl_quic_rxfc_get_error(max_streams_fc, 0) != OSSL_QUIC_ERR_NO_ERROR) {
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_STREAM_LIMIT_ERROR,
- frame_type,
- "exceeded maximum allowed streams");
+ frame_type,
+ "exceeded maximum allowed streams");
return 0;
}
@@ -446,16 +447,14 @@ static int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,
* created.
*/
while (*p_next_ordinal_remote <= stream_ordinal) {
- uint64_t cur_stream_id = (*p_next_ordinal_remote << 2) |
- (stream_id
- & (QUIC_STREAM_DIR_MASK | QUIC_STREAM_INITIATOR_MASK));
+ uint64_t cur_stream_id = (*p_next_ordinal_remote << 2) | (stream_id & (QUIC_STREAM_DIR_MASK | QUIC_STREAM_INITIATOR_MASK));
stream = ossl_quic_channel_new_stream_remote(ch, cur_stream_id);
if (stream == NULL) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- frame_type,
- "internal error (stream allocation)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ frame_type,
+ "internal error (stream allocation)");
return 0;
}
@@ -475,10 +474,10 @@ static int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,
* violation.
*/
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_STATE_ERROR,
- frame_type,
- "STREAM frame for nonexistent "
- "stream");
+ OSSL_QUIC_ERR_STREAM_STATE_ERROR,
+ frame_type,
+ "STREAM frame for nonexistent "
+ "stream");
return 0;
}
@@ -495,10 +494,10 @@ static int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,
}
static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
- OSSL_QRX_PKT *parent_pkt,
- OSSL_ACKM_RX_PKT *ackm_data,
- uint64_t frame_type,
- uint64_t *datalen)
+ OSSL_QRX_PKT *parent_pkt,
+ OSSL_ACKM_RX_PKT *ackm_data,
+ uint64_t frame_type,
+ uint64_t *datalen)
{
OSSL_QUIC_FRAME_STREAM frame_data;
QUIC_STREAM *stream;
@@ -510,14 +509,14 @@ static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
if (!ossl_quic_wire_decode_frame_stream(pkt, 0, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "decode error");
return 0;
}
if (!depack_do_implicit_stream_create(ch, frame_data.stream_id,
- frame_type, &stream))
+ frame_type, &stream))
return 0; /* protocol error raised by above call */
if (stream == NULL)
@@ -529,21 +528,21 @@ static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
if (!ossl_quic_stream_has_recv(stream)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_STATE_ERROR,
- frame_type,
- "STREAM frame for TX only "
- "stream");
+ OSSL_QUIC_ERR_STREAM_STATE_ERROR,
+ frame_type,
+ "STREAM frame for TX only "
+ "stream");
return 0;
}
/* Notify stream flow controller. */
if (!ossl_quic_rxfc_on_rx_stream_frame(&stream->rxfc,
- frame_data.offset + frame_data.len,
- frame_data.is_fin)) {
+ frame_data.offset + frame_data.len,
+ frame_data.is_fin)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- frame_type,
- "internal error (flow control)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ frame_type,
+ "internal error (flow control)");
return 0;
}
@@ -551,9 +550,9 @@ static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
fce = ossl_quic_rxfc_get_error(&stream->rxfc, 0);
if (fce != OSSL_QUIC_ERR_NO_ERROR) {
ossl_quic_channel_raise_protocol_error(ch,
- fce,
- frame_type,
- "flow control violation");
+ fce,
+ frame_type,
+ "flow control violation");
return 0;
}
@@ -584,8 +583,8 @@ static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
/* State was already checked above, so can't fail. */
ossl_quic_stream_map_notify_size_known_recv_part(&ch->qsm, stream,
- frame_data.offset
- + frame_data.len);
+ frame_data.offset
+ + frame_data.len);
}
/*
@@ -608,14 +607,14 @@ static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
*/
if ((frame_data.len > 0 || frame_data.is_fin)
&& !ossl_quic_rstream_queue_data(stream->rstream, parent_pkt,
- frame_data.offset,
- frame_data.data,
- frame_data.len,
- frame_data.is_fin)) {
+ frame_data.offset,
+ frame_data.data,
+ frame_data.len,
+ frame_data.is_fin)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- frame_type,
- "internal error (rstream queue)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ frame_type,
+ "internal error (rstream queue)");
return 0;
}
@@ -628,9 +627,9 @@ static int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,
if (stream->recv_state == QUIC_RSTREAM_STATE_SIZE_KNOWN
&& !ossl_quic_rstream_available(stream->rstream, &rs_avail, &rs_fin)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- frame_type,
- "internal error (rstream available)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ frame_type,
+ "internal error (rstream available)");
return 0;
}
@@ -670,15 +669,15 @@ static void update_streams_uni(QUIC_STREAM *s, void *arg)
}
static int depack_do_frame_max_data(PACKET *pkt, QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t max_data = 0;
if (!ossl_quic_wire_decode_frame_max_data(pkt, &max_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_MAX_DATA,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_MAX_DATA,
+ "decode error");
return 0;
}
@@ -688,25 +687,25 @@ static int depack_do_frame_max_data(PACKET *pkt, QUIC_CHANNEL *ch,
}
static int depack_do_frame_max_stream_data(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t stream_id = 0;
uint64_t max_stream_data = 0;
QUIC_STREAM *stream;
if (!ossl_quic_wire_decode_frame_max_stream_data(pkt, &stream_id,
- &max_stream_data)) {
+ &max_stream_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
+ "decode error");
return 0;
}
if (!depack_do_implicit_stream_create(ch, stream_id,
- OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
- &stream))
+ OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
+ &stream))
return 0; /* error already raised for us */
if (stream == NULL)
@@ -714,10 +713,10 @@ static int depack_do_frame_max_stream_data(PACKET *pkt,
if (!ossl_quic_stream_has_send(stream)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_STATE_ERROR,
- OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
- "MAX_STREAM_DATA for TX only "
- "stream");
+ OSSL_QUIC_ERR_STREAM_STATE_ERROR,
+ OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA,
+ "MAX_STREAM_DATA for TX only "
+ "stream");
return 0;
}
@@ -727,25 +726,25 @@ static int depack_do_frame_max_stream_data(PACKET *pkt,
}
static int depack_do_frame_max_streams(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data,
- uint64_t frame_type)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data,
+ uint64_t frame_type)
{
uint64_t max_streams = 0;
if (!ossl_quic_wire_decode_frame_max_streams(pkt, &max_streams)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "decode error");
return 0;
}
if (max_streams > (((uint64_t)1) << 60)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "invalid max streams value");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "invalid max streams value");
return 0;
}
@@ -766,9 +765,9 @@ static int depack_do_frame_max_streams(PACKET *pkt,
break;
default:
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "decode error");
return 0;
}
@@ -776,16 +775,16 @@ static int depack_do_frame_max_streams(PACKET *pkt,
}
static int depack_do_frame_data_blocked(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t max_data = 0;
if (!ossl_quic_wire_decode_frame_data_blocked(pkt, &max_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_DATA_BLOCKED,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_DATA_BLOCKED,
+ "decode error");
return 0;
}
@@ -794,19 +793,19 @@ static int depack_do_frame_data_blocked(PACKET *pkt,
}
static int depack_do_frame_stream_data_blocked(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t stream_id = 0;
uint64_t max_data = 0;
QUIC_STREAM *stream;
if (!ossl_quic_wire_decode_frame_stream_data_blocked(pkt, &stream_id,
- &max_data)) {
+ &max_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED,
+ "decode error");
return 0;
}
@@ -815,8 +814,8 @@ static int depack_do_frame_stream_data_blocked(PACKET *pkt,
* but it does trigger stream creation.
*/
if (!depack_do_implicit_stream_create(ch, stream_id,
- OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED,
- &stream))
+ OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED,
+ &stream))
return 0; /* error already raised for us */
if (stream == NULL)
@@ -829,10 +828,10 @@ static int depack_do_frame_stream_data_blocked(PACKET *pkt,
* STREAM_STATE_ERROR."
*/
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_STATE_ERROR,
- OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED,
- "STREAM_DATA_BLOCKED frame for "
- "TX only stream");
+ OSSL_QUIC_ERR_STREAM_STATE_ERROR,
+ OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED,
+ "STREAM_DATA_BLOCKED frame for "
+ "TX only stream");
return 0;
}
@@ -841,17 +840,17 @@ static int depack_do_frame_stream_data_blocked(PACKET *pkt,
}
static int depack_do_frame_streams_blocked(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data,
- uint64_t frame_type)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data,
+ uint64_t frame_type)
{
uint64_t max_data = 0;
if (!ossl_quic_wire_decode_frame_streams_blocked(pkt, &max_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "decode error");
return 0;
}
@@ -863,9 +862,9 @@ static int depack_do_frame_streams_blocked(PACKET *pkt,
* error of type STREAM_LIMIT_ERROR or FRAME_ENCODING_ERROR."
*/
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_STREAM_LIMIT_ERROR,
- frame_type,
- "invalid stream count limit");
+ OSSL_QUIC_ERR_STREAM_LIMIT_ERROR,
+ frame_type,
+ "invalid stream count limit");
return 0;
}
@@ -874,16 +873,16 @@ static int depack_do_frame_streams_blocked(PACKET *pkt,
}
static int depack_do_frame_new_conn_id(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
OSSL_QUIC_FRAME_NEW_CONN_ID frame_data;
if (!ossl_quic_wire_decode_frame_new_conn_id(pkt, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID,
+ "decode error");
return 0;
}
@@ -893,16 +892,16 @@ static int depack_do_frame_new_conn_id(PACKET *pkt,
}
static int depack_do_frame_retire_conn_id(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t seq_num;
if (!ossl_quic_wire_decode_frame_retire_conn_id(pkt, &seq_num)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID,
+ "decode error");
return 0;
}
@@ -921,9 +920,9 @@ static int depack_do_frame_retire_conn_id(PACKET *pkt,
*/
if (!ch->is_server) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID,
- "conn has zero-length CID");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID,
+ "conn has zero-length CID");
return 0;
}
@@ -936,8 +935,8 @@ static void free_path_response(unsigned char *buf, size_t buf_len, void *arg)
}
static int depack_do_frame_path_challenge(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t frame_data = 0;
unsigned char *encoded = NULL;
@@ -946,9 +945,9 @@ static int depack_do_frame_path_challenge(PACKET *pkt,
if (!ossl_quic_wire_decode_frame_path_challenge(pkt, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE,
+ "decode error");
return 0;
}
@@ -974,10 +973,10 @@ static int depack_do_frame_path_challenge(PACKET *pkt,
WPACKET_finish(&wpkt);
if (!ossl_quic_cfq_add_frame(ch->cfq, 0, QUIC_PN_SPACE_APP,
- OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE,
- QUIC_CFQ_ITEM_FLAG_UNRELIABLE,
- encoded, encoded_len,
- free_path_response, NULL))
+ OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE,
+ QUIC_CFQ_ITEM_FLAG_UNRELIABLE,
+ encoded, encoded_len,
+ free_path_response, NULL))
goto err;
return 1;
@@ -985,22 +984,22 @@ static int depack_do_frame_path_challenge(PACKET *pkt,
err:
OPENSSL_free(encoded);
ossl_quic_channel_raise_protocol_error(ch, OSSL_QUIC_ERR_INTERNAL_ERROR,
- OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE,
- "internal error");
+ OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE,
+ "internal error");
return 0;
}
static int depack_do_frame_path_response(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
uint64_t frame_data = 0;
if (!ossl_quic_wire_decode_frame_path_response(pkt, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE,
+ "decode error");
return 0;
}
@@ -1010,15 +1009,15 @@ static int depack_do_frame_path_response(PACKET *pkt,
}
static int depack_do_frame_conn_close(PACKET *pkt, QUIC_CHANNEL *ch,
- uint64_t frame_type)
+ uint64_t frame_type)
{
OSSL_QUIC_FRAME_CONN_CLOSE frame_data;
if (!ossl_quic_wire_decode_frame_conn_close(pkt, &frame_data)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "decode error");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "decode error");
return 0;
}
@@ -1027,15 +1026,15 @@ static int depack_do_frame_conn_close(PACKET *pkt, QUIC_CHANNEL *ch,
}
static int depack_do_frame_handshake_done(PACKET *pkt,
- QUIC_CHANNEL *ch,
- OSSL_ACKM_RX_PKT *ackm_data)
+ QUIC_CHANNEL *ch,
+ OSSL_ACKM_RX_PKT *ackm_data)
{
if (!ossl_quic_wire_decode_frame_handshake_done(pkt)) {
/* This can fail only with an internal error. */
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_INTERNAL_ERROR,
- OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE,
- "internal error (decode frame handshake done)");
+ OSSL_QUIC_ERR_INTERNAL_ERROR,
+ OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE,
+ "internal error (decode frame handshake done)");
return 0;
}
@@ -1046,8 +1045,8 @@ static int depack_do_frame_handshake_done(PACKET *pkt,
/* Main frame processor */
static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
- OSSL_QRX_PKT *parent_pkt, uint32_t enc_level,
- OSSL_TIME received, OSSL_ACKM_RX_PKT *ackm_data)
+ OSSL_QRX_PKT *parent_pkt, uint32_t enc_level,
+ OSSL_TIME received, OSSL_ACKM_RX_PKT *ackm_data)
{
uint32_t pkt_type = parent_pkt->hdr->type;
uint32_t packet_space = ossl_quic_enc_level_to_pn_space(enc_level);
@@ -1059,9 +1058,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
* PROTOCOL_VIOLATION.
*/
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- 0,
- "empty packet payload");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ 0,
+ "empty packet payload");
return 0;
}
@@ -1076,17 +1075,17 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (!ossl_quic_wire_peek_frame_header(pkt, &frame_type, &was_minimal)) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- 0,
- "malformed frame header");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ 0,
+ "malformed frame header");
return 0;
}
if (!was_minimal) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "non-minimal frame type encoding");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "non-minimal frame type encoding");
return 0;
}
@@ -1125,13 +1124,13 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
/* ACK frames are valid everywhere except in 0RTT packets */
if (pkt_type == QUIC_PKT_TYPE_0RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "ACK not valid in 0-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "ACK not valid in 0-RTT");
return 0;
}
if (!depack_do_frame_ack(pkt, ch, packet_space, received,
- frame_type, parent_pkt))
+ frame_type, parent_pkt))
return 0;
break;
@@ -1140,10 +1139,10 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "RESET_STREAM not valid in "
- "INITIAL/HANDSHAKE");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "RESET_STREAM not valid in "
+ "INITIAL/HANDSHAKE");
return 0;
}
if (!depack_do_frame_reset_stream(pkt, ch, ackm_data))
@@ -1154,10 +1153,10 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "STOP_SENDING not valid in "
- "INITIAL/HANDSHAKE");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "STOP_SENDING not valid in "
+ "INITIAL/HANDSHAKE");
return 0;
}
if (!depack_do_frame_stop_sending(pkt, ch, ackm_data))
@@ -1167,9 +1166,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
/* CRYPTO frames are valid everywhere except in 0RTT packets */
if (pkt_type == QUIC_PKT_TYPE_0RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "CRYPTO frame not valid in 0-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "CRYPTO frame not valid in 0-RTT");
return 0;
}
if (!depack_do_frame_crypto(pkt, ch, parent_pkt, ackm_data, &datalen))
@@ -1179,9 +1178,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
/* NEW_TOKEN frames are valid in 1RTT packets */
if (pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "NEW_TOKEN valid only in 1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "NEW_TOKEN valid only in 1-RTT");
return 0;
}
@@ -1191,9 +1190,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
*/
if (ch->is_server) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "NEW_TOKEN can only be sent by a server");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "NEW_TOKEN can only be sent by a server");
return 0;
}
@@ -1213,13 +1212,13 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "STREAM valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "STREAM valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_stream(pkt, ch, parent_pkt, ackm_data,
- frame_type, &datalen))
+ frame_type, &datalen))
return 0;
break;
@@ -1228,9 +1227,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "MAX_DATA valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "MAX_DATA valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_max_data(pkt, ch, ackm_data))
@@ -1241,9 +1240,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "MAX_STREAM_DATA valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "MAX_STREAM_DATA valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_max_stream_data(pkt, ch, ackm_data))
@@ -1256,13 +1255,13 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "MAX_STREAMS valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "MAX_STREAMS valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_max_streams(pkt, ch, ackm_data,
- frame_type))
+ frame_type))
return 0;
break;
@@ -1271,9 +1270,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "DATA_BLOCKED valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "DATA_BLOCKED valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_data_blocked(pkt, ch, ackm_data))
@@ -1284,9 +1283,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "STREAM_DATA_BLOCKED valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "STREAM_DATA_BLOCKED valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_stream_data_blocked(pkt, ch, ackm_data))
@@ -1299,13 +1298,13 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "STREAMS valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "STREAMS valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_streams_blocked(pkt, ch, ackm_data,
- frame_type))
+ frame_type))
return 0;
break;
@@ -1314,9 +1313,10 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "NEW_CONN_ID valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "NEW_CONN_ID valid only in 0/1-RTT");
+ return 0;
}
if (!depack_do_frame_new_conn_id(pkt, ch, ackm_data))
return 0;
@@ -1326,9 +1326,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "RETIRE_CONN_ID valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "RETIRE_CONN_ID valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_retire_conn_id(pkt, ch, ackm_data))
@@ -1339,9 +1339,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "PATH_CHALLENGE valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "PATH_CHALLENGE valid only in 0/1-RTT");
return 0;
}
if (!depack_do_frame_path_challenge(pkt, ch, ackm_data))
@@ -1352,9 +1352,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
/* PATH_RESPONSE frames are valid in 1RTT packets */
if (pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "PATH_CHALLENGE valid only in 1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "PATH_CHALLENGE valid only in 1-RTT");
return 0;
}
if (!depack_do_frame_path_response(pkt, ch, ackm_data))
@@ -1366,9 +1366,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (pkt_type != QUIC_PKT_TYPE_0RTT
&& pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "CONN_CLOSE (APP) valid only in 0/1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "CONN_CLOSE (APP) valid only in 0/1-RTT");
return 0;
}
/* FALLTHRU */
@@ -1382,9 +1382,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
/* HANDSHAKE_DONE frames are valid in 1RTT packets */
if (pkt_type != QUIC_PKT_TYPE_1RTT) {
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
- frame_type,
- "HANDSHAKE_DONE valid only in 1-RTT");
+ OSSL_QUIC_ERR_PROTOCOL_VIOLATION,
+ frame_type,
+ "HANDSHAKE_DONE valid only in 1-RTT");
return 0;
}
if (!depack_do_frame_handshake_done(pkt, ch, ackm_data))
@@ -1394,9 +1394,9 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
default:
/* Unknown frame type */
ossl_quic_channel_raise_protocol_error(ch,
- OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
- frame_type,
- "Unknown frame type received");
+ OSSL_QUIC_ERR_FRAME_ENCODING_ERROR,
+ frame_type,
+ "Unknown frame type received");
return 0;
}
@@ -1408,13 +1408,13 @@ static int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,
if (frame_type == OSSL_QUIC_FRAME_TYPE_PADDING) {
ctype = SSL3_RT_QUIC_FRAME_PADDING;
} else if (OSSL_QUIC_FRAME_TYPE_IS_STREAM(frame_type)
- || frame_type == OSSL_QUIC_FRAME_TYPE_CRYPTO) {
+ || frame_type == OSSL_QUIC_FRAME_TYPE_CRYPTO) {
ctype = SSL3_RT_QUIC_FRAME_HEADER;
framelen -= (size_t)datalen;
}
ch->msg_callback(0, OSSL_QUIC1_VERSION, ctype, sof, framelen,
- ch->msg_callback_ssl, ch->msg_callback_arg);
+ ch->msg_callback_ssl, ch->msg_callback_arg);
}
}
@@ -1468,9 +1468,9 @@ int ossl_quic_handle_frames(QUIC_CHANNEL *ch, OSSL_QRX_PKT *qpacket)
/* Now that special cases are out of the way, parse frames */
if (!PACKET_buf_init(&pkt, qpacket->hdr->data, qpacket->hdr->len)
|| !depack_process_frames(ch, &pkt, qpacket,
- enc_level,
- qpacket->time,
- &ackm_data))
+ enc_level,
+ qpacket->time,
+ &ackm_data))
return 0;
ossl_ackm_on_rx_packet(ch->ackm, &ackm_data);
diff --git a/crypto/openssl/ssl/quic/quic_sf_list.c b/crypto/openssl/ssl/quic/quic_sf_list.c
index 0541a2ab6371..03bbbe6d3561 100644
--- a/crypto/openssl/ssl/quic/quic_sf_list.c
+++ b/crypto/openssl/ssl/quic/quic_sf_list.c
@@ -22,13 +22,13 @@ static void stream_frame_free(SFRAME_LIST *fl, STREAM_FRAME *sf)
{
if (fl->cleanse && sf->data != NULL)
OPENSSL_cleanse((unsigned char *)sf->data,
- (size_t)(sf->range.end - sf->range.start));
+ (size_t)(sf->range.end - sf->range.start));
ossl_qrx_pkt_release(sf->pkt);
OPENSSL_free(sf);
}
static STREAM_FRAME *stream_frame_new(UINT_RANGE *range, OSSL_QRX_PKT *pkt,
- const unsigned char *data)
+ const unsigned char *data)
{
STREAM_FRAME *sf = OPENSSL_zalloc(sizeof(*sf));
@@ -61,8 +61,8 @@ void ossl_sframe_list_destroy(SFRAME_LIST *fl)
}
static int append_frame(SFRAME_LIST *fl, UINT_RANGE *range,
- OSSL_QRX_PKT *pkt,
- const unsigned char *data)
+ OSSL_QRX_PKT *pkt,
+ const unsigned char *data)
{
STREAM_FRAME *new_frame;
@@ -77,8 +77,8 @@ static int append_frame(SFRAME_LIST *fl, UINT_RANGE *range,
}
int ossl_sframe_list_insert(SFRAME_LIST *fl, UINT_RANGE *range,
- OSSL_QRX_PKT *pkt,
- const unsigned char *data, int fin)
+ OSSL_QRX_PKT *pkt,
+ const unsigned char *data, int fin)
{
STREAM_FRAME *sf, *new_frame, *prev_frame, *next_frame;
#ifndef NDEBUG
@@ -87,7 +87,7 @@ int ossl_sframe_list_insert(SFRAME_LIST *fl, UINT_RANGE *range,
/* This check for FINAL_SIZE_ERROR is handled by QUIC FC already */
assert((!fin || curr_end <= range->end)
- && (!fl->fin || curr_end >= range->end));
+ && (!fl->fin || curr_end >= range->end));
#endif
if (fl->offset >= range->end)
@@ -115,7 +115,7 @@ int ossl_sframe_list_insert(SFRAME_LIST *fl, UINT_RANGE *range,
prev_frame = NULL;
for (sf = fl->head; sf != NULL && sf->range.start < range->start;
- sf = sf->next)
+ sf = sf->next)
prev_frame = sf;
if (!ossl_assert(sf != NULL))
@@ -134,7 +134,7 @@ int ossl_sframe_list_insert(SFRAME_LIST *fl, UINT_RANGE *range,
return 0;
for (next_frame = sf;
- next_frame != NULL && next_frame->range.end <= range->end;) {
+ next_frame != NULL && next_frame->range.end <= range->end;) {
STREAM_FRAME *drop_frame = next_frame;
next_frame = next_frame->next;
@@ -172,15 +172,15 @@ int ossl_sframe_list_insert(SFRAME_LIST *fl, UINT_RANGE *range,
++fl->num_frames;
- end:
+end:
fl->fin = fin || fl->fin;
return 1;
}
int ossl_sframe_list_peek(const SFRAME_LIST *fl, void **iter,
- UINT_RANGE *range, const unsigned char **data,
- int *fin)
+ UINT_RANGE *range, const unsigned char **data,
+ int *fin)
{
STREAM_FRAME *sf = *iter;
uint64_t start;
@@ -222,9 +222,9 @@ int ossl_sframe_list_drop_frames(SFRAME_LIST *fl, uint64_t limit)
/* offset cannot move back or past the data received */
if (!ossl_assert(limit >= fl->offset)
|| !ossl_assert(fl->tail == NULL
- || limit <= fl->tail->range.end)
+ || limit <= fl->tail->range.end)
|| !ossl_assert(fl->tail != NULL
- || limit == fl->offset))
+ || limit == fl->offset))
return 0;
fl->offset = limit;
@@ -249,8 +249,8 @@ int ossl_sframe_list_drop_frames(SFRAME_LIST *fl, uint64_t limit)
}
int ossl_sframe_list_lock_head(SFRAME_LIST *fl, UINT_RANGE *range,
- const unsigned char **data,
- int *fin)
+ const unsigned char **data,
+ int *fin)
{
int ret;
void *iter = NULL;
@@ -270,8 +270,8 @@ int ossl_sframe_list_is_head_locked(SFRAME_LIST *fl)
}
int ossl_sframe_list_move_data(SFRAME_LIST *fl,
- sframe_list_write_at_cb *write_at_cb,
- void *cb_arg)
+ sframe_list_write_at_cb *write_at_cb,
+ void *cb_arg)
{
STREAM_FRAME *sf = fl->head, *prev_frame = NULL;
uint64_t limit = fl->offset;
@@ -300,7 +300,7 @@ int ossl_sframe_list_move_data(SFRAME_LIST *fl,
if (fl->cleanse)
OPENSSL_cleanse((unsigned char *)sf->data,
- (size_t)(sf->range.end - sf->range.start));
+ (size_t)(sf->range.end - sf->range.start));
/* release the packet */
sf->data = NULL;
diff --git a/crypto/openssl/ssl/quic/quic_srt_gen.c b/crypto/openssl/ssl/quic/quic_srt_gen.c
index 233e4aa628cb..1390a0d9faf9 100644
--- a/crypto/openssl/ssl/quic/quic_srt_gen.c
+++ b/crypto/openssl/ssl/quic/quic_srt_gen.c
@@ -11,8 +11,8 @@
#include <openssl/evp.h>
struct quic_srt_gen_st {
- EVP_MAC *mac;
- EVP_MAC_CTX *mac_ctx;
+ EVP_MAC *mac;
+ EVP_MAC_CTX *mac_ctx;
};
/*
@@ -20,7 +20,7 @@ struct quic_srt_gen_st {
*/
QUIC_SRT_GEN *ossl_quic_srt_gen_new(OSSL_LIB_CTX *libctx, const char *propq,
- const unsigned char *key, size_t key_len)
+ const unsigned char *key, size_t key_len)
{
QUIC_SRT_GEN *srt_gen;
OSSL_PARAM params[3], *p = params;
@@ -37,7 +37,7 @@ QUIC_SRT_GEN *ossl_quic_srt_gen_new(OSSL_LIB_CTX *libctx, const char *propq,
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, "SHA256", 7);
if (propq != NULL)
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_PROPERTIES,
- (char *)propq, 0);
+ (char *)propq, 0);
*p++ = OSSL_PARAM_construct_end();
if (!EVP_MAC_init(srt_gen->mac_ctx, key, key_len, params))
@@ -61,8 +61,8 @@ void ossl_quic_srt_gen_free(QUIC_SRT_GEN *srt_gen)
}
int ossl_quic_srt_gen_calculate_token(QUIC_SRT_GEN *srt_gen,
- const QUIC_CONN_ID *dcid,
- QUIC_STATELESS_RESET_TOKEN *token)
+ const QUIC_CONN_ID *dcid,
+ QUIC_STATELESS_RESET_TOKEN *token)
{
size_t outl = 0;
unsigned char mac[SHA256_DIGEST_LENGTH];
@@ -71,7 +71,7 @@ int ossl_quic_srt_gen_calculate_token(QUIC_SRT_GEN *srt_gen,
return 0;
if (!EVP_MAC_update(srt_gen->mac_ctx, (const unsigned char *)dcid->id,
- dcid->id_len))
+ dcid->id_len))
return 0;
if (!EVP_MAC_final(srt_gen->mac_ctx, mac, &outl, sizeof(mac))
diff --git a/crypto/openssl/ssl/quic/quic_srtm.c b/crypto/openssl/ssl/quic/quic_srtm.c
index 3d0bfd97c7e0..46f675cef239 100644
--- a/crypto/openssl/ssl/quic/quic_srtm.c
+++ b/crypto/openssl/ssl/quic/quic_srtm.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -19,7 +19,7 @@
*/
typedef struct srtm_item_st SRTM_ITEM;
-#define BLINDED_SRT_LEN 16
+#define BLINDED_SRT_LEN 16
DEFINE_LHASH_OF_EX(SRTM_ITEM);
@@ -40,30 +40,30 @@ DEFINE_LHASH_OF_EX(SRTM_ITEM);
* all connections for that QUIC_PORT.
*/
struct srtm_item_st {
- SRTM_ITEM *next_by_srt_blinded; /* SORT BY opaque DESC */
- SRTM_ITEM *next_by_seq_num; /* SORT BY seq_num DESC */
- void *opaque; /* \__ unique identity for item */
- uint64_t seq_num; /* / */
- QUIC_STATELESS_RESET_TOKEN srt;
- unsigned char srt_blinded[BLINDED_SRT_LEN]; /* H(srt) */
+ SRTM_ITEM *next_by_srt_blinded; /* SORT BY opaque DESC */
+ SRTM_ITEM *next_by_seq_num; /* SORT BY seq_num DESC */
+ void *opaque; /* \__ unique identity for item */
+ uint64_t seq_num; /* / */
+ QUIC_STATELESS_RESET_TOKEN srt;
+ unsigned char srt_blinded[BLINDED_SRT_LEN]; /* H(srt) */
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
- uint32_t debug_token;
+ uint32_t debug_token;
#endif
};
struct quic_srtm_st {
/* Crypto context used to calculate blinded SRTs H(srt). */
- EVP_CIPHER_CTX *blind_ctx; /* kept with key */
+ EVP_CIPHER_CTX *blind_ctx; /* kept with key */
- LHASH_OF(SRTM_ITEM) *items_fwd; /* (opaque) -> SRTM_ITEM */
- LHASH_OF(SRTM_ITEM) *items_rev; /* (H(srt)) -> SRTM_ITEM */
+ LHASH_OF(SRTM_ITEM) *items_fwd; /* (opaque) -> SRTM_ITEM */
+ LHASH_OF(SRTM_ITEM) *items_rev; /* (H(srt)) -> SRTM_ITEM */
/*
* Monotonically transitions to 1 in event of allocation failure. The only
* valid operation on such an object is to free it.
*/
- unsigned int alloc_failed : 1;
+ unsigned int alloc_failed : 1;
};
static unsigned long items_fwd_hash(const SRTM_ITEM *item)
@@ -168,6 +168,11 @@ void ossl_quic_srtm_free(QUIC_SRTM *srtm)
lh_SRTM_ITEM_free(srtm->items_rev);
if (srtm->items_fwd != NULL) {
+ /*
+ * We don't need to call lh_SRTM_ITEM_set_down_load(..., 0)
+ * here because srtm_free_each() callback for _doall() does
+ * not call to lh_SRTIM_ITEM_delete().
+ */
lh_SRTM_ITEM_doall(srtm->items_fwd, srtm_free_each);
lh_SRTM_ITEM_free(srtm->items_fwd);
}
@@ -184,11 +189,11 @@ void ossl_quic_srtm_free(QUIC_SRTM *srtm)
* the first item.
*/
static SRTM_ITEM *srtm_find(QUIC_SRTM *srtm, void *opaque, uint64_t seq_num,
- SRTM_ITEM **head_p, SRTM_ITEM **prev_p)
+ SRTM_ITEM **head_p, SRTM_ITEM **prev_p)
{
SRTM_ITEM key, *item = NULL, *prev = NULL;
- key.opaque = opaque;
+ key.opaque = opaque;
item = lh_SRTM_ITEM_retrieve(srtm->items_fwd, &key);
if (head_p != NULL)
@@ -260,7 +265,7 @@ static void sorted_insert_srt(SRTM_ITEM *head, SRTM_ITEM *item, SRTM_ITEM **new_
* is formed.
*/
static int srtm_compute_blinded(QUIC_SRTM *srtm, SRTM_ITEM *item,
- const QUIC_STATELESS_RESET_TOKEN *token)
+ const QUIC_STATELESS_RESET_TOKEN *token)
{
int outl = 0;
@@ -270,7 +275,7 @@ static int srtm_compute_blinded(QUIC_SRTM *srtm, SRTM_ITEM *item,
* block.
*/
if (!EVP_EncryptUpdate(srtm->blind_ctx, item->srt_blinded, &outl,
- (const unsigned char *)token, sizeof(*token)))
+ (const unsigned char *)token, sizeof(*token)))
return 0;
if (!ossl_assert(outl == sizeof(*token)))
@@ -280,7 +285,7 @@ static int srtm_compute_blinded(QUIC_SRTM *srtm, SRTM_ITEM *item,
}
int ossl_quic_srtm_add(QUIC_SRTM *srtm, void *opaque, uint64_t seq_num,
- const QUIC_STATELESS_RESET_TOKEN *token)
+ const QUIC_STATELESS_RESET_TOKEN *token)
{
SRTM_ITEM *item = NULL, *head = NULL, *new_head, *r_item;
@@ -294,9 +299,9 @@ int ossl_quic_srtm_add(QUIC_SRTM *srtm, void *opaque, uint64_t seq_num,
if ((item = OPENSSL_zalloc(sizeof(*item))) == NULL)
return 0;
- item->opaque = opaque;
- item->seq_num = seq_num;
- item->srt = *token;
+ item->opaque = opaque;
+ item->seq_num = seq_num;
+ item->srt = *token;
if (!srtm_compute_blinded(srtm, item, &item->srt)) {
OPENSSL_free(item);
return 0;
@@ -369,7 +374,8 @@ static int srtm_remove_from_rev(QUIC_SRTM *srtm, SRTM_ITEM *item)
} else {
/* Find our entry in the SRT list */
for (; rh_item->next_by_srt_blinded != item;
- rh_item = rh_item->next_by_srt_blinded);
+ rh_item = rh_item->next_by_srt_blinded)
+ ;
rh_item->next_by_srt_blinded = item->next_by_srt_blinded;
}
@@ -439,9 +445,9 @@ int ossl_quic_srtm_cull(QUIC_SRTM *srtm, void *opaque)
}
int ossl_quic_srtm_lookup(QUIC_SRTM *srtm,
- const QUIC_STATELESS_RESET_TOKEN *token,
- size_t idx,
- void **opaque, uint64_t *seq_num)
+ const QUIC_STATELESS_RESET_TOKEN *token,
+ size_t idx,
+ void **opaque, uint64_t *seq_num)
{
SRTM_ITEM key, *item;
@@ -452,14 +458,15 @@ int ossl_quic_srtm_lookup(QUIC_SRTM *srtm,
return 0;
item = lh_SRTM_ITEM_retrieve(srtm->items_rev, &key);
- for (; idx > 0 && item != NULL; --idx, item = item->next_by_srt_blinded);
+ for (; idx > 0 && item != NULL; --idx, item = item->next_by_srt_blinded)
+ ;
if (item == NULL)
return 0;
if (opaque != NULL)
- *opaque = item->opaque;
+ *opaque = item->opaque;
if (seq_num != NULL)
- *seq_num = item->seq_num;
+ *seq_num = item->seq_num;
return 1;
}
@@ -471,7 +478,7 @@ static size_t tokens_seen;
struct check_args {
uint32_t token;
- int mode;
+ int mode;
};
static void check_mark(SRTM_ITEM *item, void *arg)
@@ -493,7 +500,7 @@ static void check_mark(SRTM_ITEM *item, void *arg)
++tokens_seen;
item->debug_token = token;
- prev_opaque = item->opaque;
+ prev_opaque = item->opaque;
prev_seq_num = item->seq_num;
have_prev = 1;
@@ -527,7 +534,7 @@ static void check_count(SRTM_ITEM *item, void *arg)
void ossl_quic_srtm_check(const QUIC_SRTM *srtm)
{
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
- struct check_args args = {0};
+ struct check_args args = { 0 };
size_t tokens_expected, tokens_expected_old;
args.token = token_next;
diff --git a/crypto/openssl/ssl/quic/quic_sstream.c b/crypto/openssl/ssl/quic/quic_sstream.c
index 1f0b5497fce5..dd5ab13fb95a 100644
--- a/crypto/openssl/ssl/quic/quic_sstream.c
+++ b/crypto/openssl/ssl/quic/quic_sstream.c
@@ -43,16 +43,16 @@ struct quic_sstream_st {
*
* Invariant: No logical byte is ever in both new_set and acked_set.
*/
- UINT_SET new_set, acked_set;
+ UINT_SET new_set, acked_set;
/*
* The current size of the stream is ring_buf.head_offset. If
* have_final_size is true, this is also the final size of the stream.
*/
- unsigned int have_final_size : 1;
- unsigned int sent_final_size : 1;
- unsigned int acked_final_size : 1;
- unsigned int cleanse : 1;
+ unsigned int have_final_size : 1;
+ unsigned int sent_final_size : 1;
+ unsigned int acked_final_size : 1;
+ unsigned int cleanse : 1;
};
static void qss_cull(QUIC_SSTREAM *qss);
@@ -89,10 +89,10 @@ void ossl_quic_sstream_free(QUIC_SSTREAM *qss)
}
int ossl_quic_sstream_get_stream_frame(QUIC_SSTREAM *qss,
- size_t skip,
- OSSL_QUIC_FRAME_STREAM *hdr,
- OSSL_QTX_IOVEC *iov,
- size_t *num_iov)
+ size_t skip,
+ OSSL_QUIC_FRAME_STREAM *hdr,
+ OSSL_QTX_IOVEC *iov,
+ size_t *num_iov)
{
size_t num_iov_ = 0, src_len = 0, total_len = 0, i;
uint64_t max_len;
@@ -115,9 +115,9 @@ int ossl_quic_sstream_get_stream_frame(QUIC_SSTREAM *qss,
return 0;
hdr->offset = qss->ring_buf.head_offset;
- hdr->len = 0;
+ hdr->len = 0;
hdr->is_fin = 1;
- *num_iov = 0;
+ *num_iov = 0;
return 1;
}
@@ -135,8 +135,8 @@ int ossl_quic_sstream_get_stream_frame(QUIC_SSTREAM *qss,
break;
if (!ring_buf_get_buf_at(&qss->ring_buf,
- range->range.start + total_len,
- &src, &src_len))
+ range->range.start + total_len,
+ &src, &src_len))
return 0;
if (src_len == 0)
@@ -147,19 +147,19 @@ int ossl_quic_sstream_get_stream_frame(QUIC_SSTREAM *qss,
if (total_len + src_len > max_len)
src_len = (size_t)(max_len - total_len);
- iov[num_iov_].buf = src;
- iov[num_iov_].buf_len = src_len;
+ iov[num_iov_].buf = src;
+ iov[num_iov_].buf_len = src_len;
total_len += src_len;
++num_iov_;
}
hdr->offset = range->range.start;
- hdr->len = total_len;
+ hdr->len = total_len;
hdr->is_fin = qss->have_final_size
&& hdr->offset + hdr->len == qss->ring_buf.head_offset;
- *num_iov = num_iov_;
+ *num_iov = num_iov_;
return 1;
}
@@ -178,13 +178,13 @@ uint64_t ossl_quic_sstream_get_cur_size(QUIC_SSTREAM *qss)
}
int ossl_quic_sstream_mark_transmitted(QUIC_SSTREAM *qss,
- uint64_t start,
- uint64_t end)
+ uint64_t start,
+ uint64_t end)
{
UINT_RANGE r;
r.start = start;
- r.end = end;
+ r.end = end;
if (!ossl_uint_set_remove(&qss->new_set, &r))
return 0;
@@ -193,7 +193,7 @@ int ossl_quic_sstream_mark_transmitted(QUIC_SSTREAM *qss,
}
int ossl_quic_sstream_mark_transmitted_fin(QUIC_SSTREAM *qss,
- uint64_t final_size)
+ uint64_t final_size)
{
/*
* We do not really need final_size since we already know the size of the
@@ -207,12 +207,12 @@ int ossl_quic_sstream_mark_transmitted_fin(QUIC_SSTREAM *qss,
}
int ossl_quic_sstream_mark_lost(QUIC_SSTREAM *qss,
- uint64_t start,
- uint64_t end)
+ uint64_t start,
+ uint64_t end)
{
UINT_RANGE r;
r.start = start;
- r.end = end;
+ r.end = end;
/*
* We lost a range of stream data bytes, so reinsert them into the new set,
@@ -236,12 +236,12 @@ int ossl_quic_sstream_mark_lost_fin(QUIC_SSTREAM *qss)
}
int ossl_quic_sstream_mark_acked(QUIC_SSTREAM *qss,
- uint64_t start,
- uint64_t end)
+ uint64_t start,
+ uint64_t end)
{
UINT_RANGE r;
r.start = start;
- r.end = end;
+ r.end = end;
if (!ossl_uint_set_insert(&qss->acked_set, &r))
return 0;
@@ -280,9 +280,9 @@ int ossl_quic_sstream_get_final_size(QUIC_SSTREAM *qss, uint64_t *final_size)
}
int ossl_quic_sstream_append(QUIC_SSTREAM *qss,
- const unsigned char *buf,
- size_t buf_len,
- size_t *consumed)
+ const unsigned char *buf,
+ size_t buf_len,
+ size_t *consumed)
{
size_t l, consumed_ = 0;
UINT_RANGE r;
@@ -309,14 +309,14 @@ int ossl_quic_sstream_append(QUIC_SSTREAM *qss,
if (l == 0)
break;
- buf += l;
- buf_len -= l;
- consumed_ += l;
+ buf += l;
+ buf_len -= l;
+ consumed_ += l;
}
if (consumed_ > 0) {
r.start = old_ring_buf.head_offset;
- r.end = r.start + consumed_ - 1;
+ r.end = r.start + consumed_ - 1;
assert(r.end + 1 == qss->ring_buf.head_offset);
if (!ossl_uint_set_insert(&qss->new_set, &r)) {
qss->ring_buf = old_ring_buf;
@@ -351,7 +351,7 @@ static void qss_cull(QUIC_SSTREAM *qss)
*/
if (h != NULL)
ring_buf_cpop_range(&qss->ring_buf, h->range.start, h->range.end,
- qss->cleanse);
+ qss->cleanse);
}
int ossl_quic_sstream_set_buffer_size(QUIC_SSTREAM *qss, size_t num_bytes)
@@ -401,8 +401,8 @@ int ossl_quic_sstream_is_totally_acked(QUIC_SSTREAM *qss)
}
void ossl_quic_sstream_adjust_iov(size_t len,
- OSSL_QTX_IOVEC *iov,
- size_t num_iov)
+ OSSL_QTX_IOVEC *iov,
+ size_t num_iov)
{
size_t running = 0, i, iovlen;
diff --git a/crypto/openssl/ssl/quic/quic_statm.c b/crypto/openssl/ssl/quic/quic_statm.c
index f1e0f6591411..1e8ba0e2d197 100644
--- a/crypto/openssl/ssl/quic/quic_statm.c
+++ b/crypto/openssl/ssl/quic/quic_statm.c
@@ -10,8 +10,8 @@
#include "internal/quic_statm.h"
void ossl_statm_update_rtt(OSSL_STATM *statm,
- OSSL_TIME ack_delay,
- OSSL_TIME override_latest_rtt)
+ OSSL_TIME ack_delay,
+ OSSL_TIME override_latest_rtt)
{
OSSL_TIME adjusted_rtt, latest_rtt = override_latest_rtt;
@@ -22,10 +22,10 @@ void ossl_statm_update_rtt(OSSL_STATM *statm,
statm->latest_rtt = latest_rtt;
if (!statm->have_first_sample) {
- statm->min_rtt = latest_rtt;
- statm->smoothed_rtt = latest_rtt;
- statm->rtt_variance = ossl_time_divide(latest_rtt, 2);
- statm->have_first_sample = 1;
+ statm->min_rtt = latest_rtt;
+ statm->smoothed_rtt = latest_rtt;
+ statm->rtt_variance = ossl_time_divide(latest_rtt, 2);
+ statm->have_first_sample = 1;
return;
}
@@ -43,22 +43,24 @@ void ossl_statm_update_rtt(OSSL_STATM *statm,
adjusted_rtt = ossl_time_subtract(latest_rtt, ack_delay);
statm->rtt_variance = ossl_time_divide(ossl_time_add(ossl_time_multiply(statm->rtt_variance, 3),
- ossl_time_abs_difference(statm->smoothed_rtt,
- adjusted_rtt)), 4);
+ ossl_time_abs_difference(statm->smoothed_rtt,
+ adjusted_rtt)),
+ 4);
statm->smoothed_rtt = ossl_time_divide(ossl_time_add(ossl_time_multiply(statm->smoothed_rtt, 7),
- adjusted_rtt), 8);
+ adjusted_rtt),
+ 8);
}
/* RFC 9002 kInitialRtt value. RFC recommended value. */
-#define K_INITIAL_RTT ossl_ms2time(333)
+#define K_INITIAL_RTT ossl_ms2time(333)
int ossl_statm_init(OSSL_STATM *statm)
{
- statm->smoothed_rtt = K_INITIAL_RTT;
- statm->latest_rtt = ossl_time_zero();
- statm->min_rtt = ossl_time_infinite();
- statm->rtt_variance = ossl_time_divide(K_INITIAL_RTT, 2);
- statm->have_first_sample = 0;
+ statm->smoothed_rtt = K_INITIAL_RTT;
+ statm->latest_rtt = ossl_time_zero();
+ statm->min_rtt = ossl_time_infinite();
+ statm->rtt_variance = ossl_time_divide(K_INITIAL_RTT, 2);
+ statm->have_first_sample = 0;
return 1;
}
@@ -69,8 +71,8 @@ void ossl_statm_destroy(OSSL_STATM *statm)
void ossl_statm_get_rtt_info(OSSL_STATM *statm, OSSL_RTT_INFO *rtt_info)
{
- rtt_info->min_rtt = statm->min_rtt;
- rtt_info->latest_rtt = statm->latest_rtt;
- rtt_info->smoothed_rtt = statm->smoothed_rtt;
- rtt_info->rtt_variance = statm->rtt_variance;
+ rtt_info->min_rtt = statm->min_rtt;
+ rtt_info->latest_rtt = statm->latest_rtt;
+ rtt_info->smoothed_rtt = statm->smoothed_rtt;
+ rtt_info->rtt_variance = statm->rtt_variance;
}
diff --git a/crypto/openssl/ssl/quic/quic_stream_map.c b/crypto/openssl/ssl/quic/quic_stream_map.c
index 64700b09d95e..b8175849a019 100644
--- a/crypto/openssl/ssl/quic/quic_stream_map.c
+++ b/crypto/openssl/ssl/quic/quic_stream_map.c
@@ -1,11 +1,11 @@
/*
-* Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
-*
-* Licensed under the Apache License 2.0 (the "License"). You may not use
-* this file except in compliance with the License. You can obtain a copy
-* in the file LICENSE in the source distribution or at
-* https://www.openssl.org/source/license.html
-*/
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
#include "internal/quic_stream_map.h"
#include "internal/nelem.h"
@@ -20,11 +20,11 @@ static void shutdown_flush_done(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs);
/* Circular list management. */
static void list_insert_tail(QUIC_STREAM_LIST_NODE *l,
- QUIC_STREAM_LIST_NODE *n)
+ QUIC_STREAM_LIST_NODE *n)
{
/* Must not be in list. */
assert(n->prev == NULL && n->next == NULL
- && l->prev != NULL && l->next != NULL);
+ && l->prev != NULL && l->next != NULL);
n->prev = l->prev;
n->prev->next = n;
@@ -33,10 +33,10 @@ static void list_insert_tail(QUIC_STREAM_LIST_NODE *l,
}
static void list_remove(QUIC_STREAM_LIST_NODE *l,
- QUIC_STREAM_LIST_NODE *n)
+ QUIC_STREAM_LIST_NODE *n)
{
assert(n->prev != NULL && n->next != NULL
- && n->prev != n && n->next != n);
+ && n->prev != n && n->next != n);
n->prev->next = n->next;
n->next->prev = n->prev;
@@ -44,11 +44,11 @@ static void list_remove(QUIC_STREAM_LIST_NODE *l,
}
static QUIC_STREAM *list_next(QUIC_STREAM_LIST_NODE *l, QUIC_STREAM_LIST_NODE *n,
- size_t off)
+ size_t off)
{
assert(n->prev != NULL && n->next != NULL
- && (n == l || (n->prev != n && n->next != n))
- && l->prev != NULL && l->next != NULL);
+ && (n == l || (n->prev != n && n->next != n))
+ && l->prev != NULL && l->next != NULL);
n = n->next;
@@ -62,16 +62,14 @@ static QUIC_STREAM *list_next(QUIC_STREAM_LIST_NODE *l, QUIC_STREAM_LIST_NODE *n
return (QUIC_STREAM *)(((char *)n) - off);
}
-#define active_next(l, s) list_next((l), &(s)->active_node, \
- offsetof(QUIC_STREAM, active_node))
-#define accept_next(l, s) list_next((l), &(s)->accept_node, \
- offsetof(QUIC_STREAM, accept_node))
-#define ready_for_gc_next(l, s) list_next((l), &(s)->ready_for_gc_node, \
- offsetof(QUIC_STREAM, ready_for_gc_node))
-#define accept_head(l) list_next((l), (l), \
- offsetof(QUIC_STREAM, accept_node))
-#define ready_for_gc_head(l) list_next((l), (l), \
- offsetof(QUIC_STREAM, ready_for_gc_node))
+#define active_next(l, s) list_next((l), &(s)->active_node, \
+ offsetof(QUIC_STREAM, active_node))
+#define accept_next(l, s) list_next((l), &(s)->accept_node, \
+ offsetof(QUIC_STREAM, accept_node))
+#define accept_head(l) list_next((l), (l), \
+ offsetof(QUIC_STREAM, accept_node))
+#define ready_for_gc_head(l) list_next((l), (l), \
+ offsetof(QUIC_STREAM, ready_for_gc_node))
static unsigned long hash_stream(const QUIC_STREAM *s)
{
@@ -88,11 +86,11 @@ static int cmp_stream(const QUIC_STREAM *a, const QUIC_STREAM *b)
}
int ossl_quic_stream_map_init(QUIC_STREAM_MAP *qsm,
- uint64_t (*get_stream_limit_cb)(int uni, void *arg),
- void *get_stream_limit_cb_arg,
- QUIC_RXFC *max_streams_bidi_rxfc,
- QUIC_RXFC *max_streams_uni_rxfc,
- int is_server)
+ uint64_t (*get_stream_limit_cb)(int uni, void *arg),
+ void *get_stream_limit_cb_arg,
+ QUIC_RXFC *max_streams_bidi_rxfc,
+ QUIC_RXFC *max_streams_uni_rxfc,
+ int is_server)
{
qsm->map = lh_QUIC_STREAM_new(hash_stream, cmp_stream);
qsm->active_list.prev = qsm->active_list.next = &qsm->active_list;
@@ -100,18 +98,18 @@ int ossl_quic_stream_map_init(QUIC_STREAM_MAP *qsm,
qsm->ready_for_gc_list.prev = qsm->ready_for_gc_list.next
= &qsm->ready_for_gc_list;
qsm->rr_stepping = 1;
- qsm->rr_counter = 0;
- qsm->rr_cur = NULL;
+ qsm->rr_counter = 0;
+ qsm->rr_cur = NULL;
- qsm->num_accept_bidi = 0;
- qsm->num_accept_uni = 0;
+ qsm->num_accept_bidi = 0;
+ qsm->num_accept_uni = 0;
qsm->num_shutdown_flush = 0;
- qsm->get_stream_limit_cb = get_stream_limit_cb;
- qsm->get_stream_limit_cb_arg = get_stream_limit_cb_arg;
- qsm->max_streams_bidi_rxfc = max_streams_bidi_rxfc;
- qsm->max_streams_uni_rxfc = max_streams_uni_rxfc;
- qsm->is_server = is_server;
+ qsm->get_stream_limit_cb = get_stream_limit_cb;
+ qsm->get_stream_limit_cb_arg = get_stream_limit_cb_arg;
+ qsm->max_streams_bidi_rxfc = max_streams_bidi_rxfc;
+ qsm->max_streams_uni_rxfc = max_streams_uni_rxfc;
+ qsm->is_server = is_server;
return 1;
}
@@ -124,6 +122,7 @@ static void release_each(QUIC_STREAM *stream, void *arg)
void ossl_quic_stream_map_cleanup(QUIC_STREAM_MAP *qsm)
{
+ lh_QUIC_STREAM_set_down_load(qsm->map, 0);
ossl_quic_stream_map_visit(qsm, release_each, qsm);
lh_QUIC_STREAM_free(qsm->map);
@@ -131,15 +130,15 @@ void ossl_quic_stream_map_cleanup(QUIC_STREAM_MAP *qsm)
}
void ossl_quic_stream_map_visit(QUIC_STREAM_MAP *qsm,
- void (*visit_cb)(QUIC_STREAM *stream, void *arg),
- void *visit_cb_arg)
+ void (*visit_cb)(QUIC_STREAM *stream, void *arg),
+ void *visit_cb_arg)
{
lh_QUIC_STREAM_doall_arg(qsm->map, visit_cb, visit_cb_arg);
}
QUIC_STREAM *ossl_quic_stream_map_alloc(QUIC_STREAM_MAP *qsm,
- uint64_t stream_id,
- int type)
+ uint64_t stream_id,
+ int type)
{
QUIC_STREAM *s;
QUIC_STREAM key;
@@ -154,19 +153,19 @@ QUIC_STREAM *ossl_quic_stream_map_alloc(QUIC_STREAM_MAP *qsm,
if (s == NULL)
return NULL;
- s->id = stream_id;
- s->type = type;
- s->as_server = qsm->is_server;
- s->send_state = (ossl_quic_stream_is_local_init(s)
- || ossl_quic_stream_is_bidi(s))
+ s->id = stream_id;
+ s->type = type;
+ s->as_server = qsm->is_server;
+ s->send_state = (ossl_quic_stream_is_local_init(s)
+ || ossl_quic_stream_is_bidi(s))
? QUIC_SSTREAM_STATE_READY
: QUIC_SSTREAM_STATE_NONE;
- s->recv_state = (!ossl_quic_stream_is_local_init(s)
- || ossl_quic_stream_is_bidi(s))
+ s->recv_state = (!ossl_quic_stream_is_local_init(s)
+ || ossl_quic_stream_is_bidi(s))
? QUIC_RSTREAM_STATE_RECV
: QUIC_RSTREAM_STATE_NONE;
- s->send_final_size = UINT64_MAX;
+ s->send_final_size = UINT64_MAX;
lh_QUIC_STREAM_insert(qsm->map, s);
return s;
@@ -195,7 +194,7 @@ void ossl_quic_stream_map_release(QUIC_STREAM_MAP *qsm, QUIC_STREAM *stream)
}
QUIC_STREAM *ossl_quic_stream_map_get_by_id(QUIC_STREAM_MAP *qsm,
- uint64_t stream_id)
+ uint64_t stream_id)
{
QUIC_STREAM key;
@@ -235,7 +234,7 @@ static void stream_map_mark_inactive(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
void ossl_quic_stream_map_set_rr_stepping(QUIC_STREAM_MAP *qsm, size_t stepping)
{
qsm->rr_stepping = stepping;
- qsm->rr_counter = 0;
+ qsm->rr_counter = 0;
}
static int stream_has_data_to_send(QUIC_STREAM *s)
@@ -267,12 +266,12 @@ static int stream_has_data_to_send(QUIC_STREAM *s)
*/
num_iov = OSSL_NELEM(iov);
if (!ossl_quic_sstream_get_stream_frame(s->sstream, 0, &shdr, iov,
- &num_iov))
+ &num_iov))
return 0;
fc_credit = ossl_quic_txfc_get_credit(&s->txfc, 0);
- fc_swm = ossl_quic_txfc_get_swm(&s->txfc);
- fc_limit = fc_swm + fc_credit;
+ fc_swm = ossl_quic_txfc_get_swm(&s->txfc);
+ fc_limit = fc_swm + fc_credit;
return (shdr.is_fin && shdr.len == 0) || shdr.offset < fc_limit;
}
@@ -298,12 +297,11 @@ static int qsm_ready_for_gc(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs)
* we don't need to worry about that here.
*/
assert(!qs->deleted
- || !ossl_quic_stream_has_send(qs)
- || ossl_quic_stream_send_is_reset(qs)
- || ossl_quic_stream_send_get_final_size(qs, NULL));
+ || !ossl_quic_stream_has_send(qs)
+ || ossl_quic_stream_send_is_reset(qs)
+ || ossl_quic_stream_send_get_final_size(qs, NULL));
- return
- qs->deleted
+ return qs->deleted
&& (!ossl_quic_stream_has_recv(qs)
|| recv_stream_fully_drained
|| qs->acked_stop_sending)
@@ -313,8 +311,8 @@ static int qsm_ready_for_gc(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs)
}
int ossl_quic_stream_map_is_local_allowed_by_stream_limit(QUIC_STREAM_MAP *qsm,
- uint64_t stream_ordinal,
- int is_uni)
+ uint64_t stream_ordinal,
+ int is_uni)
{
uint64_t stream_limit;
@@ -335,16 +333,16 @@ void ossl_quic_stream_map_update_state(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
allowed_by_stream_limit
= ossl_quic_stream_map_is_local_allowed_by_stream_limit(qsm,
- stream_ordinal,
- is_uni);
+ stream_ordinal,
+ is_uni);
}
if (s->send_state == QUIC_SSTREAM_STATE_DATA_SENT
&& ossl_quic_sstream_is_totally_acked(s->sstream))
ossl_quic_stream_map_notify_totally_acked(qsm, s);
else if (s->shutdown_flush
- && s->send_state == QUIC_SSTREAM_STATE_SEND
- && ossl_quic_sstream_is_totally_acked(s->sstream))
+ && s->send_state == QUIC_SSTREAM_STATE_SEND
+ && ossl_quic_sstream_is_totally_acked(s->sstream))
shutdown_flush_done(qsm, s);
if (!s->ready_for_gc) {
@@ -357,10 +355,10 @@ void ossl_quic_stream_map_update_state(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
= allowed_by_stream_limit
&& !s->ready_for_gc
&& ((ossl_quic_stream_has_recv(s)
- && !ossl_quic_stream_recv_is_reset(s)
- && (s->recv_state == QUIC_RSTREAM_STATE_RECV
- && (s->want_max_stream_data
- || ossl_quic_rxfc_has_cwm_changed(&s->rxfc, 0))))
+ && !ossl_quic_stream_recv_is_reset(s)
+ && (s->recv_state == QUIC_RSTREAM_STATE_RECV
+ && (s->want_max_stream_data
+ || ossl_quic_rxfc_has_cwm_changed(&s->rxfc, 0))))
|| s->want_stop_sending
|| s->want_reset_stream
|| (!s->peer_stop_sending && stream_has_data_to_send(s)));
@@ -377,7 +375,7 @@ void ossl_quic_stream_map_update_state(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
*/
int ossl_quic_stream_map_ensure_send_part_id(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->send_state) {
case QUIC_SSTREAM_STATE_NONE:
@@ -399,7 +397,7 @@ int ossl_quic_stream_map_ensure_send_part_id(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_notify_all_data_sent(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->send_state) {
default:
@@ -428,7 +426,7 @@ static void shutdown_flush_done(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs)
}
int ossl_quic_stream_map_notify_totally_acked(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->send_state) {
default:
@@ -449,8 +447,8 @@ int ossl_quic_stream_map_notify_totally_acked(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_reset_stream_send_part(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs,
- uint64_t aec)
+ QUIC_STREAM *qs,
+ uint64_t aec)
{
switch (qs->send_state) {
default:
@@ -488,9 +486,9 @@ int ossl_quic_stream_map_reset_stream_send_part(QUIC_STREAM_MAP *qsm,
/* FALLTHROUGH */
case QUIC_SSTREAM_STATE_DATA_SENT:
- qs->reset_stream_aec = aec;
- qs->want_reset_stream = 1;
- qs->send_state = QUIC_SSTREAM_STATE_RESET_SENT;
+ qs->reset_stream_aec = aec;
+ qs->want_reset_stream = 1;
+ qs->send_state = QUIC_SSTREAM_STATE_RESET_SENT;
ossl_quic_sstream_free(qs->sstream);
qs->sstream = NULL;
@@ -510,14 +508,14 @@ int ossl_quic_stream_map_reset_stream_send_part(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_notify_reset_stream_acked(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->send_state) {
default:
/* Wrong state - caller error. */
case QUIC_SSTREAM_STATE_NONE:
/* Stream without send part - caller error. */
- return 0;
+ return 0;
case QUIC_SSTREAM_STATE_RESET_SENT:
qs->send_state = QUIC_SSTREAM_STATE_RESET_RECVD;
@@ -535,8 +533,8 @@ int ossl_quic_stream_map_notify_reset_stream_acked(QUIC_STREAM_MAP *qsm,
*/
int ossl_quic_stream_map_notify_size_known_recv_part(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs,
- uint64_t final_size)
+ QUIC_STREAM *qs,
+ uint64_t final_size)
{
switch (qs->recv_state) {
default:
@@ -552,7 +550,7 @@ int ossl_quic_stream_map_notify_size_known_recv_part(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_notify_totally_received(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->recv_state) {
default:
@@ -562,14 +560,14 @@ int ossl_quic_stream_map_notify_totally_received(QUIC_STREAM_MAP *qsm,
return 0;
case QUIC_RSTREAM_STATE_SIZE_KNOWN:
- qs->recv_state = QUIC_RSTREAM_STATE_DATA_RECVD;
- qs->want_stop_sending = 0;
+ qs->recv_state = QUIC_RSTREAM_STATE_DATA_RECVD;
+ qs->want_stop_sending = 0;
return 1;
}
}
int ossl_quic_stream_map_notify_totally_read(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->recv_state) {
default:
@@ -589,9 +587,9 @@ int ossl_quic_stream_map_notify_totally_read(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_notify_reset_recv_part(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs,
- uint64_t app_error_code,
- uint64_t final_size)
+ QUIC_STREAM *qs,
+ uint64_t app_error_code,
+ uint64_t final_size)
{
uint64_t prev_final_size;
@@ -609,11 +607,11 @@ int ossl_quic_stream_map_notify_reset_recv_part(QUIC_STREAM_MAP *qsm,
/* Cannot change previous final size. */
return 0;
- qs->recv_state = QUIC_RSTREAM_STATE_RESET_RECVD;
- qs->peer_reset_stream_aec = app_error_code;
+ qs->recv_state = QUIC_RSTREAM_STATE_RESET_RECVD;
+ qs->peer_reset_stream_aec = app_error_code;
/* RFC 9000 s. 3.3: No point sending STOP_SENDING if already reset. */
- qs->want_stop_sending = 0;
+ qs->want_stop_sending = 0;
/* QUIC_RSTREAM is no longer needed */
ossl_quic_rstream_free(qs->rstream);
@@ -635,7 +633,7 @@ int ossl_quic_stream_map_notify_reset_recv_part(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_notify_app_read_reset_recv_part(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs)
+ QUIC_STREAM *qs)
{
switch (qs->recv_state) {
default:
@@ -651,8 +649,8 @@ int ossl_quic_stream_map_notify_app_read_reset_recv_part(QUIC_STREAM_MAP *qsm,
}
int ossl_quic_stream_map_stop_sending_recv_part(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *qs,
- uint64_t aec)
+ QUIC_STREAM *qs,
+ uint64_t aec)
{
if (qs->stop_sending)
return 0;
@@ -690,8 +688,8 @@ int ossl_quic_stream_map_stop_sending_recv_part(QUIC_STREAM_MAP *qsm,
break;
}
- qs->stop_sending = 1;
- qs->stop_sending_aec = aec;
+ qs->stop_sending = 1;
+ qs->stop_sending_aec = aec;
return ossl_quic_stream_map_schedule_stop_sending(qsm, qs);
}
@@ -735,7 +733,7 @@ QUIC_STREAM *ossl_quic_stream_map_peek_accept_queue(QUIC_STREAM_MAP *qsm)
}
void ossl_quic_stream_map_push_accept_queue(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *s)
+ QUIC_STREAM *s)
{
list_insert_tail(&qsm->accept_list, &s->accept_node);
if (ossl_quic_stream_is_bidi(s))
@@ -752,8 +750,8 @@ static QUIC_RXFC *qsm_get_max_streams_rxfc(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
}
void ossl_quic_stream_map_remove_from_accept_queue(QUIC_STREAM_MAP *qsm,
- QUIC_STREAM *s,
- OSSL_TIME rtt)
+ QUIC_STREAM *s,
+ OSSL_TIME rtt)
{
QUIC_RXFC *max_streams_rxfc;
@@ -780,15 +778,10 @@ size_t ossl_quic_stream_map_get_total_accept_queue_len(QUIC_STREAM_MAP *qsm)
void ossl_quic_stream_map_gc(QUIC_STREAM_MAP *qsm)
{
- QUIC_STREAM *qs, *qs_head, *qsn = NULL;
-
- for (qs = qs_head = ready_for_gc_head(&qsm->ready_for_gc_list);
- qs != NULL && qs != qs_head;
- qs = qsn)
- {
- qsn = ready_for_gc_next(&qsm->ready_for_gc_list, qs);
+ QUIC_STREAM *qs;
- ossl_quic_stream_map_release(qsm, qs);
+ while ((qs = ready_for_gc_head(&qsm->ready_for_gc_list)) != NULL) {
+ ossl_quic_stream_map_release(qsm, qs);
}
}
@@ -839,14 +832,14 @@ int ossl_quic_stream_map_is_shutdown_flush_finished(QUIC_STREAM_MAP *qsm)
* ====================
*/
void ossl_quic_stream_iter_init(QUIC_STREAM_ITER *it, QUIC_STREAM_MAP *qsm,
- int advance_rr)
+ int advance_rr)
{
- it->qsm = qsm;
+ it->qsm = qsm;
it->stream = it->first_stream = qsm->rr_cur;
if (advance_rr && it->stream != NULL
&& ++qsm->rr_counter >= qsm->rr_stepping) {
qsm->rr_counter = 0;
- qsm->rr_cur = active_next(&qsm->active_list, qsm->rr_cur);
+ qsm->rr_cur = active_next(&qsm->active_list, qsm->rr_cur);
}
}
diff --git a/crypto/openssl/ssl/quic/quic_thread_assist.c b/crypto/openssl/ssl/quic/quic_thread_assist.c
index 5315bf1662c6..d875e3ad0f23 100644
--- a/crypto/openssl/ssl/quic/quic_thread_assist.c
+++ b/crypto/openssl/ssl/quic/quic_thread_assist.c
@@ -64,23 +64,23 @@ static unsigned int assist_thread_main(void *arg)
}
int ossl_quic_thread_assist_init_start(QUIC_THREAD_ASSIST *qta,
- QUIC_CHANNEL *ch)
+ QUIC_CHANNEL *ch)
{
CRYPTO_MUTEX *mutex = ossl_quic_channel_get_mutex(ch);
if (mutex == NULL)
return 0;
- qta->ch = ch;
- qta->teardown = 0;
- qta->joined = 0;
+ qta->ch = ch;
+ qta->teardown = 0;
+ qta->joined = 0;
qta->cv = ossl_crypto_condvar_new();
if (qta->cv == NULL)
return 0;
qta->t = ossl_crypto_thread_native_start(assist_thread_main,
- qta, /*joinable=*/1);
+ qta, /*joinable=*/1);
if (qta->t == NULL) {
ossl_crypto_condvar_free(&qta->cv);
return 0;
@@ -131,8 +131,8 @@ int ossl_quic_thread_assist_cleanup(QUIC_THREAD_ASSIST *qta)
ossl_crypto_condvar_free(&qta->cv);
ossl_crypto_thread_native_clean(qta->t);
- qta->ch = NULL;
- qta->t = NULL;
+ qta->ch = NULL;
+ qta->t = NULL;
return 1;
}
diff --git a/crypto/openssl/ssl/quic/quic_tls.c b/crypto/openssl/ssl/quic/quic_tls.c
index ccc053203d4f..587685d0b233 100644
--- a/crypto/openssl/ssl/quic/quic_tls.c
+++ b/crypto/openssl/ssl/quic/quic_tls.c
@@ -15,12 +15,14 @@
#include "internal/quic_types.h"
#include "internal/ssl_unwrap.h"
-#define QUIC_TLS_FATAL(rl, ad, err) \
- do { \
- if ((rl) != NULL) (rl)->alert = (ad); \
+#define QUIC_TLS_FATAL(rl, ad, err) \
+ do { \
+ if ((rl) != NULL) \
+ (rl)->alert = (ad); \
ERR_raise(ERR_LIB_SSL, (err)); \
- if ((rl) != NULL) (rl)->qtls->inerror = 1; \
- } while(0)
+ if ((rl) != NULL) \
+ (rl)->qtls->inerror = 1; \
+ } while (0)
struct quic_tls_st {
QUIC_TLS_ARGS args;
@@ -95,18 +97,18 @@ static int quic_free(OSSL_RECORD_LAYER *r);
static int
quic_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
- int role, int direction, int level, uint16_t epoch,
- unsigned char *secret, size_t secretlen,
- unsigned char *key, size_t keylen, unsigned char *iv,
- size_t ivlen, unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph, size_t taglen,
- int mactype,
- const EVP_MD *md, COMP_METHOD *comp,
- const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
- BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
- const OSSL_PARAM *settings, const OSSL_PARAM *options,
- const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
- OSSL_RECORD_LAYER **retrl)
+ int role, int direction, int level, uint16_t epoch,
+ unsigned char *secret, size_t secretlen,
+ unsigned char *key, size_t keylen, unsigned char *iv,
+ size_t ivlen, unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph, size_t taglen,
+ int mactype,
+ const EVP_MD *md, COMP_METHOD *comp,
+ const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
+ BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
+ const OSSL_PARAM *settings, const OSSL_PARAM *options,
+ const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
+ OSSL_RECORD_LAYER **retrl)
{
OSSL_RECORD_LAYER *rl = OPENSSL_zalloc(sizeof(*rl));
int qdir;
@@ -182,15 +184,15 @@ quic_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
}
if (!rl->qtls->args.yield_secret_cb(level, qdir, suite_id,
- (EVP_MD *)kdfdigest, secret, secretlen,
- rl->qtls->args.yield_secret_cb_arg)) {
+ (EVP_MD *)kdfdigest, secret, secretlen,
+ rl->qtls->args.yield_secret_cb_arg)) {
QUIC_TLS_FATAL(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
EVP_MD_free((EVP_MD *)kdfdigest);
goto err;
}
return 1;
- err:
+err:
*retrl = NULL;
quic_free(rl);
return 0;
@@ -234,15 +236,15 @@ static int quic_processed_read_pending(OSSL_RECORD_LAYER *rl)
}
static size_t quic_get_max_records(OSSL_RECORD_LAYER *rl, uint8_t type,
- size_t len,
- size_t maxfrag, size_t *preffrag)
+ size_t len,
+ size_t maxfrag, size_t *preffrag)
{
return 1;
}
static int quic_write_records(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *template,
- size_t numtempl)
+ OSSL_RECORD_TEMPLATE *template,
+ size_t numtempl)
{
size_t consumed;
unsigned char alert;
@@ -263,8 +265,8 @@ static int quic_write_records(OSSL_RECORD_LAYER *rl,
* and manufacture a dummy record header
*/
dummyrec[0] = (rl->level == OSSL_RECORD_PROTECTION_LEVEL_NONE)
- ? template->type
- : SSL3_RT_APPLICATION_DATA;
+ ? template->type
+ : SSL3_RT_APPLICATION_DATA;
dummyrec[1] = (unsigned char)((template->version >> 8) & 0xff);
dummyrec[2] = (unsigned char)(template->version & 0xff);
/*
@@ -277,11 +279,11 @@ static int quic_write_records(OSSL_RECORD_LAYER *rl,
dummyrec[4] = (unsigned char)(template->buflen & 0xff);
rl->msg_callback(1, TLS1_3_VERSION, SSL3_RT_HEADER, dummyrec,
- SSL3_RT_HEADER_LENGTH, rl->cbarg);
+ SSL3_RT_HEADER_LENGTH, rl->cbarg);
if (rl->level != OSSL_RECORD_PROTECTION_LEVEL_NONE) {
rl->msg_callback(1, TLS1_3_VERSION, SSL3_RT_INNER_CONTENT_TYPE,
- &template->type, 1, rl->cbarg);
+ &template->type, 1, rl->cbarg);
}
}
@@ -314,9 +316,9 @@ static int quic_write_records(OSSL_RECORD_LAYER *rl,
* failure)
*/
if (!rl->qtls->args.crypto_send_cb(template->buf + rl->written,
- template->buflen - rl->written,
- &consumed,
- rl->qtls->args.crypto_send_cb_arg)) {
+ template->buflen - rl->written,
+ &consumed,
+ rl->qtls->args.crypto_send_cb_arg)) {
QUIC_TLS_FATAL(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -360,9 +362,9 @@ static int quic_retry_write_records(OSSL_RECORD_LAYER *rl)
}
static int quic_read_record(OSSL_RECORD_LAYER *rl, void **rechandle,
- int *rversion, uint8_t *type, const unsigned char **data,
- size_t *datalen, uint16_t *epoch,
- unsigned char *seq_num)
+ int *rversion, uint8_t *type, const unsigned char **data,
+ size_t *datalen, uint16_t *epoch,
+ unsigned char *seq_num)
{
if (rl->recread != 0 || rl->recunreleased != 0)
return OSSL_RECORD_RETURN_FATAL;
@@ -370,7 +372,7 @@ static int quic_read_record(OSSL_RECORD_LAYER *rl, void **rechandle,
BIO_clear_retry_flags(rl->dummybio);
if (!rl->qtls->args.crypto_recv_rcd_cb(data, datalen,
- rl->qtls->args.crypto_recv_rcd_cb_arg)) {
+ rl->qtls->args.crypto_recv_rcd_cb_arg)) {
QUIC_TLS_FATAL(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -394,8 +396,8 @@ static int quic_read_record(OSSL_RECORD_LAYER *rl, void **rechandle,
* and manufacture a dummy record header
*/
dummyrec[0] = (rl->level == OSSL_RECORD_PROTECTION_LEVEL_NONE)
- ? SSL3_RT_HANDSHAKE
- : SSL3_RT_APPLICATION_DATA;
+ ? SSL3_RT_HANDSHAKE
+ : SSL3_RT_APPLICATION_DATA;
dummyrec[1] = (unsigned char)((TLS1_2_VERSION >> 8) & 0xff);
dummyrec[2] = (unsigned char)(TLS1_2_VERSION & 0xff);
/*
@@ -406,28 +408,28 @@ static int quic_read_record(OSSL_RECORD_LAYER *rl, void **rechandle,
dummyrec[4] = (unsigned char)(*datalen & 0xff);
rl->msg_callback(0, TLS1_3_VERSION, SSL3_RT_HEADER, dummyrec,
- SSL3_RT_HEADER_LENGTH, rl->cbarg);
+ SSL3_RT_HEADER_LENGTH, rl->cbarg);
rl->msg_callback(0, TLS1_3_VERSION, SSL3_RT_INNER_CONTENT_TYPE, type, 1,
- rl->cbarg);
+ rl->cbarg);
}
return OSSL_RECORD_RETURN_SUCCESS;
}
static int quic_release_record(OSSL_RECORD_LAYER *rl, void *rechandle,
- size_t length)
+ size_t length)
{
if (!ossl_assert(rl->recread > 0)
- || !ossl_assert(rl->recunreleased <= rl->recread)
- || !ossl_assert(rl == rechandle)
- || !ossl_assert(length <= rl->recunreleased)) {
+ || !ossl_assert(rl->recunreleased <= rl->recread)
+ || !ossl_assert(rl == rechandle)
+ || !ossl_assert(length <= rl->recunreleased)) {
QUIC_TLS_FATAL(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
if (rl->recunreleased == length) {
if (!rl->qtls->args.crypto_release_rcd_cb(rl->recread,
- rl->qtls->args.crypto_release_rcd_cb_arg)) {
+ rl->qtls->args.crypto_release_rcd_cb_arg)) {
QUIC_TLS_FATAL(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -469,7 +471,7 @@ static void quic_set_max_pipelines(OSSL_RECORD_LAYER *rl, size_t max_pipelines)
}
static void quic_get_state(OSSL_RECORD_LAYER *rl, const char **shortstr,
- const char **longstr)
+ const char **longstr)
{
/*
* According to the docs, valid read state strings are: "RH"/"read header",
@@ -595,10 +597,10 @@ static const OSSL_RECORD_METHOD quic_tls_record_method = {
};
static int add_transport_params_cb(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char **out, size_t *outlen,
- X509 *x, size_t chainidx, int *al,
- void *add_arg)
+ unsigned int context,
+ const unsigned char **out, size_t *outlen,
+ X509 *x, size_t chainidx, int *al,
+ void *add_arg)
{
QUIC_TLS *qtls = add_arg;
@@ -609,23 +611,23 @@ static int add_transport_params_cb(SSL *s, unsigned int ext_type,
}
static void free_transport_params_cb(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char *out,
- void *add_arg)
+ unsigned int context,
+ const unsigned char *out,
+ void *add_arg)
{
}
static int parse_transport_params_cb(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char *in,
- size_t inlen, X509 *x,
- size_t chainidx,
- int *al, void *parse_arg)
+ unsigned int context,
+ const unsigned char *in,
+ size_t inlen, X509 *x,
+ size_t chainidx,
+ int *al, void *parse_arg)
{
QUIC_TLS *qtls = parse_arg;
return qtls->args.got_transport_params_cb(in, inlen,
- qtls->args.got_transport_params_cb_arg);
+ qtls->args.got_transport_params_cb_arg);
}
QUIC_TLS *ossl_quic_tls_new(const QUIC_TLS_ARGS *args)
@@ -661,10 +663,10 @@ void ossl_quic_tls_free(QUIC_TLS *qtls)
}
static int raise_error(QUIC_TLS *qtls, uint64_t error_code,
- const char *error_msg,
- const char *src_file,
- int src_line,
- const char *src_func)
+ const char *error_msg,
+ const char *src_file,
+ int src_line,
+ const char *src_func)
{
/*
* When QTLS fails, add a "cover letter" error with information, potentially
@@ -676,8 +678,8 @@ static int raise_error(QUIC_TLS *qtls, uint64_t error_code,
ERR_new();
ERR_set_debug(src_file, src_line, src_func);
ERR_set_error(ERR_LIB_SSL, SSL_R_QUIC_HANDSHAKE_LAYER_ERROR,
- "handshake layer error, error code %llu (0x%llx) (\"%s\")",
- error_code, error_code, error_msg);
+ "handshake layer error, error code %llu (0x%llx) (\"%s\")",
+ error_code, error_code, error_msg);
if (qtls->args.ossl_quic) {
OSSL_ERR_STATE_save_to_mark(qtls->error_state);
@@ -686,24 +688,24 @@ static int raise_error(QUIC_TLS *qtls, uint64_t error_code,
* We record the error information reported via the QUIC protocol
* separately.
*/
- qtls->error_code = error_code;
- qtls->error_msg = error_msg;
- qtls->inerror = 1;
+ qtls->error_code = error_code;
+ qtls->error_msg = error_msg;
+ qtls->inerror = 1;
ERR_pop_to_mark();
}
return 0;
}
-#define RAISE_ERROR(qtls, error_code, error_msg) \
+#define RAISE_ERROR(qtls, error_code, error_msg) \
raise_error((qtls), (error_code), (error_msg), \
- OPENSSL_FILE, OPENSSL_LINE, OPENSSL_FUNC)
+ OPENSSL_FILE, OPENSSL_LINE, OPENSSL_FUNC)
#ifndef OPENSSL_NO_QUIC
-# define RAISE_INTERNAL_ERROR(qtls) \
+#define RAISE_INTERNAL_ERROR(qtls) \
RAISE_ERROR((qtls), OSSL_QUIC_ERR_INTERNAL_ERROR, "internal error")
#else
-# define RAISE_INTERNAL_ERROR(qtls) \
+#define RAISE_INTERNAL_ERROR(qtls) \
RAISE_ERROR((qtls), 0x01, "internal error")
#endif
@@ -729,15 +731,15 @@ int ossl_quic_tls_configure(QUIC_TLS *qtls)
ossl_ssl_set_custom_record_layer(sc, &quic_tls_record_method, qtls);
if (!ossl_tls_add_custom_ext_intern(NULL, &sc->cert->custext,
- qtls->args.is_server ? ENDPOINT_SERVER
- : ENDPOINT_CLIENT,
- TLSEXT_TYPE_quic_transport_parameters,
- SSL_EXT_TLS1_3_ONLY
- | SSL_EXT_CLIENT_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
- add_transport_params_cb,
- free_transport_params_cb, qtls,
- parse_transport_params_cb, qtls))
+ qtls->args.is_server ? ENDPOINT_SERVER
+ : ENDPOINT_CLIENT,
+ TLSEXT_TYPE_quic_transport_parameters,
+ SSL_EXT_TLS1_3_ONLY
+ | SSL_EXT_CLIENT_HELLO
+ | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
+ add_transport_params_cb,
+ free_transport_params_cb, qtls,
+ parse_transport_params_cb, qtls))
return 0;
sc->s3.flags |= TLS1_FLAGS_QUIC;
@@ -798,7 +800,7 @@ int ossl_quic_tls_tick(QUIC_TLS *qtls)
} else {
if (sc->ext.alpn == NULL || sc->ext.alpn_len == 0)
return RAISE_ERROR(qtls, OSSL_QUIC_ERR_CRYPTO_NO_APP_PROTO,
- "ALPN must be configured when using QUIC");
+ "ALPN must be configured when using QUIC");
}
if (!ossl_quic_tls_configure(qtls))
@@ -825,7 +827,7 @@ int ossl_quic_tls_tick(QUIC_TLS *qtls)
if (ret <= 0) {
err = ossl_ssl_get_error(qtls->args.s, ret,
- /*check_err=*/ERR_count_to_mark() > 0);
+ /*check_err=*/ERR_count_to_mark() > 0);
switch (err) {
case SSL_ERROR_WANT_READ:
@@ -846,7 +848,7 @@ int ossl_quic_tls_tick(QUIC_TLS *qtls)
SSL_get0_alpn_selected(qtls->args.s, &alpn, &alpnlen);
if (alpn == NULL || alpnlen == 0)
return RAISE_ERROR(qtls, OSSL_QUIC_ERR_CRYPTO_NO_APP_PROTO,
- "no application protocol negotiated");
+ "no application protocol negotiated");
qtls->complete = 1;
ERR_pop_to_mark();
@@ -866,26 +868,26 @@ void ossl_quic_tls_clear(QUIC_TLS *qtls)
}
int ossl_quic_tls_set_transport_params(QUIC_TLS *qtls,
- const unsigned char *transport_params,
- size_t transport_params_len)
+ const unsigned char *transport_params,
+ size_t transport_params_len)
{
if (qtls->local_transport_params_consumed)
return 0;
- qtls->local_transport_params = transport_params;
- qtls->local_transport_params_len = transport_params_len;
+ qtls->local_transport_params = transport_params;
+ qtls->local_transport_params_len = transport_params_len;
return 1;
}
int ossl_quic_tls_get_error(QUIC_TLS *qtls,
- uint64_t *error_code,
- const char **error_msg,
- ERR_STATE **error_state)
+ uint64_t *error_code,
+ const char **error_msg,
+ ERR_STATE **error_state)
{
if (qtls->inerror) {
- *error_code = qtls->error_code;
- *error_msg = qtls->error_msg;
- *error_state = qtls->error_state;
+ *error_code = qtls->error_code;
+ *error_msg = qtls->error_msg;
+ *error_state = qtls->error_state;
}
return qtls->inerror;
diff --git a/crypto/openssl/ssl/quic/quic_tls_api.c b/crypto/openssl/ssl/quic/quic_tls_api.c
index ea8924f2c416..fba852f59008 100644
--- a/crypto/openssl/ssl/quic/quic_tls_api.c
+++ b/crypto/openssl/ssl/quic/quic_tls_api.c
@@ -13,7 +13,7 @@
#include "../ssl_local.h"
static int crypto_send_cb(const unsigned char *buf, size_t buf_len,
- size_t *consumed, void *arg)
+ size_t *consumed, void *arg)
{
SSL *s = (SSL *)arg;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -24,7 +24,7 @@ static int crypto_send_cb(const unsigned char *buf, size_t buf_len,
}
static int crypto_recv_rcd_cb(const unsigned char **buf, size_t *bytes_read,
- void *arg)
+ void *arg)
{
SSL *s = (SSL *)arg;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -44,9 +44,9 @@ static int crypto_release_rcd_cb(size_t bytes_read, void *arg)
return sc->qtcb.crypto_release_rcd_cb(s, bytes_read, sc->qtarg);
}
static int yield_secret_cb(uint32_t prot_level, int direction,
- uint32_t suite_id, EVP_MD *md,
- const unsigned char *secret, size_t secret_len,
- void *arg)
+ uint32_t suite_id, EVP_MD *md,
+ const unsigned char *secret, size_t secret_len,
+ void *arg)
{
SSL *s = (SSL *)arg;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -54,12 +54,12 @@ static int yield_secret_cb(uint32_t prot_level, int direction,
if (sc == NULL)
return 0;
return sc->qtcb.yield_secret_cb(s, prot_level, direction,
- secret, secret_len, sc->qtarg);
+ secret, secret_len, sc->qtarg);
}
static int got_transport_params_cb(const unsigned char *params,
- size_t params_len,
- void *arg)
+ size_t params_len,
+ void *arg)
{
SSL *s = (SSL *)arg;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -80,7 +80,7 @@ static int alert_cb(void *arg, unsigned char alert_code)
}
static int tls_callbacks_from_dispatch(OSSL_QUIC_TLS_CALLBACKS *qtcb,
- const OSSL_DISPATCH *qtdis)
+ const OSSL_DISPATCH *qtdis)
{
for (; qtdis->function_id != 0; qtdis++) {
switch (qtdis->function_id) {
@@ -90,38 +90,33 @@ static int tls_callbacks_from_dispatch(OSSL_QUIC_TLS_CALLBACKS *qtcb,
break;
case OSSL_FUNC_SSL_QUIC_TLS_CRYPTO_RECV_RCD:
if (qtcb->crypto_recv_rcd_cb == NULL)
- qtcb->crypto_recv_rcd_cb =
- OSSL_FUNC_SSL_QUIC_TLS_crypto_recv_rcd(qtdis);
+ qtcb->crypto_recv_rcd_cb = OSSL_FUNC_SSL_QUIC_TLS_crypto_recv_rcd(qtdis);
break;
case OSSL_FUNC_SSL_QUIC_TLS_CRYPTO_RELEASE_RCD:
if (qtcb->crypto_release_rcd_cb == NULL)
- qtcb->crypto_release_rcd_cb =
- OSSL_FUNC_SSL_QUIC_TLS_crypto_release_rcd(qtdis);
+ qtcb->crypto_release_rcd_cb = OSSL_FUNC_SSL_QUIC_TLS_crypto_release_rcd(qtdis);
break;
case OSSL_FUNC_SSL_QUIC_TLS_YIELD_SECRET:
if (qtcb->yield_secret_cb == NULL)
- qtcb->yield_secret_cb =
- OSSL_FUNC_SSL_QUIC_TLS_yield_secret(qtdis);
+ qtcb->yield_secret_cb = OSSL_FUNC_SSL_QUIC_TLS_yield_secret(qtdis);
break;
case OSSL_FUNC_SSL_QUIC_TLS_GOT_TRANSPORT_PARAMS:
if (qtcb->got_transport_params_cb == NULL)
- qtcb->got_transport_params_cb =
- OSSL_FUNC_SSL_QUIC_TLS_got_transport_params(qtdis);
+ qtcb->got_transport_params_cb = OSSL_FUNC_SSL_QUIC_TLS_got_transport_params(qtdis);
break;
case OSSL_FUNC_SSL_QUIC_TLS_ALERT:
if (qtcb->alert_cb == NULL)
- qtcb->alert_cb =
- OSSL_FUNC_SSL_QUIC_TLS_alert(qtdis);
+ qtcb->alert_cb = OSSL_FUNC_SSL_QUIC_TLS_alert(qtdis);
break;
}
}
if (qtcb->crypto_send_cb == NULL
- || qtcb->crypto_recv_rcd_cb == NULL
- || qtcb->crypto_release_rcd_cb == NULL
- || qtcb->yield_secret_cb == NULL
- || qtcb->got_transport_params_cb == NULL
- || qtcb->alert_cb == NULL) {
+ || qtcb->crypto_recv_rcd_cb == NULL
+ || qtcb->crypto_release_rcd_cb == NULL
+ || qtcb->yield_secret_cb == NULL
+ || qtcb->got_transport_params_cb == NULL
+ || qtcb->alert_cb == NULL) {
ERR_raise(ERR_LIB_SSL, SSL_R_MISSING_QUIC_TLS_FUNCTIONS);
return 0;
}
@@ -174,8 +169,8 @@ int SSL_set_quic_tls_cbs(SSL *s, const OSSL_DISPATCH *qtdis, void *arg)
}
int SSL_set_quic_tls_transport_params(SSL *s,
- const unsigned char *params,
- size_t params_len)
+ const unsigned char *params,
+ size_t params_len)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
diff --git a/crypto/openssl/ssl/quic/quic_trace.c b/crypto/openssl/ssl/quic/quic_trace.c
index 936707a573f1..05debed99ff3 100644
--- a/crypto/openssl/ssl/quic/quic_trace.c
+++ b/crypto/openssl/ssl/quic/quic_trace.c
@@ -90,7 +90,8 @@ static int frame_ack(BIO *bio, PACKET *pkt)
/* In case sizeof(uint64_t) > sizeof(size_t) */
|| total_ranges > SIZE_MAX / sizeof(ack_ranges[0])
|| (ack_ranges = OPENSSL_zalloc(sizeof(ack_ranges[0])
- * (size_t)total_ranges)) == NULL)
+ * (size_t)total_ranges))
+ == NULL)
return ret;
ack.ack_ranges = ack_ranges;
@@ -101,21 +102,21 @@ static int frame_ack(BIO *bio, PACKET *pkt)
goto end;
BIO_printf(bio, " Largest acked: %llu\n",
- (unsigned long long)ack.ack_ranges[0].end);
+ (unsigned long long)ack.ack_ranges[0].end);
BIO_printf(bio, " Ack delay (raw) %llu\n",
- (unsigned long long)ossl_time2ticks(ack.delay_time));
+ (unsigned long long)ossl_time2ticks(ack.delay_time));
BIO_printf(bio, " Ack range count: %llu\n",
- (unsigned long long)total_ranges - 1);
+ (unsigned long long)total_ranges - 1);
BIO_printf(bio, " First ack range: %llu\n",
- (unsigned long long)(ack.ack_ranges[0].end
- - ack.ack_ranges[0].start));
+ (unsigned long long)(ack.ack_ranges[0].end
+ - ack.ack_ranges[0].start));
for (i = 1; i < total_ranges; i++) {
BIO_printf(bio, " Gap: %llu\n",
- (unsigned long long)(ack.ack_ranges[i - 1].start
- - ack.ack_ranges[i].end - 2));
+ (unsigned long long)(ack.ack_ranges[i - 1].start
+ - ack.ack_ranges[i].end - 2));
BIO_printf(bio, " Ack range len: %llu\n",
- (unsigned long long)(ack.ack_ranges[i].end
- - ack.ack_ranges[i].start));
+ (unsigned long long)(ack.ack_ranges[i].end
+ - ack.ack_ranges[i].start));
}
ret = 1;
@@ -132,11 +133,11 @@ static int frame_reset_stream(BIO *bio, PACKET *pkt)
return 0;
BIO_printf(bio, " Stream id: %llu\n",
- (unsigned long long)frame_data.stream_id);
+ (unsigned long long)frame_data.stream_id);
BIO_printf(bio, " App Protocol Error Code: %llu\n",
- (unsigned long long)frame_data.app_error_code);
+ (unsigned long long)frame_data.app_error_code);
BIO_printf(bio, " Final size: %llu\n",
- (unsigned long long)frame_data.final_size);
+ (unsigned long long)frame_data.final_size);
return 1;
}
@@ -149,9 +150,9 @@ static int frame_stop_sending(BIO *bio, PACKET *pkt)
return 0;
BIO_printf(bio, " Stream id: %llu\n",
- (unsigned long long)frame_data.stream_id);
+ (unsigned long long)frame_data.stream_id);
BIO_printf(bio, " App Protocol Error Code: %llu\n",
- (unsigned long long)frame_data.app_error_code);
+ (unsigned long long)frame_data.app_error_code);
return 1;
}
@@ -190,7 +191,7 @@ static int frame_stream(BIO *bio, PACKET *pkt, uint64_t frame_type)
OSSL_QUIC_FRAME_STREAM frame_data;
BIO_puts(bio, "Stream");
- switch(frame_type) {
+ switch (frame_type) {
case OSSL_QUIC_FRAME_TYPE_STREAM:
BIO_puts(bio, "\n");
break;
@@ -231,9 +232,9 @@ static int frame_stream(BIO *bio, PACKET *pkt, uint64_t frame_type)
return 0;
BIO_printf(bio, " Stream id: %llu\n",
- (unsigned long long)frame_data.stream_id);
+ (unsigned long long)frame_data.stream_id);
BIO_printf(bio, " Offset: %llu\n",
- (unsigned long long)frame_data.offset);
+ (unsigned long long)frame_data.offset);
/*
* It would be nice to find a way of passing the implicit length through
* to the msg_callback. But this is not currently possible.
@@ -264,11 +265,11 @@ static int frame_max_stream_data(BIO *bio, PACKET *pkt)
uint64_t max_stream_data = 0;
if (!ossl_quic_wire_decode_frame_max_stream_data(pkt, &stream_id,
- &max_stream_data))
+ &max_stream_data))
return 0;
BIO_printf(bio, " Max Stream Data: %llu\n",
- (unsigned long long)max_stream_data);
+ (unsigned long long)max_stream_data);
return 1;
}
@@ -303,7 +304,7 @@ static int frame_stream_data_blocked(BIO *bio, PACKET *pkt)
uint64_t max_data = 0;
if (!ossl_quic_wire_decode_frame_stream_data_blocked(pkt, &stream_id,
- &max_data))
+ &max_data))
return 0;
BIO_printf(bio, " Stream id: %llu\n", (unsigned long long)stream_id);
@@ -332,14 +333,14 @@ static int frame_new_conn_id(BIO *bio, PACKET *pkt)
return 0;
BIO_printf(bio, " Sequence Number: %llu\n",
- (unsigned long long)frame_data.seq_num);
+ (unsigned long long)frame_data.seq_num);
BIO_printf(bio, " Retire prior to: %llu\n",
- (unsigned long long)frame_data.retire_prior_to);
+ (unsigned long long)frame_data.retire_prior_to);
BIO_puts(bio, " Connection id: ");
put_conn_id(bio, &frame_data.conn_id);
BIO_puts(bio, "\n Stateless Reset Token: ");
put_data(bio, frame_data.stateless_reset.token,
- sizeof(frame_data.stateless_reset.token));
+ sizeof(frame_data.stateless_reset.token));
BIO_puts(bio, "\n");
return 1;
@@ -389,7 +390,7 @@ static int frame_conn_closed(BIO *bio, PACKET *pkt)
return 0;
BIO_printf(bio, " Error Code: %llu\n",
- (unsigned long long)frame_data.error_code);
+ (unsigned long long)frame_data.error_code);
BIO_puts(bio, " Reason: ");
put_str(bio, frame_data.reason, frame_data.reason_len);
BIO_puts(bio, "\n");
@@ -562,7 +563,7 @@ static int trace_frame_data(BIO *bio, PACKET *pkt)
}
int ossl_quic_trace(int write_p, int version, int content_type,
- const void *buf, size_t msglen, SSL *ssl, void *arg)
+ const void *buf, size_t msglen, SSL *ssl, void *arg)
{
BIO *bio = arg;
PACKET pkt;
@@ -580,66 +581,64 @@ int ossl_quic_trace(int write_p, int version, int content_type,
BIO_printf(bio, " Datagram\n Length: %zu\n", msglen);
break;
- case SSL3_RT_QUIC_PACKET:
- {
- QUIC_PKT_HDR hdr;
- size_t i;
+ case SSL3_RT_QUIC_PACKET: {
+ QUIC_PKT_HDR hdr;
+ size_t i;
- if (!PACKET_buf_init(&pkt, buf, msglen))
- return 0;
- /* Decode the packet header */
- ch = ossl_quic_conn_get_channel(ssl);
- id_len = ossl_quic_channel_get_short_header_conn_id_len(ch);
- if (ossl_quic_wire_decode_pkt_hdr(&pkt, id_len, 0, 1, &hdr, NULL,
- NULL) != 1)
- return 0;
+ if (!PACKET_buf_init(&pkt, buf, msglen))
+ return 0;
+ /* Decode the packet header */
+ ch = ossl_quic_conn_get_channel(ssl);
+ id_len = ossl_quic_channel_get_short_header_conn_id_len(ch);
+ if (ossl_quic_wire_decode_pkt_hdr(&pkt, id_len, 0, 1, &hdr, NULL,
+ NULL)
+ != 1)
+ return 0;
- BIO_puts(bio, write_p ? "Sent" : "Received");
- BIO_puts(bio, " Packet\n");
- BIO_printf(bio, " Packet Type: %s\n", packet_type(hdr.type));
- if (hdr.type != QUIC_PKT_TYPE_1RTT)
- BIO_printf(bio, " Version: 0x%08lx\n",
- (unsigned long)hdr.version);
- BIO_puts(bio, " Destination Conn Id: ");
- put_conn_id(bio, &hdr.dst_conn_id);
+ BIO_puts(bio, write_p ? "Sent" : "Received");
+ BIO_puts(bio, " Packet\n");
+ BIO_printf(bio, " Packet Type: %s\n", packet_type(hdr.type));
+ if (hdr.type != QUIC_PKT_TYPE_1RTT)
+ BIO_printf(bio, " Version: 0x%08lx\n",
+ (unsigned long)hdr.version);
+ BIO_puts(bio, " Destination Conn Id: ");
+ put_conn_id(bio, &hdr.dst_conn_id);
+ BIO_puts(bio, "\n");
+ if (hdr.type != QUIC_PKT_TYPE_1RTT) {
+ BIO_puts(bio, " Source Conn Id: ");
+ put_conn_id(bio, &hdr.src_conn_id);
+ BIO_puts(bio, "\n");
+ }
+ BIO_printf(bio, " Payload length: %zu\n", hdr.len);
+ if (hdr.type == QUIC_PKT_TYPE_INITIAL) {
+ BIO_puts(bio, " Token: ");
+ put_token(bio, hdr.token, hdr.token_len);
BIO_puts(bio, "\n");
- if (hdr.type != QUIC_PKT_TYPE_1RTT) {
- BIO_puts(bio, " Source Conn Id: ");
- put_conn_id(bio, &hdr.src_conn_id);
- BIO_puts(bio, "\n");
- }
- BIO_printf(bio, " Payload length: %zu\n", hdr.len);
- if (hdr.type == QUIC_PKT_TYPE_INITIAL) {
- BIO_puts(bio, " Token: ");
- put_token(bio, hdr.token, hdr.token_len);
- BIO_puts(bio, "\n");
- }
- if (hdr.type != QUIC_PKT_TYPE_VERSION_NEG
- && hdr.type != QUIC_PKT_TYPE_RETRY) {
- BIO_puts(bio, " Packet Number: 0x");
- /* Will always be at least 1 byte */
- for (i = 0; i < hdr.pn_len; i++)
- BIO_printf(bio, "%02x", hdr.pn[i]);
- BIO_puts(bio, "\n");
- }
- break;
}
+ if (hdr.type != QUIC_PKT_TYPE_VERSION_NEG
+ && hdr.type != QUIC_PKT_TYPE_RETRY) {
+ BIO_puts(bio, " Packet Number: 0x");
+ /* Will always be at least 1 byte */
+ for (i = 0; i < hdr.pn_len; i++)
+ BIO_printf(bio, "%02x", hdr.pn[i]);
+ BIO_puts(bio, "\n");
+ }
+ break;
+ }
case SSL3_RT_QUIC_FRAME_PADDING:
case SSL3_RT_QUIC_FRAME_FULL:
- case SSL3_RT_QUIC_FRAME_HEADER:
- {
- BIO_puts(bio, write_p ? "Sent" : "Received");
- BIO_puts(bio, " Frame: ");
+ case SSL3_RT_QUIC_FRAME_HEADER: {
+ BIO_puts(bio, write_p ? "Sent" : "Received");
+ BIO_puts(bio, " Frame: ");
- if (!PACKET_buf_init(&pkt, buf, msglen))
- return 0;
- if (!trace_frame_data(bio, &pkt)) {
- BIO_puts(bio, " <error processing frame data>\n");
- return 0;
- }
+ if (!PACKET_buf_init(&pkt, buf, msglen))
+ return 0;
+ if (!trace_frame_data(bio, &pkt)) {
+ BIO_puts(bio, " <error processing frame data>\n");
+ return 0;
}
- break;
+ } break;
default:
/* Unrecognised content_type. We defer to SSL_trace */
diff --git a/crypto/openssl/ssl/quic/quic_tserver.c b/crypto/openssl/ssl/quic/quic_tserver.c
index f7106b2fef37..f3cf1cbd6acb 100644
--- a/crypto/openssl/ssl/quic/quic_tserver.c
+++ b/crypto/openssl/ssl/quic/quic_tserver.c
@@ -21,7 +21,7 @@
* =======================
*/
struct quic_tserver_st {
- QUIC_TSERVER_ARGS args;
+ QUIC_TSERVER_ARGS args;
/* Dummy SSL object for this QUIC connection for use by msg_callback */
SSL *ssl;
@@ -30,12 +30,12 @@ struct quic_tserver_st {
* The QUIC engine, port and channel providing the core QUIC connection
* implementation.
*/
- QUIC_ENGINE *engine;
- QUIC_PORT *port;
- QUIC_CHANNEL *ch;
+ QUIC_ENGINE *engine;
+ QUIC_PORT *port;
+ QUIC_CHANNEL *ch;
/* The mutex we give to the QUIC channel. */
- CRYPTO_MUTEX *mutex;
+ CRYPTO_MUTEX *mutex;
/* SSL_CTX for creating the underlying TLS connection */
SSL_CTX *ctx;
@@ -44,12 +44,12 @@ struct quic_tserver_st {
SSL *tls;
/* Are we connected to a peer? */
- unsigned int connected : 1;
+ unsigned int connected : 1;
};
static int alpn_select_cb(SSL *ssl, const unsigned char **out,
- unsigned char *outlen, const unsigned char *in,
- unsigned int inlen, void *arg)
+ unsigned char *outlen, const unsigned char *in,
+ unsigned int inlen, void *arg)
{
QUIC_TSERVER *srv = arg;
static const unsigned char alpndeflt[] = {
@@ -67,18 +67,19 @@ static int alpn_select_cb(SSL *ssl, const unsigned char **out,
}
if (SSL_select_next_proto((unsigned char **)out, outlen, alpn, alpnlen,
- in, inlen) != OPENSSL_NPN_NEGOTIATED)
+ in, inlen)
+ != OPENSSL_NPN_NEGOTIATED)
return SSL_TLSEXT_ERR_ALERT_FATAL;
return SSL_TLSEXT_ERR_OK;
}
QUIC_TSERVER *ossl_quic_tserver_new(const QUIC_TSERVER_ARGS *args,
- const char *certfile, const char *keyfile)
+ const char *certfile, const char *keyfile)
{
QUIC_TSERVER *srv = NULL;
- QUIC_ENGINE_ARGS engine_args = {0};
- QUIC_PORT_ARGS port_args = {0};
+ QUIC_ENGINE_ARGS engine_args = { 0 };
+ QUIC_PORT_ARGS port_args = { 0 };
QUIC_CONNECTION *qc = NULL;
if (args->net_rbio == NULL || args->net_wbio == NULL)
@@ -98,16 +99,16 @@ QUIC_TSERVER *ossl_quic_tserver_new(const QUIC_TSERVER_ARGS *args,
srv->ctx = args->ctx;
else
srv->ctx = SSL_CTX_new_ex(srv->args.libctx, srv->args.propq,
- TLS_method());
+ TLS_method());
if (srv->ctx == NULL)
goto err;
if (certfile != NULL
- && SSL_CTX_use_certificate_file(srv->ctx, certfile, SSL_FILETYPE_PEM) <= 0)
+ && SSL_CTX_use_certificate_file(srv->ctx, certfile, SSL_FILETYPE_PEM) <= 0)
goto err;
if (keyfile != NULL
- && SSL_CTX_use_PrivateKey_file(srv->ctx, keyfile, SSL_FILETYPE_PEM) <= 0)
+ && SSL_CTX_use_PrivateKey_file(srv->ctx, keyfile, SSL_FILETYPE_PEM) <= 0)
goto err;
SSL_CTX_set_alpn_select_cb(srv->ctx, alpn_select_cb, srv);
@@ -116,18 +117,18 @@ QUIC_TSERVER *ossl_quic_tserver_new(const QUIC_TSERVER_ARGS *args,
if (srv->tls == NULL)
goto err;
- engine_args.libctx = srv->args.libctx;
- engine_args.propq = srv->args.propq;
- engine_args.mutex = srv->mutex;
+ engine_args.libctx = srv->args.libctx;
+ engine_args.propq = srv->args.propq;
+ engine_args.mutex = srv->mutex;
if ((srv->engine = ossl_quic_engine_new(&engine_args)) == NULL)
goto err;
ossl_quic_engine_set_time_cb(srv->engine, srv->args.now_cb,
- srv->args.now_cb_arg);
+ srv->args.now_cb_arg);
- port_args.channel_ctx = srv->ctx;
- port_args.is_multi_conn = 1;
+ port_args.channel_ctx = srv->ctx;
+ port_args.is_multi_conn = 1;
port_args.do_addr_validation = 1;
if ((srv->port = ossl_quic_engine_create_port(srv->engine, &port_args)) == NULL)
goto err;
@@ -187,23 +188,23 @@ void ossl_quic_tserver_free(QUIC_TSERVER *srv)
/* Set mutator callbacks for test framework support */
int ossl_quic_tserver_set_plain_packet_mutator(QUIC_TSERVER *srv,
- ossl_mutate_packet_cb mutatecb,
- ossl_finish_mutate_cb finishmutatecb,
- void *mutatearg)
+ ossl_mutate_packet_cb mutatecb,
+ ossl_finish_mutate_cb finishmutatecb,
+ void *mutatearg)
{
return ossl_quic_channel_set_mutator(srv->ch, mutatecb, finishmutatecb,
- mutatearg);
+ mutatearg);
}
int ossl_quic_tserver_set_handshake_mutator(QUIC_TSERVER *srv,
- ossl_statem_mutate_handshake_cb mutate_handshake_cb,
- ossl_statem_finish_mutate_handshake_cb finish_mutate_handshake_cb,
- void *mutatearg)
+ ossl_statem_mutate_handshake_cb mutate_handshake_cb,
+ ossl_statem_finish_mutate_handshake_cb finish_mutate_handshake_cb,
+ void *mutatearg)
{
return ossl_statem_set_mutator(ossl_quic_channel_get0_ssl(srv->ch),
- mutate_handshake_cb,
- finish_mutate_handshake_cb,
- mutatearg);
+ mutate_handshake_cb,
+ finish_mutate_handshake_cb,
+ mutatearg);
}
int ossl_quic_tserver_tick(QUIC_TSERVER *srv)
@@ -250,20 +251,20 @@ int ossl_quic_tserver_is_handshake_confirmed(const QUIC_TSERVER *srv)
}
int ossl_quic_tserver_read(QUIC_TSERVER *srv,
- uint64_t stream_id,
- unsigned char *buf,
- size_t buf_len,
- size_t *bytes_read)
+ uint64_t stream_id,
+ unsigned char *buf,
+ size_t buf_len,
+ size_t *bytes_read)
{
int is_fin = 0;
QUIC_STREAM *qs;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL) {
int is_client_init
= ((stream_id & QUIC_STREAM_INITIATOR_MASK)
- == QUIC_STREAM_INITIATOR_CLIENT);
+ == QUIC_STREAM_INITIATOR_CLIENT);
/*
* A client-initiated stream might spontaneously come into existence, so
@@ -283,7 +284,7 @@ int ossl_quic_tserver_read(QUIC_TSERVER *srv,
return 0;
if (!ossl_quic_rstream_read(qs->rstream, buf, buf_len,
- bytes_read, &is_fin))
+ bytes_read, &is_fin))
return 0;
if (*bytes_read > 0) {
@@ -298,13 +299,13 @@ int ossl_quic_tserver_read(QUIC_TSERVER *srv,
ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(srv->ch), &rtt_info);
if (!ossl_quic_rxfc_on_retire(&qs->rxfc, *bytes_read,
- rtt_info.smoothed_rtt))
+ rtt_info.smoothed_rtt))
return 0;
}
if (is_fin)
ossl_quic_stream_map_notify_totally_read(ossl_quic_channel_get_qsm(srv->ch),
- qs);
+ qs);
if (*bytes_read > 0)
ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(srv->ch), qs);
@@ -320,7 +321,7 @@ int ossl_quic_tserver_has_read_ended(QUIC_TSERVER *srv, uint64_t stream_id)
int is_fin = 0;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL)
return 0;
@@ -338,21 +339,21 @@ int ossl_quic_tserver_has_read_ended(QUIC_TSERVER *srv, uint64_t stream_id)
* called since the FIN was received.
*/
if (!ossl_quic_rstream_peek(qs->rstream, buf, sizeof(buf),
- &bytes_read, &is_fin))
+ &bytes_read, &is_fin))
return 0;
if (is_fin && bytes_read == 0) {
/* If we have a FIN awaiting retirement and no data before it... */
/* Let RSTREAM know we've consumed this FIN. */
if (!ossl_quic_rstream_read(qs->rstream, buf, sizeof(buf),
- &bytes_read, &is_fin))
+ &bytes_read, &is_fin))
return 0;
assert(is_fin && bytes_read == 0);
assert(qs->recv_state == QUIC_RSTREAM_STATE_DATA_RECVD);
ossl_quic_stream_map_notify_totally_read(ossl_quic_channel_get_qsm(srv->ch),
- qs);
+ qs);
ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(srv->ch), qs);
return 1;
}
@@ -361,10 +362,10 @@ int ossl_quic_tserver_has_read_ended(QUIC_TSERVER *srv, uint64_t stream_id)
}
int ossl_quic_tserver_write(QUIC_TSERVER *srv,
- uint64_t stream_id,
- const unsigned char *buf,
- size_t buf_len,
- size_t *bytes_written)
+ uint64_t stream_id,
+ const unsigned char *buf,
+ size_t buf_len,
+ size_t *bytes_written)
{
QUIC_STREAM *qs;
@@ -372,12 +373,12 @@ int ossl_quic_tserver_write(QUIC_TSERVER *srv,
return 0;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL || !ossl_quic_stream_has_send_buffer(qs))
return 0;
if (!ossl_quic_sstream_append(qs->sstream,
- buf, buf_len, bytes_written))
+ buf, buf_len, bytes_written))
return 0;
if (*bytes_written > 0)
@@ -400,7 +401,7 @@ int ossl_quic_tserver_conclude(QUIC_TSERVER *srv, uint64_t stream_id)
return 0;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL || !ossl_quic_stream_has_send_buffer(qs))
return 0;
@@ -414,8 +415,8 @@ int ossl_quic_tserver_conclude(QUIC_TSERVER *srv, uint64_t stream_id)
}
int ossl_quic_tserver_stream_new(QUIC_TSERVER *srv,
- int is_uni,
- uint64_t *stream_id)
+ int is_uni,
+ uint64_t *stream_id)
{
QUIC_STREAM *qs;
@@ -440,13 +441,13 @@ SSL_CTX *ossl_quic_tserver_get0_ssl_ctx(QUIC_TSERVER *srv)
}
int ossl_quic_tserver_stream_has_peer_stop_sending(QUIC_TSERVER *srv,
- uint64_t stream_id,
- uint64_t *app_error_code)
+ uint64_t stream_id,
+ uint64_t *app_error_code)
{
QUIC_STREAM *qs;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL)
return 0;
@@ -457,13 +458,13 @@ int ossl_quic_tserver_stream_has_peer_stop_sending(QUIC_TSERVER *srv,
}
int ossl_quic_tserver_stream_has_peer_reset_stream(QUIC_TSERVER *srv,
- uint64_t stream_id,
- uint64_t *app_error_code)
+ uint64_t stream_id,
+ uint64_t *app_error_code)
{
QUIC_STREAM *qs;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL)
return 0;
@@ -474,7 +475,7 @@ int ossl_quic_tserver_stream_has_peer_reset_stream(QUIC_TSERVER *srv,
}
int ossl_quic_tserver_set_new_local_cid(QUIC_TSERVER *srv,
- const QUIC_CONN_ID *conn_id)
+ const QUIC_CONN_ID *conn_id)
{
/* Replace existing local connection ID in the QUIC_CHANNEL */
return ossl_quic_channel_replace_local_cid(srv->ch, conn_id);
@@ -494,12 +495,12 @@ uint64_t ossl_quic_tserver_pop_incoming_stream(QUIC_TSERVER *srv)
}
int ossl_quic_tserver_is_stream_totally_acked(QUIC_TSERVER *srv,
- uint64_t stream_id)
+ uint64_t stream_id)
{
QUIC_STREAM *qs;
qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch),
- stream_id);
+ stream_id);
if (qs == NULL)
return 1;
@@ -509,19 +510,19 @@ int ossl_quic_tserver_is_stream_totally_acked(QUIC_TSERVER *srv,
int ossl_quic_tserver_get_net_read_desired(QUIC_TSERVER *srv)
{
return ossl_quic_reactor_net_read_desired(
- ossl_quic_channel_get_reactor(srv->ch));
+ ossl_quic_channel_get_reactor(srv->ch));
}
int ossl_quic_tserver_get_net_write_desired(QUIC_TSERVER *srv)
{
return ossl_quic_reactor_net_write_desired(
- ossl_quic_channel_get_reactor(srv->ch));
+ ossl_quic_channel_get_reactor(srv->ch));
}
OSSL_TIME ossl_quic_tserver_get_deadline(QUIC_TSERVER *srv)
{
return ossl_quic_reactor_get_tick_deadline(
- ossl_quic_channel_get_reactor(srv->ch));
+ ossl_quic_channel_get_reactor(srv->ch));
}
int ossl_quic_tserver_shutdown(QUIC_TSERVER *srv, uint64_t app_error_code)
@@ -554,11 +555,11 @@ QUIC_CHANNEL *ossl_quic_tserver_get_channel(QUIC_TSERVER *srv)
}
void ossl_quic_tserver_set_msg_callback(QUIC_TSERVER *srv,
- void (*f)(int write_p, int version,
- int content_type,
- const void *buf, size_t len,
- SSL *ssl, void *arg),
- void *arg)
+ void (*f)(int write_p, int version,
+ int content_type,
+ const void *buf, size_t len,
+ SSL *ssl, void *arg),
+ void *arg)
{
ossl_quic_channel_set_msg_callback(srv->ch, f, srv->ssl);
ossl_quic_channel_set_msg_callback_arg(srv->ch, arg);
@@ -572,13 +573,13 @@ int ossl_quic_tserver_new_ticket(QUIC_TSERVER *srv)
}
int ossl_quic_tserver_set_max_early_data(QUIC_TSERVER *srv,
- uint32_t max_early_data)
+ uint32_t max_early_data)
{
return SSL_set_max_early_data(srv->tls, max_early_data);
}
void ossl_quic_tserver_set_psk_find_session_cb(QUIC_TSERVER *srv,
- SSL_psk_find_session_cb_func cb)
+ SSL_psk_find_session_cb_func cb)
{
SSL_set_psk_find_session_callback(srv->tls, cb);
}
diff --git a/crypto/openssl/ssl/quic/quic_txp.c b/crypto/openssl/ssl/quic/quic_txp.c
index 10d842bce0bf..44aaad868d2f 100644
--- a/crypto/openssl/ssl/quic/quic_txp.c
+++ b/crypto/openssl/ssl/quic/quic_txp.c
@@ -14,15 +14,15 @@
#include "internal/common.h"
#include <openssl/err.h>
-#define MIN_CRYPTO_HDR_SIZE 3
+#define MIN_CRYPTO_HDR_SIZE 3
-#define MIN_FRAME_SIZE_HANDSHAKE_DONE 1
-#define MIN_FRAME_SIZE_MAX_DATA 2
-#define MIN_FRAME_SIZE_ACK 5
-#define MIN_FRAME_SIZE_CRYPTO (MIN_CRYPTO_HDR_SIZE + 1)
-#define MIN_FRAME_SIZE_STREAM 3 /* minimum useful size (for non-FIN) */
+#define MIN_FRAME_SIZE_HANDSHAKE_DONE 1
+#define MIN_FRAME_SIZE_MAX_DATA 2
+#define MIN_FRAME_SIZE_ACK 5
+#define MIN_FRAME_SIZE_CRYPTO (MIN_CRYPTO_HDR_SIZE + 1)
+#define MIN_FRAME_SIZE_STREAM 3 /* minimum useful size (for non-FIN) */
#define MIN_FRAME_SIZE_MAX_STREAMS_BIDI 2
-#define MIN_FRAME_SIZE_MAX_STREAMS_UNI 2
+#define MIN_FRAME_SIZE_MAX_STREAMS_UNI 2
/*
* Packet Archetypes
@@ -30,23 +30,23 @@
*/
/* Generate normal packets containing most frame types, subject to EL. */
-#define TX_PACKETISER_ARCHETYPE_NORMAL 0
+#define TX_PACKETISER_ARCHETYPE_NORMAL 0
/*
* A probe packet is different in that:
* - It bypasses CC, but *is* counted as in flight for purposes of CC;
* - It must be ACK-eliciting.
*/
-#define TX_PACKETISER_ARCHETYPE_PROBE 1
+#define TX_PACKETISER_ARCHETYPE_PROBE 1
/*
* An ACK-only packet is different in that:
* - It bypasses CC, and is considered a 'non-inflight' packet;
* - It may not contain anything other than an ACK frame, not even padding.
*/
-#define TX_PACKETISER_ARCHETYPE_ACK_ONLY 2
+#define TX_PACKETISER_ARCHETYPE_ACK_ONLY 2
-#define TX_PACKETISER_ARCHETYPE_NUM 3
+#define TX_PACKETISER_ARCHETYPE_NUM 3
struct ossl_quic_tx_packetiser_st {
OSSL_QUIC_TX_PACKETISER_ARGS args;
@@ -55,55 +55,55 @@ struct ossl_quic_tx_packetiser_st {
* Opaque initial token blob provided by caller. TXP frees using the
* callback when it is no longer needed.
*/
- const unsigned char *initial_token;
- size_t initial_token_len;
+ const unsigned char *initial_token;
+ size_t initial_token_len;
ossl_quic_initial_token_free_fn *initial_token_free_cb;
- void *initial_token_free_cb_arg;
+ void *initial_token_free_cb_arg;
/* Subcomponents of the TXP that we own. */
- QUIC_FIFD fifd; /* QUIC Frame-in-Flight Dispatcher */
+ QUIC_FIFD fifd; /* QUIC Frame-in-Flight Dispatcher */
/* Internal state. */
- uint64_t next_pn[QUIC_PN_SPACE_NUM]; /* Next PN to use in given PN space. */
- OSSL_TIME last_tx_time; /* Last time a packet was generated, or 0. */
+ uint64_t next_pn[QUIC_PN_SPACE_NUM]; /* Next PN to use in given PN space. */
+ OSSL_TIME last_tx_time; /* Last time a packet was generated, or 0. */
- size_t unvalidated_credit; /* Limit of data we can send until validated */
+ size_t unvalidated_credit; /* Limit of data we can send until validated */
/* Internal state - frame (re)generation flags. */
- unsigned int want_handshake_done : 1;
- unsigned int want_max_data : 1;
- unsigned int want_max_streams_bidi : 1;
- unsigned int want_max_streams_uni : 1;
+ unsigned int want_handshake_done : 1;
+ unsigned int want_max_data : 1;
+ unsigned int want_max_streams_bidi : 1;
+ unsigned int want_max_streams_uni : 1;
/* Internal state - frame (re)generation flags - per PN space. */
- unsigned int want_ack : QUIC_PN_SPACE_NUM;
- unsigned int force_ack_eliciting : QUIC_PN_SPACE_NUM;
+ unsigned int want_ack : QUIC_PN_SPACE_NUM;
+ unsigned int force_ack_eliciting : QUIC_PN_SPACE_NUM;
/*
* Internal state - connection close terminal state.
* Once this is set, it is not unset unlike other want_ flags - we keep
* sending it in every packet.
*/
- unsigned int want_conn_close : 1;
+ unsigned int want_conn_close : 1;
/* Has the handshake been completed? */
- unsigned int handshake_complete : 1;
+ unsigned int handshake_complete : 1;
- OSSL_QUIC_FRAME_CONN_CLOSE conn_close_frame;
+ OSSL_QUIC_FRAME_CONN_CLOSE conn_close_frame;
/*
* Counts of the number of bytes received and sent while in the closing
* state.
*/
- uint64_t closing_bytes_recv;
- uint64_t closing_bytes_xmit;
+ uint64_t closing_bytes_recv;
+ uint64_t closing_bytes_xmit;
/* Internal state - packet assembly. */
struct txp_el {
- unsigned char *scratch; /* scratch buffer for packet assembly */
- size_t scratch_len; /* number of bytes allocated for scratch */
- OSSL_QTX_IOVEC *iovec; /* scratch iovec array for use with QTX */
- size_t alloc_iovec; /* size of iovec array */
+ unsigned char *scratch; /* scratch buffer for packet assembly */
+ size_t scratch_len; /* number of bytes allocated for scratch */
+ OSSL_QTX_IOVEC *iovec; /* scratch iovec array for use with QTX */
+ size_t alloc_iovec; /* size of iovec array */
} el[QUIC_ENC_LEVEL_NUM];
/* Message callback related arguments */
@@ -112,10 +112,10 @@ struct ossl_quic_tx_packetiser_st {
SSL *msg_callback_ssl;
/* Callbacks. */
- void (*ack_tx_cb)(const OSSL_QUIC_FRAME_ACK *ack,
- uint32_t pn_space,
- void *arg);
- void *ack_tx_cb_arg;
+ void (*ack_tx_cb)(const OSSL_QUIC_FRAME_ACK *ack,
+ uint32_t pn_space,
+ void *arg);
+ void *ack_tx_cb_arg;
};
/*
@@ -176,9 +176,9 @@ struct tx_helper {
* The fields in this structure are valid if active is set, which means
* that a serialization transaction is currently in progress.
*/
- unsigned char *data;
- WPACKET wpkt;
- unsigned int active : 1;
+ unsigned char *data;
+ WPACKET wpkt;
+ unsigned int active : 1;
} txn;
};
@@ -187,22 +187,22 @@ static int txp_el_ensure_iovec(struct txp_el *el, size_t num);
/* Initialises the TX helper. */
static int tx_helper_init(struct tx_helper *h, OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t enc_level, size_t max_ppl, size_t reserve)
+ uint32_t enc_level, size_t max_ppl, size_t reserve)
{
if (reserve > max_ppl)
return 0;
- h->txp = txp;
- h->enc_level = enc_level;
- h->max_ppl = max_ppl;
- h->reserve = reserve;
- h->num_iovec = 0;
- h->bytes_appended = 0;
- h->scratch_bytes = 0;
- h->reserve_allowed = 0;
- h->done_implicit = 0;
- h->txn.data = NULL;
- h->txn.active = 0;
+ h->txp = txp;
+ h->enc_level = enc_level;
+ h->max_ppl = max_ppl;
+ h->reserve = reserve;
+ h->num_iovec = 0;
+ h->bytes_appended = 0;
+ h->scratch_bytes = 0;
+ h->reserve_allowed = 0;
+ h->done_implicit = 0;
+ h->txn.data = NULL;
+ h->txn.active = 0;
if (max_ppl > h->txp->el[enc_level].scratch_len) {
unsigned char *scratch;
@@ -211,7 +211,7 @@ static int tx_helper_init(struct tx_helper *h, OSSL_QUIC_TX_PACKETISER *txp,
if (scratch == NULL)
return 0;
- h->txp->el[enc_level].scratch = scratch;
+ h->txp->el[enc_level].scratch = scratch;
h->txp->el[enc_level].scratch_len = max_ppl;
}
@@ -246,8 +246,8 @@ static void tx_helper_unrestrict(struct tx_helper *h)
*
*/
static int tx_helper_append_iovec(struct tx_helper *h,
- const unsigned char *buf,
- size_t buf_len)
+ const unsigned char *buf,
+ size_t buf_len)
{
struct txp_el *el = &h->txp->el[h->enc_level];
@@ -260,7 +260,7 @@ static int tx_helper_append_iovec(struct tx_helper *h,
if (!txp_el_ensure_iovec(el, h->num_iovec + 1))
return 0;
- el->iovec[h->num_iovec].buf = buf;
+ el->iovec[h->num_iovec].buf = buf;
el->iovec[h->num_iovec].buf_len = buf_len;
++h->num_iovec;
@@ -297,7 +297,7 @@ static WPACKET *tx_helper_begin(struct tx_helper *h)
return NULL;
data = (unsigned char *)el->scratch + h->scratch_bytes;
- len = el->scratch_len - h->scratch_bytes;
+ len = el->scratch_len - h->scratch_bytes;
space_left = tx_helper_get_space_left(h);
if (!ossl_assert(space_left <= len))
@@ -311,8 +311,8 @@ static WPACKET *tx_helper_begin(struct tx_helper *h)
return NULL;
}
- h->txn.data = data;
- h->txn.active = 1;
+ h->txn.data = data;
+ h->txn.active = 1;
return &h->txn.wpkt;
}
@@ -323,8 +323,8 @@ static void tx_helper_end(struct tx_helper *h, int success)
else
WPACKET_cleanup(&h->txn.wpkt);
- h->txn.active = 0;
- h->txn.data = NULL;
+ h->txn.active = 0;
+ h->txn.data = NULL;
}
/* Abort a control frame serialization transaction. */
@@ -360,7 +360,7 @@ static int tx_helper_commit(struct tx_helper *h)
PACKET pkt;
if (!PACKET_buf_init(&pkt, h->txn.data, l)
- || !ossl_quic_wire_peek_frame_header(&pkt, &ftype, NULL)) {
+ || !ossl_quic_wire_peek_frame_header(&pkt, &ftype, NULL)) {
tx_helper_end(h, 0);
return 0;
}
@@ -368,12 +368,12 @@ static int tx_helper_commit(struct tx_helper *h)
if (ftype == OSSL_QUIC_FRAME_TYPE_PADDING)
ctype = SSL3_RT_QUIC_FRAME_PADDING;
else if (OSSL_QUIC_FRAME_TYPE_IS_STREAM(ftype)
- || ftype == OSSL_QUIC_FRAME_TYPE_CRYPTO)
+ || ftype == OSSL_QUIC_FRAME_TYPE_CRYPTO)
ctype = SSL3_RT_QUIC_FRAME_HEADER;
h->txp->msg_callback(1, OSSL_QUIC1_VERSION, ctype, h->txn.data, l,
- h->txp->msg_callback_ssl,
- h->txp->msg_callback_arg);
+ h->txp->msg_callback_ssl,
+ h->txp->msg_callback_arg);
}
h->scratch_bytes += l;
@@ -382,76 +382,76 @@ static int tx_helper_commit(struct tx_helper *h)
}
struct archetype_data {
- unsigned int allow_ack : 1;
- unsigned int allow_ping : 1;
- unsigned int allow_crypto : 1;
- unsigned int allow_handshake_done : 1;
- unsigned int allow_path_challenge : 1;
- unsigned int allow_path_response : 1;
- unsigned int allow_new_conn_id : 1;
- unsigned int allow_retire_conn_id : 1;
- unsigned int allow_stream_rel : 1;
- unsigned int allow_conn_fc : 1;
- unsigned int allow_conn_close : 1;
- unsigned int allow_cfq_other : 1;
- unsigned int allow_new_token : 1;
- unsigned int allow_force_ack_eliciting : 1;
- unsigned int allow_padding : 1;
- unsigned int require_ack_eliciting : 1;
- unsigned int bypass_cc : 1;
+ unsigned int allow_ack : 1;
+ unsigned int allow_ping : 1;
+ unsigned int allow_crypto : 1;
+ unsigned int allow_handshake_done : 1;
+ unsigned int allow_path_challenge : 1;
+ unsigned int allow_path_response : 1;
+ unsigned int allow_new_conn_id : 1;
+ unsigned int allow_retire_conn_id : 1;
+ unsigned int allow_stream_rel : 1;
+ unsigned int allow_conn_fc : 1;
+ unsigned int allow_conn_close : 1;
+ unsigned int allow_cfq_other : 1;
+ unsigned int allow_new_token : 1;
+ unsigned int allow_force_ack_eliciting : 1;
+ unsigned int allow_padding : 1;
+ unsigned int require_ack_eliciting : 1;
+ unsigned int bypass_cc : 1;
};
struct txp_pkt_geom {
- size_t cmpl, cmppl, hwm, pkt_overhead;
- uint32_t archetype;
- struct archetype_data adata;
+ size_t cmpl, cmppl, hwm, pkt_overhead;
+ uint32_t archetype;
+ struct archetype_data adata;
};
struct txp_pkt {
- struct tx_helper h;
- int h_valid;
- QUIC_TXPIM_PKT *tpkt;
- QUIC_STREAM *stream_head;
- QUIC_PKT_HDR phdr;
+ struct tx_helper h;
+ int h_valid;
+ QUIC_TXPIM_PKT *tpkt;
+ QUIC_STREAM *stream_head;
+ QUIC_PKT_HDR phdr;
struct txp_pkt_geom geom;
- int force_pad;
+ int force_pad;
};
static QUIC_SSTREAM *get_sstream_by_id(uint64_t stream_id, uint32_t pn_space,
- void *arg);
+ void *arg);
static void on_regen_notify(uint64_t frame_type, uint64_t stream_id,
- QUIC_TXPIM_PKT *pkt, void *arg);
+ QUIC_TXPIM_PKT *pkt, void *arg);
static void on_confirm_notify(uint64_t frame_type, uint64_t stream_id,
- QUIC_TXPIM_PKT *pkt, void *arg);
+ QUIC_TXPIM_PKT *pkt, void *arg);
static void on_sstream_updated(uint64_t stream_id, void *arg);
static int sstream_is_pending(QUIC_SSTREAM *sstream);
static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t enc_level,
- uint32_t archetype,
- uint64_t cc_limit,
- uint32_t *conn_close_enc_level);
+ uint32_t enc_level,
+ uint32_t archetype,
+ uint64_t cc_limit,
+ uint32_t *conn_close_enc_level);
static size_t txp_determine_pn_len(OSSL_QUIC_TX_PACKETISER *txp);
static int txp_determine_ppl_from_pl(OSSL_QUIC_TX_PACKETISER *txp,
- size_t pl,
- uint32_t enc_level,
- size_t hdr_len,
- size_t *r);
+ size_t pl,
+ uint32_t enc_level,
+ size_t hdr_len,
+ size_t *r);
static size_t txp_get_mdpl(OSSL_QUIC_TX_PACKETISER *txp);
static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- int chosen_for_conn_close);
+ struct txp_pkt *pkt,
+ int chosen_for_conn_close);
static int txp_pkt_init(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t enc_level, uint32_t archetype,
- size_t running_total);
+ uint32_t enc_level, uint32_t archetype,
+ size_t running_total);
static void txp_pkt_cleanup(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp);
static int txp_pkt_postgen_update_pkt_overhead(struct txp_pkt *pkt,
- OSSL_QUIC_TX_PACKETISER *txp);
+ OSSL_QUIC_TX_PACKETISER *txp);
static int txp_pkt_append_padding(struct txp_pkt *pkt,
- OSSL_QUIC_TX_PACKETISER *txp, size_t num_bytes);
+ OSSL_QUIC_TX_PACKETISER *txp, size_t num_bytes);
static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp, struct txp_pkt *pkt,
- uint32_t archetype, int *txpim_pkt_reffed);
+ uint32_t archetype, int *txpim_pkt_reffed);
static uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp,
- uint64_t cc_limit);
+ uint64_t cc_limit);
/**
* Sets the validated state of a QUIC TX packetiser.
@@ -482,7 +482,7 @@ void ossl_quic_tx_packetiser_set_validated(OSSL_QUIC_TX_PACKETISER *txp)
* @param credit The amount of credit to add, multiplied by 3.
*/
void ossl_quic_tx_packetiser_add_unvalidated_credit(OSSL_QUIC_TX_PACKETISER *txp,
- size_t credit)
+ size_t credit)
{
if (txp->unvalidated_credit != SIZE_MAX) {
if ((SIZE_MAX - txp->unvalidated_credit) > (credit * 3))
@@ -506,7 +506,7 @@ void ossl_quic_tx_packetiser_add_unvalidated_credit(OSSL_QUIC_TX_PACKETISER *txp
* @param credit The amount of credit to consume.
*/
void ossl_quic_tx_packetiser_consume_unvalidated_credit(OSSL_QUIC_TX_PACKETISER *txp,
- size_t credit)
+ size_t credit)
{
if (txp->unvalidated_credit != SIZE_MAX) {
if (txp->unvalidated_credit < credit)
@@ -530,7 +530,7 @@ void ossl_quic_tx_packetiser_consume_unvalidated_credit(OSSL_QUIC_TX_PACKETISER
* @return 1 if the unvalidated credit exceeds `req_credit`, 0 otherwise.
*/
int ossl_quic_tx_packetiser_check_unvalidated_credit(OSSL_QUIC_TX_PACKETISER *txp,
- size_t req_credit)
+ size_t req_credit)
{
return (txp->unvalidated_credit > req_credit);
}
@@ -558,17 +558,17 @@ OSSL_QUIC_TX_PACKETISER *ossl_quic_tx_packetiser_new(const OSSL_QUIC_TX_PACKETIS
if (txp == NULL)
return NULL;
- txp->args = *args;
- txp->last_tx_time = ossl_time_zero();
+ txp->args = *args;
+ txp->last_tx_time = ossl_time_zero();
if (!ossl_quic_fifd_init(&txp->fifd,
- txp->args.cfq, txp->args.ackm, txp->args.txpim,
- get_sstream_by_id, txp,
- on_regen_notify, txp,
- on_confirm_notify, txp,
- on_sstream_updated, txp,
- args->get_qlog_cb,
- args->get_qlog_cb_arg)) {
+ txp->args.cfq, txp->args.ackm, txp->args.txpim,
+ get_sstream_by_id, txp,
+ on_regen_notify, txp,
+ on_confirm_notify, txp,
+ on_sstream_updated, txp,
+ args->get_qlog_cb,
+ args->get_qlog_cb_arg)) {
OPENSSL_free(txp);
return NULL;
}
@@ -588,8 +588,8 @@ void ossl_quic_tx_packetiser_free(OSSL_QUIC_TX_PACKETISER *txp)
OPENSSL_free(txp->conn_close_frame.reason);
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level) {
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level) {
OPENSSL_free(txp->el[enc_level].iovec);
OPENSSL_free(txp->el[enc_level].scratch);
}
@@ -625,7 +625,7 @@ void ossl_quic_tx_packetiser_free(OSSL_QUIC_TX_PACKETISER *txp)
* estimation of the minimum we would require to guarantee forward progress
* under worst case packet overheads.
*/
-#define TXP_REQUIRED_TOKEN_MARGIN 160
+#define TXP_REQUIRED_TOKEN_MARGIN 160
static int txp_check_token_len(size_t token_len, size_t mdpl)
{
@@ -646,34 +646,34 @@ static int txp_check_token_len(size_t token_len, size_t mdpl)
}
int ossl_quic_tx_packetiser_set_initial_token(OSSL_QUIC_TX_PACKETISER *txp,
- const unsigned char *token,
- size_t token_len,
- ossl_quic_initial_token_free_fn *free_cb,
- void *free_cb_arg)
+ const unsigned char *token,
+ size_t token_len,
+ ossl_quic_initial_token_free_fn *free_cb,
+ void *free_cb_arg)
{
if (!txp_check_token_len(token_len, txp_get_mdpl(txp)))
return 0;
if (txp->initial_token != NULL && txp->initial_token_free_cb != NULL)
txp->initial_token_free_cb(txp->initial_token, txp->initial_token_len,
- txp->initial_token_free_cb_arg);
+ txp->initial_token_free_cb_arg);
- txp->initial_token = token;
- txp->initial_token_len = token_len;
- txp->initial_token_free_cb = free_cb;
- txp->initial_token_free_cb_arg = free_cb_arg;
+ txp->initial_token = token;
+ txp->initial_token_len = token_len;
+ txp->initial_token_free_cb = free_cb;
+ txp->initial_token_free_cb_arg = free_cb_arg;
return 1;
}
int ossl_quic_tx_packetiser_set_protocol_version(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t protocol_version)
+ uint32_t protocol_version)
{
txp->args.protocol_version = protocol_version;
return 1;
}
int ossl_quic_tx_packetiser_set_cur_dcid(OSSL_QUIC_TX_PACKETISER *txp,
- const QUIC_CONN_ID *dcid)
+ const QUIC_CONN_ID *dcid)
{
if (dcid == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
@@ -685,7 +685,7 @@ int ossl_quic_tx_packetiser_set_cur_dcid(OSSL_QUIC_TX_PACKETISER *txp,
}
int ossl_quic_tx_packetiser_set_cur_scid(OSSL_QUIC_TX_PACKETISER *txp,
- const QUIC_CONN_ID *scid)
+ const QUIC_CONN_ID *scid)
{
if (scid == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
@@ -698,7 +698,7 @@ int ossl_quic_tx_packetiser_set_cur_scid(OSSL_QUIC_TX_PACKETISER *txp,
/* Change the destination L4 address the TXP uses to send datagrams. */
int ossl_quic_tx_packetiser_set_peer(OSSL_QUIC_TX_PACKETISER *txp,
- const BIO_ADDR *peer)
+ const BIO_ADDR *peer)
{
if (peer == NULL) {
BIO_ADDR_clear(&txp->args.peer);
@@ -709,25 +709,24 @@ int ossl_quic_tx_packetiser_set_peer(OSSL_QUIC_TX_PACKETISER *txp,
}
void ossl_quic_tx_packetiser_set_ack_tx_cb(OSSL_QUIC_TX_PACKETISER *txp,
- void (*cb)(const OSSL_QUIC_FRAME_ACK *ack,
- uint32_t pn_space,
- void *arg),
- void *cb_arg)
+ void (*cb)(const OSSL_QUIC_FRAME_ACK *ack,
+ uint32_t pn_space,
+ void *arg),
+ void *cb_arg)
{
- txp->ack_tx_cb = cb;
- txp->ack_tx_cb_arg = cb_arg;
+ txp->ack_tx_cb = cb;
+ txp->ack_tx_cb_arg = cb_arg;
}
void ossl_quic_tx_packetiser_set_qlog_cb(OSSL_QUIC_TX_PACKETISER *txp,
- QLOG *(*get_qlog_cb)(void *arg),
- void *get_qlog_cb_arg)
+ QLOG *(*get_qlog_cb)(void *arg),
+ void *get_qlog_cb_arg)
{
ossl_quic_fifd_set_qlog_cb(&txp->fifd, get_qlog_cb, get_qlog_cb_arg);
-
}
int ossl_quic_tx_packetiser_discard_enc_level(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t enc_level)
+ uint32_t enc_level)
{
if (enc_level >= QUIC_ENC_LEVEL_NUM) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
@@ -751,21 +750,21 @@ void ossl_quic_tx_packetiser_schedule_handshake_done(OSSL_QUIC_TX_PACKETISER *tx
}
void ossl_quic_tx_packetiser_schedule_ack_eliciting(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t pn_space)
+ uint32_t pn_space)
{
txp->force_ack_eliciting |= (1UL << pn_space);
}
void ossl_quic_tx_packetiser_schedule_ack(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t pn_space)
+ uint32_t pn_space)
{
txp->want_ack |= (1UL << pn_space);
}
-#define TXP_ERR_INTERNAL 0 /* Internal (e.g. alloc) error */
-#define TXP_ERR_SUCCESS 1 /* Success */
-#define TXP_ERR_SPACE 2 /* Not enough room for another packet */
-#define TXP_ERR_INPUT 3 /* Invalid/malformed input */
+#define TXP_ERR_INTERNAL 0 /* Internal (e.g. alloc) error */
+#define TXP_ERR_SUCCESS 1 /* Success */
+#define TXP_ERR_SPACE 2 /* Not enough room for another packet */
+#define TXP_ERR_INPUT 3 /* Invalid/malformed input */
/*
* Generates a datagram by polling the various ELs to determine if they want to
@@ -773,7 +772,7 @@ void ossl_quic_tx_packetiser_schedule_ack(OSSL_QUIC_TX_PACKETISER *txp,
* any ELs which do.
*/
int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
- QUIC_TXP_STATUS *status)
+ QUIC_TXP_STATUS *status)
{
/*
* Called to generate one or more datagrams, each containing one or more
@@ -866,11 +865,10 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
memset(status, 0, sizeof(*status));
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level)
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level)
pkt[enc_level].h_valid = 0;
-
/*
* Should not be needed, but a sanity check in case anyone else has been
* using the QTX.
@@ -882,19 +880,20 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
/* 2. Packet Staging */
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level) {
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level) {
size_t running_total = (enc_level > QUIC_ENC_LEVEL_INITIAL)
- ? pkt[enc_level - 1].geom.hwm : 0;
+ ? pkt[enc_level - 1].geom.hwm
+ : 0;
pkt[enc_level].geom.hwm = running_total;
if (!txp_should_try_staging(txp, enc_level, archetype, cc_limit,
- &conn_close_enc_level))
+ &conn_close_enc_level))
continue;
if (!txp_pkt_init(&pkt[enc_level], txp, enc_level, archetype,
- running_total))
+ running_total))
/*
* If this fails this is not a fatal error - it means the geometry
* planning determined there was not enough space for another
@@ -903,7 +902,7 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
break;
rc = txp_generate_for_el(txp, &pkt[enc_level],
- conn_close_enc_level == enc_level);
+ conn_close_enc_level == enc_level);
if (rc != TXP_ERR_SUCCESS)
goto out;
@@ -933,8 +932,8 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
uint32_t pad_el = QUIC_ENC_LEVEL_NUM;
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level)
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level)
if (pkt[enc_level].h_valid && pkt[enc_level].h.bytes_appended > 0) {
if (pad_el == QUIC_ENC_LEVEL_NUM
/*
@@ -980,8 +979,8 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
/* 4. Commit */
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level) {
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level) {
if (!pkt[enc_level].h_valid)
/* Did not attempt to generate a packet for this EL. */
@@ -992,14 +991,14 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
continue;
if (!ossl_quic_tx_packetiser_check_unvalidated_credit(txp,
- pkt[enc_level].h.bytes_appended)) {
+ pkt[enc_level].h.bytes_appended)) {
res = TXP_ERR_SPACE;
goto out;
}
ossl_quic_tx_packetiser_consume_unvalidated_credit(txp, pkt[enc_level].h.bytes_appended);
rc = txp_pkt_commit(txp, &pkt[enc_level], archetype,
- &txpim_pkt_reffed);
+ &txpim_pkt_reffed);
if (rc) {
status->sent_ack_eliciting
= status->sent_ack_eliciting
@@ -1008,7 +1007,7 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
if (enc_level == QUIC_ENC_LEVEL_HANDSHAKE)
status->sent_handshake
= (pkt[enc_level].h_valid
- && pkt[enc_level].h.bytes_appended > 0);
+ && pkt[enc_level].h.bytes_appended > 0);
}
if (txpim_pkt_reffed)
@@ -1018,7 +1017,6 @@ int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,
goto out;
++pkts_done;
-
}
/* Flush & Cleanup */
@@ -1027,8 +1025,8 @@ out:
ossl_qtx_finish_dgram(txp->args.qtx);
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level)
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level)
txp_pkt_cleanup(&pkt[enc_level], txp);
status->sent_pkt = pkts_done;
@@ -1041,259 +1039,258 @@ static const struct archetype_data archetypes[QUIC_ENC_LEVEL_NUM][TX_PACKETISER_
{
/* EL 0(INITIAL) - Archetype 0(NORMAL) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 1,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 0,
+ /*allow_ack =*/1,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/1,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/0,
},
/* EL 0(INITIAL) - Archetype 1(PROBE) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 1,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 1,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/1,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/1,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/1,
+ /*bypass_cc =*/1,
},
/* EL 0(INITIAL) - Archetype 2(ACK_ONLY) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 0,
- /*allow_crypto =*/ 0,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 0,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 0,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/1,
+ /*allow_ping =*/0,
+ /*allow_crypto =*/0,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/0,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/0,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/1,
},
},
/* EL 1(0RTT) */
{
/* EL 1(0RTT) - Archetype 0(NORMAL) */
{
- /*allow_ack =*/ 0,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 0,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 1,
- /*allow_retire_conn_id =*/ 1,
- /*allow_stream_rel =*/ 1,
- /*allow_conn_fc =*/ 1,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 0,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 0,
+ /*allow_ack =*/0,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/0,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/1,
+ /*allow_retire_conn_id =*/1,
+ /*allow_stream_rel =*/1,
+ /*allow_conn_fc =*/1,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/0,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/0,
},
/* EL 1(0RTT) - Archetype 1(PROBE) */
{
- /*allow_ack =*/ 0,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 0,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 1,
- /*allow_retire_conn_id =*/ 1,
- /*allow_stream_rel =*/ 1,
- /*allow_conn_fc =*/ 1,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 0,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 1,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/0,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/0,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/1,
+ /*allow_retire_conn_id =*/1,
+ /*allow_stream_rel =*/1,
+ /*allow_conn_fc =*/1,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/0,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/1,
+ /*bypass_cc =*/1,
},
/* EL 1(0RTT) - Archetype 2(ACK_ONLY) */
{
- /*allow_ack =*/ 0,
- /*allow_ping =*/ 0,
- /*allow_crypto =*/ 0,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 0,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 0,
- /*allow_padding =*/ 0,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/0,
+ /*allow_ping =*/0,
+ /*allow_crypto =*/0,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/0,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/0,
+ /*allow_padding =*/0,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/1,
},
},
/* EL (HANDSHAKE) */
{
/* EL 2(HANDSHAKE) - Archetype 0(NORMAL) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 1,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 0,
+ /*allow_ack =*/1,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/1,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/0,
},
/* EL 2(HANDSHAKE) - Archetype 1(PROBE) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 1,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 1,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/1,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/1,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/1,
+ /*bypass_cc =*/1,
},
/* EL 2(HANDSHAKE) - Archetype 2(ACK_ONLY) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 0,
- /*allow_crypto =*/ 0,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 0,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 0,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/1,
+ /*allow_ping =*/0,
+ /*allow_crypto =*/0,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/0,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/0,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/1,
},
},
/* EL 3(1RTT) */
{
/* EL 3(1RTT) - Archetype 0(NORMAL) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 1,
- /*allow_handshake_done =*/ 1,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 1,
- /*allow_new_conn_id =*/ 1,
- /*allow_retire_conn_id =*/ 1,
- /*allow_stream_rel =*/ 1,
- /*allow_conn_fc =*/ 1,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 1,
- /*allow_new_token =*/ 1,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 0,
+ /*allow_ack =*/1,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/1,
+ /*allow_handshake_done =*/1,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/1,
+ /*allow_new_conn_id =*/1,
+ /*allow_retire_conn_id =*/1,
+ /*allow_stream_rel =*/1,
+ /*allow_conn_fc =*/1,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/1,
+ /*allow_new_token =*/1,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/0,
},
/* EL 3(1RTT) - Archetype 1(PROBE) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 1,
- /*allow_crypto =*/ 1,
- /*allow_handshake_done =*/ 1,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 1,
- /*allow_new_conn_id =*/ 1,
- /*allow_retire_conn_id =*/ 1,
- /*allow_stream_rel =*/ 1,
- /*allow_conn_fc =*/ 1,
- /*allow_conn_close =*/ 1,
- /*allow_cfq_other =*/ 1,
- /*allow_new_token =*/ 1,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 1,
- /*require_ack_eliciting =*/ 1,
- /*bypass_cc =*/ 1,
+ /*allow_ack =*/1,
+ /*allow_ping =*/1,
+ /*allow_crypto =*/1,
+ /*allow_handshake_done =*/1,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/1,
+ /*allow_new_conn_id =*/1,
+ /*allow_retire_conn_id =*/1,
+ /*allow_stream_rel =*/1,
+ /*allow_conn_fc =*/1,
+ /*allow_conn_close =*/1,
+ /*allow_cfq_other =*/1,
+ /*allow_new_token =*/1,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/1,
+ /*require_ack_eliciting =*/1,
+ /*bypass_cc =*/1,
},
/* EL 3(1RTT) - Archetype 2(ACK_ONLY) */
{
- /*allow_ack =*/ 1,
- /*allow_ping =*/ 0,
- /*allow_crypto =*/ 0,
- /*allow_handshake_done =*/ 0,
- /*allow_path_challenge =*/ 0,
- /*allow_path_response =*/ 0,
- /*allow_new_conn_id =*/ 0,
- /*allow_retire_conn_id =*/ 0,
- /*allow_stream_rel =*/ 0,
- /*allow_conn_fc =*/ 0,
- /*allow_conn_close =*/ 0,
- /*allow_cfq_other =*/ 0,
- /*allow_new_token =*/ 0,
- /*allow_force_ack_eliciting =*/ 1,
- /*allow_padding =*/ 0,
- /*require_ack_eliciting =*/ 0,
- /*bypass_cc =*/ 1,
- }
- }
+ /*allow_ack =*/1,
+ /*allow_ping =*/0,
+ /*allow_crypto =*/0,
+ /*allow_handshake_done =*/0,
+ /*allow_path_challenge =*/0,
+ /*allow_path_response =*/0,
+ /*allow_new_conn_id =*/0,
+ /*allow_retire_conn_id =*/0,
+ /*allow_stream_rel =*/0,
+ /*allow_conn_fc =*/0,
+ /*allow_conn_close =*/0,
+ /*allow_cfq_other =*/0,
+ /*allow_new_token =*/0,
+ /*allow_force_ack_eliciting =*/1,
+ /*allow_padding =*/0,
+ /*require_ack_eliciting =*/0,
+ /*bypass_cc =*/1,
+ } }
};
static int txp_get_archetype_data(uint32_t enc_level,
- uint32_t archetype,
- struct archetype_data *a)
+ uint32_t archetype,
+ struct archetype_data *a)
{
if (enc_level >= QUIC_ENC_LEVEL_NUM
|| archetype >= TX_PACKETISER_ARCHETYPE_NUM)
@@ -1305,28 +1302,28 @@ static int txp_get_archetype_data(uint32_t enc_level,
}
static int txp_determine_geometry(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t archetype,
- uint32_t enc_level,
- size_t running_total,
- QUIC_PKT_HDR *phdr,
- struct txp_pkt_geom *geom)
+ uint32_t archetype,
+ uint32_t enc_level,
+ size_t running_total,
+ QUIC_PKT_HDR *phdr,
+ struct txp_pkt_geom *geom)
{
size_t mdpl, cmpl, hdr_len;
/* Get information about packet archetype. */
if (!txp_get_archetype_data(enc_level, archetype, &geom->adata))
- return 0;
+ return 0;
/* Assemble packet header. */
- phdr->type = ossl_quic_enc_level_to_pkt_type(enc_level);
- phdr->spin_bit = 0;
- phdr->pn_len = txp_determine_pn_len(txp);
- phdr->partial = 0;
- phdr->fixed = 1;
- phdr->reserved = 0;
- phdr->version = txp->args.protocol_version;
- phdr->dst_conn_id = txp->args.cur_dcid;
- phdr->src_conn_id = txp->args.cur_scid;
+ phdr->type = ossl_quic_enc_level_to_pkt_type(enc_level);
+ phdr->spin_bit = 0;
+ phdr->pn_len = txp_determine_pn_len(txp);
+ phdr->partial = 0;
+ phdr->fixed = 1;
+ phdr->reserved = 0;
+ phdr->version = txp->args.protocol_version;
+ phdr->dst_conn_id = txp->args.cur_dcid;
+ phdr->src_conn_id = txp->args.cur_scid;
/*
* We need to know the length of the payload to get an accurate header
@@ -1348,18 +1345,18 @@ static int txp_determine_geometry(OSSL_QUIC_TX_PACKETISER *txp,
* worry about this. Thus we estimate the header length assuming a 2-byte
* length field here, which should in practice work well in all cases.
*/
- phdr->len = OSSL_QUIC_VLINT_2B_MAX - phdr->pn_len;
+ phdr->len = OSSL_QUIC_VLINT_2B_MAX - phdr->pn_len;
if (enc_level == QUIC_ENC_LEVEL_INITIAL) {
- phdr->token = txp->initial_token;
+ phdr->token = txp->initial_token;
phdr->token_len = txp->initial_token_len;
} else {
- phdr->token = NULL;
+ phdr->token = NULL;
phdr->token_len = 0;
}
hdr_len = ossl_quic_wire_get_encoded_pkt_hdr_len(phdr->dst_conn_id.id_len,
- phdr);
+ phdr);
if (hdr_len == 0)
return 0;
@@ -1380,14 +1377,14 @@ static int txp_determine_geometry(OSSL_QUIC_TX_PACKETISER *txp,
if (!txp_determine_ppl_from_pl(txp, cmpl, enc_level, hdr_len, &geom->cmppl))
return 0;
- geom->cmpl = cmpl;
- geom->pkt_overhead = cmpl - geom->cmppl;
- geom->archetype = archetype;
+ geom->cmpl = cmpl;
+ geom->pkt_overhead = cmpl - geom->cmppl;
+ geom->archetype = archetype;
return 1;
}
static uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp,
- uint64_t cc_limit)
+ uint64_t cc_limit)
{
OSSL_ACKM_PROBE_INFO *probe_info
= ossl_ackm_get0_probe_request(txp->args.ackm);
@@ -1404,8 +1401,8 @@ static uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp,
return TX_PACKETISER_ARCHETYPE_PROBE;
for (pn_space = QUIC_PN_SPACE_INITIAL;
- pn_space < QUIC_PN_SPACE_NUM;
- ++pn_space)
+ pn_space < QUIC_PN_SPACE_NUM;
+ ++pn_space)
if (probe_info->pto[pn_space] > 0)
return TX_PACKETISER_ARCHETYPE_PROBE;
@@ -1422,10 +1419,10 @@ static uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp,
}
static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t enc_level,
- uint32_t archetype,
- uint64_t cc_limit,
- uint32_t *conn_close_enc_level)
+ uint32_t enc_level,
+ uint32_t archetype,
+ uint64_t cc_limit,
+ uint32_t *conn_close_enc_level)
{
struct archetype_data a;
uint32_t pn_space = ossl_quic_enc_level_to_pn_space(enc_level);
@@ -1481,7 +1478,7 @@ static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
= ossl_ackm_get0_probe_request(txp->args.ackm);
if ((enc_level == QUIC_ENC_LEVEL_INITIAL
- && probe_info->anti_deadlock_initial > 0)
+ && probe_info->anti_deadlock_initial > 0)
|| (enc_level == QUIC_ENC_LEVEL_HANDSHAKE
&& probe_info->anti_deadlock_handshake > 0)
|| probe_info->pto[pn_space] > 0)
@@ -1493,8 +1490,7 @@ static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
return 1;
/* Does the ACKM for this PN space want to produce anything? */
- if (a.allow_ack && (ossl_ackm_is_ack_desired(txp->args.ackm, pn_space)
- || (txp->want_ack & (1UL << pn_space)) != 0))
+ if (a.allow_ack && (ossl_ackm_is_ack_desired(txp->args.ackm, pn_space) || (txp->want_ack & (1UL << pn_space)) != 0))
return 1;
/* Do we need to force emission of an ACK-eliciting packet? */
@@ -1503,18 +1499,17 @@ static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
return 1;
/* Does the connection-level RXFC want to produce a frame? */
- if (a.allow_conn_fc && (txp->want_max_data
- || ossl_quic_rxfc_has_cwm_changed(txp->args.conn_rxfc, 0)))
+ if (a.allow_conn_fc && (txp->want_max_data || ossl_quic_rxfc_has_cwm_changed(txp->args.conn_rxfc, 0)))
return 1;
/* Do we want to produce a MAX_STREAMS frame? */
if (a.allow_conn_fc
&& (txp->want_max_streams_bidi
|| ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_bidi_rxfc,
- 0)
+ 0)
|| txp->want_max_streams_uni
|| ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_uni_rxfc,
- 0)))
+ 0)))
return 1;
/* Do we want to produce a HANDSHAKE_DONE frame? */
@@ -1522,8 +1517,7 @@ static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
return 1;
/* Do we want to produce a CONNECTION_CLOSE frame? */
- if (a.allow_conn_close && txp->want_conn_close &&
- *conn_close_enc_level == enc_level)
+ if (a.allow_conn_close && txp->want_conn_close && *conn_close_enc_level == enc_level)
/*
* This is a bit of a special case since CONNECTION_CLOSE can appear in
* most packet types, and when we decide we want to send it this status
@@ -1535,8 +1529,8 @@ static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
/* Does the CFQ have any frames queued for this PN space? */
if (enc_level != QUIC_ENC_LEVEL_0RTT)
for (cfq_item = ossl_quic_cfq_get_priority_head(txp->args.cfq, pn_space);
- cfq_item != NULL;
- cfq_item = ossl_quic_cfq_item_get_priority_next(cfq_item, pn_space)) {
+ cfq_item != NULL;
+ cfq_item = ossl_quic_cfq_item_get_priority_next(cfq_item, pn_space)) {
uint64_t frame_type = ossl_quic_cfq_item_get_frame_type(cfq_item);
switch (frame_type) {
@@ -1561,7 +1555,7 @@ static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
return 1;
break;
}
- }
+ }
if (a.allow_stream_rel && txp->handshake_complete) {
QUIC_STREAM_ITER it;
@@ -1600,10 +1594,10 @@ static size_t txp_determine_pn_len(OSSL_QUIC_TX_PACKETISER *txp)
/* Determine plaintext packet payload length from payload length. */
static int txp_determine_ppl_from_pl(OSSL_QUIC_TX_PACKETISER *txp,
- size_t pl,
- uint32_t enc_level,
- size_t hdr_len,
- size_t *r)
+ size_t pl,
+ uint32_t enc_level,
+ size_t hdr_len,
+ size_t *r)
{
if (pl < hdr_len)
return 0;
@@ -1611,7 +1605,7 @@ static int txp_determine_ppl_from_pl(OSSL_QUIC_TX_PACKETISER *txp,
pl -= hdr_len;
if (!ossl_qtx_calculate_plaintext_payload_len(txp->args.qtx, enc_level,
- pl, &pl))
+ pl, &pl))
return 0;
*r = pl;
@@ -1624,7 +1618,7 @@ static size_t txp_get_mdpl(OSSL_QUIC_TX_PACKETISER *txp)
}
static QUIC_SSTREAM *get_sstream_by_id(uint64_t stream_id, uint32_t pn_space,
- void *arg)
+ void *arg)
{
OSSL_QUIC_TX_PACKETISER *txp = arg;
QUIC_STREAM *s;
@@ -1640,70 +1634,64 @@ static QUIC_SSTREAM *get_sstream_by_id(uint64_t stream_id, uint32_t pn_space,
}
static void on_regen_notify(uint64_t frame_type, uint64_t stream_id,
- QUIC_TXPIM_PKT *pkt, void *arg)
+ QUIC_TXPIM_PKT *pkt, void *arg)
{
OSSL_QUIC_TX_PACKETISER *txp = arg;
switch (frame_type) {
- case OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE:
- txp->want_handshake_done = 1;
- break;
- case OSSL_QUIC_FRAME_TYPE_MAX_DATA:
- txp->want_max_data = 1;
- break;
- case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI:
- txp->want_max_streams_bidi = 1;
- break;
- case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI:
- txp->want_max_streams_uni = 1;
- break;
- case OSSL_QUIC_FRAME_TYPE_ACK_WITH_ECN:
- txp->want_ack |= (1UL << pkt->ackm_pkt.pkt_space);
- break;
- case OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA:
- {
- QUIC_STREAM *s
- = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
+ case OSSL_QUIC_FRAME_TYPE_HANDSHAKE_DONE:
+ txp->want_handshake_done = 1;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_MAX_DATA:
+ txp->want_max_data = 1;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI:
+ txp->want_max_streams_bidi = 1;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI:
+ txp->want_max_streams_uni = 1;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_ACK_WITH_ECN:
+ txp->want_ack |= (1UL << pkt->ackm_pkt.pkt_space);
+ break;
+ case OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA: {
+ QUIC_STREAM *s
+ = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
- if (s == NULL)
- return;
+ if (s == NULL)
+ return;
- s->want_max_stream_data = 1;
- ossl_quic_stream_map_update_state(txp->args.qsm, s);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_STOP_SENDING:
- {
- QUIC_STREAM *s
- = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
+ s->want_max_stream_data = 1;
+ ossl_quic_stream_map_update_state(txp->args.qsm, s);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_STOP_SENDING: {
+ QUIC_STREAM *s
+ = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
- if (s == NULL)
- return;
+ if (s == NULL)
+ return;
- ossl_quic_stream_map_schedule_stop_sending(txp->args.qsm, s);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_RESET_STREAM:
- {
- QUIC_STREAM *s
- = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
+ ossl_quic_stream_map_schedule_stop_sending(txp->args.qsm, s);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_RESET_STREAM: {
+ QUIC_STREAM *s
+ = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
- if (s == NULL)
- return;
+ if (s == NULL)
+ return;
- s->want_reset_stream = 1;
- ossl_quic_stream_map_update_state(txp->args.qsm, s);
- }
- break;
- default:
- assert(0);
- break;
+ s->want_reset_stream = 1;
+ ossl_quic_stream_map_update_state(txp->args.qsm, s);
+ } break;
+ default:
+ assert(0);
+ break;
}
}
static int txp_need_ping(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t pn_space,
- const struct archetype_data *adata)
+ uint32_t pn_space,
+ const struct archetype_data *adata)
{
return adata->allow_ping
&& (adata->require_ack_eliciting
@@ -1711,13 +1699,13 @@ static int txp_need_ping(OSSL_QUIC_TX_PACKETISER *txp,
}
static int txp_pkt_init(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t enc_level, uint32_t archetype,
- size_t running_total)
+ uint32_t enc_level, uint32_t archetype,
+ size_t running_total)
{
uint32_t pn_space = ossl_quic_enc_level_to_pn_space(enc_level);
if (!txp_determine_geometry(txp, archetype, enc_level,
- running_total, &pkt->phdr, &pkt->geom))
+ running_total, &pkt->phdr, &pkt->geom))
return 0;
/*
@@ -1725,14 +1713,14 @@ static int txp_pkt_init(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp,
* PING.
*/
if (!tx_helper_init(&pkt->h, txp, enc_level,
- pkt->geom.cmppl,
- txp_need_ping(txp, pn_space, &pkt->geom.adata) ? 1 : 0))
+ pkt->geom.cmppl,
+ txp_need_ping(txp, pn_space, &pkt->geom.adata) ? 1 : 0))
return 0;
- pkt->h_valid = 1;
- pkt->tpkt = NULL;
- pkt->stream_head = NULL;
- pkt->force_pad = 0;
+ pkt->h_valid = 1;
+ pkt->tpkt = NULL;
+ pkt->stream_head = NULL;
+ pkt->force_pad = 0;
return 1;
}
@@ -1751,7 +1739,7 @@ static void txp_pkt_cleanup(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp)
}
static int txp_pkt_postgen_update_pkt_overhead(struct txp_pkt *pkt,
- OSSL_QUIC_TX_PACKETISER *txp)
+ OSSL_QUIC_TX_PACKETISER *txp)
{
/*
* After we have staged and generated our packets, but before we commit
@@ -1779,61 +1767,57 @@ static int txp_pkt_postgen_update_pkt_overhead(struct txp_pkt *pkt,
return 1;
if (!ossl_qtx_calculate_ciphertext_payload_len(txp->args.qtx, pkt->h.enc_level,
- pkt->h.bytes_appended,
- &ciphertext_len))
+ pkt->h.bytes_appended,
+ &ciphertext_len))
return 0;
pkt->phdr.len = ciphertext_len;
hdr_len = ossl_quic_wire_get_encoded_pkt_hdr_len(pkt->phdr.dst_conn_id.id_len,
- &pkt->phdr);
+ &pkt->phdr);
pkt->geom.pkt_overhead = hdr_len + ciphertext_len - pkt->h.bytes_appended;
return 1;
}
static void on_confirm_notify(uint64_t frame_type, uint64_t stream_id,
- QUIC_TXPIM_PKT *pkt, void *arg)
+ QUIC_TXPIM_PKT *pkt, void *arg)
{
OSSL_QUIC_TX_PACKETISER *txp = arg;
switch (frame_type) {
- case OSSL_QUIC_FRAME_TYPE_STOP_SENDING:
- {
- QUIC_STREAM *s
- = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
+ case OSSL_QUIC_FRAME_TYPE_STOP_SENDING: {
+ QUIC_STREAM *s
+ = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
- if (s == NULL)
- return;
+ if (s == NULL)
+ return;
- s->acked_stop_sending = 1;
- ossl_quic_stream_map_update_state(txp->args.qsm, s);
- }
- break;
- case OSSL_QUIC_FRAME_TYPE_RESET_STREAM:
- {
- QUIC_STREAM *s
- = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
+ s->acked_stop_sending = 1;
+ ossl_quic_stream_map_update_state(txp->args.qsm, s);
+ } break;
+ case OSSL_QUIC_FRAME_TYPE_RESET_STREAM: {
+ QUIC_STREAM *s
+ = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id);
- if (s == NULL)
- return;
+ if (s == NULL)
+ return;
- /*
- * We must already be in RESET_SENT or RESET_RECVD if we are
- * here, so we don't need to check state here.
- */
- ossl_quic_stream_map_notify_reset_stream_acked(txp->args.qsm, s);
- ossl_quic_stream_map_update_state(txp->args.qsm, s);
- }
- break;
- default:
- assert(0);
- break;
+ /*
+ * We must already be in RESET_SENT or RESET_RECVD if we are
+ * here, so we don't need to check state here.
+ */
+ ossl_quic_stream_map_notify_reset_stream_acked(txp->args.qsm, s);
+ ossl_quic_stream_map_update_state(txp->args.qsm, s);
+ } break;
+ default:
+ assert(0);
+ break;
}
}
static int txp_pkt_append_padding(struct txp_pkt *pkt,
- OSSL_QUIC_TX_PACKETISER *txp, size_t num_bytes)
+ OSSL_QUIC_TX_PACKETISER *txp, size_t num_bytes)
{
WPACKET *wpkt;
@@ -1858,9 +1842,9 @@ static int txp_pkt_append_padding(struct txp_pkt *pkt,
if (!tx_helper_commit(&pkt->h))
return 0;
- pkt->tpkt->ackm_pkt.num_bytes += num_bytes;
+ pkt->tpkt->ackm_pkt.num_bytes += num_bytes;
/* Cannot be non-inflight if we have a PADDING frame */
- pkt->tpkt->ackm_pkt.is_inflight = 1;
+ pkt->tpkt->ackm_pkt.is_inflight = 1;
return 1;
}
@@ -1912,15 +1896,15 @@ static int try_commit_conn_close(OSSL_QUIC_TX_PACKETISER *txp, size_t n)
}
void ossl_quic_tx_packetiser_record_received_closing_bytes(
- OSSL_QUIC_TX_PACKETISER *txp, size_t n)
+ OSSL_QUIC_TX_PACKETISER *txp, size_t n)
{
txp->closing_bytes_recv += n;
}
static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- int chosen_for_conn_close,
- int *can_be_non_inflight)
+ struct txp_pkt *pkt,
+ int chosen_for_conn_close,
+ int *can_be_non_inflight)
{
const uint32_t enc_level = pkt->h.enc_level;
const uint32_t pn_space = ossl_quic_enc_level_to_pn_space(enc_level);
@@ -1948,8 +1932,8 @@ static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp,
ack2.ecn_present = 0;
if (ossl_quic_wire_encode_frame_ack(wpkt,
- txp->args.ack_delay_exponent,
- &ack2)) {
+ txp->args.ack_delay_exponent,
+ &ack2)) {
if (!tx_helper_commit(h))
return 0;
@@ -1992,16 +1976,16 @@ static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp,
*/
if (pn_space != QUIC_PN_SPACE_APP && pf->is_app) {
pf = &f;
- pf->is_app = 0;
- pf->frame_type = 0;
- pf->error_code = OSSL_QUIC_ERR_APPLICATION_ERROR;
- pf->reason = NULL;
- pf->reason_len = 0;
+ pf->is_app = 0;
+ pf->frame_type = 0;
+ pf->error_code = OSSL_QUIC_ERR_APPLICATION_ERROR;
+ pf->reason = NULL;
+ pf->reason_len = 0;
}
if (ossl_quic_wire_encode_frame_conn_close(wpkt, pf)
- && WPACKET_get_total_written(wpkt, &l)
- && try_commit_conn_close(txp, l)) {
+ && WPACKET_get_total_written(wpkt, &l)
+ && try_commit_conn_close(txp, l)) {
if (!tx_helper_commit(h))
return 0;
@@ -2016,8 +2000,8 @@ static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp,
}
static int try_len(size_t space_left, size_t orig_len,
- size_t base_hdr_len, size_t lenbytes,
- uint64_t maxn, size_t *hdr_len, size_t *payload_len)
+ size_t base_hdr_len, size_t lenbytes,
+ uint64_t maxn, size_t *hdr_len, size_t *payload_len)
{
size_t n;
size_t maxn_ = maxn > SIZE_MAX ? SIZE_MAX : (size_t)maxn;
@@ -2040,37 +2024,37 @@ static int try_len(size_t space_left, size_t orig_len,
}
static int determine_len(size_t space_left, size_t orig_len,
- size_t base_hdr_len,
- uint64_t *hlen, uint64_t *len)
+ size_t base_hdr_len,
+ uint64_t *hlen, uint64_t *len)
{
int ok = 0;
size_t chosen_payload_len = 0;
- size_t chosen_hdr_len = 0;
+ size_t chosen_hdr_len = 0;
size_t payload_len[4], hdr_len[4];
- int i, valid[4] = {0};
+ int i, valid[4] = { 0 };
valid[0] = try_len(space_left, orig_len, base_hdr_len,
- 1, OSSL_QUIC_VLINT_1B_MAX,
- &hdr_len[0], &payload_len[0]);
+ 1, OSSL_QUIC_VLINT_1B_MAX,
+ &hdr_len[0], &payload_len[0]);
valid[1] = try_len(space_left, orig_len, base_hdr_len,
- 2, OSSL_QUIC_VLINT_2B_MAX,
- &hdr_len[1], &payload_len[1]);
+ 2, OSSL_QUIC_VLINT_2B_MAX,
+ &hdr_len[1], &payload_len[1]);
valid[2] = try_len(space_left, orig_len, base_hdr_len,
- 4, OSSL_QUIC_VLINT_4B_MAX,
- &hdr_len[2], &payload_len[2]);
+ 4, OSSL_QUIC_VLINT_4B_MAX,
+ &hdr_len[2], &payload_len[2]);
valid[3] = try_len(space_left, orig_len, base_hdr_len,
- 8, OSSL_QUIC_VLINT_8B_MAX,
- &hdr_len[3], &payload_len[3]);
+ 8, OSSL_QUIC_VLINT_8B_MAX,
+ &hdr_len[3], &payload_len[3]);
- for (i = OSSL_NELEM(valid) - 1; i >= 0; --i)
+ for (i = OSSL_NELEM(valid) - 1; i >= 0; --i)
if (valid[i] && payload_len[i] >= chosen_payload_len) {
chosen_payload_len = payload_len[i];
- chosen_hdr_len = hdr_len[i];
- ok = 1;
+ chosen_hdr_len = hdr_len[i];
+ ok = 1;
}
*hlen = chosen_hdr_len;
- *len = chosen_payload_len;
+ *len = chosen_payload_len;
return ok;
}
@@ -2083,10 +2067,10 @@ static int determine_len(size_t space_left, size_t orig_len,
* encodings and choose the optimal encoding.
*/
static int determine_crypto_len(struct tx_helper *h,
- OSSL_QUIC_FRAME_CRYPTO *chdr,
- size_t space_left,
- uint64_t *hlen,
- uint64_t *len)
+ OSSL_QUIC_FRAME_CRYPTO *chdr,
+ size_t space_left,
+ uint64_t *hlen,
+ uint64_t *len)
{
size_t orig_len;
size_t base_hdr_len; /* CRYPTO header length without length field */
@@ -2108,10 +2092,10 @@ static int determine_crypto_len(struct tx_helper *h,
}
static int determine_stream_len(struct tx_helper *h,
- OSSL_QUIC_FRAME_STREAM *shdr,
- size_t space_left,
- uint64_t *hlen,
- uint64_t *len)
+ OSSL_QUIC_FRAME_STREAM *shdr,
+ size_t space_left,
+ uint64_t *hlen,
+ uint64_t *len)
{
size_t orig_len;
size_t base_hdr_len; /* STREAM header length without length field */
@@ -2134,20 +2118,20 @@ static int determine_stream_len(struct tx_helper *h,
}
static int txp_generate_crypto_frames(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- int *have_ack_eliciting)
+ struct txp_pkt *pkt,
+ int *have_ack_eliciting)
{
const uint32_t enc_level = pkt->h.enc_level;
const uint32_t pn_space = ossl_quic_enc_level_to_pn_space(enc_level);
QUIC_TXPIM_PKT *tpkt = pkt->tpkt;
struct tx_helper *h = &pkt->h;
size_t num_stream_iovec;
- OSSL_QUIC_FRAME_STREAM shdr = {0};
- OSSL_QUIC_FRAME_CRYPTO chdr = {0};
+ OSSL_QUIC_FRAME_STREAM shdr = { 0 };
+ OSSL_QUIC_FRAME_CRYPTO chdr = { 0 };
OSSL_QTX_IOVEC iov[2];
uint64_t hdr_bytes;
WPACKET *wpkt;
- QUIC_TXPIM_CHUNK chunk = {0};
+ QUIC_TXPIM_CHUNK chunk = { 0 };
size_t i, space_left;
for (i = 0;; ++i) {
@@ -2159,20 +2143,20 @@ static int txp_generate_crypto_frames(OSSL_QUIC_TX_PACKETISER *txp,
/* Do we have any CRYPTO data waiting? */
num_stream_iovec = OSSL_NELEM(iov);
if (!ossl_quic_sstream_get_stream_frame(txp->args.crypto[pn_space],
- i, &shdr, iov,
- &num_stream_iovec))
+ i, &shdr, iov,
+ &num_stream_iovec))
return 1; /* nothing to do */
/* Convert STREAM frame header to CRYPTO frame header */
chdr.offset = shdr.offset;
- chdr.len = shdr.len;
+ chdr.len = shdr.len;
if (chdr.len == 0)
return 1; /* nothing to do */
/* Find best fit (header length, payload length) combination. */
if (!determine_crypto_len(h, &chdr, space_left, &hdr_bytes,
- &chdr.len))
+ &chdr.len))
return 1; /* can't fit anything */
/*
@@ -2212,9 +2196,9 @@ static int txp_generate_crypto_frames(OSSL_QUIC_TX_PACKETISER *txp,
/* Log chunk to TXPIM. */
chunk.stream_id = UINT64_MAX; /* crypto stream */
- chunk.start = chdr.offset;
- chunk.end = chdr.offset + chdr.len - 1;
- chunk.has_fin = 0; /* Crypto stream never ends */
+ chunk.start = chdr.offset;
+ chunk.end = chdr.offset + chdr.len - 1;
+ chunk.has_fin = 0; /* Crypto stream never ends */
if (!ossl_quic_txpim_pkt_append_chunk(tpkt, &chunk))
return 0; /* alloc error */
}
@@ -2229,20 +2213,20 @@ struct chunk_info {
};
static int txp_plan_stream_chunk(OSSL_QUIC_TX_PACKETISER *txp,
- struct tx_helper *h,
- QUIC_SSTREAM *sstream,
- QUIC_TXFC *stream_txfc,
- size_t skip,
- struct chunk_info *chunk,
- uint64_t consumed)
+ struct tx_helper *h,
+ QUIC_SSTREAM *sstream,
+ QUIC_TXFC *stream_txfc,
+ size_t skip,
+ struct chunk_info *chunk,
+ uint64_t consumed)
{
uint64_t fc_credit, fc_swm, fc_limit;
chunk->num_stream_iovec = OSSL_NELEM(chunk->iov);
chunk->valid = ossl_quic_sstream_get_stream_frame(sstream, skip,
- &chunk->shdr,
- chunk->iov,
- &chunk->num_stream_iovec);
+ &chunk->shdr,
+ chunk->iov,
+ &chunk->num_stream_iovec);
if (!chunk->valid)
return 1;
@@ -2253,13 +2237,14 @@ static int txp_plan_stream_chunk(OSSL_QUIC_TX_PACKETISER *txp,
chunk->orig_len = chunk->shdr.len;
/* Clamp according to connection and stream-level TXFC. */
- fc_credit = ossl_quic_txfc_get_credit(stream_txfc, consumed);
- fc_swm = ossl_quic_txfc_get_swm(stream_txfc);
- fc_limit = fc_swm + fc_credit;
+ fc_credit = ossl_quic_txfc_get_credit(stream_txfc, consumed);
+ fc_swm = ossl_quic_txfc_get_swm(stream_txfc);
+ fc_limit = fc_swm + fc_credit;
if (chunk->shdr.len > 0 && chunk->shdr.offset + chunk->shdr.len > fc_limit) {
chunk->shdr.len = (fc_limit <= chunk->shdr.offset)
- ? 0 : fc_limit - chunk->shdr.offset;
+ ? 0
+ : fc_limit - chunk->shdr.offset;
chunk->shdr.is_fin = 0;
}
@@ -2282,18 +2267,18 @@ static int txp_plan_stream_chunk(OSSL_QUIC_TX_PACKETISER *txp,
* frame.
*/
static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- uint64_t id,
- QUIC_SSTREAM *sstream,
- QUIC_TXFC *stream_txfc,
- QUIC_STREAM *next_stream,
- int *have_ack_eliciting,
- int *packet_full,
- uint64_t *new_credit_consumed,
- uint64_t conn_consumed)
+ struct txp_pkt *pkt,
+ uint64_t id,
+ QUIC_SSTREAM *sstream,
+ QUIC_TXFC *stream_txfc,
+ QUIC_STREAM *next_stream,
+ int *have_ack_eliciting,
+ int *packet_full,
+ uint64_t *new_credit_consumed,
+ uint64_t conn_consumed)
{
int rc = 0;
- struct chunk_info chunks[2] = {0};
+ struct chunk_info chunks[2] = { 0 };
const uint32_t enc_level = pkt->h.enc_level;
QUIC_TXPIM_PKT *tpkt = pkt->tpkt;
struct tx_helper *h = &pkt->h;
@@ -2308,8 +2293,8 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
uint64_t hdr_len_explicit, payload_len_explicit;
uint64_t fc_swm, fc_new_hwm;
- fc_swm = ossl_quic_txfc_get_swm(stream_txfc);
- fc_new_hwm = fc_swm;
+ fc_swm = ossl_quic_txfc_get_swm(stream_txfc);
+ fc_new_hwm = fc_swm;
/*
* Load the first two chunks if any offered by the send stream. We retrieve
@@ -2319,7 +2304,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
*/
for (i = 0; i < 2; ++i) {
if (!txp_plan_stream_chunk(txp, h, sstream, stream_txfc, i, &chunks[i],
- conn_consumed))
+ conn_consumed))
goto err;
if (i == 0 && !chunks[i].valid) {
@@ -2358,7 +2343,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
if (i > 0)
/* Load next chunk for lookahead. */
if (!txp_plan_stream_chunk(txp, h, sstream, stream_txfc, i + 1,
- &chunks[(i + 1) % 2], conn_consumed))
+ &chunks[(i + 1) % 2], conn_consumed))
goto err;
/*
@@ -2368,7 +2353,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
shdr->has_explicit_len = 0;
hdr_len_implicit = payload_len_implicit = 0;
if (!determine_stream_len(h, shdr, space_left,
- &hdr_len_implicit, &payload_len_implicit)) {
+ &hdr_len_implicit, &payload_len_implicit)) {
*packet_full = 1;
rc = 1;
goto err; /* can't fit anything */
@@ -2380,7 +2365,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
* for this STREAM frame to fill the packet.
*/
can_fill_payload = (hdr_len_implicit + payload_len_implicit
- >= space_left);
+ >= space_left);
/*
* Is there is a stream after this one, or another chunk pending
@@ -2391,7 +2376,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
/* Choose between explicit or implicit length representations. */
use_explicit_len = !((can_fill_payload || !could_have_following_chunk)
- && !pkt->force_pad);
+ && !pkt->force_pad);
if (use_explicit_len) {
/*
@@ -2401,7 +2386,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
shdr->has_explicit_len = 1;
hdr_len_explicit = payload_len_explicit = 0;
if (!determine_stream_len(h, shdr, space_left,
- &hdr_len_explicit, &payload_len_explicit)) {
+ &hdr_len_explicit, &payload_len_explicit)) {
*packet_full = 1;
rc = 1;
goto err; /* can't fit anything */
@@ -2427,7 +2412,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
/* Truncate IOVs to match our chosen length. */
ossl_quic_sstream_adjust_iov((size_t)shdr->len, chunks[i % 2].iov,
- chunks[i % 2].num_stream_iovec);
+ chunks[i % 2].num_stream_iovec);
/*
* Ensure we have enough iovecs allocated (1 for the header, up to 2 for
@@ -2455,7 +2440,7 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
/* Add payload iovecs to the helper (infallible). */
for (j = 0; j < chunks[i % 2].num_stream_iovec; ++j)
tx_helper_append_iovec(h, chunks[i % 2].iov[j].buf,
- chunks[i % 2].iov[j].buf_len);
+ chunks[i % 2].iov[j].buf_len);
*have_ack_eliciting = 1;
tx_helper_unrestrict(h); /* no longer need PING */
@@ -2467,12 +2452,12 @@ static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,
fc_new_hwm = shdr->offset + shdr->len;
/* Log chunk to TXPIM. */
- chunk.stream_id = shdr->stream_id;
- chunk.start = shdr->offset;
- chunk.end = shdr->offset + shdr->len - 1;
- chunk.has_fin = shdr->is_fin;
- chunk.has_stop_sending = 0;
- chunk.has_reset_stream = 0;
+ chunk.stream_id = shdr->stream_id;
+ chunk.start = shdr->offset;
+ chunk.end = shdr->offset + shdr->len - 1;
+ chunk.has_fin = shdr->is_fin;
+ chunk.has_stop_sending = 0;
+ chunk.has_reset_stream = 0;
if (!ossl_quic_txpim_pkt_append_chunk(tpkt, &chunk))
goto err; /* alloc error */
@@ -2498,9 +2483,9 @@ static void txp_enlink_tmp(QUIC_STREAM **tmp_head, QUIC_STREAM *stream)
}
static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- int *have_ack_eliciting,
- QUIC_STREAM **tmp_head)
+ struct txp_pkt *pkt,
+ int *have_ack_eliciting,
+ QUIC_STREAM **tmp_head)
{
QUIC_STREAM_ITER it;
WPACKET *wpkt;
@@ -2510,16 +2495,16 @@ static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
uint64_t conn_consumed = 0;
for (ossl_quic_stream_iter_init(&it, txp->args.qsm, 1);
- it.stream != NULL;) {
+ it.stream != NULL;) {
stream = it.stream;
ossl_quic_stream_iter_next(&it);
snext = it.stream;
- stream->txp_sent_fc = 0;
- stream->txp_sent_stop_sending = 0;
- stream->txp_sent_reset_stream = 0;
- stream->txp_blocked = 0;
+ stream->txp_sent_fc = 0;
+ stream->txp_sent_stop_sending = 0;
+ stream->txp_sent_reset_stream = 0;
+ stream->txp_blocked = 0;
stream->txp_txfc_new_credit_consumed = 0;
/* Stream Abort Frames (STOP_SENDING, RESET_STREAM) */
@@ -2530,8 +2515,8 @@ static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
if (wpkt == NULL)
return 0; /* alloc error */
- f.stream_id = stream->id;
- f.app_error_code = stream->stop_sending_aec;
+ f.stream_id = stream->id;
+ f.app_error_code = stream->stop_sending_aec;
if (!ossl_quic_wire_encode_frame_stop_sending(wpkt, &f)) {
tx_helper_rollback(h); /* can't fit */
txp_enlink_tmp(tmp_head, stream);
@@ -2556,8 +2541,8 @@ static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
if (wpkt == NULL)
return 0; /* alloc error */
- f.stream_id = stream->id;
- f.app_error_code = stream->reset_stream_aec;
+ f.stream_id = stream->id;
+ f.app_error_code = stream->reset_stream_aec;
if (!ossl_quic_stream_send_get_final_size(stream, &f.final_size))
return 0; /* should not be possible */
@@ -2606,7 +2591,7 @@ static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
cwm = ossl_quic_rxfc_get_cwm(&stream->rxfc);
if (!ossl_quic_wire_encode_frame_max_stream_data(wpkt, stream->id,
- cwm)) {
+ cwm)) {
tx_helper_rollback(h); /* can't fit */
txp_enlink_tmp(tmp_head, stream);
break;
@@ -2638,13 +2623,13 @@ static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
return 0;
if (!txp_generate_stream_frames(txp, pkt,
- stream->id, stream->sstream,
- &stream->txfc,
- snext,
- have_ack_eliciting,
- &packet_full,
- &stream->txp_txfc_new_credit_consumed,
- conn_consumed)) {
+ stream->id, stream->sstream,
+ &stream->txfc,
+ snext,
+ have_ack_eliciting,
+ &packet_full,
+ &stream->txp_txfc_new_credit_consumed,
+ conn_consumed)) {
/* Fatal error (allocation, etc.) */
txp_enlink_tmp(tmp_head, stream);
return 0;
@@ -2664,8 +2649,8 @@ static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,
}
static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- int chosen_for_conn_close)
+ struct txp_pkt *pkt,
+ int chosen_for_conn_close)
{
int rc = TXP_ERR_SUCCESS;
const uint32_t enc_level = pkt->h.enc_level;
@@ -2712,7 +2697,7 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
if (ossl_quic_wire_encode_frame_handshake_done(wpkt)) {
tpkt->had_handshake_done_frame = 1;
- have_ack_eliciting = 1;
+ have_ack_eliciting = 1;
if (!tx_helper_commit(h))
goto fatal_err;
@@ -2736,7 +2721,7 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
if (ossl_quic_wire_encode_frame_max_data(wpkt, cwm)) {
tpkt->had_max_data_frame = 1;
- have_ack_eliciting = 1;
+ have_ack_eliciting = 1;
if (!tx_helper_commit(h))
goto fatal_err;
@@ -2760,9 +2745,9 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
goto fatal_err;
if (ossl_quic_wire_encode_frame_max_streams(wpkt, /*is_uni=*/0,
- max_streams)) {
+ max_streams)) {
tpkt->had_max_streams_bidi_frame = 1;
- have_ack_eliciting = 1;
+ have_ack_eliciting = 1;
if (!tx_helper_commit(h))
goto fatal_err;
@@ -2786,9 +2771,9 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
goto fatal_err;
if (ossl_quic_wire_encode_frame_max_streams(wpkt, /*is_uni=*/1,
- max_streams)) {
+ max_streams)) {
tpkt->had_max_streams_uni_frame = 1;
- have_ack_eliciting = 1;
+ have_ack_eliciting = 1;
if (!tx_helper_commit(h))
goto fatal_err;
@@ -2801,54 +2786,54 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
/* GCR Frames */
for (cfq_item = ossl_quic_cfq_get_priority_head(txp->args.cfq, pn_space);
- cfq_item != NULL;
- cfq_item = ossl_quic_cfq_item_get_priority_next(cfq_item, pn_space)) {
+ cfq_item != NULL;
+ cfq_item = ossl_quic_cfq_item_get_priority_next(cfq_item, pn_space)) {
uint64_t frame_type = ossl_quic_cfq_item_get_frame_type(cfq_item);
const unsigned char *encoded = ossl_quic_cfq_item_get_encoded(cfq_item);
size_t encoded_len = ossl_quic_cfq_item_get_encoded_len(cfq_item);
switch (frame_type) {
- case OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID:
- if (!a.allow_new_conn_id)
- continue;
- break;
- case OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID:
- if (!a.allow_retire_conn_id)
- continue;
- break;
- case OSSL_QUIC_FRAME_TYPE_NEW_TOKEN:
- if (!a.allow_new_token)
- continue;
+ case OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID:
+ if (!a.allow_new_conn_id)
+ continue;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID:
+ if (!a.allow_retire_conn_id)
+ continue;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_NEW_TOKEN:
+ if (!a.allow_new_token)
+ continue;
- /*
- * NEW_TOKEN frames are handled via GCR, but some
- * Regenerate-strategy frames should come before them (namely
- * ACK, CONNECTION_CLOSE, PATH_CHALLENGE and PATH_RESPONSE). If
- * we find a NEW_TOKEN frame, do these now. If there are no
- * NEW_TOKEN frames in the GCR queue we will handle these below.
- */
- if (!done_pre_token)
- if (txp_generate_pre_token(txp, pkt,
- chosen_for_conn_close,
- &can_be_non_inflight))
- done_pre_token = 1;
+ /*
+ * NEW_TOKEN frames are handled via GCR, but some
+ * Regenerate-strategy frames should come before them (namely
+ * ACK, CONNECTION_CLOSE, PATH_CHALLENGE and PATH_RESPONSE). If
+ * we find a NEW_TOKEN frame, do these now. If there are no
+ * NEW_TOKEN frames in the GCR queue we will handle these below.
+ */
+ if (!done_pre_token)
+ if (txp_generate_pre_token(txp, pkt,
+ chosen_for_conn_close,
+ &can_be_non_inflight))
+ done_pre_token = 1;
- break;
- case OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE:
- if (!a.allow_path_response)
- continue;
+ break;
+ case OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE:
+ if (!a.allow_path_response)
+ continue;
- /*
- * RFC 9000 s. 8.2.2: An endpoint MUST expand datagrams that
- * contain a PATH_RESPONSE frame to at least the smallest
- * allowed maximum datagram size of 1200 bytes.
- */
- pkt->force_pad = 1;
- break;
- default:
- if (!a.allow_cfq_other)
- continue;
- break;
+ /*
+ * RFC 9000 s. 8.2.2: An endpoint MUST expand datagrams that
+ * contain a PATH_RESPONSE frame to at least the smallest
+ * allowed maximum datagram size of 1200 bytes.
+ */
+ pkt->force_pad = 1;
+ break;
+ default:
+ if (!a.allow_cfq_other)
+ continue;
+ break;
}
/*
@@ -2875,8 +2860,8 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
*/
if (!done_pre_token)
if (txp_generate_pre_token(txp, pkt,
- chosen_for_conn_close,
- &can_be_non_inflight))
+ chosen_for_conn_close,
+ &can_be_non_inflight))
done_pre_token = 1;
/* CRYPTO Frames */
@@ -2887,8 +2872,8 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
/* Stream-specific frames */
if (a.allow_stream_rel && txp->handshake_complete)
if (!txp_generate_stream_related(txp, pkt,
- &have_ack_eliciting,
- &pkt->stream_head))
+ &have_ack_eliciting,
+ &pkt->stream_head))
goto fatal_err;
/* PING */
@@ -2923,16 +2908,16 @@ static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
can_be_non_inflight = 0;
/* ACKM Data */
- tpkt->ackm_pkt.num_bytes = h->bytes_appended + pkt->geom.pkt_overhead;
- tpkt->ackm_pkt.pkt_num = txp->next_pn[pn_space];
+ tpkt->ackm_pkt.num_bytes = h->bytes_appended + pkt->geom.pkt_overhead;
+ tpkt->ackm_pkt.pkt_num = txp->next_pn[pn_space];
/* largest_acked is set in txp_generate_pre_token */
- tpkt->ackm_pkt.pkt_space = pn_space;
- tpkt->ackm_pkt.is_inflight = !can_be_non_inflight;
+ tpkt->ackm_pkt.pkt_space = pn_space;
+ tpkt->ackm_pkt.is_inflight = !can_be_non_inflight;
tpkt->ackm_pkt.is_ack_eliciting = have_ack_eliciting;
- tpkt->ackm_pkt.is_pto_probe = 0;
- tpkt->ackm_pkt.is_mtu_probe = 0;
- tpkt->ackm_pkt.time = txp->args.now(txp->args.now_arg);
- tpkt->pkt_type = pkt->phdr.type;
+ tpkt->ackm_pkt.is_pto_probe = 0;
+ tpkt->ackm_pkt.is_mtu_probe = 0;
+ tpkt->ackm_pkt.time = txp->args.now(txp->args.now_arg);
+ tpkt->pkt_type = pkt->phdr.type;
/* Done. */
return rc;
@@ -2982,9 +2967,9 @@ fatal_err:
*
*/
static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp,
- struct txp_pkt *pkt,
- uint32_t archetype,
- int *txpim_pkt_reffed)
+ struct txp_pkt *pkt,
+ uint32_t archetype,
+ int *txpim_pkt_reffed)
{
int rc = 1;
uint32_t enc_level = pkt->h.enc_level;
@@ -3004,14 +2989,15 @@ static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp,
return 0;
/* Packet Information for QTX */
- txpkt.hdr = &pkt->phdr;
- txpkt.iovec = txp->el[enc_level].iovec;
+ txpkt.hdr = &pkt->phdr;
+ txpkt.iovec = txp->el[enc_level].iovec;
txpkt.num_iovec = pkt->h.num_iovec;
- txpkt.local = NULL;
- txpkt.peer = BIO_ADDR_family(&txp->args.peer) == AF_UNSPEC
- ? NULL : &txp->args.peer;
- txpkt.pn = txp->next_pn[pn_space];
- txpkt.flags = OSSL_QTX_PKT_FLAG_COALESCE; /* always try to coalesce */
+ txpkt.local = NULL;
+ txpkt.peer = BIO_ADDR_family(&txp->args.peer) == AF_UNSPEC
+ ? NULL
+ : &txp->args.peer;
+ txpkt.pn = txp->next_pn[pn_space];
+ txpkt.flags = OSSL_QTX_PKT_FLAG_COALESCE; /* always try to coalesce */
/* Generate TXPIM chunks representing STOP_SENDING and RESET_STREAM frames. */
for (stream = pkt->stream_head; stream != NULL; stream = stream->txp_next)
@@ -3019,12 +3005,12 @@ static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp,
/* Log STOP_SENDING/RESET_STREAM chunk to TXPIM. */
QUIC_TXPIM_CHUNK chunk;
- chunk.stream_id = stream->id;
- chunk.start = UINT64_MAX;
- chunk.end = 0;
- chunk.has_fin = 0;
- chunk.has_stop_sending = stream->txp_sent_stop_sending;
- chunk.has_reset_stream = stream->txp_sent_reset_stream;
+ chunk.stream_id = stream->id;
+ chunk.start = UINT64_MAX;
+ chunk.end = 0;
+ chunk.has_fin = 0;
+ chunk.has_stop_sending = stream->txp_sent_stop_sending;
+ chunk.has_reset_stream = stream->txp_sent_reset_stream;
if (!ossl_quic_txpim_pkt_append_chunk(tpkt, &chunk))
return 0; /* alloc error */
}
@@ -3069,7 +3055,7 @@ static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp,
if (stream->txp_txfc_new_credit_consumed > 0) {
if (!ossl_assert(ossl_quic_txfc_consume_credit(&stream->txfc,
- stream->txp_txfc_new_credit_consumed)))
+ stream->txp_txfc_new_credit_consumed)))
/*
* Should not be possible, but we should continue with our
* bookkeeping as we have already committed the packet to the
@@ -3164,13 +3150,13 @@ static int txp_el_ensure_iovec(struct txp_el *el, size_t num)
if (iovec == NULL)
return 0;
- el->iovec = iovec;
- el->alloc_iovec = num;
+ el->iovec = iovec;
+ el->alloc_iovec = num;
return 1;
}
int ossl_quic_tx_packetiser_schedule_conn_close(OSSL_QUIC_TX_PACKETISER *txp,
- const OSSL_QUIC_FRAME_CONN_CLOSE *f)
+ const OSSL_QUIC_FRAME_CONN_CLOSE *f)
{
char *reason = NULL;
size_t reason_len = f->reason_len;
@@ -3192,29 +3178,29 @@ int ossl_quic_tx_packetiser_schedule_conn_close(OSSL_QUIC_TX_PACKETISER *txp,
return 0;
}
- txp->conn_close_frame = *f;
- txp->conn_close_frame.reason = reason;
- txp->conn_close_frame.reason_len = reason_len;
- txp->want_conn_close = 1;
+ txp->conn_close_frame = *f;
+ txp->conn_close_frame.reason = reason;
+ txp->conn_close_frame.reason_len = reason_len;
+ txp->want_conn_close = 1;
return 1;
}
void ossl_quic_tx_packetiser_set_msg_callback(OSSL_QUIC_TX_PACKETISER *txp,
- ossl_msg_cb msg_callback,
- SSL *msg_callback_ssl)
+ ossl_msg_cb msg_callback,
+ SSL *msg_callback_ssl)
{
txp->msg_callback = msg_callback;
txp->msg_callback_ssl = msg_callback_ssl;
}
void ossl_quic_tx_packetiser_set_msg_callback_arg(OSSL_QUIC_TX_PACKETISER *txp,
- void *msg_callback_arg)
+ void *msg_callback_arg)
{
txp->msg_callback_arg = msg_callback_arg;
}
QUIC_PN ossl_quic_tx_packetiser_get_next_pn(OSSL_QUIC_TX_PACKETISER *txp,
- uint32_t pn_space)
+ uint32_t pn_space)
{
if (pn_space >= QUIC_PN_SPACE_NUM)
return UINT64_MAX;
@@ -3239,18 +3225,18 @@ OSSL_TIME ossl_quic_tx_packetiser_get_deadline(OSSL_QUIC_TX_PACKETISER *txp)
* call will take care of selecting the correct packet archetype.
*/
for (enc_level = QUIC_ENC_LEVEL_INITIAL;
- enc_level < QUIC_ENC_LEVEL_NUM;
- ++enc_level)
+ enc_level < QUIC_ENC_LEVEL_NUM;
+ ++enc_level)
if (ossl_qtx_is_enc_level_provisioned(txp->args.qtx, enc_level)) {
pn_space = ossl_quic_enc_level_to_pn_space(enc_level);
deadline = ossl_time_min(deadline,
- ossl_ackm_get_ack_deadline(txp->args.ackm, pn_space));
+ ossl_ackm_get_ack_deadline(txp->args.ackm, pn_space));
}
/* When will CC let us send more? */
if (txp->args.cc_method->get_tx_allowance(txp->args.cc_data) == 0)
deadline = ossl_time_min(deadline,
- txp->args.cc_method->get_wakeup_deadline(txp->args.cc_data));
+ txp->args.cc_method->get_wakeup_deadline(txp->args.cc_data));
return deadline;
}
diff --git a/crypto/openssl/ssl/quic/quic_txpim.c b/crypto/openssl/ssl/quic/quic_txpim.c
index 04b25ee47a04..b1f47099e5c8 100644
--- a/crypto/openssl/ssl/quic/quic_txpim.c
+++ b/crypto/openssl/ssl/quic/quic_txpim.c
@@ -13,20 +13,20 @@
typedef struct quic_txpim_pkt_ex_st QUIC_TXPIM_PKT_EX;
struct quic_txpim_pkt_ex_st {
- QUIC_TXPIM_PKT public;
- QUIC_TXPIM_PKT_EX *prev, *next;
- QUIC_TXPIM_CHUNK *chunks;
- size_t num_chunks, alloc_chunks;
- unsigned int chunks_need_sort : 1;
+ QUIC_TXPIM_PKT public;
+ QUIC_TXPIM_PKT_EX *prev, *next;
+ QUIC_TXPIM_CHUNK *chunks;
+ size_t num_chunks, alloc_chunks;
+ unsigned int chunks_need_sort : 1;
};
typedef struct quic_txpim_pkt_ex_list {
- QUIC_TXPIM_PKT_EX *head, *tail;
+ QUIC_TXPIM_PKT_EX *head, *tail;
} QUIC_TXPIM_PKT_EX_LIST;
struct quic_txpim_st {
- QUIC_TXPIM_PKT_EX_LIST free_list;
- size_t in_use;
+ QUIC_TXPIM_PKT_EX_LIST free_list;
+ size_t in_use;
};
#define MAX_ALLOC_CHUNKS 512
@@ -108,14 +108,14 @@ static void txpim_clear(QUIC_TXPIM_PKT_EX *ex)
{
memset(&ex->public.ackm_pkt, 0, sizeof(ex->public.ackm_pkt));
ossl_quic_txpim_pkt_clear_chunks(&ex->public);
- ex->public.retx_head = NULL;
- ex->public.fifd = NULL;
- ex->public.had_handshake_done_frame = 0;
- ex->public.had_max_data_frame = 0;
- ex->public.had_max_streams_bidi_frame = 0;
- ex->public.had_max_streams_uni_frame = 0;
- ex->public.had_ack_frame = 0;
- ex->public.had_conn_close = 0;
+ ex->public.retx_head = NULL;
+ ex->public.fifd = NULL;
+ ex->public.had_handshake_done_frame = 0;
+ ex->public.had_max_data_frame = 0;
+ ex->public.had_max_streams_bidi_frame = 0;
+ ex->public.had_max_streams_uni_frame = 0;
+ ex->public.had_ack_frame = 0;
+ ex->public.had_conn_close = 0;
}
QUIC_TXPIM_PKT *ossl_quic_txpim_pkt_alloc(QUIC_TXPIM *txpim)
@@ -141,7 +141,7 @@ void ossl_quic_txpim_pkt_release(QUIC_TXPIM *txpim, QUIC_TXPIM_PKT *fpkt)
}
void ossl_quic_txpim_pkt_add_cfq_item(QUIC_TXPIM_PKT *fpkt,
- QUIC_CFQ_ITEM *item)
+ QUIC_CFQ_ITEM *item)
{
item->pkt_next = fpkt->retx_head;
item->pkt_prev = NULL;
@@ -156,7 +156,7 @@ void ossl_quic_txpim_pkt_clear_chunks(QUIC_TXPIM_PKT *fpkt)
}
int ossl_quic_txpim_pkt_append_chunk(QUIC_TXPIM_PKT *fpkt,
- const QUIC_TXPIM_CHUNK *chunk)
+ const QUIC_TXPIM_CHUNK *chunk)
{
QUIC_TXPIM_PKT_EX *ex = (QUIC_TXPIM_PKT_EX *)fpkt;
QUIC_TXPIM_CHUNK *new_chunk;
@@ -170,16 +170,16 @@ int ossl_quic_txpim_pkt_append_chunk(QUIC_TXPIM_PKT *fpkt,
return 0;
new_chunk = OPENSSL_realloc(ex->chunks,
- new_alloc_chunks * sizeof(QUIC_TXPIM_CHUNK));
+ new_alloc_chunks * sizeof(QUIC_TXPIM_CHUNK));
if (new_chunk == NULL)
return 0;
- ex->chunks = new_chunk;
- ex->alloc_chunks = new_alloc_chunks;
+ ex->chunks = new_chunk;
+ ex->alloc_chunks = new_alloc_chunks;
}
- ex->chunks[ex->num_chunks++] = *chunk;
- ex->chunks_need_sort = 1;
+ ex->chunks[ex->num_chunks++] = *chunk;
+ ex->chunks_need_sort = 1;
return 1;
}
diff --git a/crypto/openssl/ssl/quic/quic_types.c b/crypto/openssl/ssl/quic/quic_types.c
index 4ff3ae6580b5..2c06e191e922 100644
--- a/crypto/openssl/ssl/quic/quic_types.c
+++ b/crypto/openssl/ssl/quic/quic_types.c
@@ -12,7 +12,7 @@
#include <openssl/err.h>
int ossl_quic_gen_rand_conn_id(OSSL_LIB_CTX *libctx, size_t len,
- QUIC_CONN_ID *cid)
+ QUIC_CONN_ID *cid)
{
if (len > QUIC_MAX_CONN_ID_LEN)
return 0;
diff --git a/crypto/openssl/ssl/quic/quic_wire.c b/crypto/openssl/ssl/quic/quic_wire.c
index a7c7667797d9..66be80e78127 100644
--- a/crypto/openssl/ssl/quic/quic_wire.c
+++ b/crypto/openssl/ssl/quic/quic_wire.c
@@ -53,8 +53,8 @@ int ossl_quic_wire_encode_frame_ping(WPACKET *pkt)
}
int ossl_quic_wire_encode_frame_ack(WPACKET *pkt,
- uint32_t ack_delay_exponent,
- const OSSL_QUIC_FRAME_ACK *ack)
+ uint32_t ack_delay_exponent,
+ const OSSL_QUIC_FRAME_ACK *ack)
{
uint64_t frame_type = ack->ecn_present ? OSSL_QUIC_FRAME_TYPE_ACK_WITH_ECN
: OSSL_QUIC_FRAME_TYPE_ACK_WITHOUT_ECN;
@@ -67,68 +67,68 @@ int ossl_quic_wire_encode_frame_ack(WPACKET *pkt,
return 0;
delay = ossl_time_divide(ossl_time_divide(ack->delay_time, OSSL_TIME_US),
- (uint64_t)1 << ack_delay_exponent);
- ack_delay_enc = ossl_time2ticks(delay);
+ (uint64_t)1 << ack_delay_exponent);
+ ack_delay_enc = ossl_time2ticks(delay);
- largest_ackd = ack->ack_ranges[0].end;
+ largest_ackd = ack->ack_ranges[0].end;
first_ack_range = ack->ack_ranges[0].end - ack->ack_ranges[0].start;
if (!encode_frame_hdr(pkt, frame_type)
- || !WPACKET_quic_write_vlint(pkt, largest_ackd)
- || !WPACKET_quic_write_vlint(pkt, ack_delay_enc)
- || !WPACKET_quic_write_vlint(pkt, num_ack_ranges - 1)
- || !WPACKET_quic_write_vlint(pkt, first_ack_range))
+ || !WPACKET_quic_write_vlint(pkt, largest_ackd)
+ || !WPACKET_quic_write_vlint(pkt, ack_delay_enc)
+ || !WPACKET_quic_write_vlint(pkt, num_ack_ranges - 1)
+ || !WPACKET_quic_write_vlint(pkt, first_ack_range))
return 0;
for (i = 1; i < num_ack_ranges; ++i) {
uint64_t gap, range_len;
- gap = ack->ack_ranges[i - 1].start - ack->ack_ranges[i].end - 2;
- range_len = ack->ack_ranges[i].end - ack->ack_ranges[i].start;
+ gap = ack->ack_ranges[i - 1].start - ack->ack_ranges[i].end - 2;
+ range_len = ack->ack_ranges[i].end - ack->ack_ranges[i].start;
if (!WPACKET_quic_write_vlint(pkt, gap)
- || !WPACKET_quic_write_vlint(pkt, range_len))
+ || !WPACKET_quic_write_vlint(pkt, range_len))
return 0;
}
if (ack->ecn_present)
if (!WPACKET_quic_write_vlint(pkt, ack->ect0)
- || !WPACKET_quic_write_vlint(pkt, ack->ect1)
- || !WPACKET_quic_write_vlint(pkt, ack->ecnce))
+ || !WPACKET_quic_write_vlint(pkt, ack->ect1)
+ || !WPACKET_quic_write_vlint(pkt, ack->ecnce))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_reset_stream(WPACKET *pkt,
- const OSSL_QUIC_FRAME_RESET_STREAM *f)
+ const OSSL_QUIC_FRAME_RESET_STREAM *f)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_RESET_STREAM)
- || !WPACKET_quic_write_vlint(pkt, f->stream_id)
- || !WPACKET_quic_write_vlint(pkt, f->app_error_code)
- || !WPACKET_quic_write_vlint(pkt, f->final_size))
+ || !WPACKET_quic_write_vlint(pkt, f->stream_id)
+ || !WPACKET_quic_write_vlint(pkt, f->app_error_code)
+ || !WPACKET_quic_write_vlint(pkt, f->final_size))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_stop_sending(WPACKET *pkt,
- const OSSL_QUIC_FRAME_STOP_SENDING *f)
+ const OSSL_QUIC_FRAME_STOP_SENDING *f)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_STOP_SENDING)
- || !WPACKET_quic_write_vlint(pkt, f->stream_id)
- || !WPACKET_quic_write_vlint(pkt, f->app_error_code))
+ || !WPACKET_quic_write_vlint(pkt, f->stream_id)
+ || !WPACKET_quic_write_vlint(pkt, f->app_error_code))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_crypto_hdr(WPACKET *pkt,
- const OSSL_QUIC_FRAME_CRYPTO *f)
+ const OSSL_QUIC_FRAME_CRYPTO *f)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_CRYPTO)
- || !WPACKET_quic_write_vlint(pkt, f->offset)
- || !WPACKET_quic_write_vlint(pkt, f->len))
+ || !WPACKET_quic_write_vlint(pkt, f->offset)
+ || !WPACKET_quic_write_vlint(pkt, f->len))
return 0;
return 1;
@@ -148,13 +148,13 @@ size_t ossl_quic_wire_get_encoded_frame_len_crypto_hdr(const OSSL_QUIC_FRAME_CRY
}
void *ossl_quic_wire_encode_frame_crypto(WPACKET *pkt,
- const OSSL_QUIC_FRAME_CRYPTO *f)
+ const OSSL_QUIC_FRAME_CRYPTO *f)
{
unsigned char *p = NULL;
if (!ossl_quic_wire_encode_frame_crypto_hdr(pkt, f)
- || f->len > SIZE_MAX /* sizeof(uint64_t) > sizeof(size_t)? */
- || !WPACKET_allocate_bytes(pkt, (size_t)f->len, &p))
+ || f->len > SIZE_MAX /* sizeof(uint64_t) > sizeof(size_t)? */
+ || !WPACKET_allocate_bytes(pkt, (size_t)f->len, &p))
return NULL;
if (f->data != NULL)
@@ -164,19 +164,19 @@ void *ossl_quic_wire_encode_frame_crypto(WPACKET *pkt,
}
int ossl_quic_wire_encode_frame_new_token(WPACKET *pkt,
- const unsigned char *token,
- size_t token_len)
+ const unsigned char *token,
+ size_t token_len)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_NEW_TOKEN)
- || !WPACKET_quic_write_vlint(pkt, token_len)
- || !WPACKET_memcpy(pkt, token, token_len))
+ || !WPACKET_quic_write_vlint(pkt, token_len)
+ || !WPACKET_memcpy(pkt, token, token_len))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_stream_hdr(WPACKET *pkt,
- const OSSL_QUIC_FRAME_STREAM *f)
+ const OSSL_QUIC_FRAME_STREAM *f)
{
uint64_t frame_type = OSSL_QUIC_FRAME_TYPE_STREAM;
@@ -188,7 +188,7 @@ int ossl_quic_wire_encode_frame_stream_hdr(WPACKET *pkt,
frame_type |= OSSL_QUIC_FRAME_FLAG_STREAM_FIN;
if (!encode_frame_hdr(pkt, frame_type)
- || !WPACKET_quic_write_vlint(pkt, f->stream_id))
+ || !WPACKET_quic_write_vlint(pkt, f->stream_id))
return 0;
if (f->offset != 0 && !WPACKET_quic_write_vlint(pkt, f->offset))
@@ -229,13 +229,13 @@ size_t ossl_quic_wire_get_encoded_frame_len_stream_hdr(const OSSL_QUIC_FRAME_STR
}
void *ossl_quic_wire_encode_frame_stream(WPACKET *pkt,
- const OSSL_QUIC_FRAME_STREAM *f)
+ const OSSL_QUIC_FRAME_STREAM *f)
{
unsigned char *p = NULL;
if (!ossl_quic_wire_encode_frame_stream_hdr(pkt, f)
- || f->len > SIZE_MAX /* sizeof(uint64_t) > sizeof(size_t)? */)
+ || f->len > SIZE_MAX /* sizeof(uint64_t) > sizeof(size_t)? */)
return NULL;
if (!WPACKET_allocate_bytes(pkt, (size_t)f->len, &p))
@@ -248,129 +248,125 @@ void *ossl_quic_wire_encode_frame_stream(WPACKET *pkt,
}
int ossl_quic_wire_encode_frame_max_data(WPACKET *pkt,
- uint64_t max_data)
+ uint64_t max_data)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_MAX_DATA)
- || !WPACKET_quic_write_vlint(pkt, max_data))
+ || !WPACKET_quic_write_vlint(pkt, max_data))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_max_stream_data(WPACKET *pkt,
- uint64_t stream_id,
- uint64_t max_data)
+ uint64_t stream_id,
+ uint64_t max_data)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA)
- || !WPACKET_quic_write_vlint(pkt, stream_id)
- || !WPACKET_quic_write_vlint(pkt, max_data))
+ || !WPACKET_quic_write_vlint(pkt, stream_id)
+ || !WPACKET_quic_write_vlint(pkt, max_data))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_max_streams(WPACKET *pkt,
- char is_uni,
- uint64_t max_streams)
+ char is_uni,
+ uint64_t max_streams)
{
- if (!encode_frame_hdr(pkt, is_uni ? OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI
- : OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI)
- || !WPACKET_quic_write_vlint(pkt, max_streams))
+ if (!encode_frame_hdr(pkt, is_uni ? OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_UNI : OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI)
+ || !WPACKET_quic_write_vlint(pkt, max_streams))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_data_blocked(WPACKET *pkt,
- uint64_t max_data)
+ uint64_t max_data)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_DATA_BLOCKED)
- || !WPACKET_quic_write_vlint(pkt, max_data))
+ || !WPACKET_quic_write_vlint(pkt, max_data))
return 0;
return 1;
}
-
int ossl_quic_wire_encode_frame_stream_data_blocked(WPACKET *pkt,
- uint64_t stream_id,
- uint64_t max_stream_data)
+ uint64_t stream_id,
+ uint64_t max_stream_data)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED)
- || !WPACKET_quic_write_vlint(pkt, stream_id)
- || !WPACKET_quic_write_vlint(pkt, max_stream_data))
+ || !WPACKET_quic_write_vlint(pkt, stream_id)
+ || !WPACKET_quic_write_vlint(pkt, max_stream_data))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_streams_blocked(WPACKET *pkt,
- char is_uni,
- uint64_t max_streams)
+ char is_uni,
+ uint64_t max_streams)
{
- if (!encode_frame_hdr(pkt, is_uni ? OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_UNI
- : OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_BIDI)
- || !WPACKET_quic_write_vlint(pkt, max_streams))
+ if (!encode_frame_hdr(pkt, is_uni ? OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_UNI : OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_BIDI)
+ || !WPACKET_quic_write_vlint(pkt, max_streams))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_new_conn_id(WPACKET *pkt,
- const OSSL_QUIC_FRAME_NEW_CONN_ID *f)
+ const OSSL_QUIC_FRAME_NEW_CONN_ID *f)
{
if (f->conn_id.id_len < 1
|| f->conn_id.id_len > QUIC_MAX_CONN_ID_LEN)
return 0;
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID)
- || !WPACKET_quic_write_vlint(pkt, f->seq_num)
- || !WPACKET_quic_write_vlint(pkt, f->retire_prior_to)
- || !WPACKET_put_bytes_u8(pkt, f->conn_id.id_len)
- || !WPACKET_memcpy(pkt, f->conn_id.id, f->conn_id.id_len)
- || !WPACKET_memcpy(pkt, f->stateless_reset.token,
- sizeof(f->stateless_reset.token)))
+ || !WPACKET_quic_write_vlint(pkt, f->seq_num)
+ || !WPACKET_quic_write_vlint(pkt, f->retire_prior_to)
+ || !WPACKET_put_bytes_u8(pkt, f->conn_id.id_len)
+ || !WPACKET_memcpy(pkt, f->conn_id.id, f->conn_id.id_len)
+ || !WPACKET_memcpy(pkt, f->stateless_reset.token,
+ sizeof(f->stateless_reset.token)))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_retire_conn_id(WPACKET *pkt,
- uint64_t seq_num)
+ uint64_t seq_num)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID)
- || !WPACKET_quic_write_vlint(pkt, seq_num))
+ || !WPACKET_quic_write_vlint(pkt, seq_num))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_path_challenge(WPACKET *pkt,
- uint64_t data)
+ uint64_t data)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE)
- || !WPACKET_put_bytes_u64(pkt, data))
+ || !WPACKET_put_bytes_u64(pkt, data))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_path_response(WPACKET *pkt,
- uint64_t data)
+ uint64_t data)
{
if (!encode_frame_hdr(pkt, OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE)
- || !WPACKET_put_bytes_u64(pkt, data))
+ || !WPACKET_put_bytes_u64(pkt, data))
return 0;
return 1;
}
int ossl_quic_wire_encode_frame_conn_close(WPACKET *pkt,
- const OSSL_QUIC_FRAME_CONN_CLOSE *f)
+ const OSSL_QUIC_FRAME_CONN_CLOSE *f)
{
- if (!encode_frame_hdr(pkt, f->is_app ? OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_APP
- : OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_TRANSPORT)
- || !WPACKET_quic_write_vlint(pkt, f->error_code))
+ if (!encode_frame_hdr(pkt, f->is_app ? OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_APP : OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_TRANSPORT)
+ || !WPACKET_quic_write_vlint(pkt, f->error_code))
return 0;
/*
@@ -381,7 +377,7 @@ int ossl_quic_wire_encode_frame_conn_close(WPACKET *pkt,
return 0;
if (!WPACKET_quic_write_vlint(pkt, f->reason_len)
- || !WPACKET_memcpy(pkt, f->reason, f->reason_len))
+ || !WPACKET_memcpy(pkt, f->reason, f->reason_len))
return 0;
return 1;
@@ -393,9 +389,9 @@ int ossl_quic_wire_encode_frame_handshake_done(WPACKET *pkt)
}
unsigned char *ossl_quic_wire_encode_transport_param_bytes(WPACKET *pkt,
- uint64_t id,
- const unsigned char *value,
- size_t value_len)
+ uint64_t id,
+ const unsigned char *value,
+ size_t value_len)
{
unsigned char *b = NULL;
@@ -415,27 +411,28 @@ unsigned char *ossl_quic_wire_encode_transport_param_bytes(WPACKET *pkt,
}
int ossl_quic_wire_encode_transport_param_int(WPACKET *pkt,
- uint64_t id,
- uint64_t value)
+ uint64_t id,
+ uint64_t value)
{
if (!WPACKET_quic_write_vlint(pkt, id)
- || !WPACKET_quic_write_vlint(pkt, ossl_quic_vlint_encode_len(value))
- || !WPACKET_quic_write_vlint(pkt, value))
+ || !WPACKET_quic_write_vlint(pkt, ossl_quic_vlint_encode_len(value))
+ || !WPACKET_quic_write_vlint(pkt, value))
return 0;
return 1;
}
int ossl_quic_wire_encode_transport_param_cid(WPACKET *wpkt,
- uint64_t id,
- const QUIC_CONN_ID *cid)
+ uint64_t id,
+ const QUIC_CONN_ID *cid)
{
if (cid->id_len > QUIC_MAX_CONN_ID_LEN)
return 0;
if (ossl_quic_wire_encode_transport_param_bytes(wpkt, id,
- cid->id,
- cid->id_len) == NULL)
+ cid->id,
+ cid->id_len)
+ == NULL)
return 0;
return 1;
@@ -446,7 +443,7 @@ int ossl_quic_wire_encode_transport_param_cid(WPACKET *wpkt,
* =========================
*/
int ossl_quic_wire_peek_frame_header(PACKET *pkt, uint64_t *type,
- int *was_minimal)
+ int *was_minimal)
{
return PACKET_peek_quic_vlint_ex(pkt, type, was_minimal);
}
@@ -457,14 +454,14 @@ int ossl_quic_wire_skip_frame_header(PACKET *pkt, uint64_t *type)
}
static int expect_frame_header_mask(PACKET *pkt,
- uint64_t expected_frame_type,
- uint64_t mask_bits,
- uint64_t *actual_frame_type)
+ uint64_t expected_frame_type,
+ uint64_t mask_bits,
+ uint64_t *actual_frame_type)
{
uint64_t actual_frame_type_;
if (!ossl_quic_wire_skip_frame_header(pkt, &actual_frame_type_)
- || (actual_frame_type_ & ~mask_bits) != expected_frame_type)
+ || (actual_frame_type_ & ~mask_bits) != expected_frame_type)
return 0;
if (actual_frame_type != NULL)
@@ -478,23 +475,23 @@ static int expect_frame_header(PACKET *pkt, uint64_t expected_frame_type)
uint64_t actual_frame_type;
if (!ossl_quic_wire_skip_frame_header(pkt, &actual_frame_type)
- || actual_frame_type != expected_frame_type)
+ || actual_frame_type != expected_frame_type)
return 0;
return 1;
}
int ossl_quic_wire_peek_frame_ack_num_ranges(const PACKET *orig_pkt,
- uint64_t *total_ranges)
+ uint64_t *total_ranges)
{
PACKET pkt = *orig_pkt;
uint64_t ack_range_count, i;
if (!expect_frame_header_mask(&pkt, OSSL_QUIC_FRAME_TYPE_ACK_WITHOUT_ECN,
- 1, NULL)
- || !PACKET_skip_quic_vlint(&pkt)
- || !PACKET_skip_quic_vlint(&pkt)
- || !PACKET_get_quic_vlint(&pkt, &ack_range_count))
+ 1, NULL)
+ || !PACKET_skip_quic_vlint(&pkt)
+ || !PACKET_skip_quic_vlint(&pkt)
+ || !PACKET_get_quic_vlint(&pkt, &ack_range_count))
return 0;
/*
@@ -515,19 +512,20 @@ int ossl_quic_wire_peek_frame_ack_num_ranges(const PACKET *orig_pkt,
}
int ossl_quic_wire_decode_frame_ack(PACKET *pkt,
- uint32_t ack_delay_exponent,
- OSSL_QUIC_FRAME_ACK *ack,
- uint64_t *total_ranges) {
+ uint32_t ack_delay_exponent,
+ OSSL_QUIC_FRAME_ACK *ack,
+ uint64_t *total_ranges)
+{
uint64_t frame_type, largest_ackd, ack_delay_raw;
uint64_t ack_range_count, first_ack_range, start, end, i;
/* This call matches both ACK_WITHOUT_ECN and ACK_WITH_ECN. */
if (!expect_frame_header_mask(pkt, OSSL_QUIC_FRAME_TYPE_ACK_WITHOUT_ECN,
- 1, &frame_type)
- || !PACKET_get_quic_vlint(pkt, &largest_ackd)
- || !PACKET_get_quic_vlint(pkt, &ack_delay_raw)
- || !PACKET_get_quic_vlint(pkt, &ack_range_count)
- || !PACKET_get_quic_vlint(pkt, &first_ack_range))
+ 1, &frame_type)
+ || !PACKET_get_quic_vlint(pkt, &largest_ackd)
+ || !PACKET_get_quic_vlint(pkt, &ack_delay_raw)
+ || !PACKET_get_quic_vlint(pkt, &ack_range_count)
+ || !PACKET_get_quic_vlint(pkt, &first_ack_range))
return 0;
if (first_ack_range > largest_ackd)
@@ -542,14 +540,14 @@ int ossl_quic_wire_decode_frame_ack(PACKET *pkt,
int err = 0;
ack->delay_time
= ossl_time_multiply(ossl_ticks2time(OSSL_TIME_US),
- safe_mul_uint64_t(ack_delay_raw,
- (uint64_t)1 << ack_delay_exponent,
- &err));
+ safe_mul_uint64_t(ack_delay_raw,
+ (uint64_t)1 << ack_delay_exponent,
+ &err));
if (err)
ack->delay_time = ossl_time_infinite();
if (ack->num_ack_ranges > 0) {
- ack->ack_ranges[0].end = largest_ackd;
+ ack->ack_ranges[0].end = largest_ackd;
ack->ack_ranges[0].start = start;
}
}
@@ -558,7 +556,7 @@ int ossl_quic_wire_decode_frame_ack(PACKET *pkt,
uint64_t gap, len;
if (!PACKET_get_quic_vlint(pkt, &gap)
- || !PACKET_get_quic_vlint(pkt, &len))
+ || !PACKET_get_quic_vlint(pkt, &len))
return 0;
end = start - gap - 2;
@@ -567,7 +565,7 @@ int ossl_quic_wire_decode_frame_ack(PACKET *pkt,
if (ack != NULL && i + 1 < ack->num_ack_ranges) {
ack->ack_ranges[i + 1].start = start = end - len;
- ack->ack_ranges[i + 1].end = end;
+ ack->ack_ranges[i + 1].end = end;
}
}
@@ -581,15 +579,15 @@ int ossl_quic_wire_decode_frame_ack(PACKET *pkt,
uint64_t ect0, ect1, ecnce;
if (!PACKET_get_quic_vlint(pkt, &ect0)
- || !PACKET_get_quic_vlint(pkt, &ect1)
- || !PACKET_get_quic_vlint(pkt, &ecnce))
+ || !PACKET_get_quic_vlint(pkt, &ect1)
+ || !PACKET_get_quic_vlint(pkt, &ecnce))
return 0;
if (ack != NULL) {
- ack->ect0 = ect0;
- ack->ect1 = ect1;
- ack->ecnce = ecnce;
- ack->ecn_present = 1;
+ ack->ect0 = ect0;
+ ack->ect1 = ect1;
+ ack->ecnce = ecnce;
+ ack->ecn_present = 1;
}
} else if (ack != NULL) {
ack->ecn_present = 0;
@@ -599,36 +597,36 @@ int ossl_quic_wire_decode_frame_ack(PACKET *pkt,
}
int ossl_quic_wire_decode_frame_reset_stream(PACKET *pkt,
- OSSL_QUIC_FRAME_RESET_STREAM *f)
+ OSSL_QUIC_FRAME_RESET_STREAM *f)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_RESET_STREAM)
- || !PACKET_get_quic_vlint(pkt, &f->stream_id)
- || !PACKET_get_quic_vlint(pkt, &f->app_error_code)
- || !PACKET_get_quic_vlint(pkt, &f->final_size))
+ || !PACKET_get_quic_vlint(pkt, &f->stream_id)
+ || !PACKET_get_quic_vlint(pkt, &f->app_error_code)
+ || !PACKET_get_quic_vlint(pkt, &f->final_size))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_stop_sending(PACKET *pkt,
- OSSL_QUIC_FRAME_STOP_SENDING *f)
+ OSSL_QUIC_FRAME_STOP_SENDING *f)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_STOP_SENDING)
- || !PACKET_get_quic_vlint(pkt, &f->stream_id)
- || !PACKET_get_quic_vlint(pkt, &f->app_error_code))
+ || !PACKET_get_quic_vlint(pkt, &f->stream_id)
+ || !PACKET_get_quic_vlint(pkt, &f->app_error_code))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_crypto(PACKET *pkt,
- int nodata,
- OSSL_QUIC_FRAME_CRYPTO *f)
+ int nodata,
+ OSSL_QUIC_FRAME_CRYPTO *f)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_CRYPTO)
- || !PACKET_get_quic_vlint(pkt, &f->offset)
- || !PACKET_get_quic_vlint(pkt, &f->len)
- || f->len > SIZE_MAX /* sizeof(uint64_t) > sizeof(size_t)? */)
+ || !PACKET_get_quic_vlint(pkt, &f->offset)
+ || !PACKET_get_quic_vlint(pkt, &f->len)
+ || f->len > SIZE_MAX /* sizeof(uint64_t) > sizeof(size_t)? */)
return 0;
if (f->offset + f->len > (((uint64_t)1) << 62) - 1)
@@ -650,21 +648,21 @@ int ossl_quic_wire_decode_frame_crypto(PACKET *pkt,
return 1;
}
-int ossl_quic_wire_decode_frame_new_token(PACKET *pkt,
- const unsigned char **token,
- size_t *token_len)
+int ossl_quic_wire_decode_frame_new_token(PACKET *pkt,
+ const unsigned char **token,
+ size_t *token_len)
{
uint64_t token_len_;
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_NEW_TOKEN)
- || !PACKET_get_quic_vlint(pkt, &token_len_))
+ || !PACKET_get_quic_vlint(pkt, &token_len_))
return 0;
if (token_len_ > SIZE_MAX)
return 0;
- *token = PACKET_data(pkt);
- *token_len = (size_t)token_len_;
+ *token = PACKET_data(pkt);
+ *token_len = (size_t)token_len_;
if (!PACKET_forward(pkt, (size_t)token_len_))
return 0;
@@ -673,16 +671,16 @@ int ossl_quic_wire_decode_frame_new_token(PACKET *pkt,
}
int ossl_quic_wire_decode_frame_stream(PACKET *pkt,
- int nodata,
- OSSL_QUIC_FRAME_STREAM *f)
+ int nodata,
+ OSSL_QUIC_FRAME_STREAM *f)
{
uint64_t frame_type;
/* This call matches all STREAM values (low 3 bits are masked). */
if (!expect_frame_header_mask(pkt, OSSL_QUIC_FRAME_TYPE_STREAM,
- OSSL_QUIC_FRAME_FLAG_STREAM_MASK,
- &frame_type)
- || !PACKET_get_quic_vlint(pkt, &f->stream_id))
+ OSSL_QUIC_FRAME_FLAG_STREAM_MASK,
+ &frame_type)
+ || !PACKET_get_quic_vlint(pkt, &f->stream_id))
return 0;
if ((frame_type & OSSL_QUIC_FRAME_FLAG_STREAM_OFF) != 0) {
@@ -693,7 +691,7 @@ int ossl_quic_wire_decode_frame_stream(PACKET *pkt,
}
f->has_explicit_len = ((frame_type & OSSL_QUIC_FRAME_FLAG_STREAM_LEN) != 0);
- f->is_fin = ((frame_type & OSSL_QUIC_FRAME_FLAG_STREAM_FIN) != 0);
+ f->is_fin = ((frame_type & OSSL_QUIC_FRAME_FLAG_STREAM_FIN) != 0);
if (f->has_explicit_len) {
if (!PACKET_get_quic_vlint(pkt, &f->len))
@@ -727,85 +725,85 @@ int ossl_quic_wire_decode_frame_stream(PACKET *pkt,
}
int ossl_quic_wire_decode_frame_max_data(PACKET *pkt,
- uint64_t *max_data)
+ uint64_t *max_data)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_MAX_DATA)
- || !PACKET_get_quic_vlint(pkt, max_data))
+ || !PACKET_get_quic_vlint(pkt, max_data))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_max_stream_data(PACKET *pkt,
- uint64_t *stream_id,
- uint64_t *max_stream_data)
+ uint64_t *stream_id,
+ uint64_t *max_stream_data)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_MAX_STREAM_DATA)
- || !PACKET_get_quic_vlint(pkt, stream_id)
- || !PACKET_get_quic_vlint(pkt, max_stream_data))
+ || !PACKET_get_quic_vlint(pkt, stream_id)
+ || !PACKET_get_quic_vlint(pkt, max_stream_data))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_max_streams(PACKET *pkt,
- uint64_t *max_streams)
+ uint64_t *max_streams)
{
/* This call matches both MAX_STREAMS_BIDI and MAX_STREAMS_UNI. */
if (!expect_frame_header_mask(pkt, OSSL_QUIC_FRAME_TYPE_MAX_STREAMS_BIDI,
- 1, NULL)
- || !PACKET_get_quic_vlint(pkt, max_streams))
+ 1, NULL)
+ || !PACKET_get_quic_vlint(pkt, max_streams))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_data_blocked(PACKET *pkt,
- uint64_t *max_data)
+ uint64_t *max_data)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_DATA_BLOCKED)
- || !PACKET_get_quic_vlint(pkt, max_data))
+ || !PACKET_get_quic_vlint(pkt, max_data))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_stream_data_blocked(PACKET *pkt,
- uint64_t *stream_id,
- uint64_t *max_stream_data)
+ uint64_t *stream_id,
+ uint64_t *max_stream_data)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_STREAM_DATA_BLOCKED)
- || !PACKET_get_quic_vlint(pkt, stream_id)
- || !PACKET_get_quic_vlint(pkt, max_stream_data))
+ || !PACKET_get_quic_vlint(pkt, stream_id)
+ || !PACKET_get_quic_vlint(pkt, max_stream_data))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_streams_blocked(PACKET *pkt,
- uint64_t *max_streams)
+ uint64_t *max_streams)
{
/* This call matches both STREAMS_BLOCKED_BIDI and STREAMS_BLOCKED_UNI. */
if (!expect_frame_header_mask(pkt, OSSL_QUIC_FRAME_TYPE_STREAMS_BLOCKED_BIDI,
- 1, NULL)
- || !PACKET_get_quic_vlint(pkt, max_streams))
+ 1, NULL)
+ || !PACKET_get_quic_vlint(pkt, max_streams))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_new_conn_id(PACKET *pkt,
- OSSL_QUIC_FRAME_NEW_CONN_ID *f)
+ OSSL_QUIC_FRAME_NEW_CONN_ID *f)
{
unsigned int len;
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_NEW_CONN_ID)
- || !PACKET_get_quic_vlint(pkt, &f->seq_num)
- || !PACKET_get_quic_vlint(pkt, &f->retire_prior_to)
- || f->seq_num < f->retire_prior_to
- || !PACKET_get_1(pkt, &len)
- || len < 1
- || len > QUIC_MAX_CONN_ID_LEN)
+ || !PACKET_get_quic_vlint(pkt, &f->seq_num)
+ || !PACKET_get_quic_vlint(pkt, &f->retire_prior_to)
+ || f->seq_num < f->retire_prior_to
+ || !PACKET_get_1(pkt, &len)
+ || len < 1
+ || len > QUIC_MAX_CONN_ID_LEN)
return 0;
f->conn_id.id_len = (unsigned char)len;
@@ -817,51 +815,51 @@ int ossl_quic_wire_decode_frame_new_conn_id(PACKET *pkt,
memset(f->conn_id.id + len, 0, QUIC_MAX_CONN_ID_LEN - len);
if (!PACKET_copy_bytes(pkt, f->stateless_reset.token,
- sizeof(f->stateless_reset.token)))
+ sizeof(f->stateless_reset.token)))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_retire_conn_id(PACKET *pkt,
- uint64_t *seq_num)
+ uint64_t *seq_num)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_RETIRE_CONN_ID)
- || !PACKET_get_quic_vlint(pkt, seq_num))
+ || !PACKET_get_quic_vlint(pkt, seq_num))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_path_challenge(PACKET *pkt,
- uint64_t *data)
+ uint64_t *data)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE)
- || !PACKET_get_net_8(pkt, data))
+ || !PACKET_get_net_8(pkt, data))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_path_response(PACKET *pkt,
- uint64_t *data)
+ uint64_t *data)
{
if (!expect_frame_header(pkt, OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE)
- || !PACKET_get_net_8(pkt, data))
+ || !PACKET_get_net_8(pkt, data))
return 0;
return 1;
}
int ossl_quic_wire_decode_frame_conn_close(PACKET *pkt,
- OSSL_QUIC_FRAME_CONN_CLOSE *f)
+ OSSL_QUIC_FRAME_CONN_CLOSE *f)
{
uint64_t frame_type, reason_len;
/* This call matches both CONN_CLOSE_TRANSPORT and CONN_CLOSE_APP. */
if (!expect_frame_header_mask(pkt, OSSL_QUIC_FRAME_TYPE_CONN_CLOSE_TRANSPORT,
- 1, &frame_type)
- || !PACKET_get_quic_vlint(pkt, &f->error_code))
+ 1, &frame_type)
+ || !PACKET_get_quic_vlint(pkt, &f->error_code))
return 0;
f->is_app = ((frame_type & 1) != 0);
@@ -874,11 +872,11 @@ int ossl_quic_wire_decode_frame_conn_close(PACKET *pkt,
}
if (!PACKET_get_quic_vlint(pkt, &reason_len)
- || reason_len > SIZE_MAX)
+ || reason_len > SIZE_MAX)
return 0;
if (!PACKET_get_bytes(pkt, (const unsigned char **)&f->reason,
- (size_t)reason_len))
+ (size_t)reason_len))
return 0;
f->reason_len = (size_t)reason_len;
@@ -915,19 +913,19 @@ int ossl_quic_wire_peek_transport_param(PACKET *pkt, uint64_t *id)
}
const unsigned char *ossl_quic_wire_decode_transport_param_bytes(PACKET *pkt,
- uint64_t *id,
- size_t *len)
+ uint64_t *id,
+ size_t *len)
{
uint64_t len_;
const unsigned char *b = NULL;
uint64_t id_;
if (!PACKET_get_quic_vlint(pkt, &id_)
- || !PACKET_get_quic_vlint(pkt, &len_))
+ || !PACKET_get_quic_vlint(pkt, &len_))
return NULL;
if (len_ > SIZE_MAX
- || !PACKET_get_bytes(pkt, (const unsigned char **)&b, (size_t)len_))
+ || !PACKET_get_bytes(pkt, (const unsigned char **)&b, (size_t)len_))
return NULL;
*len = (size_t)len_;
@@ -937,13 +935,13 @@ const unsigned char *ossl_quic_wire_decode_transport_param_bytes(PACKET *pkt,
}
int ossl_quic_wire_decode_transport_param_int(PACKET *pkt,
- uint64_t *id,
- uint64_t *value)
+ uint64_t *id,
+ uint64_t *value)
{
PACKET sub;
sub.curr = ossl_quic_wire_decode_transport_param_bytes(pkt,
- id, &sub.remaining);
+ id, &sub.remaining);
if (sub.curr == NULL)
return 0;
@@ -953,12 +951,12 @@ int ossl_quic_wire_decode_transport_param_int(PACKET *pkt,
if (PACKET_remaining(&sub) > 0)
return 0;
- return 1;
+ return 1;
}
int ossl_quic_wire_decode_transport_param_cid(PACKET *pkt,
- uint64_t *id,
- QUIC_CONN_ID *cid)
+ uint64_t *id,
+ QUIC_CONN_ID *cid)
{
const unsigned char *body;
size_t len = 0;
@@ -973,7 +971,7 @@ int ossl_quic_wire_decode_transport_param_cid(PACKET *pkt,
}
int ossl_quic_wire_decode_transport_param_preferred_addr(PACKET *pkt,
- QUIC_PREFERRED_ADDR *p)
+ QUIC_PREFERRED_ADDR *p)
{
const unsigned char *body;
uint64_t id;
@@ -999,12 +997,12 @@ int ossl_quic_wire_decode_transport_param_preferred_addr(PACKET *pkt,
|| cidl > QUIC_MAX_CONN_ID_LEN
|| !PACKET_copy_bytes(&pkt2, p->cid.id, cidl)
|| !PACKET_copy_bytes(&pkt2, p->stateless_reset.token,
- sizeof(p->stateless_reset.token)))
+ sizeof(p->stateless_reset.token)))
return 0;
- p->ipv4_port = (uint16_t)ipv4_port;
- p->ipv6_port = (uint16_t)ipv6_port;
- p->cid.id_len = (unsigned char)cidl;
+ p->ipv4_port = (uint16_t)ipv4_port;
+ p->ipv6_port = (uint16_t)ipv6_port;
+ p->cid.id_len = (unsigned char)cidl;
return 1;
}
@@ -1012,38 +1010,40 @@ const char *
ossl_quic_frame_type_to_string(uint64_t frame_type)
{
switch (frame_type) {
-#define X(name) case OSSL_QUIC_FRAME_TYPE_##name: return #name;
- X(PADDING)
- X(PING)
- X(ACK_WITHOUT_ECN)
- X(ACK_WITH_ECN)
- X(RESET_STREAM)
- X(STOP_SENDING)
- X(CRYPTO)
- X(NEW_TOKEN)
- X(MAX_DATA)
- X(MAX_STREAM_DATA)
- X(MAX_STREAMS_BIDI)
- X(MAX_STREAMS_UNI)
- X(DATA_BLOCKED)
- X(STREAM_DATA_BLOCKED)
- X(STREAMS_BLOCKED_BIDI)
- X(STREAMS_BLOCKED_UNI)
- X(NEW_CONN_ID)
- X(RETIRE_CONN_ID)
- X(PATH_CHALLENGE)
- X(PATH_RESPONSE)
- X(CONN_CLOSE_TRANSPORT)
- X(CONN_CLOSE_APP)
- X(HANDSHAKE_DONE)
- X(STREAM)
- X(STREAM_FIN)
- X(STREAM_LEN)
- X(STREAM_LEN_FIN)
- X(STREAM_OFF)
- X(STREAM_OFF_FIN)
- X(STREAM_OFF_LEN)
- X(STREAM_OFF_LEN_FIN)
+#define X(name) \
+ case OSSL_QUIC_FRAME_TYPE_##name: \
+ return #name;
+ X(PADDING)
+ X(PING)
+ X(ACK_WITHOUT_ECN)
+ X(ACK_WITH_ECN)
+ X(RESET_STREAM)
+ X(STOP_SENDING)
+ X(CRYPTO)
+ X(NEW_TOKEN)
+ X(MAX_DATA)
+ X(MAX_STREAM_DATA)
+ X(MAX_STREAMS_BIDI)
+ X(MAX_STREAMS_UNI)
+ X(DATA_BLOCKED)
+ X(STREAM_DATA_BLOCKED)
+ X(STREAMS_BLOCKED_BIDI)
+ X(STREAMS_BLOCKED_UNI)
+ X(NEW_CONN_ID)
+ X(RETIRE_CONN_ID)
+ X(PATH_CHALLENGE)
+ X(PATH_RESPONSE)
+ X(CONN_CLOSE_TRANSPORT)
+ X(CONN_CLOSE_APP)
+ X(HANDSHAKE_DONE)
+ X(STREAM)
+ X(STREAM_FIN)
+ X(STREAM_LEN)
+ X(STREAM_LEN_FIN)
+ X(STREAM_OFF)
+ X(STREAM_OFF_FIN)
+ X(STREAM_OFF_LEN)
+ X(STREAM_OFF_LEN_FIN)
#undef X
default:
return NULL;
@@ -1053,24 +1053,26 @@ ossl_quic_frame_type_to_string(uint64_t frame_type)
const char *ossl_quic_err_to_string(uint64_t error_code)
{
switch (error_code) {
-#define X(name) case OSSL_QUIC_ERR_##name: return #name;
- X(NO_ERROR)
- X(INTERNAL_ERROR)
- X(CONNECTION_REFUSED)
- X(FLOW_CONTROL_ERROR)
- X(STREAM_LIMIT_ERROR)
- X(STREAM_STATE_ERROR)
- X(FINAL_SIZE_ERROR)
- X(FRAME_ENCODING_ERROR)
- X(TRANSPORT_PARAMETER_ERROR)
- X(CONNECTION_ID_LIMIT_ERROR)
- X(PROTOCOL_VIOLATION)
- X(INVALID_TOKEN)
- X(APPLICATION_ERROR)
- X(CRYPTO_BUFFER_EXCEEDED)
- X(KEY_UPDATE_ERROR)
- X(AEAD_LIMIT_REACHED)
- X(NO_VIABLE_PATH)
+#define X(name) \
+ case OSSL_QUIC_ERR_##name: \
+ return #name;
+ X(NO_ERROR)
+ X(INTERNAL_ERROR)
+ X(CONNECTION_REFUSED)
+ X(FLOW_CONTROL_ERROR)
+ X(STREAM_LIMIT_ERROR)
+ X(STREAM_STATE_ERROR)
+ X(FINAL_SIZE_ERROR)
+ X(FRAME_ENCODING_ERROR)
+ X(TRANSPORT_PARAMETER_ERROR)
+ X(CONNECTION_ID_LIMIT_ERROR)
+ X(PROTOCOL_VIOLATION)
+ X(INVALID_TOKEN)
+ X(APPLICATION_ERROR)
+ X(CRYPTO_BUFFER_EXCEEDED)
+ X(KEY_UPDATE_ERROR)
+ X(AEAD_LIMIT_REACHED)
+ X(NO_VIABLE_PATH)
#undef X
default:
return NULL;
diff --git a/crypto/openssl/ssl/quic/quic_wire_pkt.c b/crypto/openssl/ssl/quic/quic_wire_pkt.c
index b6ee898eddf7..d0efc2d06808 100644
--- a/crypto/openssl/ssl/quic/quic_wire_pkt.c
+++ b/crypto/openssl/ssl/quic/quic_wire_pkt.c
@@ -12,27 +12,27 @@
#include "internal/quic_wire_pkt.h"
int ossl_quic_hdr_protector_init(QUIC_HDR_PROTECTOR *hpr,
- OSSL_LIB_CTX *libctx,
- const char *propq,
- uint32_t cipher_id,
- const unsigned char *quic_hp_key,
- size_t quic_hp_key_len)
+ OSSL_LIB_CTX *libctx,
+ const char *propq,
+ uint32_t cipher_id,
+ const unsigned char *quic_hp_key,
+ size_t quic_hp_key_len)
{
const char *cipher_name = NULL;
switch (cipher_id) {
- case QUIC_HDR_PROT_CIPHER_AES_128:
- cipher_name = "AES-128-ECB";
- break;
- case QUIC_HDR_PROT_CIPHER_AES_256:
- cipher_name = "AES-256-ECB";
- break;
- case QUIC_HDR_PROT_CIPHER_CHACHA:
- cipher_name = "ChaCha20";
- break;
- default:
- ERR_raise(ERR_LIB_SSL, ERR_R_UNSUPPORTED);
- return 0;
+ case QUIC_HDR_PROT_CIPHER_AES_128:
+ cipher_name = "AES-128-ECB";
+ break;
+ case QUIC_HDR_PROT_CIPHER_AES_256:
+ cipher_name = "AES-256-ECB";
+ break;
+ case QUIC_HDR_PROT_CIPHER_CHACHA:
+ cipher_name = "ChaCha20";
+ break;
+ default:
+ ERR_raise(ERR_LIB_SSL, ERR_R_UNSUPPORTED);
+ return 0;
}
hpr->cipher_ctx = EVP_CIPHER_CTX_new();
@@ -49,14 +49,14 @@ int ossl_quic_hdr_protector_init(QUIC_HDR_PROTECTOR *hpr,
}
if (!EVP_CipherInit_ex(hpr->cipher_ctx, hpr->cipher, NULL,
- quic_hp_key, NULL, 1)) {
+ quic_hp_key, NULL, 1)) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
goto err;
}
- hpr->libctx = libctx;
- hpr->propq = propq;
- hpr->cipher_id = cipher_id;
+ hpr->libctx = libctx;
+ hpr->propq = propq;
+ hpr->cipher_id = cipher_id;
return 1;
err:
@@ -74,12 +74,12 @@ void ossl_quic_hdr_protector_cleanup(QUIC_HDR_PROTECTOR *hpr)
}
static int hdr_generate_mask(QUIC_HDR_PROTECTOR *hpr,
- const unsigned char *sample, size_t sample_len,
- unsigned char *mask)
+ const unsigned char *sample, size_t sample_len,
+ unsigned char *mask)
{
int l = 0;
unsigned char dst[16];
- static const unsigned char zeroes[5] = {0};
+ static const unsigned char zeroes[5] = { 0 };
size_t i;
if (hpr->cipher_id == QUIC_HDR_PROT_CIPHER_AES_128
@@ -105,7 +105,7 @@ static int hdr_generate_mask(QUIC_HDR_PROTECTOR *hpr,
if (!EVP_CipherInit_ex(hpr->cipher_ctx, NULL, NULL, NULL, sample, 1)
|| !EVP_CipherUpdate(hpr->cipher_ctx, mask, &l,
- zeroes, sizeof(zeroes))) {
+ zeroes, sizeof(zeroes))) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
return 0;
}
@@ -124,20 +124,20 @@ static int hdr_generate_mask(QUIC_HDR_PROTECTOR *hpr,
}
int ossl_quic_hdr_protector_decrypt(QUIC_HDR_PROTECTOR *hpr,
- QUIC_PKT_HDR_PTRS *ptrs)
+ QUIC_PKT_HDR_PTRS *ptrs)
{
return ossl_quic_hdr_protector_decrypt_fields(hpr,
- ptrs->raw_sample,
- ptrs->raw_sample_len,
- ptrs->raw_start,
- ptrs->raw_pn);
+ ptrs->raw_sample,
+ ptrs->raw_sample_len,
+ ptrs->raw_start,
+ ptrs->raw_pn);
}
int ossl_quic_hdr_protector_decrypt_fields(QUIC_HDR_PROTECTOR *hpr,
- const unsigned char *sample,
- size_t sample_len,
- unsigned char *first_byte,
- unsigned char *pn_bytes)
+ const unsigned char *sample,
+ size_t sample_len,
+ unsigned char *first_byte,
+ unsigned char *pn_bytes)
{
unsigned char mask[5], pn_len, i;
@@ -154,20 +154,20 @@ int ossl_quic_hdr_protector_decrypt_fields(QUIC_HDR_PROTECTOR *hpr,
}
int ossl_quic_hdr_protector_encrypt(QUIC_HDR_PROTECTOR *hpr,
- QUIC_PKT_HDR_PTRS *ptrs)
+ QUIC_PKT_HDR_PTRS *ptrs)
{
return ossl_quic_hdr_protector_encrypt_fields(hpr,
- ptrs->raw_sample,
- ptrs->raw_sample_len,
- ptrs->raw_start,
- ptrs->raw_pn);
+ ptrs->raw_sample,
+ ptrs->raw_sample_len,
+ ptrs->raw_start,
+ ptrs->raw_pn);
}
int ossl_quic_hdr_protector_encrypt_fields(QUIC_HDR_PROTECTOR *hpr,
- const unsigned char *sample,
- size_t sample_len,
- unsigned char *first_byte,
- unsigned char *pn_bytes)
+ const unsigned char *sample,
+ size_t sample_len,
+ unsigned char *first_byte,
+ unsigned char *pn_bytes)
{
unsigned char mask[5], pn_len, i;
@@ -183,12 +183,12 @@ int ossl_quic_hdr_protector_encrypt_fields(QUIC_HDR_PROTECTOR *hpr,
}
int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
- size_t short_conn_id_len,
- int partial,
- int nodata,
- QUIC_PKT_HDR *hdr,
- QUIC_PKT_HDR_PTRS *ptrs,
- uint64_t *fail_cause)
+ size_t short_conn_id_len,
+ int partial,
+ int nodata,
+ QUIC_PKT_HDR *hdr,
+ QUIC_PKT_HDR_PTRS *ptrs,
+ uint64_t *fail_cause)
{
unsigned int b0;
unsigned char *pn = NULL;
@@ -198,19 +198,19 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
*fail_cause = QUIC_PKT_HDR_DECODE_DECODE_ERR;
if (ptrs != NULL) {
- ptrs->raw_start = (unsigned char *)PACKET_data(pkt);
- ptrs->raw_sample = NULL;
- ptrs->raw_sample_len = 0;
- ptrs->raw_pn = NULL;
+ ptrs->raw_start = (unsigned char *)PACKET_data(pkt);
+ ptrs->raw_sample = NULL;
+ ptrs->raw_sample_len = 0;
+ ptrs->raw_pn = NULL;
}
if (l < QUIC_MIN_VALID_PKT_LEN
|| !PACKET_get_1(pkt, &b0))
return 0;
- hdr->partial = partial;
- hdr->unused = 0;
- hdr->reserved = 0;
+ hdr->partial = partial;
+ hdr->unused = 0;
+ hdr->reserved = 0;
if ((b0 & 0x80) == 0) {
/* Short header. */
@@ -221,17 +221,17 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
|| l < QUIC_MIN_VALID_PKT_LEN_CRYPTO)
return 0;
- hdr->type = QUIC_PKT_TYPE_1RTT;
- hdr->fixed = 1;
- hdr->spin_bit = (b0 & 0x20) != 0;
+ hdr->type = QUIC_PKT_TYPE_1RTT;
+ hdr->fixed = 1;
+ hdr->spin_bit = (b0 & 0x20) != 0;
if (partial) {
- hdr->key_phase = 0; /* protected, zero for now */
- hdr->pn_len = 0; /* protected, zero for now */
- hdr->reserved = 0; /* protected, zero for now */
+ hdr->key_phase = 0; /* protected, zero for now */
+ hdr->pn_len = 0; /* protected, zero for now */
+ hdr->reserved = 0; /* protected, zero for now */
} else {
- hdr->key_phase = (b0 & 0x04) != 0;
- hdr->pn_len = (b0 & 0x03) + 1;
- hdr->reserved = (b0 & 0x18) >> 3;
+ hdr->key_phase = (b0 & 0x04) != 0;
+ hdr->pn_len = (b0 & 0x03) + 1;
+ hdr->reserved = (b0 & 0x18) >> 3;
}
/* Copy destination connection ID field to header structure. */
@@ -257,17 +257,17 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
}
/* Fields not used in short-header packets. */
- hdr->version = 0;
+ hdr->version = 0;
hdr->src_conn_id.id_len = 0;
- hdr->token = NULL;
- hdr->token_len = 0;
+ hdr->token = NULL;
+ hdr->token_len = 0;
/*
* Short-header packets always come last in a datagram, the length
* is the remainder of the buffer.
*/
- hdr->len = PACKET_remaining(pkt);
- hdr->data = PACKET_data(pkt);
+ hdr->len = PACKET_remaining(pkt);
+ hdr->data = PACKET_data(pkt);
/*
* Skip over payload. Since this is a short header packet, which cannot
@@ -299,7 +299,7 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
|| !PACKET_copy_bytes(pkt, hdr->src_conn_id.id, src_conn_id_len))
return 0;
- hdr->version = (uint32_t)version;
+ hdr->version = (uint32_t)version;
hdr->dst_conn_id.id_len = (unsigned char)dst_conn_id_len;
hdr->src_conn_id.id_len = (unsigned char)src_conn_id_len;
@@ -309,11 +309,11 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
* identified by a version field of 0 and the type bits in the first
* byte are ignored (they may take any value, and we ignore them).
*/
- hdr->type = QUIC_PKT_TYPE_VERSION_NEG;
- hdr->fixed = (b0 & 0x40) != 0;
+ hdr->type = QUIC_PKT_TYPE_VERSION_NEG;
+ hdr->fixed = (b0 & 0x40) != 0;
- hdr->data = PACKET_data(pkt);
- hdr->len = PACKET_remaining(pkt);
+ hdr->data = PACKET_data(pkt);
+ hdr->len = PACKET_remaining(pkt);
/*
* Version negotiation packets must contain an array of u32s, so it
@@ -323,14 +323,14 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
return 0;
/* Version negotiation packets are always fully decoded. */
- hdr->partial = 0;
+ hdr->partial = 0;
/* Fields not used in version negotiation packets. */
- hdr->pn_len = 0;
- hdr->spin_bit = 0;
- hdr->key_phase = 0;
- hdr->token = NULL;
- hdr->token_len = 0;
+ hdr->pn_len = 0;
+ hdr->spin_bit = 0;
+ hdr->key_phase = 0;
+ hdr->token = NULL;
+ hdr->token_len = 0;
memset(hdr->pn, 0, sizeof(hdr->pn));
if (!PACKET_forward(pkt, hdr->len))
@@ -362,12 +362,12 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
break;
}
- hdr->pn_len = 0;
- hdr->fixed = 1;
+ hdr->pn_len = 0;
+ hdr->fixed = 1;
/* Fields not used in long-header packets. */
- hdr->spin_bit = 0;
- hdr->key_phase = 0;
+ hdr->spin_bit = 0;
+ hdr->key_phase = 0;
if (hdr->type == QUIC_PKT_TYPE_INITIAL) {
/* Initial packet. */
@@ -378,24 +378,24 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
|| !PACKET_get_bytes(pkt, &hdr->token, (size_t)token_len))
return 0;
- hdr->token_len = (size_t)token_len;
+ hdr->token_len = (size_t)token_len;
if (token_len == 0)
hdr->token = NULL;
} else {
- hdr->token = NULL;
- hdr->token_len = 0;
+ hdr->token = NULL;
+ hdr->token_len = 0;
}
if (hdr->type == QUIC_PKT_TYPE_RETRY) {
/* Retry packet. */
- hdr->data = PACKET_data(pkt);
- hdr->len = PACKET_remaining(pkt);
+ hdr->data = PACKET_data(pkt);
+ hdr->len = PACKET_remaining(pkt);
/* Retry packets are always fully decoded. */
- hdr->partial = 0;
+ hdr->partial = 0;
/* Unused bits in Retry header. */
- hdr->unused = b0 & 0x0f;
+ hdr->unused = b0 & 0x0f;
/* Fields not used in Retry packets. */
memset(hdr->pn, 0, sizeof(hdr->pn));
@@ -406,11 +406,11 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
/* Initial, 0-RTT or Handshake packet. */
uint64_t len;
- hdr->pn_len = partial ? 0 : ((b0 & 0x03) + 1);
- hdr->reserved = partial ? 0 : ((b0 & 0x0C) >> 2);
+ hdr->pn_len = partial ? 0 : ((b0 & 0x03) + 1);
+ hdr->reserved = partial ? 0 : ((b0 & 0x0C) >> 2);
if (!PACKET_get_quic_vlint(pkt, &len)
- || len < sizeof(hdr->pn))
+ || len < sizeof(hdr->pn))
return 0;
if (!nodata && len > PACKET_remaining(pkt))
@@ -452,8 +452,8 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
if (ptrs != NULL) {
ptrs->raw_pn = pn;
if (pn != NULL) {
- ptrs->raw_sample = pn + 4;
- ptrs->raw_sample_len = PACKET_end(pkt) - ptrs->raw_sample;
+ ptrs->raw_sample = pn + 4;
+ ptrs->raw_sample_len = PACKET_end(pkt) - ptrs->raw_sample;
}
}
@@ -467,9 +467,9 @@ int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,
}
int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,
- size_t short_conn_id_len,
- const QUIC_PKT_HDR *hdr,
- QUIC_PKT_HDR_PTRS *ptrs)
+ size_t short_conn_id_len,
+ const QUIC_PKT_HDR *hdr,
+ QUIC_PKT_HDR_PTRS *ptrs)
{
unsigned char b0;
size_t off_start, off_sample, off_pn;
@@ -482,10 +482,10 @@ int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,
/* ptrs would not be stable on non-static WPACKET */
if (!ossl_assert(pkt->staticbuf != NULL))
return 0;
- ptrs->raw_start = NULL;
- ptrs->raw_sample = NULL;
- ptrs->raw_sample_len = 0;
- ptrs->raw_pn = 0;
+ ptrs->raw_start = NULL;
+ ptrs->raw_sample = NULL;
+ ptrs->raw_sample_len = 0;
+ ptrs->raw_pn = 0;
}
/* Cannot serialize a partial header, or one whose DCID length is wrong. */
@@ -507,10 +507,10 @@ int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,
return 0;
b0 = (hdr->spin_bit << 5)
- | (hdr->key_phase << 2)
- | (hdr->pn_len - 1)
- | (hdr->reserved << 3)
- | 0x40; /* fixed bit */
+ | (hdr->key_phase << 2)
+ | (hdr->pn_len - 1)
+ | (hdr->reserved << 3)
+ | 0x40; /* fixed bit */
if (!WPACKET_put_bytes_u8(pkt, b0)
|| !WPACKET_memcpy(pkt, hdr->dst_conn_id.id, short_conn_id_len)
@@ -530,20 +530,28 @@ int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,
return 0;
switch (hdr->type) {
- case QUIC_PKT_TYPE_VERSION_NEG:
- if (hdr->version != 0)
- return 0;
+ case QUIC_PKT_TYPE_VERSION_NEG:
+ if (hdr->version != 0)
+ return 0;
- /* Version negotiation packets use zero for the type bits */
- raw_type = 0;
- break;
+ /* Version negotiation packets use zero for the type bits */
+ raw_type = 0;
+ break;
- case QUIC_PKT_TYPE_INITIAL: raw_type = 0; break;
- case QUIC_PKT_TYPE_0RTT: raw_type = 1; break;
- case QUIC_PKT_TYPE_HANDSHAKE: raw_type = 2; break;
- case QUIC_PKT_TYPE_RETRY: raw_type = 3; break;
- default:
- return 0;
+ case QUIC_PKT_TYPE_INITIAL:
+ raw_type = 0;
+ break;
+ case QUIC_PKT_TYPE_0RTT:
+ raw_type = 1;
+ break;
+ case QUIC_PKT_TYPE_HANDSHAKE:
+ raw_type = 2;
+ break;
+ case QUIC_PKT_TYPE_RETRY:
+ raw_type = 3;
+ break;
+ default:
+ return 0;
}
b0 = (raw_type << 4) | 0x80; /* long */
@@ -560,10 +568,10 @@ int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,
|| !WPACKET_put_bytes_u32(pkt, hdr->version)
|| !WPACKET_put_bytes_u8(pkt, hdr->dst_conn_id.id_len)
|| !WPACKET_memcpy(pkt, hdr->dst_conn_id.id,
- hdr->dst_conn_id.id_len)
+ hdr->dst_conn_id.id_len)
|| !WPACKET_put_bytes_u8(pkt, hdr->src_conn_id.id_len)
|| !WPACKET_memcpy(pkt, hdr->src_conn_id.id,
- hdr->src_conn_id.id_len))
+ hdr->src_conn_id.id_len))
return 0;
if (hdr->type == QUIC_PKT_TYPE_VERSION_NEG) {
@@ -597,18 +605,18 @@ int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,
off_sample = off_pn + 4;
if (ptrs != NULL) {
- ptrs->raw_start = start;
- ptrs->raw_sample = start + (off_sample - off_start);
+ ptrs->raw_start = start;
+ ptrs->raw_sample = start + (off_sample - off_start);
ptrs->raw_sample_len
= WPACKET_get_curr(pkt) + hdr->len - ptrs->raw_sample;
- ptrs->raw_pn = start + (off_pn - off_start);
+ ptrs->raw_pn = start + (off_pn - off_start);
}
return 1;
}
int ossl_quic_wire_get_encoded_pkt_hdr_len(size_t short_conn_id_len,
- const QUIC_PKT_HDR *hdr)
+ const QUIC_PKT_HDR *hdr)
{
size_t len = 0, enclen;
@@ -670,9 +678,9 @@ int ossl_quic_wire_get_encoded_pkt_hdr_len(size_t short_conn_id_len,
}
int ossl_quic_wire_get_pkt_hdr_dst_conn_id(const unsigned char *buf,
- size_t buf_len,
- size_t short_conn_id_len,
- QUIC_CONN_ID *dst_conn_id)
+ size_t buf_len,
+ size_t short_conn_id_len,
+ QUIC_CONN_ID *dst_conn_id)
{
unsigned char b0;
size_t blen;
@@ -720,46 +728,46 @@ int ossl_quic_wire_get_pkt_hdr_dst_conn_id(const unsigned char *buf,
}
int ossl_quic_wire_decode_pkt_hdr_pn(const unsigned char *enc_pn,
- size_t enc_pn_len,
- QUIC_PN largest_pn,
- QUIC_PN *res_pn)
+ size_t enc_pn_len,
+ QUIC_PN largest_pn,
+ QUIC_PN *res_pn)
{
int64_t expected_pn, truncated_pn, candidate_pn, pn_win, pn_hwin, pn_mask;
switch (enc_pn_len) {
- case 1:
- truncated_pn = enc_pn[0];
- break;
- case 2:
- truncated_pn = ((QUIC_PN)enc_pn[0] << 8)
- | (QUIC_PN)enc_pn[1];
- break;
- case 3:
- truncated_pn = ((QUIC_PN)enc_pn[0] << 16)
- | ((QUIC_PN)enc_pn[1] << 8)
- | (QUIC_PN)enc_pn[2];
- break;
- case 4:
- truncated_pn = ((QUIC_PN)enc_pn[0] << 24)
- | ((QUIC_PN)enc_pn[1] << 16)
- | ((QUIC_PN)enc_pn[2] << 8)
- | (QUIC_PN)enc_pn[3];
- break;
- default:
- return 0;
+ case 1:
+ truncated_pn = enc_pn[0];
+ break;
+ case 2:
+ truncated_pn = ((QUIC_PN)enc_pn[0] << 8)
+ | (QUIC_PN)enc_pn[1];
+ break;
+ case 3:
+ truncated_pn = ((QUIC_PN)enc_pn[0] << 16)
+ | ((QUIC_PN)enc_pn[1] << 8)
+ | (QUIC_PN)enc_pn[2];
+ break;
+ case 4:
+ truncated_pn = ((QUIC_PN)enc_pn[0] << 24)
+ | ((QUIC_PN)enc_pn[1] << 16)
+ | ((QUIC_PN)enc_pn[2] << 8)
+ | (QUIC_PN)enc_pn[3];
+ break;
+ default:
+ return 0;
}
/* Implemented as per RFC 9000 Section A.3. */
- expected_pn = largest_pn + 1;
- pn_win = ((int64_t)1) << (enc_pn_len * 8);
- pn_hwin = pn_win / 2;
- pn_mask = pn_win - 1;
- candidate_pn = (expected_pn & ~pn_mask) | truncated_pn;
+ expected_pn = largest_pn + 1;
+ pn_win = ((int64_t)1) << (enc_pn_len * 8);
+ pn_hwin = pn_win / 2;
+ pn_mask = pn_win - 1;
+ candidate_pn = (expected_pn & ~pn_mask) | truncated_pn;
if (candidate_pn <= expected_pn - pn_hwin
&& candidate_pn < (((int64_t)1) << 62) - pn_win)
*res_pn = candidate_pn + pn_win;
else if (candidate_pn > expected_pn + pn_hwin
- && candidate_pn >= pn_win)
+ && candidate_pn >= pn_win)
*res_pn = candidate_pn - pn_win;
else
*res_pn = candidate_pn;
@@ -768,7 +776,7 @@ int ossl_quic_wire_decode_pkt_hdr_pn(const unsigned char *enc_pn,
/* From RFC 9000 Section A.2. Simplified implementation. */
int ossl_quic_wire_determine_pn_len(QUIC_PN pn,
- QUIC_PN largest_acked)
+ QUIC_PN largest_acked)
{
uint64_t num_unacked
= (largest_acked == QUIC_PN_INVALID) ? pn + 1 : pn - largest_acked;
@@ -780,46 +788,49 @@ int ossl_quic_wire_determine_pn_len(QUIC_PN pn,
* num_unacked \in (2**23, ] -> 4 bytes
*/
- if (num_unacked <= (1U<<7)) return 1;
- if (num_unacked <= (1U<<15)) return 2;
- if (num_unacked <= (1U<<23)) return 3;
+ if (num_unacked <= (1U << 7))
+ return 1;
+ if (num_unacked <= (1U << 15))
+ return 2;
+ if (num_unacked <= (1U << 23))
+ return 3;
return 4;
}
int ossl_quic_wire_encode_pkt_hdr_pn(QUIC_PN pn,
- unsigned char *enc_pn,
- size_t enc_pn_len)
+ unsigned char *enc_pn,
+ size_t enc_pn_len)
{
switch (enc_pn_len) {
- case 1:
- enc_pn[0] = (unsigned char)pn;
- break;
- case 2:
- enc_pn[1] = (unsigned char)pn;
- enc_pn[0] = (unsigned char)(pn >> 8);
- break;
- case 3:
- enc_pn[2] = (unsigned char)pn;
- enc_pn[1] = (unsigned char)(pn >> 8);
- enc_pn[0] = (unsigned char)(pn >> 16);
- break;
- case 4:
- enc_pn[3] = (unsigned char)pn;
- enc_pn[2] = (unsigned char)(pn >> 8);
- enc_pn[1] = (unsigned char)(pn >> 16);
- enc_pn[0] = (unsigned char)(pn >> 24);
- break;
- default:
- return 0;
+ case 1:
+ enc_pn[0] = (unsigned char)pn;
+ break;
+ case 2:
+ enc_pn[1] = (unsigned char)pn;
+ enc_pn[0] = (unsigned char)(pn >> 8);
+ break;
+ case 3:
+ enc_pn[2] = (unsigned char)pn;
+ enc_pn[1] = (unsigned char)(pn >> 8);
+ enc_pn[0] = (unsigned char)(pn >> 16);
+ break;
+ case 4:
+ enc_pn[3] = (unsigned char)pn;
+ enc_pn[2] = (unsigned char)(pn >> 8);
+ enc_pn[1] = (unsigned char)(pn >> 16);
+ enc_pn[0] = (unsigned char)(pn >> 24);
+ break;
+ default:
+ return 0;
}
return 1;
}
int ossl_quic_validate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
- const char *propq,
- const QUIC_PKT_HDR *hdr,
- const QUIC_CONN_ID *client_initial_dcid)
+ const char *propq,
+ const QUIC_PKT_HDR *hdr,
+ const QUIC_CONN_ID *client_initial_dcid)
{
unsigned char expected_tag[QUIC_RETRY_INTEGRITY_TAG_LEN];
const unsigned char *actual_tag;
@@ -828,14 +839,14 @@ int ossl_quic_validate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
return 0;
if (!ossl_quic_calculate_retry_integrity_tag(libctx, propq,
- hdr, client_initial_dcid,
- expected_tag))
+ hdr, client_initial_dcid,
+ expected_tag))
return 0;
actual_tag = hdr->data + hdr->len - QUIC_RETRY_INTEGRITY_TAG_LEN;
return !CRYPTO_memcmp(expected_tag, actual_tag,
- QUIC_RETRY_INTEGRITY_TAG_LEN);
+ QUIC_RETRY_INTEGRITY_TAG_LEN);
}
/* RFC 9001 s. 5.8 */
@@ -850,10 +861,10 @@ static const unsigned char retry_integrity_nonce[] = {
};
int ossl_quic_calculate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
- const char *propq,
- const QUIC_PKT_HDR *hdr,
- const QUIC_CONN_ID *client_initial_dcid,
- unsigned char *tag)
+ const char *propq,
+ const QUIC_PKT_HDR *hdr,
+ const QUIC_CONN_ID *client_initial_dcid,
+ unsigned char *tag)
{
EVP_CIPHER *cipher = NULL;
EVP_CIPHER_CTX *cctx = NULL;
@@ -892,14 +903,14 @@ int ossl_quic_calculate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
/* Prepend original DCID to the packet. */
if (!WPACKET_put_bytes_u8(&wpkt, client_initial_dcid->id_len)
|| !WPACKET_memcpy(&wpkt, client_initial_dcid->id,
- client_initial_dcid->id_len)) {
+ client_initial_dcid->id_len)) {
ERR_raise(ERR_LIB_SSL, ERR_R_CRYPTO_LIB);
goto err;
}
/* Encode main retry header. */
if (!ossl_quic_wire_encode_pkt_hdr(&wpkt, hdr2.dst_conn_id.id_len,
- &hdr2, NULL))
+ &hdr2, NULL))
goto err;
if (!WPACKET_get_total_written(&wpkt, &hdr_enc_len)) {
@@ -920,7 +931,7 @@ int ossl_quic_calculate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
}
if (!EVP_CipherInit_ex(cctx, cipher, NULL,
- retry_integrity_key, retry_integrity_nonce, /*enc=*/1)) {
+ retry_integrity_key, retry_integrity_nonce, /*enc=*/1)) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
goto err;
}
@@ -933,7 +944,8 @@ int ossl_quic_calculate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
/* Feed packet body as AAD data. */
if (EVP_CipherUpdate(cctx, NULL, &l, hdr->data,
- hdr->len - QUIC_RETRY_INTEGRITY_TAG_LEN) != 1) {
+ hdr->len - QUIC_RETRY_INTEGRITY_TAG_LEN)
+ != 1) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
goto err;
}
@@ -945,8 +957,9 @@ int ossl_quic_calculate_retry_integrity_tag(OSSL_LIB_CTX *libctx,
}
if (EVP_CIPHER_CTX_ctrl(cctx, EVP_CTRL_AEAD_GET_TAG,
- QUIC_RETRY_INTEGRITY_TAG_LEN,
- tag) != 1) {
+ QUIC_RETRY_INTEGRITY_TAG_LEN,
+ tag)
+ != 1) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
goto err;
}
diff --git a/crypto/openssl/ssl/quic/uint_set.c b/crypto/openssl/ssl/quic/uint_set.c
index faca906003b0..e217816a395b 100644
--- a/crypto/openssl/ssl/quic/uint_set.c
+++ b/crypto/openssl/ssl/quic/uint_set.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -103,7 +103,7 @@ static uint64_t u64_max(uint64_t x, uint64_t y)
* b.
*/
static int uint_range_overlaps(const UINT_RANGE *a,
- const UINT_RANGE *b)
+ const UINT_RANGE *b)
{
return u64_min(a->end, b->end)
>= u64_max(a->start, b->start);
@@ -118,7 +118,7 @@ static UINT_SET_ITEM *create_set_item(uint64_t start, uint64_t end)
ossl_list_uint_set_init_elem(x);
x->range.start = start;
- x->range.end = end;
+ x->range.end = end;
return x;
}
@@ -219,7 +219,7 @@ int ossl_uint_set_insert(UINT_SET *s, const UINT_RANGE *range)
}
break;
} else if (end < z->range.start
- && (zprev == NULL || start > zprev->range.end)) {
+ && (zprev == NULL || start > zprev->range.end)) {
if (z->range.start == end + 1) {
/* We can extend the following range backwards. */
z->range.start = start;
@@ -303,6 +303,8 @@ int ossl_uint_set_remove(UINT_SET *s, const UINT_RANGE *range)
* handled by the above cases.
*/
y = create_set_item(end + 1, z->range.end);
+ if (y == NULL)
+ return 0;
ossl_list_uint_set_insert_after(s, z, y);
z->range.end = start - 1;
break;
diff --git a/crypto/openssl/ssl/record/methods/dtls_meth.c b/crypto/openssl/ssl/record/methods/dtls_meth.c
index 99cb532d03c3..8cbd7678e193 100644
--- a/crypto/openssl/ssl/record/methods/dtls_meth.c
+++ b/crypto/openssl/ssl/record/methods/dtls_meth.c
@@ -46,20 +46,20 @@ static int dtls_record_replay_check(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
cmp = satsub64be(seq, bitmap->max_seq_num);
if (cmp > 0) {
ossl_tls_rl_record_set_seq_num(&rl->rrec[0], seq);
- return 1; /* this record in new */
+ return 1; /* this record in new */
}
shift = -cmp;
if (shift >= sizeof(bitmap->map) * 8)
- return 0; /* stale, outside the window */
+ return 0; /* stale, outside the window */
else if (bitmap->map & ((uint64_t)1 << shift))
- return 0; /* record previously received */
+ return 0; /* record previously received */
ossl_tls_rl_record_set_seq_num(&rl->rrec[0], seq);
return 1;
}
static void dtls_record_bitmap_update(OSSL_RECORD_LAYER *rl,
- DTLS_BITMAP *bitmap)
+ DTLS_BITMAP *bitmap)
{
int cmp;
unsigned int shift;
@@ -81,7 +81,7 @@ static void dtls_record_bitmap_update(OSSL_RECORD_LAYER *rl,
}
static DTLS_BITMAP *dtls_get_bitmap(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rr,
- unsigned int *is_next_epoch)
+ unsigned int *is_next_epoch)
{
*is_next_epoch = 0;
@@ -171,7 +171,7 @@ static int dtls_process_record(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
i = rl->funcs->mac(rl, rr, md, 0 /* not send */);
if (i == 0 || CRYPTO_memcmp(md, mac, (size_t)mac_size) != 0) {
RLAYERfatal(rl, SSL_AD_BAD_RECORD_MAC,
- SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
+ SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
return 0;
}
/*
@@ -207,15 +207,17 @@ static int dtls_process_record(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
goto end;
}
ERR_clear_last_mark();
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "dec %zd\n", rr->length);
BIO_dump_indent(trc_out, rr->data, rr->length, 4);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
/* r->length is now the compressed data plus mac */
if (!rl->use_etm
- && (rl->enc_ctx != NULL)
- && (EVP_MD_CTX_get0_md(rl->md_ctx) != NULL)) {
+ && (rl->enc_ctx != NULL)
+ && (EVP_MD_CTX_get0_md(rl->md_ctx) != NULL)) {
/* rl->md_ctx != NULL => mac_size != -1 */
i = rl->funcs->mac(rl, rr, md, 0 /* not send */);
@@ -237,7 +239,7 @@ static int dtls_process_record(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
if (rl->compctx != NULL) {
if (rr->length > SSL3_RT_MAX_COMPRESSED_LENGTH) {
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_COMPRESSED_LENGTH_TOO_LONG);
+ SSL_R_COMPRESSED_LENGTH_TOO_LONG);
goto end;
}
if (!tls_do_uncompress(rl, rr)) {
@@ -272,14 +274,14 @@ static int dtls_process_record(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
dtls_record_bitmap_update(rl, bitmap);
ret = 1;
- end:
+end:
if (macbuf.alloced)
OPENSSL_free(macbuf.mac);
return ret;
}
static int dtls_rlayer_buffer_record(OSSL_RECORD_LAYER *rl, struct pqueue_st *queue,
- unsigned char *priority)
+ unsigned char *priority)
{
DTLS_RLAYER_RECORD_DATA *rdata;
pitem *item;
@@ -348,7 +350,7 @@ static int dtls_copy_rlayer_record(OSSL_RECORD_LAYER *rl, pitem *item)
}
static int dtls_retrieve_rlayer_buffered_record(OSSL_RECORD_LAYER *rl,
- struct pqueue_st *queue)
+ struct pqueue_st *queue)
{
pitem *item;
@@ -397,7 +399,7 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
}
}
- again:
+again:
/* if we're renegotiating, then there may be buffered records */
if (dtls_retrieve_rlayer_buffered_record(rl, rl->processed_rcds)) {
rl->num_recs = 1;
@@ -407,14 +409,13 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
/* get something from the wire */
/* check if we have the header */
- if ((rl->rstate != SSL_ST_READ_BODY) ||
- (rl->packet_length < DTLS1_RT_HEADER_LENGTH)) {
+ if ((rl->rstate != SSL_ST_READ_BODY) || (rl->packet_length < DTLS1_RT_HEADER_LENGTH)) {
rret = rl->funcs->read_n(rl, DTLS1_RT_HEADER_LENGTH,
- TLS_BUFFER_get_len(&rl->rbuf), 0, 1, &n);
+ TLS_BUFFER_get_len(&rl->rbuf), 0, 1, &n);
/* read timeout is handled by dtls1_read_bytes */
if (rret < OSSL_RECORD_RETURN_SUCCESS) {
/* RLAYERfatal() already called if appropriate */
- return rret; /* error or non-blocking */
+ return rret; /* error or non-blocking */
}
/* this packet contained a partial record, dump it */
@@ -443,7 +444,7 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
if (rl->msg_callback != NULL)
rl->msg_callback(0, rr->rec_version, SSL3_RT_HEADER, rl->packet, DTLS1_RT_HEADER_LENGTH,
- rl->cbarg);
+ rl->cbarg);
/*
* Lets check the version. We tolerate alerts that don't have the exact
@@ -458,9 +459,7 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
}
}
- if (ssl_major !=
- (rl->version == DTLS_ANY_VERSION ? DTLS1_VERSION_MAJOR
- : rl->version >> 8)) {
+ if (ssl_major != (rl->version == DTLS_ANY_VERSION ? DTLS1_VERSION_MAJOR : rl->version >> 8)) {
/* wrong version, silently discard record */
rr->length = 0;
rl->packet_length = 0;
@@ -518,7 +517,7 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
if (bitmap == NULL) {
rr->length = 0;
rl->packet_length = 0; /* dump this record */
- goto again; /* get another record */
+ goto again; /* get another record */
}
#ifndef OPENSSL_NO_SCTP
/* Only do replay check if no SCTP bio */
@@ -528,7 +527,7 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
if (!dtls_record_replay_check(rl, bitmap)) {
rr->length = 0;
rl->packet_length = 0; /* dump this record */
- goto again; /* get another record */
+ goto again; /* get another record */
}
#ifndef OPENSSL_NO_SCTP
}
@@ -546,7 +545,8 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
if (is_next_epoch) {
if (rl->in_init) {
if (dtls_rlayer_buffer_record(rl, rl->unprocessed_rcds,
- rr->seq_num) < 0) {
+ rr->seq_num)
+ < 0) {
/* RLAYERfatal() already called */
return OSSL_RECORD_RETURN_FATAL;
}
@@ -563,7 +563,7 @@ int dtls_get_more_records(OSSL_RECORD_LAYER *rl)
}
rr->length = 0;
rl->packet_length = 0; /* dump this record */
- goto again; /* get another record */
+ goto again; /* get another record */
}
if (rl->funcs->post_process_record && !rl->funcs->post_process_record(rl, rr)) {
@@ -606,7 +606,7 @@ static int dtls_free(OSSL_RECORD_LAYER *rl)
rdata = (DTLS_RLAYER_RECORD_DATA *)item->data;
/* Push to the next record layer */
ret &= BIO_write_ex(rl->next, rdata->packet, rdata->packet_length,
- &written);
+ &written);
OPENSSL_free(rdata->rbuf.buf);
OPENSSL_free(item->data);
pitem_free(item);
@@ -614,7 +614,7 @@ static int dtls_free(OSSL_RECORD_LAYER *rl)
pqueue_free(rl->unprocessed_rcds);
}
- if (rl->processed_rcds!= NULL) {
+ if (rl->processed_rcds != NULL) {
while ((item = pqueue_pop(rl->processed_rcds)) != NULL) {
rdata = (DTLS_RLAYER_RECORD_DATA *)item->data;
OPENSSL_free(rdata->rbuf.buf);
@@ -629,25 +629,25 @@ static int dtls_free(OSSL_RECORD_LAYER *rl)
static int
dtls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
- int role, int direction, int level, uint16_t epoch,
- unsigned char *secret, size_t secretlen,
- unsigned char *key, size_t keylen, unsigned char *iv,
- size_t ivlen, unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph, size_t taglen,
- int mactype,
- const EVP_MD *md, COMP_METHOD *comp,
- const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
- BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
- const OSSL_PARAM *settings, const OSSL_PARAM *options,
- const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
- OSSL_RECORD_LAYER **retrl)
+ int role, int direction, int level, uint16_t epoch,
+ unsigned char *secret, size_t secretlen,
+ unsigned char *key, size_t keylen, unsigned char *iv,
+ size_t ivlen, unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph, size_t taglen,
+ int mactype,
+ const EVP_MD *md, COMP_METHOD *comp,
+ const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
+ BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
+ const OSSL_PARAM *settings, const OSSL_PARAM *options,
+ const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
+ OSSL_RECORD_LAYER **retrl)
{
int ret;
ret = tls_int_new_record_layer(libctx, propq, vers, role, direction, level,
- ciph, taglen, md, comp, prev,
- transport, next, settings,
- options, fns, cbarg, retrl);
+ ciph, taglen, md, comp, prev,
+ transport, next, settings,
+ options, fns, cbarg, retrl);
if (ret != OSSL_RECORD_RETURN_SUCCESS)
return ret;
@@ -656,7 +656,7 @@ dtls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
(*retrl)->processed_rcds = pqueue_new();
if ((*retrl)->unprocessed_rcds == NULL
- || (*retrl)->processed_rcds == NULL) {
+ || (*retrl)->processed_rcds == NULL) {
dtls_free(*retrl);
*retrl = NULL;
ERR_raise(ERR_LIB_SSL, ERR_R_SSL_LIB);
@@ -684,10 +684,10 @@ dtls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
}
ret = (*retrl)->funcs->set_crypto_state(*retrl, level, key, keylen, iv,
- ivlen, mackey, mackeylen, ciph,
- taglen, mactype, md, comp);
+ ivlen, mackey, mackeylen, ciph,
+ taglen, mactype, md, comp);
- err:
+err:
if (ret != OSSL_RECORD_RETURN_SUCCESS) {
dtls_free(*retrl);
*retrl = NULL;
@@ -696,10 +696,10 @@ dtls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
}
int dtls_prepare_record_header(OSSL_RECORD_LAYER *rl,
- WPACKET *thispkt,
- OSSL_RECORD_TEMPLATE *templ,
- uint8_t rectype,
- unsigned char **recdata)
+ WPACKET *thispkt,
+ OSSL_RECORD_TEMPLATE *templ,
+ uint8_t rectype,
+ unsigned char **recdata)
{
size_t maxcomplen;
@@ -710,15 +710,15 @@ int dtls_prepare_record_header(OSSL_RECORD_LAYER *rl,
maxcomplen += SSL3_RT_MAX_COMPRESSED_OVERHEAD;
if (!WPACKET_put_bytes_u8(thispkt, rectype)
- || !WPACKET_put_bytes_u16(thispkt, templ->version)
- || !WPACKET_put_bytes_u16(thispkt, rl->epoch)
- || !WPACKET_memcpy(thispkt, &(rl->sequence[2]), 6)
- || !WPACKET_start_sub_packet_u16(thispkt)
- || (rl->eivlen > 0
- && !WPACKET_allocate_bytes(thispkt, rl->eivlen, NULL))
- || (maxcomplen > 0
- && !WPACKET_reserve_bytes(thispkt, maxcomplen,
- recdata))) {
+ || !WPACKET_put_bytes_u16(thispkt, templ->version)
+ || !WPACKET_put_bytes_u16(thispkt, rl->epoch)
+ || !WPACKET_memcpy(thispkt, &(rl->sequence[2]), 6)
+ || !WPACKET_start_sub_packet_u16(thispkt)
+ || (rl->eivlen > 0
+ && !WPACKET_allocate_bytes(thispkt, rl->eivlen, NULL))
+ || (maxcomplen > 0
+ && !WPACKET_reserve_bytes(thispkt, maxcomplen,
+ recdata))) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -727,13 +727,13 @@ int dtls_prepare_record_header(OSSL_RECORD_LAYER *rl,
}
int dtls_post_encryption_processing(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ size_t mac_size,
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
if (!tls_post_encryption_processing_default(rl, mac_size, thistempl,
- thispkt, thiswr)) {
+ thispkt, thiswr)) {
/* RLAYERfatal() already called */
return 0;
}
@@ -745,8 +745,7 @@ static size_t dtls_get_max_record_overhead(OSSL_RECORD_LAYER *rl)
{
size_t blocksize = 0;
- if (rl->enc_ctx != NULL &&
- (EVP_CIPHER_CTX_get_mode(rl->enc_ctx) == EVP_CIPH_CBC_MODE))
+ if (rl->enc_ctx != NULL && (EVP_CIPHER_CTX_get_mode(rl->enc_ctx) == EVP_CIPH_CBC_MODE))
blocksize = EVP_CIPHER_CTX_get_block_size(rl->enc_ctx);
/*
@@ -756,8 +755,7 @@ static size_t dtls_get_max_record_overhead(OSSL_RECORD_LAYER *rl)
* ciphers or AEAD ciphers we don't now the digest (or there isn't one) so
* we just trust that the taglen is correct.
*/
- assert(rl->enc_ctx == NULL || ((blocksize == 0 || rl->eivlen > 0)
- && rl->taglen > 0));
+ assert(rl->enc_ctx == NULL || ((blocksize == 0 || rl->eivlen > 0) && rl->taglen > 0));
assert(rl->md == NULL || (int)rl->taglen == EVP_MD_size(rl->md));
/*
diff --git a/crypto/openssl/ssl/record/methods/ktls_meth.c b/crypto/openssl/ssl/record/methods/ktls_meth.c
index 6f2594768391..bfdcc24687f2 100644
--- a/crypto/openssl/ssl/record/methods/ktls_meth.c
+++ b/crypto/openssl/ssl/record/methods/ktls_meth.c
@@ -18,7 +18,7 @@
static struct record_functions_st ossl_ktls_funcs;
#if defined(__FreeBSD__)
-# include "crypto/cryptodev.h"
+#include "crypto/cryptodev.h"
/*-
* Check if a given cipher is supported by the KTLS interface.
@@ -27,9 +27,9 @@ static struct record_functions_st ossl_ktls_funcs;
* supports the cipher suite used at all.
*/
static int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,
- const EVP_CIPHER *c,
- const EVP_MD *md,
- size_t taglen)
+ const EVP_CIPHER *c,
+ const EVP_MD *md,
+ size_t taglen)
{
switch (rl->version) {
case TLS1_VERSION:
@@ -44,15 +44,15 @@ static int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,
}
if (EVP_CIPHER_is_a(c, "AES-128-GCM")
- || EVP_CIPHER_is_a(c, "AES-256-GCM")
-# ifdef OPENSSL_KTLS_CHACHA20_POLY1305
- || EVP_CIPHER_is_a(c, "CHACHA20-POLY1305")
-# endif
- )
+ || EVP_CIPHER_is_a(c, "AES-256-GCM")
+#ifdef OPENSSL_KTLS_CHACHA20_POLY1305
+ || EVP_CIPHER_is_a(c, "CHACHA20-POLY1305")
+#endif
+ )
return 1;
if (!EVP_CIPHER_is_a(c, "AES-128-CBC")
- && !EVP_CIPHER_is_a(c, "AES-256-CBC"))
+ && !EVP_CIPHER_is_a(c, "AES-256-CBC"))
return 0;
if (rl->use_etm)
@@ -62,35 +62,34 @@ static int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,
return 0;
if (EVP_MD_is_a(md, "SHA1")
- || EVP_MD_is_a(md, "SHA2-256")
- || EVP_MD_is_a(md, "SHA2-384"))
+ || EVP_MD_is_a(md, "SHA2-256")
+ || EVP_MD_is_a(md, "SHA2-384"))
return 1;
return 0;
}
/* Function to configure kernel TLS structure */
-static
-int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c,
- EVP_MD *md, void *rl_sequence,
- ktls_crypto_info_t *crypto_info, int is_tx,
- unsigned char *iv, size_t ivlen,
- unsigned char *key, size_t keylen,
- unsigned char *mac_key, size_t mac_secret_size)
+static int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c,
+ EVP_MD *md, void *rl_sequence,
+ ktls_crypto_info_t *crypto_info, int is_tx,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *key, size_t keylen,
+ unsigned char *mac_key, size_t mac_secret_size)
{
memset(crypto_info, 0, sizeof(*crypto_info));
if (EVP_CIPHER_is_a(c, "AES-128-GCM")
- || EVP_CIPHER_is_a(c, "AES-256-GCM")) {
+ || EVP_CIPHER_is_a(c, "AES-256-GCM")) {
crypto_info->cipher_algorithm = CRYPTO_AES_NIST_GCM_16;
crypto_info->iv_len = ivlen;
} else
-# ifdef OPENSSL_KTLS_CHACHA20_POLY1305
- if (EVP_CIPHER_is_a(c, "CHACHA20-POLY1305")) {
+#ifdef OPENSSL_KTLS_CHACHA20_POLY1305
+ if (EVP_CIPHER_is_a(c, "CHACHA20-POLY1305")) {
crypto_info->cipher_algorithm = CRYPTO_CHACHA20_POLY1305;
crypto_info->iv_len = ivlen;
} else
-# endif
- if (EVP_CIPHER_is_a(c, "AES-128-CBC") || EVP_CIPHER_is_a(c, "AES-256-CBC")) {
+#endif
+ if (EVP_CIPHER_is_a(c, "AES-128-CBC") || EVP_CIPHER_is_a(c, "AES-256-CBC")) {
if (md == NULL)
return 0;
if (EVP_MD_is_a(md, "SHA1"))
@@ -113,23 +112,23 @@ int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c
crypto_info->iv = iv;
crypto_info->tls_vmajor = (version >> 8) & 0x000000ff;
crypto_info->tls_vminor = (version & 0x000000ff);
-# ifdef TCP_RXTLS_ENABLE
+#ifdef TCP_RXTLS_ENABLE
memcpy(crypto_info->rec_seq, rl_sequence, sizeof(crypto_info->rec_seq));
-# else
+#else
if (!is_tx)
return 0;
-# endif
+#endif
return 1;
};
-#endif /* __FreeBSD__ */
+#endif /* __FreeBSD__ */
#if defined(OPENSSL_SYS_LINUX)
/* Function to check supported ciphers in Linux */
static int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,
- const EVP_CIPHER *c,
- const EVP_MD *md,
- size_t taglen)
+ const EVP_CIPHER *c,
+ const EVP_MD *md,
+ size_t taglen)
{
switch (rl->version) {
case TLS1_2_VERSION:
@@ -145,23 +144,23 @@ static int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,
* Check that cipher is AES_GCM_128, AES_GCM_256, AES_CCM_128
* or Chacha20-Poly1305
*/
-# ifdef OPENSSL_KTLS_AES_CCM_128
+#ifdef OPENSSL_KTLS_AES_CCM_128
if (EVP_CIPHER_is_a(c, "AES-128-CCM")) {
if (taglen != EVP_CCM_TLS_TAG_LEN)
return 0;
return 1;
} else
-# endif
- if (0
-# ifdef OPENSSL_KTLS_AES_GCM_128
- || EVP_CIPHER_is_a(c, "AES-128-GCM")
-# endif
-# ifdef OPENSSL_KTLS_AES_GCM_256
- || EVP_CIPHER_is_a(c, "AES-256-GCM")
-# endif
-# ifdef OPENSSL_KTLS_CHACHA20_POLY1305
- || EVP_CIPHER_is_a(c, "ChaCha20-Poly1305")
-# endif
+#endif
+ if (0
+#ifdef OPENSSL_KTLS_AES_GCM_128
+ || EVP_CIPHER_is_a(c, "AES-128-GCM")
+#endif
+#ifdef OPENSSL_KTLS_AES_GCM_256
+ || EVP_CIPHER_is_a(c, "AES-256-GCM")
+#endif
+#ifdef OPENSSL_KTLS_CHACHA20_POLY1305
+ || EVP_CIPHER_is_a(c, "ChaCha20-Poly1305")
+#endif
) {
return 1;
}
@@ -169,42 +168,41 @@ static int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,
}
/* Function to configure kernel TLS structure */
-static
-int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c,
- const EVP_MD *md, void *rl_sequence,
- ktls_crypto_info_t *crypto_info, int is_tx,
- unsigned char *iv, size_t ivlen,
- unsigned char *key, size_t keylen,
- unsigned char *mac_key, size_t mac_secret_size)
+static int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c,
+ const EVP_MD *md, void *rl_sequence,
+ ktls_crypto_info_t *crypto_info, int is_tx,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *key, size_t keylen,
+ unsigned char *mac_key, size_t mac_secret_size)
{
unsigned char geniv[EVP_GCM_TLS_EXPLICIT_IV_LEN];
unsigned char *eiv = NULL;
-# ifdef OPENSSL_NO_KTLS_RX
+#ifdef OPENSSL_NO_KTLS_RX
if (!is_tx)
return 0;
-# endif
+#endif
if (EVP_CIPHER_get_mode(c) == EVP_CIPH_GCM_MODE
- || EVP_CIPHER_get_mode(c) == EVP_CIPH_CCM_MODE) {
+ || EVP_CIPHER_get_mode(c) == EVP_CIPH_CCM_MODE) {
if (!ossl_assert(EVP_GCM_TLS_FIXED_IV_LEN == EVP_CCM_TLS_FIXED_IV_LEN)
- || !ossl_assert(EVP_GCM_TLS_EXPLICIT_IV_LEN
- == EVP_CCM_TLS_EXPLICIT_IV_LEN))
+ || !ossl_assert(EVP_GCM_TLS_EXPLICIT_IV_LEN
+ == EVP_CCM_TLS_EXPLICIT_IV_LEN))
return 0;
if (version == TLS1_2_VERSION) {
if (!ossl_assert(ivlen == EVP_GCM_TLS_FIXED_IV_LEN))
return 0;
if (is_tx) {
if (RAND_bytes_ex(libctx, geniv,
- EVP_GCM_TLS_EXPLICIT_IV_LEN, 0) <= 0)
+ EVP_GCM_TLS_EXPLICIT_IV_LEN, 0)
+ <= 0)
return 0;
} else {
memset(geniv, 0, EVP_GCM_TLS_EXPLICIT_IV_LEN);
}
eiv = geniv;
} else {
- if (!ossl_assert(ivlen == EVP_GCM_TLS_FIXED_IV_LEN
- + EVP_GCM_TLS_EXPLICIT_IV_LEN))
+ if (!ossl_assert(ivlen == EVP_GCM_TLS_FIXED_IV_LEN + EVP_GCM_TLS_EXPLICIT_IV_LEN))
return 0;
eiv = iv + TLS_CIPHER_AES_GCM_128_SALT_SIZE;
}
@@ -212,12 +210,12 @@ int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c
memset(crypto_info, 0, sizeof(*crypto_info));
switch (EVP_CIPHER_get_nid(c)) {
-# ifdef OPENSSL_KTLS_AES_GCM_128
+#ifdef OPENSSL_KTLS_AES_GCM_128
case NID_aes_128_gcm:
if (!ossl_assert(TLS_CIPHER_AES_GCM_128_SALT_SIZE
- == EVP_GCM_TLS_FIXED_IV_LEN)
- || !ossl_assert(TLS_CIPHER_AES_GCM_128_IV_SIZE
- == EVP_GCM_TLS_EXPLICIT_IV_LEN))
+ == EVP_GCM_TLS_FIXED_IV_LEN)
+ || !ossl_assert(TLS_CIPHER_AES_GCM_128_IV_SIZE
+ == EVP_GCM_TLS_EXPLICIT_IV_LEN))
return 0;
crypto_info->gcm128.info.cipher_type = TLS_CIPHER_AES_GCM_128;
crypto_info->gcm128.info.version = version;
@@ -226,15 +224,15 @@ int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c
memcpy(crypto_info->gcm128.salt, iv, TLS_CIPHER_AES_GCM_128_SALT_SIZE);
memcpy(crypto_info->gcm128.key, key, keylen);
memcpy(crypto_info->gcm128.rec_seq, rl_sequence,
- TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
+ TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
return 1;
-# endif
-# ifdef OPENSSL_KTLS_AES_GCM_256
+#endif
+#ifdef OPENSSL_KTLS_AES_GCM_256
case NID_aes_256_gcm:
if (!ossl_assert(TLS_CIPHER_AES_GCM_256_SALT_SIZE
- == EVP_GCM_TLS_FIXED_IV_LEN)
- || !ossl_assert(TLS_CIPHER_AES_GCM_256_IV_SIZE
- == EVP_GCM_TLS_EXPLICIT_IV_LEN))
+ == EVP_GCM_TLS_FIXED_IV_LEN)
+ || !ossl_assert(TLS_CIPHER_AES_GCM_256_IV_SIZE
+ == EVP_GCM_TLS_EXPLICIT_IV_LEN))
return 0;
crypto_info->gcm256.info.cipher_type = TLS_CIPHER_AES_GCM_256;
crypto_info->gcm256.info.version = version;
@@ -243,16 +241,16 @@ int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c
memcpy(crypto_info->gcm256.salt, iv, TLS_CIPHER_AES_GCM_256_SALT_SIZE);
memcpy(crypto_info->gcm256.key, key, keylen);
memcpy(crypto_info->gcm256.rec_seq, rl_sequence,
- TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE);
+ TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE);
return 1;
-# endif
-# ifdef OPENSSL_KTLS_AES_CCM_128
+#endif
+#ifdef OPENSSL_KTLS_AES_CCM_128
case NID_aes_128_ccm:
if (!ossl_assert(TLS_CIPHER_AES_CCM_128_SALT_SIZE
- == EVP_CCM_TLS_FIXED_IV_LEN)
- || !ossl_assert(TLS_CIPHER_AES_CCM_128_IV_SIZE
- == EVP_CCM_TLS_EXPLICIT_IV_LEN))
+ == EVP_CCM_TLS_FIXED_IV_LEN)
+ || !ossl_assert(TLS_CIPHER_AES_CCM_128_IV_SIZE
+ == EVP_CCM_TLS_EXPLICIT_IV_LEN))
return 0;
crypto_info->ccm128.info.cipher_type = TLS_CIPHER_AES_CCM_128;
crypto_info->ccm128.info.version = version;
@@ -261,10 +259,10 @@ int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c
memcpy(crypto_info->ccm128.salt, iv, TLS_CIPHER_AES_CCM_128_SALT_SIZE);
memcpy(crypto_info->ccm128.key, key, keylen);
memcpy(crypto_info->ccm128.rec_seq, rl_sequence,
- TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE);
+ TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE);
return 1;
-# endif
-# ifdef OPENSSL_KTLS_CHACHA20_POLY1305
+#endif
+#ifdef OPENSSL_KTLS_CHACHA20_POLY1305
case NID_chacha20_poly1305:
if (!ossl_assert(ivlen == TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE))
return 0;
@@ -275,26 +273,25 @@ int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const EVP_CIPHER *c
memcpy(crypto_info->chacha20poly1305.iv, iv, ivlen);
memcpy(crypto_info->chacha20poly1305.key, key, keylen);
memcpy(crypto_info->chacha20poly1305.rec_seq, rl_sequence,
- TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE);
+ TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE);
return 1;
-# endif
+#endif
default:
return 0;
}
-
}
#endif /* OPENSSL_SYS_LINUX */
static int ktls_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph,
- size_t taglen,
- int mactype,
- const EVP_MD *md,
- COMP_METHOD *comp)
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph,
+ size_t taglen,
+ int mactype,
+ const EVP_MD *md,
+ COMP_METHOD *comp)
{
ktls_crypto_info_t crypto_info;
@@ -326,16 +323,15 @@ static int ktls_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
}
if (!ktls_configure_crypto(rl->libctx, rl->version, ciph, md, rl->sequence,
- &crypto_info,
- rl->direction == OSSL_RECORD_DIRECTION_WRITE,
- iv, ivlen, key, keylen, mackey, mackeylen))
- return OSSL_RECORD_RETURN_NON_FATAL_ERR;
+ &crypto_info,
+ rl->direction == OSSL_RECORD_DIRECTION_WRITE,
+ iv, ivlen, key, keylen, mackey, mackeylen))
+ return OSSL_RECORD_RETURN_NON_FATAL_ERR;
if (!BIO_set_ktls(rl->bio, &crypto_info, rl->direction))
return OSSL_RECORD_RETURN_NON_FATAL_ERR;
- if (rl->direction == OSSL_RECORD_DIRECTION_WRITE &&
- (rl->options & SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE) != 0)
+ if (rl->direction == OSSL_RECORD_DIRECTION_WRITE && (rl->options & SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE) != 0)
/* Ignore errors. The application opts in to using the zerocopy
* optimization. If the running kernel doesn't support it, just
* continue without the optimization.
@@ -346,7 +342,7 @@ static int ktls_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
}
static int ktls_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
- int clearold, size_t *readbytes)
+ int clearold, size_t *readbytes)
{
int ret;
@@ -356,15 +352,15 @@ static int ktls_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
switch (errno) {
case EBADMSG:
RLAYERfatal(rl, SSL_AD_BAD_RECORD_MAC,
- SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
+ SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
break;
case EMSGSIZE:
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_PACKET_LENGTH_TOO_LONG);
+ SSL_R_PACKET_LENGTH_TOO_LONG);
break;
case EINVAL:
RLAYERfatal(rl, SSL_AD_PROTOCOL_VERSION,
- SSL_R_WRONG_VERSION_NUMBER);
+ SSL_R_WRONG_VERSION_NUMBER);
break;
default:
break;
@@ -375,8 +371,8 @@ static int ktls_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
}
static int ktls_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,
- size_t n_recs, int sending, SSL_MAC_BUF *mac,
- size_t macsize)
+ size_t n_recs, int sending, SSL_MAC_BUF *mac,
+ size_t macsize)
{
return 1;
}
@@ -401,25 +397,25 @@ static int ktls_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
static int
ktls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
- int role, int direction, int level, uint16_t epoch,
- unsigned char *secret, size_t secretlen,
- unsigned char *key, size_t keylen, unsigned char *iv,
- size_t ivlen, unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph, size_t taglen,
- int mactype,
- const EVP_MD *md, COMP_METHOD *comp,
- const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
- BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
- const OSSL_PARAM *settings, const OSSL_PARAM *options,
- const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
- OSSL_RECORD_LAYER **retrl)
+ int role, int direction, int level, uint16_t epoch,
+ unsigned char *secret, size_t secretlen,
+ unsigned char *key, size_t keylen, unsigned char *iv,
+ size_t ivlen, unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph, size_t taglen,
+ int mactype,
+ const EVP_MD *md, COMP_METHOD *comp,
+ const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
+ BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
+ const OSSL_PARAM *settings, const OSSL_PARAM *options,
+ const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
+ OSSL_RECORD_LAYER **retrl)
{
int ret;
ret = tls_int_new_record_layer(libctx, propq, vers, role, direction, level,
- ciph, taglen, md, comp, prev,
- transport, next, settings,
- options, fns, cbarg, retrl);
+ ciph, taglen, md, comp, prev,
+ transport, next, settings,
+ options, fns, cbarg, retrl);
if (ret != OSSL_RECORD_RETURN_SUCCESS)
return ret;
@@ -427,8 +423,8 @@ ktls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
(*retrl)->funcs = &ossl_ktls_funcs;
ret = (*retrl)->funcs->set_crypto_state(*retrl, level, key, keylen, iv,
- ivlen, mackey, mackeylen, ciph,
- taglen, mactype, md, comp);
+ ivlen, mackey, mackeylen, ciph,
+ taglen, mactype, md, comp);
if (ret != OSSL_RECORD_RETURN_SUCCESS) {
tls_free(*retrl);
@@ -444,8 +440,8 @@ ktls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
}
static int ktls_allocate_write_buffers(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl, size_t *prefix)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl, size_t *prefix)
{
if (!ossl_assert(numtempl == 1))
return 0;
@@ -460,12 +456,12 @@ static int ktls_allocate_write_buffers(OSSL_RECORD_LAYER *rl,
}
static int ktls_initialise_write_packets(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- OSSL_RECORD_TEMPLATE *prefixtempl,
- WPACKET *pkt,
- TLS_BUFFER *bufs,
- size_t *wpinited)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ OSSL_RECORD_TEMPLATE *prefixtempl,
+ WPACKET *pkt,
+ TLS_BUFFER *bufs,
+ size_t *wpinited)
{
TLS_BUFFER *wb;
@@ -477,11 +473,11 @@ static int ktls_initialise_write_packets(OSSL_RECORD_LAYER *rl,
wb->type = templates[0].type;
/*
- * ktls doesn't modify the buffer, but to avoid a warning we need
- * to discard the const qualifier.
- * This doesn't leak memory because the buffers have never been allocated
- * with KTLS
- */
+ * ktls doesn't modify the buffer, but to avoid a warning we need
+ * to discard the const qualifier.
+ * This doesn't leak memory because the buffers have never been allocated
+ * with KTLS
+ */
TLS_BUFFER_set_buf(wb, (unsigned char *)templates[0].buf);
TLS_BUFFER_set_offset(wb, 0);
TLS_BUFFER_set_app_buffer(wb, 1);
@@ -490,10 +486,10 @@ static int ktls_initialise_write_packets(OSSL_RECORD_LAYER *rl,
}
static int ktls_prepare_record_header(OSSL_RECORD_LAYER *rl,
- WPACKET *thispkt,
- OSSL_RECORD_TEMPLATE *templ,
- uint8_t rectype,
- unsigned char **recdata)
+ WPACKET *thispkt,
+ OSSL_RECORD_TEMPLATE *templ,
+ uint8_t rectype,
+ unsigned char **recdata)
{
/* The kernel writes the record header, so nothing to do */
*recdata = NULL;
@@ -502,19 +498,19 @@ static int ktls_prepare_record_header(OSSL_RECORD_LAYER *rl,
}
static int ktls_prepare_for_encryption(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ size_t mac_size,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
/* No encryption, so nothing to do */
return 1;
}
static int ktls_post_encryption_processing(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- OSSL_RECORD_TEMPLATE *templ,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ size_t mac_size,
+ OSSL_RECORD_TEMPLATE *templ,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
/* The kernel does anything that is needed, so nothing to do here */
return 1;
diff --git a/crypto/openssl/ssl/record/methods/recmethod_local.h b/crypto/openssl/ssl/record/methods/recmethod_local.h
index 364a3a01bbe2..4ffce8d66385 100644
--- a/crypto/openssl/ssl/record/methods/recmethod_local.h
+++ b/crypto/openssl/ssl/record/methods/recmethod_local.h
@@ -80,15 +80,14 @@ typedef struct tls_rl_record_st {
/* Macros/functions provided by the TLS_RL_RECORD component */
-#define TLS_RL_RECORD_set_type(r, t) ((r)->type = (t))
-#define TLS_RL_RECORD_set_rec_version(r, v) ((r)->rec_version = (v))
-#define TLS_RL_RECORD_get_length(r) ((r)->length)
-#define TLS_RL_RECORD_set_length(r, l) ((r)->length = (l))
-#define TLS_RL_RECORD_add_length(r, l) ((r)->length += (l))
-#define TLS_RL_RECORD_set_data(r, d) ((r)->data = (d))
-#define TLS_RL_RECORD_set_input(r, i) ((r)->input = (i))
-#define TLS_RL_RECORD_reset_input(r) ((r)->input = (r)->data)
-
+#define TLS_RL_RECORD_set_type(r, t) ((r)->type = (t))
+#define TLS_RL_RECORD_set_rec_version(r, v) ((r)->rec_version = (v))
+#define TLS_RL_RECORD_get_length(r) ((r)->length)
+#define TLS_RL_RECORD_set_length(r, l) ((r)->length = (l))
+#define TLS_RL_RECORD_add_length(r, l) ((r)->length += (l))
+#define TLS_RL_RECORD_set_data(r, d) ((r)->data = (d))
+#define TLS_RL_RECORD_set_input(r, i) ((r)->input = (i))
+#define TLS_RL_RECORD_reset_input(r) ((r)->input = (r)->data)
/* Protocol version specific function pointers */
struct record_functions_st {
@@ -98,14 +97,14 @@ struct record_functions_st {
* alternative record layer.
*/
int (*set_crypto_state)(OSSL_RECORD_LAYER *rl, int level,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph,
- size_t taglen,
- int mactype,
- const EVP_MD *md,
- COMP_METHOD *comp);
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph,
+ size_t taglen,
+ int mactype,
+ const EVP_MD *md,
+ COMP_METHOD *comp);
/*
* Returns:
@@ -114,10 +113,10 @@ struct record_functions_st {
* 1: Success or MtE decryption failed (MAC will be randomised)
*/
int (*cipher)(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs, size_t n_recs,
- int sending, SSL_MAC_BUF *macs, size_t macsize);
+ int sending, SSL_MAC_BUF *macs, size_t macsize);
/* Returns 1 for success or 0 for error */
int (*mac)(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md,
- int sending);
+ int sending);
/* Return 1 for success or 0 for error */
int (*set_protocol_version)(OSSL_RECORD_LAYER *rl, int version);
@@ -125,7 +124,7 @@ struct record_functions_st {
/* Read related functions */
int (*read_n)(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
- int clearold, size_t *readbytes);
+ int clearold, size_t *readbytes);
int (*get_more_records)(OSSL_RECORD_LAYER *rl);
@@ -138,16 +137,16 @@ struct record_functions_st {
/* Write related functions */
size_t (*get_max_records)(OSSL_RECORD_LAYER *rl, uint8_t type, size_t len,
- size_t maxfrag, size_t *preffrag);
+ size_t maxfrag, size_t *preffrag);
/* Return 1 for success or 0 for error */
int (*write_records)(OSSL_RECORD_LAYER *rl, OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl);
+ size_t numtempl);
/* Allocate the rl->wbuf buffers. Return 1 for success or 0 for error */
int (*allocate_write_buffers)(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl, size_t *prefix);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl, size_t *prefix);
/*
* Initialise the packets in the |pkt| array using the buffers in |rl->wbuf|.
@@ -158,27 +157,27 @@ struct record_functions_st {
* initialised. This must be 0 on entry and will be filled in even on error.
*/
int (*initialise_write_packets)(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- OSSL_RECORD_TEMPLATE *prefixtempl,
- WPACKET *pkt,
- TLS_BUFFER *bufs,
- size_t *wpinited);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ OSSL_RECORD_TEMPLATE *prefixtempl,
+ WPACKET *pkt,
+ TLS_BUFFER *bufs,
+ size_t *wpinited);
/* Get the actual record type to be used for a given template */
uint8_t (*get_record_type)(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *template);
+ OSSL_RECORD_TEMPLATE *template);
/* Write the record header data to the WPACKET */
int (*prepare_record_header)(OSSL_RECORD_LAYER *rl, WPACKET *thispkt,
- OSSL_RECORD_TEMPLATE *templ,
- uint8_t rectype,
- unsigned char **recdata);
+ OSSL_RECORD_TEMPLATE *templ,
+ uint8_t rectype,
+ unsigned char **recdata);
int (*add_record_padding)(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr);
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr);
/*
* This applies any mac that might be necessary, ensures that we have enough
@@ -186,19 +185,19 @@ struct record_functions_st {
* TLS_RL_RECORD ready for that encryption.
*/
int (*prepare_for_encryption)(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr);
+ size_t mac_size,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr);
/*
* Any updates required to the record after encryption has been applied. For
* example, adding a MAC if using encrypt-then-mac
*/
int (*post_encryption_processing)(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr);
+ size_t mac_size,
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr);
/*
* Some record layer implementations need to do some custom preparation of
@@ -335,8 +334,8 @@ struct ossl_record_layer_st {
int tlstree;
/* TLSv1.3 fields */
- unsigned char *iv; /* static IV */
- unsigned char *nonce; /* part of static IV followed by sequence number */
+ unsigned char *iv; /* static IV */
+ unsigned char *nonce; /* part of static IV followed by sequence number */
int allow_plain_alerts;
/* TLS "any" fields */
@@ -387,47 +386,47 @@ extern const struct record_functions_st dtls_1_funcs;
extern const struct record_functions_st dtls_any_funcs;
void ossl_rlayer_fatal(OSSL_RECORD_LAYER *rl, int al, int reason,
- const char *fmt, ...);
+ const char *fmt, ...);
#define RLAYERfatal(rl, al, r) RLAYERfatal_data((rl), (al), (r), NULL)
-#define RLAYERfatal_data \
- (ERR_new(), \
- ERR_set_debug(OPENSSL_FILE, OPENSSL_LINE, OPENSSL_FUNC), \
- ossl_rlayer_fatal)
+#define RLAYERfatal_data \
+ (ERR_new(), \
+ ERR_set_debug(OPENSSL_FILE, OPENSSL_LINE, OPENSSL_FUNC), \
+ ossl_rlayer_fatal)
#define RLAYER_USE_EXPLICIT_IV(rl) ((rl)->version == TLS1_1_VERSION \
- || (rl)->version == TLS1_2_VERSION \
- || (rl)->version == DTLS1_BAD_VER \
- || (rl)->version == DTLS1_VERSION \
- || (rl)->version == DTLS1_2_VERSION)
+ || (rl)->version == TLS1_2_VERSION \
+ || (rl)->version == DTLS1_BAD_VER \
+ || (rl)->version == DTLS1_VERSION \
+ || (rl)->version == DTLS1_2_VERSION)
void ossl_tls_rl_record_set_seq_num(TLS_RL_RECORD *r,
- const unsigned char *seq_num);
+ const unsigned char *seq_num);
int ossl_set_tls_provider_parameters(OSSL_RECORD_LAYER *rl,
- EVP_CIPHER_CTX *ctx,
- const EVP_CIPHER *ciph,
- const EVP_MD *md);
+ EVP_CIPHER_CTX *ctx,
+ const EVP_CIPHER *ciph,
+ const EVP_MD *md);
int tls_increment_sequence_ctr(OSSL_RECORD_LAYER *rl);
int tls_alloc_buffers(OSSL_RECORD_LAYER *rl);
int tls_free_buffers(OSSL_RECORD_LAYER *rl);
int tls_default_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
- int clearold, size_t *readbytes);
+ int clearold, size_t *readbytes);
int tls_get_more_records(OSSL_RECORD_LAYER *rl);
int dtls_get_more_records(OSSL_RECORD_LAYER *rl);
int dtls_prepare_record_header(OSSL_RECORD_LAYER *rl,
- WPACKET *thispkt,
- OSSL_RECORD_TEMPLATE *templ,
- uint8_t rectype,
- unsigned char **recdata);
+ WPACKET *thispkt,
+ OSSL_RECORD_TEMPLATE *templ,
+ uint8_t rectype,
+ unsigned char **recdata);
int dtls_post_encryption_processing(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr);
+ size_t mac_size,
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr);
int tls_default_set_protocol_version(OSSL_RECORD_LAYER *rl, int version);
int tls_default_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *re);
@@ -436,29 +435,28 @@ int tls_do_uncompress(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec);
int tls_default_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec);
int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec);
-int
-tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
- int role, int direction, int level,
- const EVP_CIPHER *ciph, size_t taglen,
- const EVP_MD *md, COMP_METHOD *comp, BIO *prev,
- BIO *transport, BIO *next,
- const OSSL_PARAM *settings, const OSSL_PARAM *options,
- const OSSL_DISPATCH *fns, void *cbarg,
- OSSL_RECORD_LAYER **retrl);
+int tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
+ int role, int direction, int level,
+ const EVP_CIPHER *ciph, size_t taglen,
+ const EVP_MD *md, COMP_METHOD *comp, BIO *prev,
+ BIO *transport, BIO *next,
+ const OSSL_PARAM *settings, const OSSL_PARAM *options,
+ const OSSL_DISPATCH *fns, void *cbarg,
+ OSSL_RECORD_LAYER **retrl);
int tls_free(OSSL_RECORD_LAYER *rl);
int tls_unprocessed_read_pending(OSSL_RECORD_LAYER *rl);
int tls_processed_read_pending(OSSL_RECORD_LAYER *rl);
size_t tls_app_data_pending(OSSL_RECORD_LAYER *rl);
size_t tls_get_max_records(OSSL_RECORD_LAYER *rl, uint8_t type, size_t len,
- size_t maxfrag, size_t *preffrag);
+ size_t maxfrag, size_t *preffrag);
int tls_write_records(OSSL_RECORD_LAYER *rl, OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl);
+ size_t numtempl);
int tls_retry_write_records(OSSL_RECORD_LAYER *rl);
int tls_get_alert_code(OSSL_RECORD_LAYER *rl);
int tls_set1_bio(OSSL_RECORD_LAYER *rl, BIO *bio);
int tls_read_record(OSSL_RECORD_LAYER *rl, void **rechandle, int *rversion,
- uint8_t *type, const unsigned char **data, size_t *datalen,
- uint16_t *epoch, unsigned char *seq_num);
+ uint8_t *type, const unsigned char **data, size_t *datalen,
+ uint16_t *epoch, unsigned char *seq_num);
int tls_release_record(OSSL_RECORD_LAYER *rl, void *rechandle, size_t length);
int tls_default_set_protocol_version(OSSL_RECORD_LAYER *rl, int version);
int tls_set_protocol_version(OSSL_RECORD_LAYER *rl, int version);
@@ -466,74 +464,74 @@ void tls_set_plain_alerts(OSSL_RECORD_LAYER *rl, int allow);
void tls_set_first_handshake(OSSL_RECORD_LAYER *rl, int first);
void tls_set_max_pipelines(OSSL_RECORD_LAYER *rl, size_t max_pipelines);
void tls_get_state(OSSL_RECORD_LAYER *rl, const char **shortstr,
- const char **longstr);
+ const char **longstr);
int tls_set_options(OSSL_RECORD_LAYER *rl, const OSSL_PARAM *options);
const COMP_METHOD *tls_get_compression(OSSL_RECORD_LAYER *rl);
void tls_set_max_frag_len(OSSL_RECORD_LAYER *rl, size_t max_frag_len);
int tls_setup_read_buffer(OSSL_RECORD_LAYER *rl);
int tls_setup_write_buffer(OSSL_RECORD_LAYER *rl, size_t numwpipes,
- size_t firstlen, size_t nextlen);
+ size_t firstlen, size_t nextlen);
int tls_write_records_multiblock(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl);
size_t tls_get_max_records_default(OSSL_RECORD_LAYER *rl, uint8_t type,
- size_t len,
- size_t maxfrag, size_t *preffrag);
+ size_t len,
+ size_t maxfrag, size_t *preffrag);
size_t tls_get_max_records_multiblock(OSSL_RECORD_LAYER *rl, uint8_t type,
- size_t len, size_t maxfrag,
- size_t *preffrag);
+ size_t len, size_t maxfrag,
+ size_t *preffrag);
int tls_allocate_write_buffers_default(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl, size_t *prefix);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl, size_t *prefix);
int tls_initialise_write_packets_default(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- OSSL_RECORD_TEMPLATE *prefixtempl,
- WPACKET *pkt,
- TLS_BUFFER *bufs,
- size_t *wpinited);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ OSSL_RECORD_TEMPLATE *prefixtempl,
+ WPACKET *pkt,
+ TLS_BUFFER *bufs,
+ size_t *wpinited);
int tls1_allocate_write_buffers(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl, size_t *prefix);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl, size_t *prefix);
int tls1_initialise_write_packets(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- OSSL_RECORD_TEMPLATE *prefixtempl,
- WPACKET *pkt,
- TLS_BUFFER *bufs,
- size_t *wpinited);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ OSSL_RECORD_TEMPLATE *prefixtempl,
+ WPACKET *pkt,
+ TLS_BUFFER *bufs,
+ size_t *wpinited);
int tls_prepare_record_header_default(OSSL_RECORD_LAYER *rl,
- WPACKET *thispkt,
- OSSL_RECORD_TEMPLATE *templ,
- uint8_t rectype,
- unsigned char **recdata);
+ WPACKET *thispkt,
+ OSSL_RECORD_TEMPLATE *templ,
+ uint8_t rectype,
+ unsigned char **recdata);
int tls_prepare_for_encryption_default(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr);
+ size_t mac_size,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr);
int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr);
+ size_t mac_size,
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr);
int tls_write_records_default(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl);
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl);
/* Macros/functions provided by the TLS_BUFFER component */
-#define TLS_BUFFER_get_buf(b) ((b)->buf)
-#define TLS_BUFFER_set_buf(b, n) ((b)->buf = (n))
-#define TLS_BUFFER_get_len(b) ((b)->len)
-#define TLS_BUFFER_get_left(b) ((b)->left)
-#define TLS_BUFFER_set_left(b, l) ((b)->left = (l))
-#define TLS_BUFFER_sub_left(b, l) ((b)->left -= (l))
-#define TLS_BUFFER_get_offset(b) ((b)->offset)
-#define TLS_BUFFER_set_offset(b, o) ((b)->offset = (o))
-#define TLS_BUFFER_add_offset(b, o) ((b)->offset += (o))
-#define TLS_BUFFER_set_app_buffer(b, l) ((b)->app_buffer = (l))
-#define TLS_BUFFER_is_app_buffer(b) ((b)->app_buffer)
+#define TLS_BUFFER_get_buf(b) ((b)->buf)
+#define TLS_BUFFER_set_buf(b, n) ((b)->buf = (n))
+#define TLS_BUFFER_get_len(b) ((b)->len)
+#define TLS_BUFFER_get_left(b) ((b)->left)
+#define TLS_BUFFER_set_left(b, l) ((b)->left = (l))
+#define TLS_BUFFER_sub_left(b, l) ((b)->left -= (l))
+#define TLS_BUFFER_get_offset(b) ((b)->offset)
+#define TLS_BUFFER_set_offset(b, o) ((b)->offset = (o))
+#define TLS_BUFFER_add_offset(b, o) ((b)->offset += (o))
+#define TLS_BUFFER_set_app_buffer(b, l) ((b)->app_buffer = (l))
+#define TLS_BUFFER_is_app_buffer(b) ((b)->app_buffer)
void ossl_tls_buffer_release(TLS_BUFFER *b);
diff --git a/crypto/openssl/ssl/record/methods/ssl3_cbc.c b/crypto/openssl/ssl/record/methods/ssl3_cbc.c
index a8282989ed39..48be4885bbb8 100644
--- a/crypto/openssl/ssl/record/methods/ssl3_cbc.c
+++ b/crypto/openssl/ssl/record/methods/ssl3_cbc.c
@@ -24,7 +24,7 @@
#include <openssl/evp.h>
#ifndef FIPS_MODULE
-# include <openssl/md5.h>
+#include <openssl/md5.h>
#endif
#include <openssl/sha.h>
@@ -50,11 +50,11 @@
* u32toLE serializes an unsigned, 32-bit number (n) as four bytes at (p) in
* little-endian order. The value of p is advanced by four.
*/
-# define u32toLE(n, p) \
- (*((p)++) = (unsigned char)(n ), \
- *((p)++) = (unsigned char)(n >> 8), \
- *((p)++) = (unsigned char)(n >> 16), \
- *((p)++) = (unsigned char)(n >> 24))
+#define u32toLE(n, p) \
+ (*((p)++) = (unsigned char)(n), \
+ *((p)++) = (unsigned char)(n >> 8), \
+ *((p)++) = (unsigned char)(n >> 16), \
+ *((p)++) = (unsigned char)(n >> 24))
/*
* These functions serialize the state of a hash and thus perform the
@@ -101,7 +101,7 @@ static void tls1_sha512_final_raw(void *ctx, unsigned char *md_out)
l2n8(sha512->h[i], md_out);
}
-#undef LARGEST_DIGEST_CTX
+#undef LARGEST_DIGEST_CTX
#define LARGEST_DIGEST_CTX SHA512_CTX
/*-
@@ -124,26 +124,26 @@ static void tls1_sha512_final_raw(void *ctx, unsigned char *md_out)
* Returns 1 on success or 0 on error
*/
int ssl3_cbc_digest_record(const EVP_MD *md,
- unsigned char *md_out,
- size_t *md_out_size,
- const unsigned char *header,
- const unsigned char *data,
- size_t data_size,
- size_t data_plus_mac_plus_padding_size,
- const unsigned char *mac_secret,
- size_t mac_secret_length, char is_sslv3)
+ unsigned char *md_out,
+ size_t *md_out_size,
+ const unsigned char *header,
+ const unsigned char *data,
+ size_t data_size,
+ size_t data_plus_mac_plus_padding_size,
+ const unsigned char *mac_secret,
+ size_t mac_secret_length, char is_sslv3)
{
union {
OSSL_UNION_ALIGN;
unsigned char c[sizeof(LARGEST_DIGEST_CTX)];
} md_state;
- void (*md_final_raw) (void *ctx, unsigned char *md_out);
- void (*md_transform) (void *ctx, const unsigned char *block);
+ void (*md_final_raw)(void *ctx, unsigned char *md_out);
+ void (*md_transform)(void *ctx, const unsigned char *block);
size_t md_size, md_block_size = 64;
size_t sslv3_pad_length = 40, header_length, variance_blocks,
- len, max_mac_bytes, num_blocks,
- num_starting_blocks, k, mac_end_offset, c, index_a, index_b;
- size_t bits; /* at most 18 bits */
+ len, max_mac_bytes, num_blocks,
+ num_starting_blocks, k, mac_end_offset, c, index_a, index_b;
+ size_t bits; /* at most 18 bits */
unsigned char length_bytes[MAX_HASH_BIT_COUNT_BYTES];
/* hmac_pad is the masked HMAC key. */
unsigned char hmac_pad[MAX_HASH_BLOCK_SIZE];
@@ -174,8 +174,7 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
if (MD5_Init((MD5_CTX *)md_state.c) <= 0)
return 0;
md_final_raw = tls1_md5_final_raw;
- md_transform =
- (void (*)(void *ctx, const unsigned char *block))MD5_Transform;
+ md_transform = (void (*)(void *ctx, const unsigned char *block))MD5_Transform;
md_size = 16;
sslv3_pad_length = 48;
length_is_big_endian = 0;
@@ -184,29 +183,25 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
if (SHA1_Init((SHA_CTX *)md_state.c) <= 0)
return 0;
md_final_raw = tls1_sha1_final_raw;
- md_transform =
- (void (*)(void *ctx, const unsigned char *block))SHA1_Transform;
+ md_transform = (void (*)(void *ctx, const unsigned char *block))SHA1_Transform;
md_size = 20;
} else if (EVP_MD_is_a(md, "SHA2-224")) {
if (SHA224_Init((SHA256_CTX *)md_state.c) <= 0)
return 0;
md_final_raw = tls1_sha256_final_raw;
- md_transform =
- (void (*)(void *ctx, const unsigned char *block))SHA256_Transform;
+ md_transform = (void (*)(void *ctx, const unsigned char *block))SHA256_Transform;
md_size = 224 / 8;
} else if (EVP_MD_is_a(md, "SHA2-256")) {
if (SHA256_Init((SHA256_CTX *)md_state.c) <= 0)
return 0;
md_final_raw = tls1_sha256_final_raw;
- md_transform =
- (void (*)(void *ctx, const unsigned char *block))SHA256_Transform;
+ md_transform = (void (*)(void *ctx, const unsigned char *block))SHA256_Transform;
md_size = 32;
} else if (EVP_MD_is_a(md, "SHA2-384")) {
if (SHA384_Init((SHA512_CTX *)md_state.c) <= 0)
return 0;
md_final_raw = tls1_sha512_final_raw;
- md_transform =
- (void (*)(void *ctx, const unsigned char *block))SHA512_Transform;
+ md_transform = (void (*)(void *ctx, const unsigned char *block))SHA512_Transform;
md_size = 384 / 8;
md_block_size = 128;
md_length_size = 16;
@@ -214,8 +209,7 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
if (SHA512_Init((SHA512_CTX *)md_state.c) <= 0)
return 0;
md_final_raw = tls1_sha512_final_raw;
- md_transform =
- (void (*)(void *ctx, const unsigned char *block))SHA512_Transform;
+ md_transform = (void (*)(void *ctx, const unsigned char *block))SHA512_Transform;
md_size = 64;
md_block_size = 128;
md_length_size = 16;
@@ -230,17 +224,17 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
}
if (!ossl_assert(md_length_size <= MAX_HASH_BIT_COUNT_BYTES)
- || !ossl_assert(md_block_size <= MAX_HASH_BLOCK_SIZE)
- || !ossl_assert(md_size <= EVP_MAX_MD_SIZE))
+ || !ossl_assert(md_block_size <= MAX_HASH_BLOCK_SIZE)
+ || !ossl_assert(md_size <= EVP_MAX_MD_SIZE))
return 0;
header_length = 13;
if (is_sslv3) {
header_length = mac_secret_length
- + sslv3_pad_length
- + 8 /* sequence number */
- + 1 /* record type */
- + 2; /* record length */
+ + sslv3_pad_length
+ + 8 /* sequence number */
+ + 1 /* record type */
+ + 2; /* record length */
}
/*
@@ -260,7 +254,8 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
*/
variance_blocks = is_sslv3 ? 2
: (((255 + 1 + md_size + md_block_size - 1)
- / md_block_size) + 1);
+ / md_block_size)
+ + 1);
/*
* From now on we're dealing with the MAC, which conceptually has 13
* bytes of `header' before the start of the data (TLS) or 71/75 bytes
@@ -273,9 +268,7 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
*/
max_mac_bytes = len - md_size - 1;
/* num_blocks is the maximum number of hash blocks. */
- num_blocks =
- (max_mac_bytes + 1 + md_length_size + md_block_size -
- 1) / md_block_size;
+ num_blocks = (max_mac_bytes + 1 + md_length_size + md_block_size - 1) / md_block_size;
/*
* In order to calculate the MAC in constant time we have to handle the
* final blocks specially because the padding value could cause the end
@@ -398,7 +391,7 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
* constant time, to |mac_out|.
*/
for (i = num_starting_blocks; i <= num_starting_blocks + variance_blocks;
- i++) {
+ i++) {
unsigned char block[MAX_HASH_BLOCK_SIZE];
unsigned char is_block_a = constant_time_eq_8_s(i, index_a);
unsigned char is_block_b = constant_time_eq_8_s(i, index_b);
@@ -438,9 +431,7 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
if (j >= md_block_size - md_length_size) {
/* If this is index_b, write a length byte. */
b = constant_time_select_8(is_block_b,
- length_bytes[j -
- (md_block_size -
- md_length_size)], b);
+ length_bytes[j - (md_block_size - md_length_size)], b);
}
block[j] = b;
}
@@ -480,7 +471,7 @@ int ssl3_cbc_digest_record(const EVP_MD *md,
*md_out_size = md_out_size_u;
ret = 1;
- err:
+err:
EVP_MD_CTX_free(md_ctx);
return ret;
}
diff --git a/crypto/openssl/ssl/record/methods/ssl3_meth.c b/crypto/openssl/ssl/record/methods/ssl3_meth.c
index 6b5a1bed23eb..3f28346027e3 100644
--- a/crypto/openssl/ssl/record/methods/ssl3_meth.c
+++ b/crypto/openssl/ssl/record/methods/ssl3_meth.c
@@ -15,14 +15,14 @@
#include "recmethod_local.h"
static int ssl3_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph,
- size_t taglen,
- int mactype,
- const EVP_MD *md,
- COMP_METHOD *comp)
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph,
+ size_t taglen,
+ int mactype,
+ const EVP_MD *md,
+ COMP_METHOD *comp)
{
EVP_CIPHER_CTX *ciph_ctx;
int enc = (rl->direction == OSSL_RECORD_DIRECTION_WRITE) ? 1 : 0;
@@ -69,7 +69,7 @@ static int ssl3_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
* different to that in ciph if we have an ENGINE in use
*/
if (EVP_CIPHER_get0_provider(EVP_CIPHER_CTX_get0_cipher(ciph_ctx)) != NULL
- && !ossl_set_tls_provider_parameters(rl, ciph_ctx, ciph, md)) {
+ && !ossl_set_tls_provider_parameters(rl, ciph_ctx, ciph, md)) {
/* ERR_raise already called */
return OSSL_RECORD_RETURN_FATAL;
}
@@ -93,8 +93,8 @@ static int ssl3_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
* 1: Success or Mac-then-encrypt decryption failed (MAC will be randomised)
*/
static int ssl3_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,
- size_t n_recs, int sending, SSL_MAC_BUF *mac,
- size_t macsize)
+ size_t n_recs, int sending, SSL_MAC_BUF *mac,
+ size_t macsize)
{
TLS_RL_RECORD *rec;
EVP_CIPHER_CTX *ds;
@@ -154,7 +154,7 @@ static int ssl3_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,
int outlen;
if (!EVP_CipherUpdate(ds, rec->data, &outlen, rec->input,
- (unsigned int)l))
+ (unsigned int)l))
return 0;
rec->length = outlen;
@@ -166,8 +166,8 @@ static int ssl3_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,
mac->alloced = 0;
*p++ = OSSL_PARAM_construct_octet_ptr(OSSL_CIPHER_PARAM_TLS_MAC,
- (void **)&mac->mac,
- macsize);
+ (void **)&mac->mac,
+ macsize);
*p = OSSL_PARAM_construct_end();
if (!EVP_CIPHER_CTX_get_params(ds, params)) {
@@ -185,13 +185,13 @@ static int ssl3_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,
if (!sending)
return ssl3_cbc_remove_padding_and_mac(&rec->length,
- rec->orig_len,
- rec->data,
- (mac != NULL) ? &mac->mac : NULL,
- (mac != NULL) ? &mac->alloced : NULL,
- bs,
- macsize,
- rl->libctx);
+ rec->orig_len,
+ rec->data,
+ (mac != NULL) ? &mac->mac : NULL,
+ (mac != NULL) ? &mac->alloced : NULL,
+ bs,
+ macsize,
+ rl->libctx);
}
return 1;
@@ -216,7 +216,7 @@ static const unsigned char ssl3_pad_2[48] = {
};
static int ssl3_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md,
- int sending)
+ int sending)
{
unsigned char *mac_sec, *seq = rl->sequence;
const EVP_MD_CTX *hash;
@@ -268,10 +268,11 @@ static int ssl3_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md
/* Final param == is SSLv3 */
if (ssl3_cbc_digest_record(EVP_MD_CTX_get0_md(hash),
- md, &md_size,
- header, rec->input,
- rec->length, rec->orig_len,
- mac_sec, md_size, 1) <= 0)
+ md, &md_size,
+ header, rec->input,
+ rec->length, rec->orig_len,
+ mac_sec, md_size, 1)
+ <= 0)
return 0;
#endif
} else {
diff --git a/crypto/openssl/ssl/record/methods/tls13_meth.c b/crypto/openssl/ssl/record/methods/tls13_meth.c
index 6bbba84d0d89..f35e0a5b4a31 100644
--- a/crypto/openssl/ssl/record/methods/tls13_meth.c
+++ b/crypto/openssl/ssl/record/methods/tls13_meth.c
@@ -14,14 +14,14 @@
#include "recmethod_local.h"
static int tls13_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph,
- size_t taglen,
- int mactype,
- const EVP_MD *md,
- COMP_METHOD *comp)
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph,
+ size_t taglen,
+ int mactype,
+ const EVP_MD *md,
+ COMP_METHOD *comp)
{
EVP_CIPHER_CTX *ciph_ctx;
EVP_MAC_CTX *mac_ctx;
@@ -51,7 +51,7 @@ static int tls13_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
}
EVP_MAC_free(mac);
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST,
- (char *)EVP_MD_name(md), 0);
+ (char *)EVP_MD_name(md), 0);
*p = OSSL_PARAM_construct_end();
if (!EVP_MAC_init(mac_ctx, key, keylen, params)) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
@@ -70,21 +70,23 @@ static int tls13_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
if (EVP_CipherInit_ex(ciph_ctx, ciph, NULL, NULL, NULL, enc) <= 0
|| EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_IVLEN, ivlen,
- NULL) <= 0
+ NULL)
+ <= 0
|| (mode == EVP_CIPH_CCM_MODE
&& EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_TAG, taglen,
- NULL) <= 0)
+ NULL)
+ <= 0)
|| EVP_CipherInit_ex(ciph_ctx, NULL, NULL, key, NULL, enc) <= 0) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
- end:
+end:
return OSSL_RECORD_RETURN_SUCCESS;
}
static int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
- size_t n_recs, int sending, SSL_MAC_BUF *mac,
- size_t macsize)
+ size_t n_recs, int sending, SSL_MAC_BUF *mac,
+ size_t macsize)
{
EVP_CIPHER_CTX *enc_ctx;
unsigned char recheader[SSL3_RT_HEADER_LENGTH];
@@ -169,12 +171,12 @@ static int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
/* Set up the AAD */
if (!WPACKET_init_static_len(&wpkt, recheader, sizeof(recheader), 0)
- || !WPACKET_put_bytes_u8(&wpkt, rec->type)
- || !WPACKET_put_bytes_u16(&wpkt, rec->rec_version)
- || !WPACKET_put_bytes_u16(&wpkt, rec->length + rl->taglen)
- || !WPACKET_get_total_written(&wpkt, &hdrlen)
- || hdrlen != SSL3_RT_HEADER_LENGTH
- || !WPACKET_finish(&wpkt)) {
+ || !WPACKET_put_bytes_u8(&wpkt, rec->type)
+ || !WPACKET_put_bytes_u16(&wpkt, rec->rec_version)
+ || !WPACKET_put_bytes_u16(&wpkt, rec->length + rl->taglen)
+ || !WPACKET_get_total_written(&wpkt, &hdrlen)
+ || hdrlen != SSL3_RT_HEADER_LENGTH
+ || !WPACKET_finish(&wpkt)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
WPACKET_cleanup(&wpkt);
return 0;
@@ -196,7 +198,8 @@ static int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
memcpy(rec->data + rec->length, tag, rl->taglen);
rec->length += rl->taglen;
} else if (CRYPTO_memcmp(tag, rec->data + rec->length,
- rl->taglen) != 0) {
+ rl->taglen)
+ != 0) {
goto end_mac;
}
ret = 1;
@@ -213,9 +216,7 @@ static int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
mode = EVP_CIPHER_get_mode(cipher);
if (EVP_CipherInit_ex(enc_ctx, NULL, NULL, NULL, nonce, sending) <= 0
- || (!sending && EVP_CIPHER_CTX_ctrl(enc_ctx, EVP_CTRL_AEAD_SET_TAG,
- rl->taglen,
- rec->data + rec->length) <= 0)) {
+ || (!sending && EVP_CIPHER_CTX_ctrl(enc_ctx, EVP_CTRL_AEAD_SET_TAG, rl->taglen, rec->data + rec->length) <= 0)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -225,20 +226,24 @@ static int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
* any AAD.
*/
if ((mode == EVP_CIPH_CCM_MODE
- && EVP_CipherUpdate(enc_ctx, NULL, &lenu, NULL,
- (unsigned int)rec->length) <= 0)
- || EVP_CipherUpdate(enc_ctx, NULL, &lenu, recheader,
- sizeof(recheader)) <= 0
- || EVP_CipherUpdate(enc_ctx, rec->data, &lenu, rec->input,
- (unsigned int)rec->length) <= 0
- || EVP_CipherFinal_ex(enc_ctx, rec->data + lenu, &lenf) <= 0
- || (size_t)(lenu + lenf) != rec->length) {
+ && EVP_CipherUpdate(enc_ctx, NULL, &lenu, NULL,
+ (unsigned int)rec->length)
+ <= 0)
+ || EVP_CipherUpdate(enc_ctx, NULL, &lenu, recheader,
+ sizeof(recheader))
+ <= 0
+ || EVP_CipherUpdate(enc_ctx, rec->data, &lenu, rec->input,
+ (unsigned int)rec->length)
+ <= 0
+ || EVP_CipherFinal_ex(enc_ctx, rec->data + lenu, &lenf) <= 0
+ || (size_t)(lenu + lenf) != rec->length) {
return 0;
}
if (sending) {
/* Add the tag */
if (EVP_CIPHER_CTX_ctrl(enc_ctx, EVP_CTRL_AEAD_GET_TAG, rl->taglen,
- rec->data + rec->length) <= 0) {
+ rec->data + rec->length)
+ <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -249,12 +254,12 @@ static int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
}
static int tls13_validate_record_header(OSSL_RECORD_LAYER *rl,
- TLS_RL_RECORD *rec)
+ TLS_RL_RECORD *rec)
{
if (rec->type != SSL3_RT_APPLICATION_DATA
- && (rec->type != SSL3_RT_CHANGE_CIPHER_SPEC
- || !rl->is_first_handshake)
- && (rec->type != SSL3_RT_ALERT || !rl->allow_plain_alerts)) {
+ && (rec->type != SSL3_RT_CHANGE_CIPHER_SPEC
+ || !rl->is_first_handshake)
+ && (rec->type != SSL3_RT_ALERT || !rl->allow_plain_alerts)) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_BAD_RECORD_TYPE);
return 0;
}
@@ -266,7 +271,7 @@ static int tls13_validate_record_header(OSSL_RECORD_LAYER *rl,
if (rec->length > SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH) {
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_ENCRYPTED_LENGTH_TOO_LONG);
+ SSL_R_ENCRYPTED_LENGTH_TOO_LONG);
return 0;
}
return 1;
@@ -279,9 +284,9 @@ static int tls13_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
size_t end;
if (rec->length == 0
- || rec->type != SSL3_RT_APPLICATION_DATA) {
+ || rec->type != SSL3_RT_APPLICATION_DATA) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_BAD_RECORD_TYPE);
+ SSL_R_BAD_RECORD_TYPE);
return 0;
}
@@ -307,7 +312,7 @@ static int tls13_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
}
static uint8_t tls13_get_record_type(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *template)
+ OSSL_RECORD_TEMPLATE *template)
{
if (rl->allow_plain_alerts && template->type == SSL3_RT_ALERT)
return SSL3_RT_ALERT;
@@ -321,9 +326,9 @@ static uint8_t tls13_get_record_type(OSSL_RECORD_LAYER *rl,
}
static int tls13_add_record_padding(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
size_t rlen;
@@ -353,7 +358,7 @@ static int tls13_add_record_padding(OSSL_RECORD_LAYER *rl,
* a change that could break some application that has
* a client and server that both know what padding they
* like, and that dislike any other padding. That'd need
- * one of those to have been updated though so the
+ * one of those to have been updated though so the
* probability may be low enough that we could change
* the "else if" below to just an "if" and pick the
* larger of the library and callback's idea of padding.
@@ -373,7 +378,7 @@ static int tls13_add_record_padding(OSSL_RECORD_LAYER *rl,
else if (thistempl->type == SSL3_RT_ALERT && rl->hs_padding > 0)
bp = rl->hs_padding;
else if (thistempl->type == SSL3_RT_APPLICATION_DATA
- && rl->block_padding > 0)
+ && rl->block_padding > 0)
bp = rl->block_padding;
if (bp > 0) {
mask = bp - 1;
@@ -395,7 +400,7 @@ static int tls13_add_record_padding(OSSL_RECORD_LAYER *rl,
padding = max_padding;
if (!WPACKET_memset(thispkt, 0, padding)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR,
- ERR_R_INTERNAL_ERROR);
+ ERR_R_INTERNAL_ERROR);
return 0;
}
TLS_RL_RECORD_add_length(thiswr, padding);
diff --git a/crypto/openssl/ssl/record/methods/tls1_meth.c b/crypto/openssl/ssl/record/methods/tls1_meth.c
index 9275e19fbd3f..ed4a436dffc1 100644
--- a/crypto/openssl/ssl/record/methods/tls1_meth.c
+++ b/crypto/openssl/ssl/record/methods/tls1_meth.c
@@ -17,14 +17,14 @@
#include "recmethod_local.h"
static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph,
- size_t taglen,
- int mactype,
- const EVP_MD *md,
- COMP_METHOD *comp)
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph,
+ size_t taglen,
+ int mactype,
+ const EVP_MD *md,
+ COMP_METHOD *comp)
{
EVP_CIPHER_CTX *ciph_ctx;
EVP_PKEY *mac_key;
@@ -62,8 +62,8 @@ static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
if ((EVP_CIPHER_get_flags(ciph) & EVP_CIPH_FLAG_AEAD_CIPHER) == 0) {
if (mactype == EVP_PKEY_HMAC) {
mac_key = EVP_PKEY_new_raw_private_key_ex(rl->libctx, "HMAC",
- rl->propq, mackey,
- mackeylen);
+ rl->propq, mackey,
+ mackeylen);
} else {
/*
* If its not HMAC then the only other types of MAC we support are
@@ -71,12 +71,13 @@ static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
* a MAC key.
*/
mac_key = EVP_PKEY_new_mac_key(mactype, NULL, mackey,
- (int)mackeylen);
+ (int)mackeylen);
}
if (mac_key == NULL
|| EVP_DigestSignInit_ex(rl->md_ctx, NULL, EVP_MD_get0_name(md),
- rl->libctx, rl->propq, mac_key,
- NULL) <= 0) {
+ rl->libctx, rl->propq, mac_key,
+ NULL)
+ <= 0) {
EVP_PKEY_free(mac_key);
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
@@ -86,20 +87,24 @@ static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
if (EVP_CIPHER_get_mode(ciph) == EVP_CIPH_GCM_MODE) {
if (!EVP_CipherInit_ex(ciph_ctx, ciph, NULL, key, NULL, enc)
- || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_GCM_SET_IV_FIXED,
- (int)ivlen, iv) <= 0) {
+ || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_GCM_SET_IV_FIXED,
+ (int)ivlen, iv)
+ <= 0) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
} else if (EVP_CIPHER_get_mode(ciph) == EVP_CIPH_CCM_MODE) {
if (!EVP_CipherInit_ex(ciph_ctx, ciph, NULL, NULL, NULL, enc)
- || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_IVLEN, 12,
- NULL) <= 0
- || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_TAG,
- (int)taglen, NULL) <= 0
- || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_CCM_SET_IV_FIXED,
- (int)ivlen, iv) <= 0
- || !EVP_CipherInit_ex(ciph_ctx, NULL, NULL, key, NULL, enc)) {
+ || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_IVLEN, 12,
+ NULL)
+ <= 0
+ || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_TAG,
+ (int)taglen, NULL)
+ <= 0
+ || EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_CCM_SET_IV_FIXED,
+ (int)ivlen, iv)
+ <= 0
+ || !EVP_CipherInit_ex(ciph_ctx, NULL, NULL, key, NULL, enc)) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -113,7 +118,8 @@ static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
if ((EVP_CIPHER_get_flags(ciph) & EVP_CIPH_FLAG_AEAD_CIPHER) != 0
&& mackeylen != 0
&& EVP_CIPHER_CTX_ctrl(ciph_ctx, EVP_CTRL_AEAD_SET_MAC_KEY,
- (int)mackeylen, mackey) <= 0) {
+ (int)mackeylen, mackey)
+ <= 0) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -123,7 +129,7 @@ static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
* different to that in ciph if we have an ENGINE in use
*/
if (EVP_CIPHER_get0_provider(EVP_CIPHER_CTX_get0_cipher(ciph_ctx)) != NULL
- && !ossl_set_tls_provider_parameters(rl, ciph_ctx, ciph, md)) {
+ && !ossl_set_tls_provider_parameters(rl, ciph_ctx, ciph, md)) {
/* ERR_raise already called */
return OSSL_RECORD_RETURN_FATAL;
}
@@ -165,8 +171,8 @@ static int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
* 1: Success or Mac-then-encrypt decryption failed (MAC will be randomised)
*/
static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
- size_t n_recs, int sending, SSL_MAC_BUF *macs,
- size_t macsize)
+ size_t n_recs, int sending, SSL_MAC_BUF *macs,
+ size_t macsize)
{
EVP_CIPHER_CTX *ds;
size_t reclen[SSL_MAX_PIPELINES];
@@ -213,7 +219,8 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
} else if (RAND_bytes_ex(rl->libctx, recs[ctr].input,
- ivlen, 0) <= 0) {
+ ivlen, 0)
+ <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -236,7 +243,8 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
if (n_recs > 1) {
if ((EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(ds))
- & EVP_CIPH_FLAG_PIPELINE) == 0) {
+ & EVP_CIPH_FLAG_PIPELINE)
+ == 0) {
/*
* We shouldn't have been called with pipeline data if the
* cipher doesn't support pipelining
@@ -249,7 +257,8 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
reclen[ctr] = recs[ctr].length;
if ((EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(ds))
- & EVP_CIPH_FLAG_AEAD_CIPHER) != 0) {
+ & EVP_CIPH_FLAG_AEAD_CIPHER)
+ != 0) {
unsigned char *seq;
seq = rl->sequence;
@@ -274,7 +283,7 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
buf[ctr][11] = (unsigned char)(recs[ctr].length >> 8);
buf[ctr][12] = (unsigned char)(recs[ctr].length & 0xff);
pad = EVP_CIPHER_CTX_ctrl(ds, EVP_CTRL_AEAD_TLS1_AAD,
- EVP_AEAD_TLS1_AAD_LEN, buf[ctr]);
+ EVP_AEAD_TLS1_AAD_LEN, buf[ctr]);
if (pad <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -318,7 +327,8 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
data[ctr] = recs[ctr].data;
if (EVP_CIPHER_CTX_ctrl(ds, EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS,
- (int)n_recs, data) <= 0) {
+ (int)n_recs, data)
+ <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, SSL_R_PIPELINE_FAILURE);
return 0;
}
@@ -327,9 +337,11 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
data[ctr] = recs[ctr].input;
if (EVP_CIPHER_CTX_ctrl(ds, EVP_CTRL_SET_PIPELINE_INPUT_BUFS,
- (int)n_recs, data) <= 0
+ (int)n_recs, data)
+ <= 0
|| EVP_CIPHER_CTX_ctrl(ds, EVP_CTRL_SET_PIPELINE_INPUT_LENS,
- (int)n_recs, reclen) <= 0) {
+ (int)n_recs, reclen)
+ <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, SSL_R_PIPELINE_FAILURE);
return 0;
}
@@ -347,7 +359,8 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
decrement_seq = 1;
if (EVP_CIPHER_CTX_ctrl(ds, EVP_CTRL_TLSTREE, decrement_seq,
- rl->sequence) <= 0) {
+ rl->sequence)
+ <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -364,7 +377,7 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
}
if (!EVP_CipherUpdate(ds, recs[0].data, &outlen, recs[0].input,
- (unsigned int)reclen[0]))
+ (unsigned int)reclen[0]))
return 0;
recs[0].length = outlen;
@@ -394,14 +407,14 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
macs[0].alloced = 0;
*p++ = OSSL_PARAM_construct_octet_ptr(OSSL_CIPHER_PARAM_TLS_MAC,
- (void **)&macs[0].mac,
- macsize);
+ (void **)&macs[0].mac,
+ macsize);
*p = OSSL_PARAM_construct_end();
if (!EVP_CIPHER_CTX_get_params(ds, params)) {
/* Shouldn't normally happen */
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR,
- ERR_R_INTERNAL_ERROR);
+ ERR_R_INTERNAL_ERROR);
return 0;
}
}
@@ -410,11 +423,12 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
/* Legacy cipher */
tmpr = EVP_Cipher(ds, recs[0].data, recs[0].input,
- (unsigned int)reclen[0]);
+ (unsigned int)reclen[0]);
if ((EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(ds))
- & EVP_CIPH_FLAG_CUSTOM_CIPHER) != 0
- ? (tmpr < 0)
- : (tmpr == 0)) {
+ & EVP_CIPH_FLAG_CUSTOM_CIPHER)
+ != 0
+ ? (tmpr < 0)
+ : (tmpr == 0)) {
/* AEAD can fail to verify MAC */
return 0;
}
@@ -444,16 +458,17 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
* with a random MAC if padding is invalid
*/
if (!tls1_cbc_remove_padding_and_mac(&recs[ctr].length,
- recs[ctr].orig_len,
- recs[ctr].data,
- (macs != NULL) ? &macs[ctr].mac : NULL,
- (macs != NULL) ? &macs[ctr].alloced
- : NULL,
- bs,
- pad ? (size_t)pad : macsize,
- (EVP_CIPHER_get_flags(enc)
- & EVP_CIPH_FLAG_AEAD_CIPHER) != 0,
- rl->libctx))
+ recs[ctr].orig_len,
+ recs[ctr].data,
+ (macs != NULL) ? &macs[ctr].mac : NULL,
+ (macs != NULL) ? &macs[ctr].alloced
+ : NULL,
+ bs,
+ pad ? (size_t)pad : macsize,
+ (EVP_CIPHER_get_flags(enc)
+ & EVP_CIPH_FLAG_AEAD_CIPHER)
+ != 0,
+ rl->libctx))
return 0;
}
}
@@ -462,7 +477,7 @@ static int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
}
static int tls1_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md,
- int sending)
+ int sending)
{
unsigned char *seq = rl->sequence;
EVP_MD_CTX *hash;
@@ -490,8 +505,8 @@ static int tls1_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md
}
if (!rl->isdtls
- && rl->tlstree
- && EVP_MD_CTX_ctrl(mac_ctx, EVP_MD_CTRL_TLSTREE, 0, seq) <= 0)
+ && rl->tlstree
+ && EVP_MD_CTX_ctrl(mac_ctx, EVP_MD_CTRL_TLSTREE, 0, seq) <= 0)
goto end;
if (rl->isdtls) {
@@ -517,11 +532,11 @@ static int tls1_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md
OSSL_PARAM tls_hmac_params[2], *p = tls_hmac_params;
*p++ = OSSL_PARAM_construct_size_t(OSSL_MAC_PARAM_TLS_DATA_SIZE,
- &rec->orig_len);
+ &rec->orig_len);
*p++ = OSSL_PARAM_construct_end();
if (!EVP_PKEY_CTX_set_params(EVP_MD_CTX_get_pkey_ctx(mac_ctx),
- tls_hmac_params))
+ tls_hmac_params))
goto end;
}
@@ -530,65 +545,69 @@ static int tls1_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char *md
|| EVP_DigestSignFinal(mac_ctx, md, &md_size) <= 0)
goto end;
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "seq:\n");
BIO_dump_indent(trc_out, seq, 8, 4);
BIO_printf(trc_out, "rec:\n");
BIO_dump_indent(trc_out, rec->data, rec->length, 4);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
if (!rl->isdtls && !tls_increment_sequence_ctr(rl)) {
/* RLAYERfatal already called */
goto end;
}
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "md:\n");
BIO_dump_indent(trc_out, md, md_size, 4);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
ret = 1;
- end:
+end:
EVP_MD_CTX_free(hmac);
return ret;
}
#if defined(SSL3_ALIGN_PAYLOAD) && SSL3_ALIGN_PAYLOAD != 0
-# ifndef OPENSSL_NO_COMP
-# define MAX_PREFIX_LEN ((SSL3_ALIGN_PAYLOAD - 1) \
- + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
- + SSL3_RT_HEADER_LENGTH \
- + SSL3_RT_MAX_COMPRESSED_OVERHEAD)
-# else
-# define MAX_PREFIX_LEN ((SSL3_ALIGN_PAYLOAD - 1) \
- + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
- + SSL3_RT_HEADER_LENGTH)
-# endif /* OPENSSL_NO_COMP */
+#ifndef OPENSSL_NO_COMP
+#define MAX_PREFIX_LEN ((SSL3_ALIGN_PAYLOAD - 1) \
+ + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
+ + SSL3_RT_HEADER_LENGTH \
+ + SSL3_RT_MAX_COMPRESSED_OVERHEAD)
+#else
+#define MAX_PREFIX_LEN ((SSL3_ALIGN_PAYLOAD - 1) \
+ + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
+ + SSL3_RT_HEADER_LENGTH)
+#endif /* OPENSSL_NO_COMP */
+#else
+#ifndef OPENSSL_NO_COMP
+#define MAX_PREFIX_LEN (SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
+ + SSL3_RT_HEADER_LENGTH \
+ + SSL3_RT_MAX_COMPRESSED_OVERHEAD)
#else
-# ifndef OPENSSL_NO_COMP
-# define MAX_PREFIX_LEN (SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
- + SSL3_RT_HEADER_LENGTH \
- + SSL3_RT_MAX_COMPRESSED_OVERHEAD)
-# else
-# define MAX_PREFIX_LEN (SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
- + SSL3_RT_HEADER_LENGTH)
-# endif /* OPENSSL_NO_COMP */
+#define MAX_PREFIX_LEN (SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \
+ + SSL3_RT_HEADER_LENGTH)
+#endif /* OPENSSL_NO_COMP */
#endif
/* This function is also used by the SSLv3 implementation */
int tls1_allocate_write_buffers(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl, size_t *prefix)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl, size_t *prefix)
{
/* Do we need to add an empty record prefix? */
*prefix = rl->need_empty_fragments
- && templates[0].type == SSL3_RT_APPLICATION_DATA;
+ && templates[0].type == SSL3_RT_APPLICATION_DATA;
/*
* In the prefix case we can allocate a much smaller buffer. Otherwise we
* just allocate the default buffer size
*/
if (!tls_setup_write_buffer(rl, numtempl + *prefix,
- *prefix ? MAX_PREFIX_LEN : 0, 0)) {
+ *prefix ? MAX_PREFIX_LEN : 0, 0)) {
/* RLAYERfatal() already called */
return 0;
}
@@ -598,12 +617,12 @@ int tls1_allocate_write_buffers(OSSL_RECORD_LAYER *rl,
/* This function is also used by the SSLv3 implementation */
int tls1_initialise_write_packets(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- OSSL_RECORD_TEMPLATE *prefixtempl,
- WPACKET *pkt,
- TLS_BUFFER *bufs,
- size_t *wpinited)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ OSSL_RECORD_TEMPLATE *prefixtempl,
+ WPACKET *pkt,
+ TLS_BUFFER *bufs,
+ size_t *wpinited)
{
size_t align = 0;
TLS_BUFFER *wb;
@@ -611,7 +630,7 @@ int tls1_initialise_write_packets(OSSL_RECORD_LAYER *rl,
/* Do we need to add an empty record prefix? */
prefix = rl->need_empty_fragments
- && templates[0].type == SSL3_RT_APPLICATION_DATA;
+ && templates[0].type == SSL3_RT_APPLICATION_DATA;
if (prefix) {
/*
@@ -628,12 +647,12 @@ int tls1_initialise_write_packets(OSSL_RECORD_LAYER *rl,
#if defined(SSL3_ALIGN_PAYLOAD) && SSL3_ALIGN_PAYLOAD != 0
align = (size_t)TLS_BUFFER_get_buf(wb) + SSL3_RT_HEADER_LENGTH;
align = SSL3_ALIGN_PAYLOAD - 1
- - ((align - 1) % SSL3_ALIGN_PAYLOAD);
+ - ((align - 1) % SSL3_ALIGN_PAYLOAD);
#endif
TLS_BUFFER_set_offset(wb, align);
if (!WPACKET_init_static_len(&pkt[0], TLS_BUFFER_get_buf(wb),
- TLS_BUFFER_get_len(wb), 0)) {
+ TLS_BUFFER_get_len(wb), 0)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -645,9 +664,9 @@ int tls1_initialise_write_packets(OSSL_RECORD_LAYER *rl,
}
return tls_initialise_write_packets_default(rl, templates, numtempl,
- NULL,
- pkt + prefix, bufs + prefix,
- wpinited);
+ NULL,
+ pkt + prefix, bufs + prefix,
+ wpinited);
}
/* TLSv1.0, TLSv1.1 and TLSv1.2 all use the same funcs */
diff --git a/crypto/openssl/ssl/record/methods/tls_common.c b/crypto/openssl/ssl/record/methods/tls_common.c
index b9c79099462d..bf035b13d54f 100644
--- a/crypto/openssl/ssl/record/methods/tls_common.c
+++ b/crypto/openssl/ssl/record/methods/tls_common.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -40,13 +40,13 @@ static void TLS_RL_RECORD_release(TLS_RL_RECORD *r, size_t num_recs)
}
void ossl_tls_rl_record_set_seq_num(TLS_RL_RECORD *r,
- const unsigned char *seq_num)
+ const unsigned char *seq_num)
{
memcpy(r->seq_num, seq_num, SEQ_NUM_SIZE);
}
void ossl_rlayer_fatal(OSSL_RECORD_LAYER *rl, int al, int reason,
- const char *fmt, ...)
+ const char *fmt, ...)
{
va_list args;
@@ -58,9 +58,9 @@ void ossl_rlayer_fatal(OSSL_RECORD_LAYER *rl, int al, int reason,
}
int ossl_set_tls_provider_parameters(OSSL_RECORD_LAYER *rl,
- EVP_CIPHER_CTX *ctx,
- const EVP_CIPHER *ciph,
- const EVP_MD *md)
+ EVP_CIPHER_CTX *ctx,
+ const EVP_CIPHER *ciph,
+ const EVP_MD *md)
{
/*
* Provided cipher, the TLS padding/MAC removal is performed provider
@@ -71,15 +71,15 @@ int ossl_set_tls_provider_parameters(OSSL_RECORD_LAYER *rl,
int imacsize = -1;
if ((EVP_CIPHER_get_flags(ciph) & EVP_CIPH_FLAG_AEAD_CIPHER) == 0
- && !rl->use_etm)
+ && !rl->use_etm)
imacsize = EVP_MD_get_size(md);
if (imacsize > 0)
macsize = (size_t)imacsize;
*pprm++ = OSSL_PARAM_construct_int(OSSL_CIPHER_PARAM_TLS_VERSION,
- &rl->version);
+ &rl->version);
*pprm++ = OSSL_PARAM_construct_size_t(OSSL_CIPHER_PARAM_TLS_MAC_SIZE,
- &macsize);
+ &macsize);
*pprm = OSSL_PARAM_construct_end();
if (!EVP_CIPHER_CTX_set_params(ctx, params)) {
@@ -116,7 +116,7 @@ static int tls_allow_compression(OSSL_RECORD_LAYER *rl)
return 0;
return rl->security == NULL
- || rl->security(rl->cbarg, SSL_SECOP_COMPRESSION, 0, 0, NULL);
+ || rl->security(rl->cbarg, SSL_SECOP_COMPRESSION, 0, 0, NULL);
}
#endif
@@ -140,7 +140,7 @@ static void tls_release_write_buffer_int(OSSL_RECORD_LAYER *rl, size_t start)
}
int tls_setup_write_buffer(OSSL_RECORD_LAYER *rl, size_t numwpipes,
- size_t firstlen, size_t nextlen)
+ size_t firstlen, size_t nextlen)
{
unsigned char *p;
size_t maxalign = 0, headerlen;
@@ -164,7 +164,7 @@ int tls_setup_write_buffer(OSSL_RECORD_LAYER *rl, size_t numwpipes,
#endif
defltlen = maxalign + headerlen + rl->eivlen + rl->max_frag_len
- + contenttypelen + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD;
+ + contenttypelen + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD;
#ifndef OPENSSL_NO_COMP
if (tls_allow_compression(rl))
defltlen += SSL3_RT_MAX_COMPRESSED_OVERHEAD;
@@ -188,7 +188,7 @@ int tls_setup_write_buffer(OSSL_RECORD_LAYER *rl, size_t numwpipes,
if (thiswb->len != len) {
OPENSSL_free(thiswb->buf);
- thiswb->buf = NULL; /* force reallocation */
+ thiswb->buf = NULL; /* force reallocation */
}
p = thiswb->buf;
@@ -245,7 +245,7 @@ int tls_setup_read_buffer(OSSL_RECORD_LAYER *rl)
if (b->buf == NULL) {
len = rl->max_frag_len
- + SSL3_RT_MAX_ENCRYPTED_OVERHEAD + headerlen + maxalign;
+ + SSL3_RT_MAX_ENCRYPTED_OVERHEAD + headerlen + maxalign;
#ifndef OPENSSL_NO_COMP
if (tls_allow_compression(rl))
len += SSL3_RT_MAX_COMPRESSED_OVERHEAD;
@@ -292,7 +292,7 @@ static int tls_release_read_buffer(OSSL_RECORD_LAYER *rl)
* Return values are as per SSL_read()
*/
int tls_default_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
- int clearold, size_t *readbytes)
+ int clearold, size_t *readbytes)
{
/*
* If extend == 0, obtain new n-byte packet; if extend == 1, increase
@@ -443,7 +443,7 @@ int tls_default_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,
*/
if (rl->isdtls) {
if (n > left)
- n = left; /* makes the while condition false */
+ n = left; /* makes the while condition false */
}
}
@@ -495,13 +495,13 @@ static int tls_record_app_data_waiting(OSSL_RECORD_LAYER *rl)
}
static int rlayer_early_data_count_ok(OSSL_RECORD_LAYER *rl, size_t length,
- size_t overhead, int send)
+ size_t overhead, int send)
{
uint32_t max_early_data = rl->max_early_data;
if (max_early_data == 0) {
RLAYERfatal(rl, send ? SSL_AD_INTERNAL_ERROR : SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_TOO_MUCH_EARLY_DATA);
+ SSL_R_TOO_MUCH_EARLY_DATA);
return 0;
}
@@ -510,7 +510,7 @@ static int rlayer_early_data_count_ok(OSSL_RECORD_LAYER *rl, size_t length,
if (rl->early_data_count + length > max_early_data) {
RLAYERfatal(rl, send ? SSL_AD_INTERNAL_ERROR : SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_TOO_MUCH_EARLY_DATA);
+ SSL_R_TOO_MUCH_EARLY_DATA);
return 0;
}
rl->early_data_count += length;
@@ -526,7 +526,7 @@ static int rlayer_early_data_count_ok(OSSL_RECORD_LAYER *rl, size_t length,
*/
#define MAX_EMPTY_RECORDS 32
-#define SSL2_RT_HEADER_LENGTH 2
+#define SSL2_RT_HEADER_LENGTH 2
/*-
* Call this to buffer new input records in rl->rrec.
@@ -575,14 +575,13 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
thisrr = &rr[num_recs];
/* check if we have the header */
- if ((rl->rstate != SSL_ST_READ_BODY) ||
- (rl->packet_length < SSL3_RT_HEADER_LENGTH)) {
+ if ((rl->rstate != SSL_ST_READ_BODY) || (rl->packet_length < SSL3_RT_HEADER_LENGTH)) {
size_t sslv2len;
unsigned int type;
rret = rl->funcs->read_n(rl, SSL3_RT_HEADER_LENGTH,
- TLS_BUFFER_get_len(rbuf), 0,
- num_recs == 0 ? 1 : 0, &n);
+ TLS_BUFFER_get_len(rbuf), 0,
+ num_recs == 0 ? 1 : 0, &n);
if (rret < OSSL_RECORD_RETURN_SUCCESS)
return rret; /* error or non-blocking */
@@ -596,7 +595,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
}
sslv2pkt = pkt;
if (!PACKET_get_net_2_len(&sslv2pkt, &sslv2len)
- || !PACKET_get_1(&sslv2pkt, &type)) {
+ || !PACKET_get_1(&sslv2pkt, &type)) {
RLAYERfatal(rl, SSL_AD_DECODE_ERROR, ERR_R_INTERNAL_ERROR);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -604,9 +603,9 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
* The first record received by the server may be a V2ClientHello.
*/
if (rl->role == OSSL_RECORD_ROLE_SERVER
- && rl->is_first_record
- && (sslv2len & 0x8000) != 0
- && (type == SSL2_MT_CLIENT_HELLO)) {
+ && rl->is_first_record
+ && (sslv2len & 0x8000) != 0
+ && (type == SSL2_MT_CLIENT_HELLO)) {
/*
* SSLv2 style record
*
@@ -621,10 +620,15 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
thisrr->length = sslv2len & 0x7fff;
+ if (!rl->funcs->validate_record_header(rl, thisrr)) {
+ /* RLAYERfatal already called */
+ return OSSL_RECORD_RETURN_FATAL;
+ }
+
if (thisrr->length > TLS_BUFFER_get_len(rbuf)
- - SSL2_RT_HEADER_LENGTH) {
+ - SSL2_RT_HEADER_LENGTH) {
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_PACKET_LENGTH_TOO_LONG);
+ SSL_R_PACKET_LENGTH_TOO_LONG);
return OSSL_RECORD_RETURN_FATAL;
}
} else {
@@ -632,8 +636,8 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
/* Pull apart the header into the TLS_RL_RECORD */
if (!PACKET_get_1(&pkt, &type)
- || !PACKET_get_net_2(&pkt, &version)
- || !PACKET_get_net_2_len(&pkt, &thisrr->length)) {
+ || !PACKET_get_net_2(&pkt, &version)
+ || !PACKET_get_net_2_len(&pkt, &thisrr->length)) {
if (rl->msg_callback != NULL)
rl->msg_callback(0, 0, SSL3_RT_HEADER, p, 5, rl->cbarg);
RLAYERfatal(rl, SSL_AD_DECODE_ERROR, ERR_R_INTERNAL_ERROR);
@@ -650,24 +654,23 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
*/
if (thisrr->rec_version == SSL2_VERSION) {
RLAYERfatal(rl, SSL_AD_PROTOCOL_VERSION,
- SSL_R_WRONG_VERSION_NUMBER);
+ SSL_R_WRONG_VERSION_NUMBER);
return OSSL_RECORD_RETURN_FATAL;
}
if (rl->msg_callback != NULL)
rl->msg_callback(0, version, SSL3_RT_HEADER, p, 5, rl->cbarg);
- if (thisrr->length >
- TLS_BUFFER_get_len(rbuf) - SSL3_RT_HEADER_LENGTH) {
- RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_PACKET_LENGTH_TOO_LONG);
+ if (!rl->funcs->validate_record_header(rl, thisrr)) {
+ /* RLAYERfatal already called */
return OSSL_RECORD_RETURN_FATAL;
}
- }
- if (!rl->funcs->validate_record_header(rl, thisrr)) {
- /* RLAYERfatal already called */
- return OSSL_RECORD_RETURN_FATAL;
+ if (thisrr->length > TLS_BUFFER_get_len(rbuf) - SSL3_RT_HEADER_LENGTH) {
+ RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
+ SSL_R_PACKET_LENGTH_TOO_LONG);
+ return OSSL_RECORD_RETURN_FATAL;
+ }
}
/* now rl->rstate == SSL_ST_READ_BODY */
@@ -679,7 +682,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
*/
if (thisrr->rec_version == SSL2_VERSION) {
more = thisrr->length + SSL2_RT_HEADER_LENGTH
- - SSL3_RT_HEADER_LENGTH;
+ - SSL3_RT_HEADER_LENGTH;
} else {
more = thisrr->length;
}
@@ -689,7 +692,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
rret = rl->funcs->read_n(rl, more, more, 1, 0, &n);
if (rret < OSSL_RECORD_RETURN_SUCCESS)
- return rret; /* error or non-blocking io */
+ return rret; /* error or non-blocking io */
}
/* set state for later operations */
@@ -728,24 +731,25 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
rl->packet_length = 0;
rl->is_first_record = 0;
} while (num_recs < max_recs
- && thisrr->type == SSL3_RT_APPLICATION_DATA
- && RLAYER_USE_EXPLICIT_IV(rl)
- && rl->enc_ctx != NULL
- && (EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(rl->enc_ctx))
- & EVP_CIPH_FLAG_PIPELINE) != 0
- && tls_record_app_data_waiting(rl));
+ && thisrr->type == SSL3_RT_APPLICATION_DATA
+ && RLAYER_USE_EXPLICIT_IV(rl)
+ && rl->enc_ctx != NULL
+ && (EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(rl->enc_ctx))
+ & EVP_CIPH_FLAG_PIPELINE)
+ != 0
+ && tls_record_app_data_waiting(rl));
if (num_recs == 1
- && thisrr->type == SSL3_RT_CHANGE_CIPHER_SPEC
- /* The following can happen in tlsany_meth after HRR */
- && rl->version == TLS1_3_VERSION
- && rl->is_first_handshake) {
+ && thisrr->type == SSL3_RT_CHANGE_CIPHER_SPEC
+ /* The following can happen in tlsany_meth after HRR */
+ && rl->version == TLS1_3_VERSION
+ && rl->is_first_handshake) {
/*
* CCS messages must be exactly 1 byte long, containing the value 0x01
*/
if (thisrr->length != 1 || thisrr->data[0] != 0x01) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_INVALID_CCS_MESSAGE);
+ SSL_R_INVALID_CCS_MESSAGE);
return OSSL_RECORD_RETURN_FATAL;
}
/*
@@ -754,11 +758,11 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
*/
if (rl->msg_callback != NULL)
rl->msg_callback(0, TLS1_3_VERSION, SSL3_RT_CHANGE_CIPHER_SPEC,
- thisrr->data, 1, rl->cbarg);
+ thisrr->data, 1, rl->cbarg);
thisrr->type = SSL3_RT_HANDSHAKE;
if (++(rl->empty_record_count) > MAX_EMPTY_RECORDS) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_UNEXPECTED_CCS_MESSAGE);
+ SSL_R_UNEXPECTED_CCS_MESSAGE);
return OSSL_RECORD_RETURN_FATAL;
}
rl->num_recs = 0;
@@ -800,7 +804,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
i = rl->funcs->mac(rl, thisrr, md, 0 /* not send */);
if (i == 0 || CRYPTO_memcmp(md, mac, mac_size) != 0) {
RLAYERfatal(rl, SSL_AD_BAD_RECORD_MAC,
- SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
+ SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
return OSSL_RECORD_RETURN_FATAL;
}
}
@@ -835,8 +839,8 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
goto end;
}
if (num_recs == 1
- && rl->skip_early_data != NULL
- && rl->skip_early_data(rl->cbarg)) {
+ && rl->skip_early_data != NULL
+ && rl->skip_early_data(rl->cbarg)) {
/*
* Valid early_data that we cannot decrypt will fail here. We treat
* it like an empty record.
@@ -851,7 +855,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
thisrr = &rr[0];
if (!rlayer_early_data_count_ok(rl, thisrr->length,
- EARLY_DATA_CIPHERTEXT_OVERHEAD, 0)) {
+ EARLY_DATA_CIPHERTEXT_OVERHEAD, 0)) {
/* RLAYERfatal() already called */
goto end;
}
@@ -867,20 +871,22 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
}
ERR_clear_last_mark();
RLAYERfatal(rl, SSL_AD_BAD_RECORD_MAC,
- SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
+ SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
goto end;
} else {
ERR_clear_last_mark();
}
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "dec %lu\n", (unsigned long)rr[0].length);
BIO_dump_indent(trc_out, rr[0].data, rr[0].length, 4);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
/* r->length is now the compressed data plus mac */
if (rl->enc_ctx != NULL
- && !rl->use_etm
- && EVP_MD_CTX_get0_md(rl->md_ctx) != NULL) {
+ && !rl->use_etm
+ && EVP_MD_CTX_get0_md(rl->md_ctx) != NULL) {
for (j = 0; j < num_recs; j++) {
SSL_MAC_BUF *thismb = &macbufs[j];
@@ -893,8 +899,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
if (thisrr->length > SSL3_RT_MAX_COMPRESSED_LENGTH + mac_size)
enc_err = 0;
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
- if (enc_err == 0 && mac_size > 0 && thismb != NULL &&
- thismb->mac != NULL && (md[0] ^ thismb->mac[0]) != 0xFF) {
+ if (enc_err == 0 && mac_size > 0 && thismb != NULL && thismb->mac != NULL && (md[0] ^ thismb->mac[0]) != 0xFF) {
enc_err = 1;
}
#endif
@@ -914,7 +919,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
* visible to an attacker (e.g. via a logfile)
*/
RLAYERfatal(rl, SSL_AD_BAD_RECORD_MAC,
- SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
+ SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
goto end;
}
@@ -937,7 +942,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
* be > SSL3_RT_MAX_PLAIN_LENGTH (and rl->max_frag_len must be ignored)
*/
if (rl->max_frag_len != SSL3_RT_MAX_PLAIN_LENGTH
- && thisrr->length > rl->max_frag_len) {
+ && thisrr->length > rl->max_frag_len) {
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW, SSL_R_DATA_LENGTH_TOO_LONG);
goto end;
}
@@ -955,7 +960,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
if (thisrr->length == 0) {
if (++(rl->empty_record_count) > MAX_EMPTY_RECORDS) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_RECORD_TOO_SMALL);
+ SSL_R_RECORD_TOO_SMALL);
goto end;
}
} else {
@@ -966,7 +971,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
if (rl->level == OSSL_RECORD_PROTECTION_LEVEL_EARLY) {
thisrr = &rr[0];
if (thisrr->type == SSL3_RT_APPLICATION_DATA
- && !rlayer_early_data_count_ok(rl, thisrr->length, 0, 0)) {
+ && !rlayer_early_data_count_ok(rl, thisrr->length, 0, 0)) {
/* RLAYERfatal already called */
goto end;
}
@@ -976,7 +981,7 @@ int tls_get_more_records(OSSL_RECORD_LAYER *rl)
rl->curr_rec = 0;
rl->num_released = 0;
ret = OSSL_RECORD_RETURN_SUCCESS;
- end:
+end:
if (macbufs != NULL) {
for (j = 0; j < num_recs; j++) {
if (macbufs[j].alloced)
@@ -1008,7 +1013,7 @@ int tls_default_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec
if (rec->length > len) {
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_ENCRYPTED_LENGTH_TOO_LONG);
+ SSL_R_ENCRYPTED_LENGTH_TOO_LONG);
return 0;
}
@@ -1021,8 +1026,8 @@ int tls_do_compress(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *wr)
int i;
i = COMP_compress_block(rl->compctx, wr->data,
- (int)(wr->length + SSL3_RT_MAX_COMPRESSED_OVERHEAD),
- wr->input, (int)wr->length);
+ (int)(wr->length + SSL3_RT_MAX_COMPRESSED_OVERHEAD),
+ wr->input, (int)wr->length);
if (i < 0)
return 0;
@@ -1047,7 +1052,7 @@ int tls_do_uncompress(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
return 0;
i = COMP_expand_block(rl->compctx, rec->comp, SSL3_RT_MAX_PLAIN_LENGTH,
- rec->data, (int)rec->length);
+ rec->data, (int)rec->length);
if (i < 0)
return 0;
else
@@ -1065,12 +1070,12 @@ int tls_default_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
if (rl->compctx != NULL) {
if (rec->length > SSL3_RT_MAX_COMPRESSED_LENGTH) {
RLAYERfatal(rl, SSL_AD_RECORD_OVERFLOW,
- SSL_R_COMPRESSED_LENGTH_TOO_LONG);
+ SSL_R_COMPRESSED_LENGTH_TOO_LONG);
return 0;
}
if (!tls_do_uncompress(rl, rec)) {
RLAYERfatal(rl, SSL_AD_DECOMPRESSION_FAILURE,
- SSL_R_BAD_DECOMPRESSION);
+ SSL_R_BAD_DECOMPRESSION);
return 0;
}
}
@@ -1087,8 +1092,8 @@ int tls_default_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
{
if (rec->type != SSL3_RT_APPLICATION_DATA
- && rec->type != SSL3_RT_ALERT
- && rec->type != SSL3_RT_HANDSHAKE) {
+ && rec->type != SSL3_RT_ALERT
+ && rec->type != SSL3_RT_HANDSHAKE) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_BAD_RECORD_TYPE);
return 0;
}
@@ -1097,7 +1102,7 @@ int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
unsigned char ctype = (unsigned char)rec->type;
rl->msg_callback(0, rl->version, SSL3_RT_INNER_CONTENT_TYPE, &ctype,
- 1, rl->cbarg);
+ 1, rl->cbarg);
}
/*
@@ -1105,7 +1110,7 @@ int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
* length.
*/
if ((rec->type == SSL3_RT_HANDSHAKE || rec->type == SSL3_RT_ALERT)
- && rec->length == 0) {
+ && rec->length == 0) {
RLAYERfatal(rl, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_BAD_LENGTH);
return 0;
}
@@ -1114,8 +1119,8 @@ int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
}
int tls_read_record(OSSL_RECORD_LAYER *rl, void **rechandle, int *rversion,
- uint8_t *type, const unsigned char **data, size_t *datalen,
- uint16_t *epoch, unsigned char *seq_num)
+ uint8_t *type, const unsigned char **data, size_t *datalen,
+ uint16_t *epoch, unsigned char *seq_num)
{
TLS_RL_RECORD *rec;
@@ -1163,7 +1168,7 @@ int tls_release_record(OSSL_RECORD_LAYER *rl, void *rechandle, size_t length)
TLS_RL_RECORD *rec = &rl->rrec[rl->num_released];
if (!ossl_assert(rl->num_released < rl->curr_rec)
- || !ossl_assert(rechandle == rec)) {
+ || !ossl_assert(rechandle == rec)) {
/* Should not happen */
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, SSL_R_INVALID_RECORD);
return OSSL_RECORD_RETURN_FATAL;
@@ -1187,8 +1192,8 @@ int tls_release_record(OSSL_RECORD_LAYER *rl, void *rechandle, size_t length)
rl->num_released++;
if (rl->curr_rec == rl->num_released
- && (rl->mode & SSL_MODE_RELEASE_BUFFERS) != 0
- && TLS_BUFFER_get_left(&rl->rbuf) == 0)
+ && (rl->mode & SSL_MODE_RELEASE_BUFFERS) != 0
+ && TLS_BUFFER_get_left(&rl->rbuf) == 0)
tls_release_read_buffer(rl);
return OSSL_RECORD_RETURN_SUCCESS;
@@ -1212,20 +1217,20 @@ int tls_set_options(OSSL_RECORD_LAYER *rl, const OSSL_PARAM *options)
if (rl->direction == OSSL_RECORD_DIRECTION_READ) {
p = OSSL_PARAM_locate_const(options,
- OSSL_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN);
+ OSSL_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN);
if (p != NULL && !OSSL_PARAM_get_size_t(p, &rl->rbuf.default_len)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
return 0;
}
} else {
p = OSSL_PARAM_locate_const(options,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING);
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING);
if (p != NULL && !OSSL_PARAM_get_size_t(p, &rl->block_padding)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
return 0;
}
p = OSSL_PARAM_locate_const(options,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_HS_PADDING);
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_HS_PADDING);
if (p != NULL && !OSSL_PARAM_get_size_t(p, &rl->hs_padding)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
return 0;
@@ -1240,7 +1245,7 @@ int tls_set_options(OSSL_RECORD_LAYER *rl, const OSSL_PARAM *options)
* we don't support that at this stage.
*/
p = OSSL_PARAM_locate_const(options,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD);
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD);
if (p != NULL && !OSSL_PARAM_get_int(p, &rl->read_ahead)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
return 0;
@@ -1250,15 +1255,14 @@ int tls_set_options(OSSL_RECORD_LAYER *rl, const OSSL_PARAM *options)
return 1;
}
-int
-tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
- int role, int direction, int level,
- const EVP_CIPHER *ciph, size_t taglen,
- const EVP_MD *md, COMP_METHOD *comp, BIO *prev,
- BIO *transport, BIO *next, const OSSL_PARAM *settings,
- const OSSL_PARAM *options,
- const OSSL_DISPATCH *fns, void *cbarg,
- OSSL_RECORD_LAYER **retrl)
+int tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
+ int role, int direction, int level,
+ const EVP_CIPHER *ciph, size_t taglen,
+ const EVP_MD *md, COMP_METHOD *comp, BIO *prev,
+ BIO *transport, BIO *next, const OSSL_PARAM *settings,
+ const OSSL_PARAM *options,
+ const OSSL_DISPATCH *fns, void *cbarg,
+ OSSL_RECORD_LAYER **retrl)
{
OSSL_RECORD_LAYER *rl = OPENSSL_zalloc(sizeof(*rl));
const OSSL_PARAM *p;
@@ -1283,25 +1287,29 @@ tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
goto err;
}
} else if (strcmp(p->key,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN) == 0) {
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN)
+ == 0) {
if (!OSSL_PARAM_get_uint(p, &rl->max_frag_len)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
goto err;
}
} else if (strcmp(p->key,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA) == 0) {
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA)
+ == 0) {
if (!OSSL_PARAM_get_uint32(p, &rl->max_early_data)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
goto err;
}
} else if (strcmp(p->key,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC) == 0) {
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC)
+ == 0) {
if (!OSSL_PARAM_get_int(p, &rl->stream_mac)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
goto err;
}
} else if (strcmp(p->key,
- OSSL_LIBSSL_RECORD_LAYER_PARAM_TLSTREE) == 0) {
+ OSSL_LIBSSL_RECORD_LAYER_PARAM_TLSTREE)
+ == 0) {
if (!OSSL_PARAM_get_int(p, &rl->tlstree)) {
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER);
goto err;
@@ -1368,9 +1376,9 @@ tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
}
if ((rl->options & SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS) == 0
- && rl->version <= TLS1_VERSION
- && !EVP_CIPHER_is_a(ciph, "NULL")
- && !EVP_CIPHER_is_a(ciph, "RC4")) {
+ && rl->version <= TLS1_VERSION
+ && !EVP_CIPHER_is_a(ciph, "NULL")
+ && !EVP_CIPHER_is_a(ciph, "RC4")) {
/*
* Enable vulnerability countermeasure for CBC ciphers with known-IV
* problem (http://www.openssl.org/~bodo/tls-cbc.txt)
@@ -1380,32 +1388,32 @@ tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
*retrl = rl;
return OSSL_RECORD_RETURN_SUCCESS;
- err:
+err:
tls_int_free(rl);
return OSSL_RECORD_RETURN_FATAL;
}
static int
tls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
- int role, int direction, int level, uint16_t epoch,
- unsigned char *secret, size_t secretlen,
- unsigned char *key, size_t keylen, unsigned char *iv,
- size_t ivlen, unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph, size_t taglen,
- int mactype,
- const EVP_MD *md, COMP_METHOD *comp,
- const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
- BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
- const OSSL_PARAM *settings, const OSSL_PARAM *options,
- const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
- OSSL_RECORD_LAYER **retrl)
+ int role, int direction, int level, uint16_t epoch,
+ unsigned char *secret, size_t secretlen,
+ unsigned char *key, size_t keylen, unsigned char *iv,
+ size_t ivlen, unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph, size_t taglen,
+ int mactype,
+ const EVP_MD *md, COMP_METHOD *comp,
+ const EVP_MD *kdfdigest, BIO *prev, BIO *transport,
+ BIO *next, BIO_ADDR *local, BIO_ADDR *peer,
+ const OSSL_PARAM *settings, const OSSL_PARAM *options,
+ const OSSL_DISPATCH *fns, void *cbarg, void *rlarg,
+ OSSL_RECORD_LAYER **retrl)
{
int ret;
ret = tls_int_new_record_layer(libctx, propq, vers, role, direction, level,
- ciph, taglen, md, comp, prev,
- transport, next, settings,
- options, fns, cbarg, retrl);
+ ciph, taglen, md, comp, prev,
+ transport, next, settings,
+ options, fns, cbarg, retrl);
if (ret != OSSL_RECORD_RETURN_SUCCESS)
return ret;
@@ -1433,10 +1441,10 @@ tls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
}
ret = (*retrl)->funcs->set_crypto_state(*retrl, level, key, keylen, iv,
- ivlen, mackey, mackeylen, ciph,
- taglen, mactype, md, comp);
+ ivlen, mackey, mackeylen, ciph,
+ taglen, mactype, md, comp);
- err:
+err:
if (ret != OSSL_RECORD_RETURN_SUCCESS) {
tls_int_free(*retrl);
*retrl = NULL;
@@ -1517,18 +1525,19 @@ size_t tls_app_data_pending(OSSL_RECORD_LAYER *rl)
}
size_t tls_get_max_records_default(OSSL_RECORD_LAYER *rl, uint8_t type,
- size_t len,
- size_t maxfrag, size_t *preffrag)
+ size_t len,
+ size_t maxfrag, size_t *preffrag)
{
/*
* If we have a pipeline capable cipher, and we have been configured to use
* it, then return the preferred number of pipelines.
*/
if (rl->max_pipelines > 0
- && rl->enc_ctx != NULL
- && (EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(rl->enc_ctx))
- & EVP_CIPH_FLAG_PIPELINE) != 0
- && RLAYER_USE_EXPLICIT_IV(rl)) {
+ && rl->enc_ctx != NULL
+ && (EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(rl->enc_ctx))
+ & EVP_CIPH_FLAG_PIPELINE)
+ != 0
+ && RLAYER_USE_EXPLICIT_IV(rl)) {
size_t pipes;
if (len == 0)
@@ -1542,15 +1551,15 @@ size_t tls_get_max_records_default(OSSL_RECORD_LAYER *rl, uint8_t type,
}
size_t tls_get_max_records(OSSL_RECORD_LAYER *rl, uint8_t type, size_t len,
- size_t maxfrag, size_t *preffrag)
+ size_t maxfrag, size_t *preffrag)
{
return rl->funcs->get_max_records(rl, type, len, maxfrag, preffrag);
}
int tls_allocate_write_buffers_default(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- size_t *prefix)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ size_t *prefix)
{
if (!tls_setup_write_buffer(rl, numtempl, 0, 0)) {
/* RLAYERfatal() already called */
@@ -1561,12 +1570,12 @@ int tls_allocate_write_buffers_default(OSSL_RECORD_LAYER *rl,
}
int tls_initialise_write_packets_default(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl,
- OSSL_RECORD_TEMPLATE *prefixtempl,
- WPACKET *pkt,
- TLS_BUFFER *bufs,
- size_t *wpinited)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl,
+ OSSL_RECORD_TEMPLATE *prefixtempl,
+ WPACKET *pkt,
+ TLS_BUFFER *bufs,
+ size_t *wpinited)
{
WPACKET *thispkt;
size_t j, align;
@@ -1582,12 +1591,12 @@ int tls_initialise_write_packets_default(OSSL_RECORD_LAYER *rl,
align = (size_t)TLS_BUFFER_get_buf(wb);
align += rl->isdtls ? DTLS1_RT_HEADER_LENGTH : SSL3_RT_HEADER_LENGTH;
align = SSL3_ALIGN_PAYLOAD - 1
- - ((align - 1) % SSL3_ALIGN_PAYLOAD);
+ - ((align - 1) % SSL3_ALIGN_PAYLOAD);
#endif
TLS_BUFFER_set_offset(wb, align);
if (!WPACKET_init_static_len(thispkt, TLS_BUFFER_get_buf(wb),
- TLS_BUFFER_get_len(wb), 0)) {
+ TLS_BUFFER_get_len(wb), 0)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1602,10 +1611,10 @@ int tls_initialise_write_packets_default(OSSL_RECORD_LAYER *rl,
}
int tls_prepare_record_header_default(OSSL_RECORD_LAYER *rl,
- WPACKET *thispkt,
- OSSL_RECORD_TEMPLATE *templ,
- uint8_t rectype,
- unsigned char **recdata)
+ WPACKET *thispkt,
+ OSSL_RECORD_TEMPLATE *templ,
+ uint8_t rectype,
+ unsigned char **recdata)
{
size_t maxcomplen;
@@ -1616,13 +1625,13 @@ int tls_prepare_record_header_default(OSSL_RECORD_LAYER *rl,
maxcomplen += SSL3_RT_MAX_COMPRESSED_OVERHEAD;
if (!WPACKET_put_bytes_u8(thispkt, rectype)
- || !WPACKET_put_bytes_u16(thispkt, templ->version)
- || !WPACKET_start_sub_packet_u16(thispkt)
- || (rl->eivlen > 0
- && !WPACKET_allocate_bytes(thispkt, rl->eivlen, NULL))
- || (maxcomplen > 0
- && !WPACKET_reserve_bytes(thispkt, maxcomplen,
- recdata))) {
+ || !WPACKET_put_bytes_u16(thispkt, templ->version)
+ || !WPACKET_start_sub_packet_u16(thispkt)
+ || (rl->eivlen > 0
+ && !WPACKET_allocate_bytes(thispkt, rl->eivlen, NULL))
+ || (maxcomplen > 0
+ && !WPACKET_reserve_bytes(thispkt, maxcomplen,
+ recdata))) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1631,9 +1640,9 @@ int tls_prepare_record_header_default(OSSL_RECORD_LAYER *rl,
}
int tls_prepare_for_encryption_default(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ size_t mac_size,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
size_t len;
unsigned char *recordstart;
@@ -1648,7 +1657,7 @@ int tls_prepare_for_encryption_default(OSSL_RECORD_LAYER *rl,
unsigned char *mac;
if (!WPACKET_allocate_bytes(thispkt, mac_size, &mac)
- || !rl->funcs->mac(rl, thiswr, mac, 1)) {
+ || !rl->funcs->mac(rl, thiswr, mac, 1)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1660,13 +1669,12 @@ int tls_prepare_for_encryption_default(OSSL_RECORD_LAYER *rl,
* max encrypted overhead does not need to include an allocation for that
* MAC
*/
- if (!WPACKET_reserve_bytes(thispkt, SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD
- - mac_size, NULL)
- /*
- * We also need next the amount of bytes written to this
- * sub-packet
- */
- || !WPACKET_get_length(thispkt, &len)) {
+ if (!WPACKET_reserve_bytes(thispkt, SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD - mac_size, NULL)
+ /*
+ * We also need next the amount of bytes written to this
+ * sub-packet
+ */
+ || !WPACKET_get_length(thispkt, &len)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1681,10 +1689,10 @@ int tls_prepare_for_encryption_default(OSSL_RECORD_LAYER *rl,
}
int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- OSSL_RECORD_TEMPLATE *thistempl,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ size_t mac_size,
+ OSSL_RECORD_TEMPLATE *thistempl,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
size_t origlen, len;
size_t headerlen = rl->isdtls ? DTLS1_RT_HEADER_LENGTH
@@ -1692,15 +1700,16 @@ int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
/* Allocate bytes for the encryption overhead */
if (!WPACKET_get_length(thispkt, &origlen)
- /* Check we allowed enough room for the encryption growth */
- || !ossl_assert(origlen + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD
- - mac_size >= thiswr->length)
- /* Encryption should never shrink the data! */
- || origlen > thiswr->length
- || (thiswr->length > origlen
- && !WPACKET_allocate_bytes(thispkt,
- thiswr->length - origlen,
- NULL))) {
+ /* Check we allowed enough room for the encryption growth */
+ || !ossl_assert(origlen + SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD
+ - mac_size
+ >= thiswr->length)
+ /* Encryption should never shrink the data! */
+ || origlen > thiswr->length
+ || (thiswr->length > origlen
+ && !WPACKET_allocate_bytes(thispkt,
+ thiswr->length - origlen,
+ NULL))) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1708,7 +1717,7 @@ int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
unsigned char *mac;
if (!WPACKET_allocate_bytes(thispkt, mac_size, &mac)
- || !rl->funcs->mac(rl, thiswr, mac, 1)) {
+ || !rl->funcs->mac(rl, thiswr, mac, 1)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1717,7 +1726,7 @@ int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
}
if (!WPACKET_get_length(thispkt, &len)
- || !WPACKET_close(thispkt)) {
+ || !WPACKET_close(thispkt)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1727,13 +1736,13 @@ int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
recordstart = WPACKET_get_curr(thispkt) - len - headerlen;
rl->msg_callback(1, thiswr->rec_version, SSL3_RT_HEADER, recordstart,
- headerlen, rl->cbarg);
+ headerlen, rl->cbarg);
if (rl->version == TLS1_3_VERSION && rl->enc_ctx != NULL) {
unsigned char ctype = thistempl->type;
rl->msg_callback(1, thiswr->rec_version, SSL3_RT_INNER_CONTENT_TYPE,
- &ctype, 1, rl->cbarg);
+ &ctype, 1, rl->cbarg);
}
}
@@ -1748,8 +1757,8 @@ int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,
}
int tls_write_records_default(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl)
{
WPACKET pkt[SSL_MAX_PIPELINES + 1];
TLS_RL_RECORD wr[SSL_MAX_PIPELINES + 1];
@@ -1775,8 +1784,8 @@ int tls_write_records_default(OSSL_RECORD_LAYER *rl,
}
if (!rl->funcs->initialise_write_packets(rl, templates, numtempl,
- &prefixtempl, pkt, rl->wbuf,
- &wpinited)) {
+ &prefixtempl, pkt, rl->wbuf,
+ &wpinited)) {
/* RLAYERfatal() already called */
goto err;
}
@@ -1804,7 +1813,7 @@ int tls_write_records_default(OSSL_RECORD_LAYER *rl,
TLS_RL_RECORD_set_rec_version(thiswr, thistempl->version);
if (!rl->funcs->prepare_record_header(rl, thispkt, thistempl, rectype,
- &compressdata)) {
+ &compressdata)) {
/* RLAYERfatal() already called */
goto err;
}
@@ -1823,7 +1832,7 @@ int tls_write_records_default(OSSL_RECORD_LAYER *rl,
/* first we compress */
if (rl->compctx != NULL) {
if (!tls_do_compress(rl, thiswr)
- || !WPACKET_allocate_bytes(thispkt, thiswr->length, NULL)) {
+ || !WPACKET_allocate_bytes(thispkt, thiswr->length, NULL)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, SSL_R_COMPRESSION_FAILURE);
goto err;
}
@@ -1836,8 +1845,8 @@ int tls_write_records_default(OSSL_RECORD_LAYER *rl,
}
if (rl->funcs->add_record_padding != NULL
- && !rl->funcs->add_record_padding(rl, thistempl, thispkt,
- thiswr)) {
+ && !rl->funcs->add_record_padding(rl, thistempl, thispkt,
+ thiswr)) {
/* RLAYERfatal() already called */
goto err;
}
@@ -1870,7 +1879,7 @@ int tls_write_records_default(OSSL_RECORD_LAYER *rl,
thistempl = (j < prefix) ? &prefixtempl : &templates[j - prefix];
if (!rl->funcs->post_encryption_processing(rl, mac_size, thistempl,
- thispkt, thiswr)) {
+ thispkt, thiswr)) {
/* RLAYERfatal() already called */
goto err;
}
@@ -1880,18 +1889,18 @@ int tls_write_records_default(OSSL_RECORD_LAYER *rl,
}
ret = 1;
- err:
+err:
for (j = 0; j < wpinited; j++)
WPACKET_cleanup(&pkt[j]);
return ret;
}
int tls_write_records(OSSL_RECORD_LAYER *rl, OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl)
+ size_t numtempl)
{
/* Check we don't have pending data waiting to write */
if (!ossl_assert(rl->nextwbuf >= rl->numwpipes
- || TLS_BUFFER_get_left(&rl->wbuf[rl->nextwbuf]) == 0)) {
+ || TLS_BUFFER_get_left(&rl->wbuf[rl->nextwbuf]) == 0)) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
return OSSL_RECORD_RETURN_FATAL;
}
@@ -1925,10 +1934,8 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
if (ret != OSSL_RECORD_RETURN_SUCCESS)
return ret;
}
- i = BIO_write(rl->bio, (char *)
- &(TLS_BUFFER_get_buf(thiswb)
- [TLS_BUFFER_get_offset(thiswb)]),
- (unsigned int)TLS_BUFFER_get_left(thiswb));
+ i = BIO_write(rl->bio, (char *)&(TLS_BUFFER_get_buf(thiswb)[TLS_BUFFER_get_offset(thiswb)]),
+ (unsigned int)TLS_BUFFER_get_left(thiswb));
if (i >= 0) {
tmpwrit = i;
if (i == 0 && BIO_should_retry(rl->bio))
@@ -1940,7 +1947,7 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
ret = OSSL_RECORD_RETURN_RETRY;
} else {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "tls_retry_write_records failure");
+ "tls_retry_write_records failure");
ret = OSSL_RECORD_RETURN_FATAL;
}
}
@@ -1964,7 +1971,7 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
continue;
if (rl->nextwbuf == rl->numwpipes
- && (rl->mode & SSL_MODE_RELEASE_BUFFERS) != 0)
+ && (rl->mode & SSL_MODE_RELEASE_BUFFERS) != 0)
tls_release_write_buffer(rl);
return OSSL_RECORD_RETURN_SUCCESS;
} else if (i <= 0) {
@@ -1975,9 +1982,8 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
*/
TLS_BUFFER_set_left(thiswb, 0);
if (++(rl->nextwbuf) == rl->numwpipes
- && (rl->mode & SSL_MODE_RELEASE_BUFFERS) != 0)
+ && (rl->mode & SSL_MODE_RELEASE_BUFFERS) != 0)
tls_release_write_buffer(rl);
-
}
return ret;
}
@@ -2033,7 +2039,7 @@ void tls_set_max_pipelines(OSSL_RECORD_LAYER *rl, size_t max_pipelines)
}
void tls_get_state(OSSL_RECORD_LAYER *rl, const char **shortstr,
- const char **longstr)
+ const char **longstr)
{
const char *shrt, *lng;
@@ -2138,8 +2144,8 @@ int tls_free_buffers(OSSL_RECORD_LAYER *rl)
* looks like real pending data and it is an error.
*/
if (rl->nextwbuf != 0
- || rl->numwpipes != 1
- || TLS_BUFFER_get_left(&rl->wbuf[0]) != 0)
+ || rl->numwpipes != 1
+ || TLS_BUFFER_get_left(&rl->wbuf[0]) != 0)
return 0;
}
tls_release_write_buffer(rl);
@@ -2150,9 +2156,9 @@ int tls_free_buffers(OSSL_RECORD_LAYER *rl)
/* If we have pending data to be read then fail */
if (rl->curr_rec < rl->num_recs
- || rl->curr_rec != rl->num_released
- || TLS_BUFFER_get_left(&rl->rbuf) != 0
- || rl->rstate == SSL_ST_READ_BODY)
+ || rl->curr_rec != rl->num_released
+ || TLS_BUFFER_get_left(&rl->rbuf) != 0
+ || rl->rstate == SSL_ST_READ_BODY)
return 0;
return tls_release_read_buffer(rl);
diff --git a/crypto/openssl/ssl/record/methods/tls_multib.c b/crypto/openssl/ssl/record/methods/tls_multib.c
index 3c2c30ef162a..e0a6dc6a579c 100644
--- a/crypto/openssl/ssl/record/methods/tls_multib.c
+++ b/crypto/openssl/ssl/record/methods/tls_multib.c
@@ -12,35 +12,33 @@
#include "recmethod_local.h"
#if defined(OPENSSL_SMALL_FOOTPRINT) \
- || !(defined(AES_ASM) && (defined(__x86_64) \
- || defined(__x86_64__) \
- || defined(_M_AMD64) \
- || defined(_M_X64)))
-# undef EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK
-# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0
+ || !(defined(AES_ASM) && (defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)))
+#undef EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK
+#define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0
#endif
static int tls_is_multiblock_capable(OSSL_RECORD_LAYER *rl, uint8_t type,
- size_t len, size_t fraglen)
+ size_t len, size_t fraglen)
{
#if !defined(OPENSSL_NO_MULTIBLOCK) && EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK
if (type == SSL3_RT_APPLICATION_DATA
- && len >= 4 * fraglen
- && rl->compctx == NULL
- && rl->msg_callback == NULL
- && !rl->use_etm
- && RLAYER_USE_EXPLICIT_IV(rl)
- && !BIO_get_ktls_send(rl->bio)
- && (EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(rl->enc_ctx))
- & EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK) != 0)
+ && len >= 4 * fraglen
+ && rl->compctx == NULL
+ && rl->msg_callback == NULL
+ && !rl->use_etm
+ && RLAYER_USE_EXPLICIT_IV(rl)
+ && !BIO_get_ktls_send(rl->bio)
+ && (EVP_CIPHER_get_flags(EVP_CIPHER_CTX_get0_cipher(rl->enc_ctx))
+ & EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK)
+ != 0)
return 1;
#endif
return 0;
}
size_t tls_get_max_records_multiblock(OSSL_RECORD_LAYER *rl, uint8_t type,
- size_t len, size_t maxfrag,
- size_t *preffrag)
+ size_t len, size_t maxfrag,
+ size_t *preffrag)
{
if (tls_is_multiblock_capable(rl, type, len, *preffrag)) {
/* minimize address aliasing conflicts */
@@ -63,8 +61,8 @@ size_t tls_get_max_records_multiblock(OSSL_RECORD_LAYER *rl, uint8_t type,
* -1 on fatal error.
*/
static int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl)
{
#if !defined(OPENSSL_NO_MULTIBLOCK) && EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK
size_t i;
@@ -84,15 +82,15 @@ static int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,
*/
for (i = 1; i < numtempl; i++) {
if (templates[i - 1].type != templates[i].type
- || templates[i - 1].buflen != templates[i].buflen
- || templates[i - 1].buf + templates[i - 1].buflen
- != templates[i].buf)
+ || templates[i - 1].buflen != templates[i].buflen
+ || templates[i - 1].buf + templates[i - 1].buflen
+ != templates[i].buf)
return 0;
}
totlen = templates[0].buflen * numtempl;
if (!tls_is_multiblock_capable(rl, templates[0].type, totlen,
- templates[0].buflen))
+ templates[0].buflen))
return 0;
/*
@@ -109,8 +107,8 @@ static int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,
* buffer sizes will be spotted and the buffer reallocated.
*/
packlen = EVP_CIPHER_CTX_ctrl(rl->enc_ctx,
- EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE,
- (int)templates[0].buflen, NULL);
+ EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE,
+ (int)templates[0].buflen, NULL);
packlen *= numtempl;
if (!tls_setup_write_buffer(rl, 1, packlen, packlen)) {
/* RLAYERfatal() already called */
@@ -130,8 +128,8 @@ static int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,
mb_param.len = totlen;
packleni = EVP_CIPHER_CTX_ctrl(rl->enc_ctx,
- EVP_CTRL_TLS1_1_MULTIBLOCK_AAD,
- sizeof(mb_param), &mb_param);
+ EVP_CTRL_TLS1_1_MULTIBLOCK_AAD,
+ sizeof(mb_param), &mb_param);
packlen = (size_t)packleni;
if (packleni <= 0 || packlen > wb->len) { /* never happens */
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -143,8 +141,9 @@ static int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,
mb_param.len = totlen;
if (EVP_CIPHER_CTX_ctrl(rl->enc_ctx,
- EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT,
- sizeof(mb_param), &mb_param) <= 0) {
+ EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT,
+ sizeof(mb_param), &mb_param)
+ <= 0) {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return -1;
}
@@ -152,21 +151,22 @@ static int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,
rl->sequence[7] += mb_param.interleave;
if (rl->sequence[7] < mb_param.interleave) {
int j = 6;
- while (j >= 0 && (++rl->sequence[j--]) == 0) ;
+ while (j >= 0 && (++rl->sequence[j--]) == 0)
+ ;
}
wb->offset = 0;
wb->left = packlen;
return 1;
-#else /* !defined(OPENSSL_NO_MULTIBLOCK) && EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK */
+#else /* !defined(OPENSSL_NO_MULTIBLOCK) && EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK */
return 0;
#endif
}
int tls_write_records_multiblock(OSSL_RECORD_LAYER *rl,
- OSSL_RECORD_TEMPLATE *templates,
- size_t numtempl)
+ OSSL_RECORD_TEMPLATE *templates,
+ size_t numtempl)
{
int ret;
diff --git a/crypto/openssl/ssl/record/methods/tls_pad.c b/crypto/openssl/ssl/record/methods/tls_pad.c
index 23198f3a4935..8e92ae95109d 100644
--- a/crypto/openssl/ssl/record/methods/tls_pad.c
+++ b/crypto/openssl/ssl/record/methods/tls_pad.c
@@ -24,14 +24,14 @@
*/
static int ssl3_cbc_copy_mac(size_t *reclen,
- size_t origreclen,
- unsigned char *recdata,
- unsigned char **mac,
- int *alloced,
- size_t block_size,
- size_t mac_size,
- size_t good,
- OSSL_LIB_CTX *libctx);
+ size_t origreclen,
+ unsigned char *recdata,
+ unsigned char **mac,
+ int *alloced,
+ size_t block_size,
+ size_t mac_size,
+ size_t good,
+ OSSL_LIB_CTX *libctx);
/*-
* ssl3_cbc_remove_padding removes padding from the decrypted, SSLv3, CBC
@@ -51,16 +51,16 @@ static int ssl3_cbc_copy_mac(size_t *reclen,
* MAC returned is random.
*/
int ssl3_cbc_remove_padding_and_mac(size_t *reclen,
- size_t origreclen,
- unsigned char *recdata,
- unsigned char **mac,
- int *alloced,
- size_t block_size, size_t mac_size,
- OSSL_LIB_CTX *libctx)
+ size_t origreclen,
+ unsigned char *recdata,
+ unsigned char **mac,
+ int *alloced,
+ size_t block_size, size_t mac_size,
+ OSSL_LIB_CTX *libctx)
{
size_t padding_length;
size_t good;
- const size_t overhead = 1 /* padding length byte */ + mac_size;
+ const size_t overhead = 1 /* padding length byte */ + mac_size;
/*
* These lengths are all public so we can test them in non-constant time.
@@ -75,7 +75,7 @@ int ssl3_cbc_remove_padding_and_mac(size_t *reclen,
*reclen -= good & (padding_length + 1);
return ssl3_cbc_copy_mac(reclen, origreclen, recdata, mac, alloced,
- block_size, mac_size, good, libctx);
+ block_size, mac_size, good, libctx);
}
/*-
@@ -96,18 +96,18 @@ int ssl3_cbc_remove_padding_and_mac(size_t *reclen,
* MAC returned is random.
*/
int tls1_cbc_remove_padding_and_mac(size_t *reclen,
- size_t origreclen,
- unsigned char *recdata,
- unsigned char **mac,
- int *alloced,
- size_t block_size, size_t mac_size,
- int aead,
- OSSL_LIB_CTX *libctx)
+ size_t origreclen,
+ unsigned char *recdata,
+ unsigned char **mac,
+ int *alloced,
+ size_t block_size, size_t mac_size,
+ int aead,
+ OSSL_LIB_CTX *libctx)
{
size_t good = -1;
size_t padding_length, to_check, i;
size_t overhead = ((block_size == 1) ? 0 : 1) /* padding length byte */
- + mac_size;
+ + mac_size;
/*
* These lengths are all public so we can test them in non-constant
@@ -136,7 +136,7 @@ int tls1_cbc_remove_padding_and_mac(size_t *reclen,
* maximum amount of padding possible. (Again, the length of the record
* is public information so we can use it.)
*/
- to_check = 256; /* maximum amount of padding, inc length byte. */
+ to_check = 256; /* maximum amount of padding, inc length byte. */
if (to_check > *reclen)
to_check = *reclen;
@@ -159,7 +159,7 @@ int tls1_cbc_remove_padding_and_mac(size_t *reclen,
}
return ssl3_cbc_copy_mac(reclen, origreclen, recdata, mac, alloced,
- block_size, mac_size, good, libctx);
+ block_size, mac_size, good, libctx);
}
/*-
@@ -180,14 +180,14 @@ int tls1_cbc_remove_padding_and_mac(size_t *reclen,
#define CBC_MAC_ROTATE_IN_PLACE
static int ssl3_cbc_copy_mac(size_t *reclen,
- size_t origreclen,
- unsigned char *recdata,
- unsigned char **mac,
- int *alloced,
- size_t block_size,
- size_t mac_size,
- size_t good,
- OSSL_LIB_CTX *libctx)
+ size_t origreclen,
+ unsigned char *recdata,
+ unsigned char **mac,
+ int *alloced,
+ size_t block_size,
+ size_t mac_size,
+ size_t good,
+ OSSL_LIB_CTX *libctx)
{
#if defined(CBC_MAC_ROTATE_IN_PLACE)
unsigned char rotated_mac_buf[64 + EVP_MAX_MD_SIZE];
@@ -214,7 +214,7 @@ static int ssl3_cbc_copy_mac(size_t *reclen,
size_t rotate_offset;
if (!ossl_assert(origreclen >= mac_size
- && mac_size <= EVP_MAX_MD_SIZE))
+ && mac_size <= EVP_MAX_MD_SIZE))
return 0;
/* If no MAC then nothing to be done */
@@ -286,8 +286,8 @@ static int ssl3_cbc_copy_mac(size_t *reclen,
/* If the padding wasn't good we emit a random MAC */
out[j++] = constant_time_select_8((unsigned char)(good & 0xff),
- aux3,
- randmac[i]);
+ aux3,
+ randmac[i]);
rotate_offset &= constant_time_lt_s(rotate_offset, mac_size);
}
#else
@@ -302,7 +302,7 @@ static int ssl3_cbc_copy_mac(size_t *reclen,
/* If the padding wasn't good we emit a random MAC */
out[i] = constant_time_select_8((unsigned char)(good & 0xff), out[i],
- randmac[i]);
+ randmac[i]);
}
#endif
diff --git a/crypto/openssl/ssl/record/methods/tlsany_meth.c b/crypto/openssl/ssl/record/methods/tlsany_meth.c
index bbe873aaf516..996172543979 100644
--- a/crypto/openssl/ssl/record/methods/tlsany_meth.c
+++ b/crypto/openssl/ssl/record/methods/tlsany_meth.c
@@ -12,17 +12,17 @@
#include "../record_local.h"
#include "recmethod_local.h"
-#define MIN_SSL2_RECORD_LEN 9
+#define MIN_SSL2_RECORD_LEN 9
static int tls_any_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph,
- size_t taglen,
- int mactype,
- const EVP_MD *md,
- COMP_METHOD *comp)
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph,
+ size_t taglen,
+ int mactype,
+ const EVP_MD *md,
+ COMP_METHOD *comp)
{
if (level != OSSL_RECORD_PROTECTION_LEVEL_NONE) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
@@ -35,8 +35,8 @@ static int tls_any_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,
}
static int tls_any_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,
- size_t n_recs, int sending, SSL_MAC_BUF *macs,
- size_t macsize)
+ size_t n_recs, int sending, SSL_MAC_BUF *macs,
+ size_t macsize)
{
return 1;
}
@@ -64,29 +64,22 @@ static int tls_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
* we have.
*/
p = rl->packet;
- if (HAS_PREFIX((char *)p, "GET ") ||
- HAS_PREFIX((char *)p, "POST ") ||
- HAS_PREFIX((char *)p, "HEAD ") ||
- HAS_PREFIX((char *)p, "PATCH") ||
- HAS_PREFIX((char *)p, "OPTIO") ||
- HAS_PREFIX((char *)p, "DELET") ||
- HAS_PREFIX((char *)p, "TRACE") ||
- HAS_PREFIX((char *)p, "PUT ")) {
+ if (HAS_PREFIX((char *)p, "GET ") || HAS_PREFIX((char *)p, "POST ") || HAS_PREFIX((char *)p, "HEAD ") || HAS_PREFIX((char *)p, "PATCH") || HAS_PREFIX((char *)p, "OPTIO") || HAS_PREFIX((char *)p, "DELET") || HAS_PREFIX((char *)p, "TRACE") || HAS_PREFIX((char *)p, "PUT ")) {
RLAYERfatal(rl, SSL_AD_NO_ALERT, SSL_R_HTTP_REQUEST);
return 0;
} else if (HAS_PREFIX((char *)p, "CONNE")) {
RLAYERfatal(rl, SSL_AD_NO_ALERT,
- SSL_R_HTTPS_PROXY_REQUEST);
+ SSL_R_HTTPS_PROXY_REQUEST);
return 0;
}
/* Doesn't look like TLS - don't send an alert */
RLAYERfatal(rl, SSL_AD_NO_ALERT,
- SSL_R_WRONG_VERSION_NUMBER);
+ SSL_R_WRONG_VERSION_NUMBER);
return 0;
} else {
RLAYERfatal(rl, SSL_AD_PROTOCOL_VERSION,
- SSL_R_WRONG_VERSION_NUMBER);
+ SSL_R_WRONG_VERSION_NUMBER);
return 0;
}
}
@@ -108,14 +101,14 @@ static int tls_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
* end.
*/
RLAYERfatal(rl, SSL_AD_NO_ALERT,
- SSL_R_WRONG_VERSION_NUMBER);
+ SSL_R_WRONG_VERSION_NUMBER);
return 0;
}
/* Send back error using their minor version number */
rl->version = (unsigned short)rec->rec_version;
}
RLAYERfatal(rl, SSL_AD_PROTOCOL_VERSION,
- SSL_R_WRONG_VERSION_NUMBER);
+ SSL_R_WRONG_VERSION_NUMBER);
return 0;
}
}
@@ -141,9 +134,9 @@ static int tls_any_set_protocol_version(OSSL_RECORD_LAYER *rl, int vers)
}
static int tls_any_prepare_for_encryption(OSSL_RECORD_LAYER *rl,
- size_t mac_size,
- WPACKET *thispkt,
- TLS_RL_RECORD *thiswr)
+ size_t mac_size,
+ WPACKET *thispkt,
+ TLS_RL_RECORD *thiswr)
{
/* No encryption, so nothing to do */
return 1;
diff --git a/crypto/openssl/ssl/record/rec_layer_d1.c b/crypto/openssl/ssl/record/rec_layer_d1.c
index 111fbaf7d3a4..a6ddbbffe460 100644
--- a/crypto/openssl/ssl/record/rec_layer_d1.c
+++ b/crypto/openssl/ssl/record/rec_layer_d1.c
@@ -118,11 +118,9 @@ static int dtls_buffer_record(SSL_CONNECTION *s, TLS_RECORD *rec)
#ifndef OPENSSL_NO_SCTP
/* Store bio_dgram_sctp_rcvinfo struct */
- if (BIO_dgram_is_sctp(s->rbio) &&
- (ossl_statem_get_state(s) == TLS_ST_SR_FINISHED
- || ossl_statem_get_state(s) == TLS_ST_CR_FINISHED)) {
+ if (BIO_dgram_is_sctp(s->rbio) && (ossl_statem_get_state(s) == TLS_ST_SR_FINISHED || ossl_statem_get_state(s) == TLS_ST_CR_FINISHED)) {
BIO_ctrl(s->rbio, BIO_CTRL_DGRAM_SCTP_GET_RCVINFO,
- sizeof(rdata->recordinfo), &rdata->recordinfo);
+ sizeof(rdata->recordinfo), &rdata->recordinfo);
}
#endif
@@ -158,7 +156,7 @@ static void dtls_unbuffer_record(SSL_CONNECTION *s)
/* Restore bio_dgram_sctp_rcvinfo struct */
if (BIO_dgram_is_sctp(s->rbio)) {
BIO_ctrl(s->rbio, BIO_CTRL_DGRAM_SCTP_SET_RCVINFO,
- sizeof(rdata->recordinfo), &rdata->recordinfo);
+ sizeof(rdata->recordinfo), &rdata->recordinfo);
}
#endif
@@ -197,21 +195,19 @@ static void dtls_unbuffer_record(SSL_CONNECTION *s)
* none of our business
*/
int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
- unsigned char *buf, size_t len,
- int peek, size_t *readbytes)
+ unsigned char *buf, size_t len,
+ int peek, size_t *readbytes)
{
int i, j, ret;
size_t n;
TLS_RECORD *rr;
- void (*cb) (const SSL *ssl, int type2, int val) = NULL;
+ void (*cb)(const SSL *ssl, int type2, int val) = NULL;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
if (sc == NULL)
return -1;
- if ((type && (type != SSL3_RT_APPLICATION_DATA) &&
- (type != SSL3_RT_HANDSHAKE)) ||
- (peek && (type != SSL3_RT_APPLICATION_DATA))) {
+ if ((type && (type != SSL3_RT_APPLICATION_DATA) && (type != SSL3_RT_HANDSHAKE)) || (peek && (type != SSL3_RT_APPLICATION_DATA))) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return -1;
}
@@ -226,7 +222,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
return -1;
}
- start:
+start:
sc->rwstate = SSL_NOTHING;
/*
@@ -251,17 +247,17 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
rr = &sc->rlayer.tlsrecs[sc->rlayer.num_recs];
ret = HANDLE_RLAYER_READ_RETURN(sc,
- sc->rlayer.rrlmethod->read_record(sc->rlayer.rrl,
- &rr->rechandle,
- &rr->version, &rr->type,
- &rr->data, &rr->length,
- &rr->epoch, rr->seq_num));
+ sc->rlayer.rrlmethod->read_record(sc->rlayer.rrl,
+ &rr->rechandle,
+ &rr->version, &rr->type,
+ &rr->data, &rr->length,
+ &rr->epoch, rr->seq_num));
if (ret <= 0) {
ret = dtls1_read_failed(sc, ret);
/*
- * Anything other than a timeout is an error. SSLfatal() already
- * called if appropriate.
- */
+ * Anything other than a timeout is an error. SSLfatal() already
+ * called if appropriate.
+ */
if (ret <= 0)
return ret;
else
@@ -270,7 +266,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
rr->off = 0;
sc->rlayer.num_recs++;
} while (sc->rlayer.rrlmethod->processed_read_pending(sc->rlayer.rrl)
- && sc->rlayer.num_recs < SSL_MAX_PIPELINES);
+ && sc->rlayer.num_recs < SSL_MAX_PIPELINES);
}
rr = &sc->rlayer.tlsrecs[sc->rlayer.curr_rec];
@@ -284,7 +280,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
/* we now have a packet which can be read and processed */
if (sc->s3.change_cipher_spec /* set when we receive ChangeCipherSpec,
- * reset by ssl3_get_finished */
+ * reset by ssl3_get_finished */
&& (rr->type != SSL3_RT_HANDSHAKE)) {
/*
* We now have application data between CCS and Finished. Most likely
@@ -324,9 +320,9 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
* doing a handshake for the first time
*/
if (SSL_in_init(s) && (type == SSL3_RT_APPLICATION_DATA)
- && (SSL_IS_FIRST_HANDSHAKE(sc))) {
+ && (SSL_IS_FIRST_HANDSHAKE(sc))) {
SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_APP_DATA_IN_HANDSHAKE);
+ SSL_R_APP_DATA_IN_HANDSHAKE);
return -1;
}
@@ -363,8 +359,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
* app data. If there was an alert and there is no message to read
* anymore, finally set shutdown.
*/
- if (BIO_dgram_is_sctp(SSL_get_rbio(s)) &&
- sc->d1->shutdown_received
+ if (BIO_dgram_is_sctp(SSL_get_rbio(s)) && sc->d1->shutdown_received
&& BIO_dgram_sctp_msg_waiting(SSL_get_rbio(s)) <= 0) {
sc->shutdown |= SSL_RECEIVED_SHUTDOWN;
return 0;
@@ -385,16 +380,16 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
PACKET alert;
if (!PACKET_buf_init(&alert, alert_bytes, rr->length)
- || !PACKET_get_1(&alert, &alert_level)
- || !PACKET_get_1(&alert, &alert_descr)
- || PACKET_remaining(&alert) != 0) {
+ || !PACKET_get_1(&alert, &alert_level)
+ || !PACKET_get_1(&alert, &alert_descr)
+ || PACKET_remaining(&alert) != 0) {
SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_INVALID_ALERT);
return -1;
}
if (sc->msg_callback)
sc->msg_callback(0, sc->version, SSL3_RT_ALERT, alert_bytes, 2, s,
- sc->msg_callback_arg);
+ sc->msg_callback_arg);
if (sc->info_callback != NULL)
cb = sc->info_callback;
@@ -414,7 +409,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
sc->rlayer.alert_count++;
if (sc->rlayer.alert_count == MAX_WARN_ALERT_COUNT) {
SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_TOO_MANY_WARN_ALERTS);
+ SSL_R_TOO_MANY_WARN_ALERTS);
return -1;
}
@@ -425,8 +420,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
* after a close_notify alert. We have to check this first so
* that nothing gets discarded.
*/
- if (BIO_dgram_is_sctp(SSL_get_rbio(s)) &&
- BIO_dgram_sctp_msg_waiting(SSL_get_rbio(s)) > 0) {
+ if (BIO_dgram_is_sctp(SSL_get_rbio(s)) && BIO_dgram_sctp_msg_waiting(SSL_get_rbio(s)) > 0) {
sc->d1->shutdown_received = 1;
sc->rwstate = SSL_READING;
BIO_clear_retry_flags(SSL_get_rbio(s));
@@ -452,8 +446,8 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
sc->rwstate = SSL_NOTHING;
sc->s3.fatal_alert = alert_descr;
SSLfatal_data(sc, SSL_AD_NO_ALERT,
- SSL_AD_REASON_OFFSET + alert_descr,
- "SSL alert number %d", alert_descr);
+ SSL_AD_REASON_OFFSET + alert_descr,
+ "SSL alert number %d", alert_descr);
sc->shutdown |= SSL_RECEIVED_SHUTDOWN;
if (!ssl_release_record(sc, rr, 0))
return -1;
@@ -468,7 +462,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
}
if (sc->shutdown & SSL_SENT_SHUTDOWN) { /* but we have not received a
- * shutdown */
+ * shutdown */
sc->rwstate = SSL_NOTHING;
if (!ssl_release_record(sc, rr, 0))
return -1;
@@ -496,7 +490,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
* at least enough record bytes for a message header
*/
if (rr->epoch != sc->rlayer.d->r_epoch
- || rr->length < DTLS1_HM_HEADER_LENGTH) {
+ || rr->length < DTLS1_HM_HEADER_LENGTH) {
if (!ssl_release_record(sc, rr, 0))
return -1;
goto start;
@@ -599,9 +593,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
* application data at this point (session renegotiation not yet
* started), we will indulge it.
*/
- if (sc->s3.in_read_app_data &&
- (sc->s3.total_renegotiations != 0) &&
- ossl_statem_app_data_allowed(sc)) {
+ if (sc->s3.in_read_app_data && (sc->s3.total_renegotiations != 0) && ossl_statem_app_data_allowed(sc)) {
sc->s3.in_read_app_data = 2;
return -1;
} else {
@@ -617,7 +609,7 @@ int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
* not all data has been sent or non-blocking IO.
*/
int dtls1_write_bytes(SSL_CONNECTION *s, uint8_t type, const void *buf,
- size_t len, size_t *written)
+ size_t len, size_t *written)
{
int i;
@@ -631,7 +623,7 @@ int dtls1_write_bytes(SSL_CONNECTION *s, uint8_t type, const void *buf,
}
int do_dtls1_write(SSL_CONNECTION *sc, uint8_t type, const unsigned char *buf,
- size_t len, size_t *written)
+ size_t len, size_t *written)
{
int i;
OSSL_RECORD_TEMPLATE tmpl;
@@ -661,7 +653,7 @@ int do_dtls1_write(SSL_CONNECTION *sc, uint8_t type, const unsigned char *buf,
* header: otherwise some clients will ignore it.
*/
if (s->method->version == DTLS_ANY_VERSION
- && sc->max_proto_version != DTLS1_BAD_VER)
+ && sc->max_proto_version != DTLS1_BAD_VER)
tmpl.version = DTLS1_VERSION;
else
tmpl.version = sc->version;
@@ -669,7 +661,7 @@ int do_dtls1_write(SSL_CONNECTION *sc, uint8_t type, const unsigned char *buf,
tmpl.buflen = len;
ret = HANDLE_RLAYER_WRITE_RETURN(sc,
- sc->rlayer.wrlmethod->write_records(sc->rlayer.wrl, &tmpl, 1));
+ sc->rlayer.wrlmethod->write_records(sc->rlayer.wrl, &tmpl, 1));
if (ret > 0)
*written = (int)len;
@@ -692,7 +684,8 @@ void dtls1_increment_epoch(SSL_CONNECTION *s, int rw)
}
}
-uint16_t dtls1_get_epoch(SSL_CONNECTION *s, int rw) {
+uint16_t dtls1_get_epoch(SSL_CONNECTION *s, int rw)
+{
uint16_t epoch;
if (rw & SSL3_CC_READ)
diff --git a/crypto/openssl/ssl/record/rec_layer_s3.c b/crypto/openssl/ssl/record/rec_layer_s3.c
index 889b12dd66d0..ba407478b412 100644
--- a/crypto/openssl/ssl/record/rec_layer_s3.c
+++ b/crypto/openssl/ssl/record/rec_layer_s3.c
@@ -36,9 +36,8 @@ int RECORD_LAYER_clear(RECORD_LAYER *rl)
/* Clear any buffered records we no longer need */
while (rl->curr_rec < rl->num_recs)
ret &= ssl_release_record(rl->s,
- &(rl->tlsrecs[rl->curr_rec++]),
- 0);
-
+ &(rl->tlsrecs[rl->curr_rec++]),
+ 0);
rl->wnum = 0;
memset(rl->handshake_fragment, 0, sizeof(rl->handshake_fragment));
@@ -78,20 +77,22 @@ int RECORD_LAYER_reset(RECORD_LAYER *rl)
/* We try and reset both record layers even if one fails */
ret &= ssl_set_new_record_layer(rl->s,
- SSL_CONNECTION_IS_DTLS(rl->s)
- ? DTLS_ANY_VERSION : TLS_ANY_VERSION,
- OSSL_RECORD_DIRECTION_READ,
- OSSL_RECORD_PROTECTION_LEVEL_NONE, NULL, 0,
- NULL, 0, NULL, 0, NULL, 0, NULL, 0,
- NID_undef, NULL, NULL, NULL);
+ SSL_CONNECTION_IS_DTLS(rl->s)
+ ? DTLS_ANY_VERSION
+ : TLS_ANY_VERSION,
+ OSSL_RECORD_DIRECTION_READ,
+ OSSL_RECORD_PROTECTION_LEVEL_NONE, NULL, 0,
+ NULL, 0, NULL, 0, NULL, 0, NULL, 0,
+ NID_undef, NULL, NULL, NULL);
ret &= ssl_set_new_record_layer(rl->s,
- SSL_CONNECTION_IS_DTLS(rl->s)
- ? DTLS_ANY_VERSION : TLS_ANY_VERSION,
- OSSL_RECORD_DIRECTION_WRITE,
- OSSL_RECORD_PROTECTION_LEVEL_NONE, NULL, 0,
- NULL, 0, NULL, 0, NULL, 0, NULL, 0,
- NID_undef, NULL, NULL, NULL);
+ SSL_CONNECTION_IS_DTLS(rl->s)
+ ? DTLS_ANY_VERSION
+ : TLS_ANY_VERSION,
+ OSSL_RECORD_DIRECTION_WRITE,
+ OSSL_RECORD_PROTECTION_LEVEL_NONE, NULL, 0,
+ NULL, 0, NULL, 0, NULL, 0, NULL, 0,
+ NID_undef, NULL, NULL, NULL);
/* SSLfatal already called in the event of failure */
return ret;
@@ -107,7 +108,7 @@ int RECORD_LAYER_read_pending(const RECORD_LAYER *rl)
int RECORD_LAYER_processed_read_pending(const RECORD_LAYER *rl)
{
return (rl->curr_rec < rl->num_recs)
- || rl->rrlmethod->processed_read_pending(rl->rrl);
+ || rl->rrlmethod->processed_read_pending(rl->rrl);
}
int RECORD_LAYER_write_pending(const RECORD_LAYER *rl)
@@ -127,7 +128,7 @@ static uint32_t ossl_get_max_early_data(SSL_CONNECTION *s)
*/
if (!s->server && sess->ext.max_early_data == 0) {
if (!ossl_assert(s->psksession != NULL
- && s->psksession->ext.max_early_data > 0)) {
+ && s->psksession->ext.max_early_data > 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -140,13 +141,14 @@ static uint32_t ossl_get_max_early_data(SSL_CONNECTION *s)
max_early_data = s->recv_max_early_data;
else
max_early_data = s->recv_max_early_data < sess->ext.max_early_data
- ? s->recv_max_early_data : sess->ext.max_early_data;
+ ? s->recv_max_early_data
+ : sess->ext.max_early_data;
return max_early_data;
}
static int ossl_early_data_count_ok(SSL_CONNECTION *s, size_t length,
- size_t overhead, int send)
+ size_t overhead, int send)
{
uint32_t max_early_data;
@@ -154,7 +156,7 @@ static int ossl_early_data_count_ok(SSL_CONNECTION *s, size_t length,
if (max_early_data == 0) {
SSLfatal(s, send ? SSL_AD_INTERNAL_ERROR : SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_TOO_MUCH_EARLY_DATA);
+ SSL_R_TOO_MUCH_EARLY_DATA);
return 0;
}
@@ -163,7 +165,7 @@ static int ossl_early_data_count_ok(SSL_CONNECTION *s, size_t length,
if (s->early_data_count + length > max_early_data) {
SSLfatal(s, send ? SSL_AD_INTERNAL_ERROR : SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_TOO_MUCH_EARLY_DATA);
+ SSL_R_TOO_MUCH_EARLY_DATA);
return 0;
}
s->early_data_count += length;
@@ -248,7 +250,7 @@ const char *SSL_rstate_string(const SSL *s)
}
static int tls_write_check_pending(SSL_CONNECTION *s, uint8_t type,
- const unsigned char *buf, size_t len)
+ const unsigned char *buf, size_t len)
{
if (s->rlayer.wpend_tot == 0)
return 0;
@@ -269,7 +271,7 @@ static int tls_write_check_pending(SSL_CONNECTION *s, uint8_t type,
* not all data has been sent or non-blocking IO.
*/
int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
- size_t *written)
+ size_t *written)
{
const unsigned char *buf = buf_;
size_t tot;
@@ -301,7 +303,7 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
}
if (s->early_data_state == SSL_EARLY_DATA_WRITING
- && !ossl_early_data_count_ok(s, len, 0, 1)) {
+ && !ossl_early_data_count_ok(s, len, 0, 1)) {
/* SSLfatal() already called */
return -1;
}
@@ -313,8 +315,7 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
* into init unless we have writes pending - in which case we should finish
* doing that first.
*/
- if (s->rlayer.wpend_tot == 0 && (s->key_update != SSL_KEY_UPDATE_NONE
- || s->ext.extra_tickets_expected > 0))
+ if (s->rlayer.wpend_tot == 0 && (s->key_update != SSL_KEY_UPDATE_NONE || s->ext.extra_tickets_expected > 0))
ossl_statem_set_in_init(s, 1);
/*
@@ -323,7 +324,7 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
* messages yet.
*/
if (SSL_in_init(ssl) && !ossl_statem_get_in_handshake(s)
- && s->early_data_state != SSL_EARLY_DATA_UNAUTH_WRITING) {
+ && s->early_data_state != SSL_EARLY_DATA_UNAUTH_WRITING) {
i = s->handshake_func(ssl);
/* SSLfatal() already called */
if (i < 0)
@@ -340,7 +341,7 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
} else if (i > 0) {
/* Retry needed */
i = HANDLE_RLAYER_WRITE_RETURN(s,
- s->rlayer.wrlmethod->retry_write_records(s->rlayer.wrl));
+ s->rlayer.wrlmethod->retry_write_records(s->rlayer.wrl));
if (i <= 0) {
s->rlayer.wnum = tot;
return i;
@@ -359,7 +360,7 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
s->rlayer.wpend_buf = buf;
}
- if (tot == len) { /* done? */
+ if (tot == len) { /* done? */
*written = tot;
return 1;
}
@@ -381,8 +382,8 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
split_send_fragment = ssl_get_split_send_fragment(s);
if (max_send_fragment == 0
- || split_send_fragment == 0
- || split_send_fragment > max_send_fragment) {
+ || split_send_fragment == 0
+ || split_send_fragment > max_send_fragment) {
/*
* We should have prevented this when we set/get the split and max send
* fragments so we shouldn't get here
@@ -397,9 +398,9 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
*/
recversion = (s->version == TLS1_3_VERSION) ? TLS1_2_VERSION : s->version;
if (SSL_get_state(ssl) == TLS_ST_CW_CLNT_HELLO
- && !s->renegotiate
- && TLS1_get_version(ssl) > TLS1_VERSION
- && s->hello_retry_request == SSL_HRR_NONE)
+ && !s->renegotiate
+ && TLS1_get_version(ssl) > TLS1_VERSION
+ && s->hello_retry_request == SSL_HRR_NONE)
recversion = TLS1_VERSION;
for (;;) {
@@ -407,18 +408,18 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
size_t j, lensofar = 0;
/*
- * Ask the record layer how it would like to split the amount of data
- * that we have, and how many of those records it would like in one go.
- */
+ * Ask the record layer how it would like to split the amount of data
+ * that we have, and how many of those records it would like in one go.
+ */
maxpipes = s->rlayer.wrlmethod->get_max_records(s->rlayer.wrl, type, n,
- max_send_fragment,
- &split_send_fragment);
+ max_send_fragment,
+ &split_send_fragment);
/*
- * If max_pipelines is 0 then this means "undefined" and we default to
- * whatever the record layer wants to do. Otherwise we use the smallest
- * value from the number requested by the record layer, and max number
- * configured by the user.
- */
+ * If max_pipelines is 0 then this means "undefined" and we default to
+ * whatever the record layer wants to do. Otherwise we use the smallest
+ * value from the number requested by the record layer, and max number
+ * configured by the user.
+ */
if (s->max_pipelines > 0 && maxpipes > s->max_pipelines)
maxpipes = s->max_pipelines;
@@ -475,8 +476,8 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
}
if (s->rlayer.wpend_tot == n
- || (type == SSL3_RT_APPLICATION_DATA
- && (s->mode & SSL_MODE_ENABLE_PARTIAL_WRITE) != 0)) {
+ || (type == SSL3_RT_APPLICATION_DATA
+ && (s->mode & SSL_MODE_ENABLE_PARTIAL_WRITE) != 0)) {
*written = tot + s->rlayer.wpend_tot;
s->rlayer.wpend_tot = 0;
return 1;
@@ -488,7 +489,7 @@ int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t len,
}
int ossl_tls_handle_rlayer_return(SSL_CONNECTION *s, int writing, int ret,
- char *file, int line)
+ char *file, int line)
{
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
@@ -506,7 +507,7 @@ int ossl_tls_handle_rlayer_return(SSL_CONNECTION *s, int writing, int ret,
ERR_new();
ERR_set_debug(file, line, 0);
ossl_statem_fatal(s, SSL_AD_INTERNAL_ERROR,
- ERR_R_INTERNAL_ERROR, NULL);
+ ERR_R_INTERNAL_ERROR, NULL);
ret = OSSL_RECORD_RETURN_FATAL;
} else if ((s->options & SSL_OP_IGNORE_UNEXPECTED_EOF) != 0) {
SSL_set_shutdown(ssl, SSL_RECEIVED_SHUTDOWN);
@@ -519,7 +520,7 @@ int ossl_tls_handle_rlayer_return(SSL_CONNECTION *s, int writing, int ret,
* applications for control flow decisions.
*/
ossl_statem_fatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_UNEXPECTED_EOF_WHILE_READING, NULL);
+ SSL_R_UNEXPECTED_EOF_WHILE_READING, NULL);
}
} else if (ret == OSSL_RECORD_RETURN_FATAL) {
int al = s->rlayer.rrlmethod->get_alert_code(s->rlayer.rrl);
@@ -564,8 +565,9 @@ int ssl_release_record(SSL_CONNECTION *s, TLS_RECORD *rr, size_t length)
/* The record layer allocated the buffers for this record */
if (HANDLE_RLAYER_READ_RETURN(s,
s->rlayer.rrlmethod->release_record(s->rlayer.rrl,
- rr->rechandle,
- length)) <= 0) {
+ rr->rechandle,
+ length))
+ <= 0) {
/* RLAYER_fatal already called */
return 0;
}
@@ -618,13 +620,13 @@ int ssl_release_record(SSL_CONNECTION *s, TLS_RECORD *rr, size_t length)
* none of our business
*/
int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
- unsigned char *buf, size_t len,
- int peek, size_t *readbytes)
+ unsigned char *buf, size_t len,
+ int peek, size_t *readbytes)
{
int i, j, ret;
size_t n, curr_rec, totalbytes;
TLS_RECORD *rr;
- void (*cb) (const SSL *ssl, int type2, int val) = NULL;
+ void (*cb)(const SSL *ssl, int type2, int val) = NULL;
int is_tls13;
SSL_CONNECTION *s = SSL_CONNECTION_FROM_SSL_ONLY(ssl);
@@ -639,7 +641,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
}
if ((type == SSL3_RT_HANDSHAKE) && (s->rlayer.handshake_fragment_len > 0))
- /* (partially) satisfy request from storage */
+ /* (partially) satisfy request from storage */
{
unsigned char *src = s->rlayer.handshake_fragment;
unsigned char *dst = buf;
@@ -677,7 +679,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
if (i == 0)
return -1;
}
- start:
+start:
s->rwstate = SSL_NOTHING;
/*-
@@ -694,11 +696,11 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
rr = &s->rlayer.tlsrecs[s->rlayer.num_recs];
ret = HANDLE_RLAYER_READ_RETURN(s,
- s->rlayer.rrlmethod->read_record(s->rlayer.rrl,
- &rr->rechandle,
- &rr->version, &rr->type,
- &rr->data, &rr->length,
- NULL, NULL));
+ s->rlayer.rrlmethod->read_record(s->rlayer.rrl,
+ &rr->rechandle,
+ &rr->version, &rr->type,
+ &rr->data, &rr->length,
+ NULL, NULL));
if (ret <= 0) {
/* SSLfatal() already called if appropriate */
return ret;
@@ -706,15 +708,15 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
rr->off = 0;
s->rlayer.num_recs++;
} while (s->rlayer.rrlmethod->processed_read_pending(s->rlayer.rrl)
- && s->rlayer.num_recs < SSL_MAX_PIPELINES);
+ && s->rlayer.num_recs < SSL_MAX_PIPELINES);
}
rr = &s->rlayer.tlsrecs[s->rlayer.curr_rec];
if (s->rlayer.handshake_fragment_len > 0
- && rr->type != SSL3_RT_HANDSHAKE
- && SSL_CONNECTION_IS_TLS13(s)) {
+ && rr->type != SSL3_RT_HANDSHAKE
+ && SSL_CONNECTION_IS_TLS13(s)) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA);
+ SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA);
return -1;
}
@@ -731,7 +733,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
* reset by ssl3_get_finished */
&& (rr->type != SSL3_RT_HANDSHAKE)) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_DATA_BETWEEN_CCS_AND_FINISHED);
+ SSL_R_DATA_BETWEEN_CCS_AND_FINISHED);
return -1;
}
@@ -759,7 +761,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
* doing a handshake for the first time
*/
if (SSL_in_init(ssl) && type == SSL3_RT_APPLICATION_DATA
- && SSL_IS_FIRST_HANDSHAKE(s)) {
+ && SSL_IS_FIRST_HANDSHAKE(s)) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_APP_DATA_IN_HANDSHAKE);
return -1;
}
@@ -811,8 +813,8 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
}
totalbytes += n;
} while (type == SSL3_RT_APPLICATION_DATA
- && curr_rec < s->rlayer.num_recs
- && totalbytes < len);
+ && curr_rec < s->rlayer.num_recs
+ && totalbytes < len);
if (totalbytes == 0) {
/* We must have read empty records. Get more data */
goto start;
@@ -865,16 +867,16 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
PACKET alert;
if (!PACKET_buf_init(&alert, alert_bytes, rr->length)
- || !PACKET_get_1(&alert, &alert_level)
- || !PACKET_get_1(&alert, &alert_descr)
- || PACKET_remaining(&alert) != 0) {
+ || !PACKET_get_1(&alert, &alert_level)
+ || !PACKET_get_1(&alert, &alert_descr)
+ || PACKET_remaining(&alert) != 0) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_INVALID_ALERT);
return -1;
}
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_ALERT, alert_bytes, 2, ssl,
- s->msg_callback_arg);
+ s->msg_callback_arg);
if (s->info_callback != NULL)
cb = s->info_callback;
@@ -887,7 +889,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
}
if ((!is_tls13 && alert_level == SSL3_AL_WARNING)
- || (is_tls13 && alert_descr == SSL_AD_USER_CANCELLED)) {
+ || (is_tls13 && alert_descr == SSL_AD_USER_CANCELLED)) {
s->s3.warn_alert = alert_descr;
if (!ssl_release_record(s, rr, 0))
return -1;
@@ -895,7 +897,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
s->rlayer.alert_count++;
if (s->rlayer.alert_count == MAX_WARN_ALERT_COUNT) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_TOO_MANY_WARN_ALERTS);
+ SSL_R_TOO_MANY_WARN_ALERTS);
return -1;
}
}
@@ -907,15 +909,15 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
if (is_tls13 && alert_descr == SSL_AD_USER_CANCELLED) {
goto start;
} else if (alert_descr == SSL_AD_CLOSE_NOTIFY
- && (is_tls13 || alert_level == SSL3_AL_WARNING)) {
+ && (is_tls13 || alert_level == SSL3_AL_WARNING)) {
s->shutdown |= SSL_RECEIVED_SHUTDOWN;
return 0;
} else if (alert_level == SSL3_AL_FATAL || is_tls13) {
s->rwstate = SSL_NOTHING;
s->s3.fatal_alert = alert_descr;
SSLfatal_data(s, SSL_AD_NO_ALERT,
- SSL_AD_REASON_OFFSET + alert_descr,
- "SSL alert number %d", alert_descr);
+ SSL_AD_REASON_OFFSET + alert_descr,
+ "SSL alert number %d", alert_descr);
s->shutdown |= SSL_RECEIVED_SHUTDOWN;
if (!ssl_release_record(s, rr, 0))
return -1;
@@ -976,7 +978,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
if (!ssl_release_record(s, rr, 0))
return -1;
SSLfatal(s, SSL_AD_NO_ALERT,
- SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY);
+ SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY);
return -1;
}
}
@@ -1009,7 +1011,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
return -1;
if (*dest_len < dest_maxlen)
- goto start; /* fragment was too small */
+ goto start; /* fragment was too small */
}
if (rr->type == SSL3_RT_CHANGE_CIPHER_SPEC) {
@@ -1022,7 +1024,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
* protocol violation)
*/
if ((s->rlayer.handshake_fragment_len >= 4)
- && !ossl_statem_get_in_handshake(s)) {
+ && !ossl_statem_get_in_handshake(s)) {
int ined = (s->early_data_state == SSL_EARLY_DATA_READING);
/* We found handshake data, so we're going back into init */
@@ -1106,7 +1108,7 @@ int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,
* record.
*/
if (!ossl_early_data_count_ok(s, rr->length,
- EARLY_DATA_CIPHERTEXT_OVERHEAD, 0)) {
+ EARLY_DATA_CIPHERTEXT_OVERHEAD, 0)) {
/* SSLfatal() already called */
return -1;
}
@@ -1133,20 +1135,20 @@ int RECORD_LAYER_is_sslv2_record(RECORD_LAYER *rl)
static OSSL_FUNC_rlayer_msg_callback_fn rlayer_msg_callback_wrapper;
static void rlayer_msg_callback_wrapper(int write_p, int version,
- int content_type, const void *buf,
- size_t len, void *cbarg)
+ int content_type, const void *buf,
+ size_t len, void *cbarg)
{
SSL_CONNECTION *s = cbarg;
SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s);
if (s->msg_callback != NULL)
s->msg_callback(write_p, version, content_type, buf, len, ssl,
- s->msg_callback_arg);
+ s->msg_callback_arg);
}
static OSSL_FUNC_rlayer_security_fn rlayer_security_wrapper;
static int rlayer_security_wrapper(void *cbarg, int op, int bits, int nid,
- void *other)
+ void *other)
{
SSL_CONNECTION *s = cbarg;
@@ -1160,7 +1162,7 @@ static size_t rlayer_padding_wrapper(void *cbarg, int type, size_t len)
SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s);
return s->rlayer.record_padding_cb(ssl, type, len,
- s->rlayer.record_padding_arg);
+ s->rlayer.record_padding_arg);
}
static const OSSL_DISPATCH rlayer_dispatch[] = {
@@ -1172,16 +1174,16 @@ static const OSSL_DISPATCH rlayer_dispatch[] = {
};
void ossl_ssl_set_custom_record_layer(SSL_CONNECTION *s,
- const OSSL_RECORD_METHOD *meth,
- void *rlarg)
+ const OSSL_RECORD_METHOD *meth,
+ void *rlarg)
{
s->rlayer.custom_rlmethod = meth;
s->rlayer.rlarg = rlarg;
}
static const OSSL_RECORD_METHOD *ssl_select_next_record_layer(SSL_CONNECTION *s,
- int direction,
- int level)
+ int direction,
+ int level)
{
if (s->rlayer.custom_rlmethod != NULL)
return s->rlayer.custom_rlmethod;
@@ -1196,8 +1198,8 @@ static const OSSL_RECORD_METHOD *ssl_select_next_record_layer(SSL_CONNECTION *s,
#ifndef OPENSSL_NO_KTLS
/* KTLS does not support renegotiation */
if (level == OSSL_RECORD_PROTECTION_LEVEL_APPLICATION
- && (s->options & SSL_OP_ENABLE_KTLS) != 0
- && (SSL_CONNECTION_IS_TLS13(s) || SSL_IS_FIRST_HANDSHAKE(s)))
+ && (s->options & SSL_OP_ENABLE_KTLS) != 0
+ && (SSL_CONNECTION_IS_TLS13(s) || SSL_IS_FIRST_HANDSHAKE(s)))
return &ossl_ktls_record_method;
#endif
@@ -1239,17 +1241,17 @@ static int ssl_post_record_layer_select(SSL_CONNECTION *s, int direction)
}
int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
- int direction, int level,
- unsigned char *secret, size_t secretlen,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph, size_t taglen,
- int mactype, const EVP_MD *md,
- const SSL_COMP *comp, const EVP_MD *kdfdigest)
+ int direction, int level,
+ unsigned char *secret, size_t secretlen,
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph, size_t taglen,
+ int mactype, const EVP_MD *md,
+ const SSL_COMP *comp, const EVP_MD *kdfdigest)
{
OSSL_PARAM options[5], *opts = options;
- OSSL_PARAM settings[6], *set = settings;
+ OSSL_PARAM settings[6], *set = settings;
const OSSL_RECORD_METHOD **thismethod;
OSSL_RECORD_LAYER **thisrl, *newrl = NULL;
BIO *thisbio;
@@ -1257,8 +1259,8 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
const OSSL_RECORD_METHOD *meth;
int use_etm, stream_mac = 0, tlstree = 0;
unsigned int maxfrag = (direction == OSSL_RECORD_DIRECTION_WRITE)
- ? ssl_get_max_send_fragment(s)
- : SSL3_RT_MAX_PLAIN_LENGTH;
+ ? ssl_get_max_send_fragment(s)
+ : SSL3_RT_MAX_PLAIN_LENGTH;
int use_early_data = 0;
uint32_t max_early_data;
COMP_METHOD *compm = (comp == NULL) ? NULL : comp->method;
@@ -1285,19 +1287,19 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
/* Parameters that *may* be supported by a record layer if passed */
*opts++ = OSSL_PARAM_construct_uint64(OSSL_LIBSSL_RECORD_LAYER_PARAM_OPTIONS,
- &s->options);
+ &s->options);
*opts++ = OSSL_PARAM_construct_uint32(OSSL_LIBSSL_RECORD_LAYER_PARAM_MODE,
- &s->mode);
+ &s->mode);
if (direction == OSSL_RECORD_DIRECTION_READ) {
*opts++ = OSSL_PARAM_construct_size_t(OSSL_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN,
- &s->rlayer.default_read_buf_len);
+ &s->rlayer.default_read_buf_len);
*opts++ = OSSL_PARAM_construct_int(OSSL_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD,
- &s->rlayer.read_ahead);
+ &s->rlayer.read_ahead);
} else {
*opts++ = OSSL_PARAM_construct_size_t(OSSL_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING,
- &s->rlayer.block_padding);
+ &s->rlayer.block_padding);
*opts++ = OSSL_PARAM_construct_size_t(OSSL_LIBSSL_RECORD_LAYER_PARAM_HS_PADDING,
- &s->rlayer.hs_padding);
+ &s->rlayer.hs_padding);
}
*opts = OSSL_PARAM_construct_end();
@@ -1320,29 +1322,28 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
if (use_etm)
*set++ = OSSL_PARAM_construct_int(OSSL_LIBSSL_RECORD_LAYER_PARAM_USE_ETM,
- &use_etm);
+ &use_etm);
if (stream_mac)
*set++ = OSSL_PARAM_construct_int(OSSL_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC,
- &stream_mac);
+ &stream_mac);
if (tlstree)
*set++ = OSSL_PARAM_construct_int(OSSL_LIBSSL_RECORD_LAYER_PARAM_TLSTREE,
- &tlstree);
+ &tlstree);
/*
* We only need to do this for the read side. The write side should already
* have the correct value due to the ssl_get_max_send_fragment() call above
*/
if (direction == OSSL_RECORD_DIRECTION_READ
- && s->session != NULL
- && USE_MAX_FRAGMENT_LENGTH_EXT(s->session))
+ && s->session != NULL
+ && USE_MAX_FRAGMENT_LENGTH_EXT(s->session))
maxfrag = GET_MAX_FRAGMENT_LENGTH(s->session);
-
if (maxfrag != SSL3_RT_MAX_PLAIN_LENGTH)
*set++ = OSSL_PARAM_construct_uint(OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN,
- &maxfrag);
+ &maxfrag);
/*
* The record layer must check the amount of early data sent or received
@@ -1351,7 +1352,7 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
*/
if (s->server && direction == OSSL_RECORD_DIRECTION_READ) {
use_early_data = (level == OSSL_RECORD_PROTECTION_LEVEL_EARLY
- || level == OSSL_RECORD_PROTECTION_LEVEL_HANDSHAKE);
+ || level == OSSL_RECORD_PROTECTION_LEVEL_HANDSHAKE);
} else if (!s->server && direction == OSSL_RECORD_DIRECTION_WRITE) {
use_early_data = (level == OSSL_RECORD_PROTECTION_LEVEL_EARLY);
}
@@ -1360,7 +1361,7 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
if (max_early_data != 0)
*set++ = OSSL_PARAM_construct_uint32(OSSL_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA,
- &max_early_data);
+ &max_early_data);
}
*set = OSSL_PARAM_construct_end();
@@ -1376,7 +1377,7 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
if (direction == OSSL_RECORD_DIRECTION_READ) {
prev = s->rlayer.rrlnext;
if (SSL_CONNECTION_IS_DTLS(s)
- && level != OSSL_RECORD_PROTECTION_LEVEL_NONE)
+ && level != OSSL_RECORD_PROTECTION_LEVEL_NONE)
epoch = dtls1_get_epoch(s, SSL3_CC_READ); /* new epoch */
#ifndef OPENSSL_NO_DGRAM
@@ -1393,7 +1394,7 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
s->rlayer.rrlnext = next;
} else {
if (SSL_CONNECTION_IS_DTLS(s)
- && level != OSSL_RECORD_PROTECTION_LEVEL_NONE)
+ && level != OSSL_RECORD_PROTECTION_LEVEL_NONE)
epoch = dtls1_get_epoch(s, SSL3_CC_WRITE); /* new epoch */
}
@@ -1418,13 +1419,13 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
}
rlret = meth->new_record_layer(sctx->libctx, sctx->propq, version,
- s->server, direction, level, epoch,
- secret, secretlen, key, keylen, iv,
- ivlen, mackey, mackeylen, ciph, taglen,
- mactype, md, compm, kdfdigest, prev,
- thisbio, next, NULL, NULL, settings,
- options, rlayer_dispatch_tmp, s,
- s->rlayer.rlarg, &newrl);
+ s->server, direction, level, epoch,
+ secret, secretlen, key, keylen, iv,
+ ivlen, mackey, mackeylen, ciph, taglen,
+ mactype, md, compm, kdfdigest, prev,
+ thisbio, next, NULL, NULL, settings,
+ options, rlayer_dispatch_tmp, s,
+ s->rlayer.rlarg, &newrl);
BIO_free(prev);
switch (rlret) {
case OSSL_RECORD_RETURN_FATAL:
@@ -1462,8 +1463,8 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
* free the record layer object (see dtls1_hm_fragment_free)
*/
if (!SSL_CONNECTION_IS_DTLS(s)
- || direction == OSSL_RECORD_DIRECTION_READ
- || pqueue_peek(s->d1->sent_messages) == NULL) {
+ || direction == OSSL_RECORD_DIRECTION_READ
+ || pqueue_peek(s->d1->sent_messages) == NULL) {
if (*thismethod != NULL && !(*thismethod)->free(*thisrl)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -1479,7 +1480,7 @@ int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
int ssl_set_record_protocol_version(SSL_CONNECTION *s, int vers)
{
if (!ossl_assert(s->rlayer.rrlmethod != NULL)
- || !ossl_assert(s->rlayer.wrlmethod != NULL))
+ || !ossl_assert(s->rlayer.wrlmethod != NULL))
return 0;
s->rlayer.rrlmethod->set_protocol_version(s->rlayer.rrl, s->version);
s->rlayer.wrlmethod->set_protocol_version(s->rlayer.wrl, s->version);
diff --git a/crypto/openssl/ssl/record/record.h b/crypto/openssl/ssl/record/record.h
index 13f09fda8ccb..8e7b88384524 100644
--- a/crypto/openssl/ssl/record/record.h
+++ b/crypto/openssl/ssl/record/record.h
@@ -17,7 +17,7 @@
* *
*****************************************************************************/
-#define SEQ_NUM_SIZE 8
+#define SEQ_NUM_SIZE 8
typedef struct tls_record_st {
void *rechandle;
@@ -131,8 +131,8 @@ typedef struct record_layer_st {
* *
*****************************************************************************/
-#define RECORD_LAYER_set_read_ahead(rl, ra) ((rl)->read_ahead = (ra))
-#define RECORD_LAYER_get_read_ahead(rl) ((rl)->read_ahead)
+#define RECORD_LAYER_set_read_ahead(rl, ra) ((rl)->read_ahead = (ra))
+#define RECORD_LAYER_get_read_ahead(rl) ((rl)->read_ahead)
void RECORD_LAYER_init(RECORD_LAYER *rl, SSL_CONNECTION *s);
int RECORD_LAYER_clear(RECORD_LAYER *rl);
@@ -143,54 +143,50 @@ int RECORD_LAYER_write_pending(const RECORD_LAYER *rl);
int RECORD_LAYER_is_sslv2_record(RECORD_LAYER *rl);
__owur size_t ssl3_pending(const SSL *s);
__owur int ssl3_write_bytes(SSL *s, uint8_t type, const void *buf, size_t len,
- size_t *written);
+ size_t *written);
__owur int ssl3_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
- unsigned char *buf, size_t len, int peek,
- size_t *readbytes);
+ unsigned char *buf, size_t len, int peek,
+ size_t *readbytes);
int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl);
void DTLS_RECORD_LAYER_free(RECORD_LAYER *rl);
void DTLS_RECORD_LAYER_clear(RECORD_LAYER *rl);
__owur int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,
- unsigned char *buf, size_t len, int peek,
- size_t *readbytes);
+ unsigned char *buf, size_t len, int peek,
+ size_t *readbytes);
__owur int dtls1_write_bytes(SSL_CONNECTION *s, uint8_t type, const void *buf,
- size_t len, size_t *written);
+ size_t len, size_t *written);
int do_dtls1_write(SSL_CONNECTION *s, uint8_t type, const unsigned char *buf,
- size_t len, size_t *written);
+ size_t len, size_t *written);
void dtls1_increment_epoch(SSL_CONNECTION *s, int rw);
uint16_t dtls1_get_epoch(SSL_CONNECTION *s, int rw);
int ssl_release_record(SSL_CONNECTION *s, TLS_RECORD *rr, size_t length);
-# define HANDLE_RLAYER_READ_RETURN(s, ret) \
+#define HANDLE_RLAYER_READ_RETURN(s, ret) \
ossl_tls_handle_rlayer_return(s, 0, ret, OPENSSL_FILE, OPENSSL_LINE)
-# define HANDLE_RLAYER_WRITE_RETURN(s, ret) \
+#define HANDLE_RLAYER_WRITE_RETURN(s, ret) \
ossl_tls_handle_rlayer_return(s, 1, ret, OPENSSL_FILE, OPENSSL_LINE)
int ossl_tls_handle_rlayer_return(SSL_CONNECTION *s, int writing, int ret,
- char *file, int line);
+ char *file, int line);
int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,
- int direction, int level,
- unsigned char *secret, size_t secretlen,
- unsigned char *key, size_t keylen,
- unsigned char *iv, size_t ivlen,
- unsigned char *mackey, size_t mackeylen,
- const EVP_CIPHER *ciph, size_t taglen,
- int mactype, const EVP_MD *md,
- const SSL_COMP *comp, const EVP_MD *kdfdigest);
+ int direction, int level,
+ unsigned char *secret, size_t secretlen,
+ unsigned char *key, size_t keylen,
+ unsigned char *iv, size_t ivlen,
+ unsigned char *mackey, size_t mackeylen,
+ const EVP_CIPHER *ciph, size_t taglen,
+ int mactype, const EVP_MD *md,
+ const SSL_COMP *comp, const EVP_MD *kdfdigest);
int ssl_set_record_protocol_version(SSL_CONNECTION *s, int vers);
-# define OSSL_FUNC_RLAYER_SKIP_EARLY_DATA 1
+#define OSSL_FUNC_RLAYER_SKIP_EARLY_DATA 1
OSSL_CORE_MAKE_FUNC(int, rlayer_skip_early_data, (void *cbarg))
-# define OSSL_FUNC_RLAYER_MSG_CALLBACK 2
-OSSL_CORE_MAKE_FUNC(void, rlayer_msg_callback, (int write_p, int version,
- int content_type,
- const void *buf, size_t len,
- void *cbarg))
-# define OSSL_FUNC_RLAYER_SECURITY 3
-OSSL_CORE_MAKE_FUNC(int, rlayer_security, (void *cbarg, int op, int bits,
- int nid, void *other))
-# define OSSL_FUNC_RLAYER_PADDING 4
+#define OSSL_FUNC_RLAYER_MSG_CALLBACK 2
+OSSL_CORE_MAKE_FUNC(void, rlayer_msg_callback, (int write_p, int version, int content_type, const void *buf, size_t len, void *cbarg))
+#define OSSL_FUNC_RLAYER_SECURITY 3
+OSSL_CORE_MAKE_FUNC(int, rlayer_security, (void *cbarg, int op, int bits, int nid, void *other))
+#define OSSL_FUNC_RLAYER_PADDING 4
OSSL_CORE_MAKE_FUNC(size_t, rlayer_padding, (void *cbarg, int type, size_t len))
diff --git a/crypto/openssl/ssl/record/record_local.h b/crypto/openssl/ssl/record/record_local.h
index 1acb588f8c98..bd7608db53cd 100644
--- a/crypto/openssl/ssl/record/record_local.h
+++ b/crypto/openssl/ssl/record/record_local.h
@@ -14,4 +14,4 @@
* *
*****************************************************************************/
-#define MAX_WARN_ALERT_COUNT 5
+#define MAX_WARN_ALERT_COUNT 5
diff --git a/crypto/openssl/ssl/rio/poll_builder.c b/crypto/openssl/ssl/rio/poll_builder.c
index bd9317a8b8bb..28d93ee1947a 100644
--- a/crypto/openssl/ssl/rio/poll_builder.c
+++ b/crypto/openssl/ssl/rio/poll_builder.c
@@ -22,11 +22,11 @@ int ossl_rio_poll_builder_init(RIO_POLL_BUILDER *rpb)
FD_ZERO(&rpb->rfd);
FD_ZERO(&rpb->wfd);
FD_ZERO(&rpb->efd);
- rpb->hwm_fd = -1;
+ rpb->hwm_fd = -1;
#elif RIO_POLL_METHOD == RIO_POLL_METHOD_POLL
- rpb->pfd_heap = NULL;
- rpb->pfd_num = 0;
- rpb->pfd_alloc = OSSL_NELEM(rpb->pfds);
+ rpb->pfd_heap = NULL;
+ rpb->pfd_num = 0;
+ rpb->pfd_alloc = OSSL_NELEM(rpb->pfds);
#endif
return 1;
}
@@ -63,14 +63,14 @@ static int rpb_ensure_alloc(RIO_POLL_BUILDER *rpb, size_t alloc)
/* Copy the contents of the stacked array. */
memcpy(pfd_heap_new, rpb->pfds, sizeof(rpb->pfds));
}
- rpb->pfd_heap = pfd_heap_new;
- rpb->pfd_alloc = alloc;
+ rpb->pfd_heap = pfd_heap_new;
+ rpb->pfd_alloc = alloc;
return 1;
}
#endif
int ossl_rio_poll_builder_add_fd(RIO_POLL_BUILDER *rpb, int fd,
- int want_read, int want_write)
+ int want_read, int want_write)
{
#if RIO_POLL_METHOD == RIO_POLL_METHOD_POLL
size_t i;
@@ -83,14 +83,14 @@ int ossl_rio_poll_builder_add_fd(RIO_POLL_BUILDER *rpb, int fd,
#if RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT
-# ifndef OPENSSL_SYS_WINDOWS
+#ifndef OPENSSL_SYS_WINDOWS
/*
* On Windows there is no relevant limit to the magnitude of a fd value (see
* above). On *NIX the fd_set uses a bitmap and we must check the limit.
*/
if (fd >= FD_SETSIZE)
return 0;
-# endif
+#endif
if (want_read)
openssl_fdset(fd, &rpb->rfd);
@@ -118,11 +118,10 @@ int ossl_rio_poll_builder_add_fd(RIO_POLL_BUILDER *rpb, int fd,
pfds = rpb->pfd_heap;
}
- assert((rpb->pfd_heap != NULL && rpb->pfd_heap == pfds) ||
- (rpb->pfd_heap == NULL && rpb->pfds == pfds));
+ assert((rpb->pfd_heap != NULL && rpb->pfd_heap == pfds) || (rpb->pfd_heap == NULL && rpb->pfds == pfds));
assert(i <= rpb->pfd_num && rpb->pfd_num <= rpb->pfd_alloc);
- pfds[i].fd = fd;
- pfds[i].events = 0;
+ pfds[i].fd = fd;
+ pfds[i].events = 0;
if (want_read)
pfds[i].events |= POLLIN;
@@ -157,7 +156,7 @@ int ossl_rio_poll_builder_poll(RIO_POLL_BUILDER *rpb, OSSL_TIME deadline)
* now > deadline.
*/
timeout = ossl_time_to_timeval(ossl_time_subtract(deadline,
- ossl_time_now()));
+ ossl_time_now()));
rc = select(rpb->hwm_fd + 1, &rpb->rfd, &rpb->wfd, &rpb->efd, p_timeout);
} while (rc == -1 && get_last_socket_error_is_eintr());
@@ -169,10 +168,10 @@ int ossl_rio_poll_builder_poll(RIO_POLL_BUILDER *rpb, OSSL_TIME deadline)
timeout_ms = -1;
else
timeout_ms = ossl_time2ms(ossl_time_subtract(deadline,
- ossl_time_now()));
+ ossl_time_now()));
rc = poll(rpb->pfd_heap != NULL ? rpb->pfd_heap : rpb->pfds,
- rpb->pfd_num, timeout_ms);
+ rpb->pfd_num, timeout_ms);
} while (rc == -1 && get_last_socket_error_is_eintr());
#endif
diff --git a/crypto/openssl/ssl/rio/poll_builder.h b/crypto/openssl/ssl/rio/poll_builder.h
index 0a03f89df74d..1fe13eacbaba 100644
--- a/crypto/openssl/ssl/rio/poll_builder.h
+++ b/crypto/openssl/ssl/rio/poll_builder.h
@@ -7,10 +7,10 @@
* https://www.openssl.org/source/license.html
*/
#ifndef OSSL_POLL_BUILDER_H
-# define OSSL_POLL_BUILDER_H
+#define OSSL_POLL_BUILDER_H
-# include "poll_method.h"
-# include "internal/time.h"
+#include "poll_method.h"
+#include "internal/time.h"
/*
* RIO_POLL_BUILDER
@@ -23,19 +23,19 @@
* FDs.
*/
typedef struct rio_poll_builder_st {
-# if RIO_POLL_METHOD == RIO_POLL_METHOD_NONE
- int unused_dummy; /* make microsoft compiler happy */
-# elif RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT
- fd_set rfd, wfd, efd;
- int hwm_fd;
-# elif RIO_POLL_METHOD == RIO_POLL_METHOD_POLL
-# define RIO_NUM_STACK_PFDS 32
- struct pollfd *pfd_heap;
- struct pollfd pfds[RIO_NUM_STACK_PFDS];
- size_t pfd_num, pfd_alloc;
-# else
-# error Unknown RIO poll method
-# endif
+#if RIO_POLL_METHOD == RIO_POLL_METHOD_NONE
+ int unused_dummy; /* make microsoft compiler happy */
+#elif RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT
+ fd_set rfd, wfd, efd;
+ int hwm_fd;
+#elif RIO_POLL_METHOD == RIO_POLL_METHOD_POLL
+#define RIO_NUM_STACK_PFDS 32
+ struct pollfd *pfd_heap;
+ struct pollfd pfds[RIO_NUM_STACK_PFDS];
+ size_t pfd_num, pfd_alloc;
+#else
+#error Unknown RIO poll method
+#endif
} RIO_POLL_BUILDER;
/*
@@ -62,7 +62,7 @@ void ossl_rio_poll_builder_cleanup(RIO_POLL_BUILDER *rpb);
* Returns 1 on success and 0 on failure.
*/
int ossl_rio_poll_builder_add_fd(RIO_POLL_BUILDER *rpb, int fd,
- int want_read, int want_write);
+ int want_read, int want_write);
/*
* Polls the set of file descriptors added to a poll builder. deadline is a
diff --git a/crypto/openssl/ssl/rio/poll_immediate.c b/crypto/openssl/ssl/rio/poll_immediate.c
index 234ee81bdbb0..24b82f3a6a43 100644
--- a/crypto/openssl/ssl/rio/poll_immediate.c
+++ b/crypto/openssl/ssl/rio/poll_immediate.c
@@ -21,39 +21,39 @@
* accessing pollfd structures (see Github issue #24236). That interferes
* with our use of these names here. We simply undef them.
*/
-# undef revents
-# undef events
+#undef revents
+#undef events
#endif
#define ITEM_N(items, stride, n) \
- (*(SSL_POLL_ITEM *)((char *)(items) + (n)*(stride)))
+ (*(SSL_POLL_ITEM *)((char *)(items) + (n) * (stride)))
-#define FAIL_FROM(n) \
- do { \
- size_t j; \
- \
- for (j = (n); j < num_items; ++j) \
- ITEM_N(items, stride, j).revents = 0; \
- \
- ok = 0; \
- goto out; \
+#define FAIL_FROM(n) \
+ do { \
+ size_t j; \
+ \
+ for (j = (n); j < num_items; ++j) \
+ ITEM_N(items, stride, j).revents = 0; \
+ \
+ ok = 0; \
+ goto out; \
} while (0)
-#define FAIL_ITEM(idx) \
- do { \
- size_t idx_ = (idx); \
- \
- ITEM_N(items, stride, idx_).revents = SSL_POLL_EVENT_F; \
- ++result_count; \
- FAIL_FROM(idx_ + 1); \
+#define FAIL_ITEM(idx) \
+ do { \
+ size_t idx_ = (idx); \
+ \
+ ITEM_N(items, stride, idx_).revents = SSL_POLL_EVENT_F; \
+ ++result_count; \
+ FAIL_FROM(idx_ + 1); \
} while (0)
#ifndef OPENSSL_NO_QUIC
static int poll_translate_ssl_quic(SSL *ssl,
- QUIC_REACTOR_WAIT_CTX *wctx,
- RIO_POLL_BUILDER *rpb,
- uint64_t events,
- int *abort_blocking)
+ QUIC_REACTOR_WAIT_CTX *wctx,
+ RIO_POLL_BUILDER *rpb,
+ uint64_t events,
+ int *abort_blocking)
{
BIO_POLL_DESCRIPTOR rd, wd;
int fd1 = -1, fd2 = -1, fd_nfy = -1;
@@ -62,40 +62,40 @@ static int poll_translate_ssl_quic(SSL *ssl,
if (SSL_net_read_desired(ssl)) {
if (!SSL_get_rpoll_descriptor(ssl, &rd)) {
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll requires the network BIOs underlying "
- "a QUIC SSL object provide poll descriptors");
+ "SSL_poll requires the network BIOs underlying "
+ "a QUIC SSL object provide poll descriptors");
return 0;
}
if (rd.type != BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD) {
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll requires the poll descriptors of the "
- "network BIOs underlying a QUIC SSL object be "
- "of socket type");
+ "SSL_poll requires the poll descriptors of the "
+ "network BIOs underlying a QUIC SSL object be "
+ "of socket type");
return 0;
}
- fd1 = rd.value.fd;
+ fd1 = rd.value.fd;
fd1_r = 1;
}
if (SSL_net_write_desired(ssl)) {
if (!SSL_get_wpoll_descriptor(ssl, &wd)) {
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll requires the network BIOs underlying "
- "a QUIC SSL object provide poll descriptors");
+ "SSL_poll requires the network BIOs underlying "
+ "a QUIC SSL object provide poll descriptors");
return 0;
}
if (wd.type != BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD) {
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll requires the poll descriptors of the "
- "network BIOs underlying a QUIC SSL object be "
- "of socket type");
+ "SSL_poll requires the poll descriptors of the "
+ "network BIOs underlying a QUIC SSL object be "
+ "of socket type");
return 0;
}
- fd2 = wd.value.fd;
+ fd2 = wd.value.fd;
fd2_w = 1;
}
@@ -109,7 +109,7 @@ static int poll_translate_ssl_quic(SSL *ssl,
return 0;
if (fd2 != -1 && fd2_w)
- if (!ossl_rio_poll_builder_add_fd(rpb, fd2, /*r = */0, fd2_w))
+ if (!ossl_rio_poll_builder_add_fd(rpb, fd2, /*r = */ 0, fd2_w))
return 0;
/*
@@ -123,7 +123,7 @@ static int poll_translate_ssl_quic(SSL *ssl,
if (fd_nfy != -1) {
uint64_t revents = 0;
- if (!ossl_rio_poll_builder_add_fd(rpb, fd_nfy, /*r = */1, /*w = */0))
+ if (!ossl_rio_poll_builder_add_fd(rpb, fd_nfy, /*r = */ 1, /*w = */ 0))
return 0;
/* Tell QUIC domain we need to receive notifications. */
@@ -137,7 +137,7 @@ static int poll_translate_ssl_quic(SSL *ssl,
* we needed to block). We now need to do another readout, in which case
* blocking is to be aborted.
*/
- if (!ossl_quic_conn_poll_events(ssl, events, /*do_tick = */0, &revents)) {
+ if (!ossl_quic_conn_poll_events(ssl, events, /*do_tick = */ 0, &revents)) {
ossl_quic_leave_blocking_section(ssl, wctx);
return 0;
}
@@ -153,16 +153,16 @@ static int poll_translate_ssl_quic(SSL *ssl,
}
static void postpoll_translation_cleanup_ssl_quic(SSL *ssl,
- QUIC_REACTOR_WAIT_CTX *wctx)
+ QUIC_REACTOR_WAIT_CTX *wctx)
{
if (ossl_quic_get_notifier_fd(ssl) != -1)
ossl_quic_leave_blocking_section(ssl, wctx);
}
static void postpoll_translation_cleanup(SSL_POLL_ITEM *items,
- size_t num_items,
- size_t stride,
- QUIC_REACTOR_WAIT_CTX *wctx)
+ size_t num_items,
+ size_t stride,
+ QUIC_REACTOR_WAIT_CTX *wctx)
{
SSL_POLL_ITEM *item;
SSL *ssl;
@@ -178,13 +178,13 @@ static void postpoll_translation_cleanup(SSL_POLL_ITEM *items,
break;
switch (ssl->type) {
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
case SSL_TYPE_QUIC_LISTENER:
case SSL_TYPE_QUIC_CONNECTION:
case SSL_TYPE_QUIC_XSO:
postpoll_translation_cleanup_ssl_quic(ssl, wctx);
break;
-# endif
+#endif
default:
break;
}
@@ -196,13 +196,13 @@ static void postpoll_translation_cleanup(SSL_POLL_ITEM *items,
}
static int poll_translate(SSL_POLL_ITEM *items,
- size_t num_items,
- size_t stride,
- QUIC_REACTOR_WAIT_CTX *wctx,
- RIO_POLL_BUILDER *rpb,
- OSSL_TIME *p_earliest_wakeup_deadline,
- int *abort_blocking,
- size_t *p_result_count)
+ size_t num_items,
+ size_t stride,
+ QUIC_REACTOR_WAIT_CTX *wctx,
+ RIO_POLL_BUILDER *rpb,
+ OSSL_TIME *p_earliest_wakeup_deadline,
+ int *abort_blocking,
+ size_t *p_result_count)
{
int ok = 1;
SSL_POLL_ITEM *item;
@@ -224,12 +224,12 @@ static int poll_translate(SSL_POLL_ITEM *items,
break;
switch (ssl->type) {
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
case SSL_TYPE_QUIC_LISTENER:
case SSL_TYPE_QUIC_CONNECTION:
case SSL_TYPE_QUIC_XSO:
if (!poll_translate_ssl_quic(ssl, wctx, rpb, item->events,
- abort_blocking))
+ abort_blocking))
FAIL_ITEM(i);
if (*abort_blocking)
@@ -241,30 +241,31 @@ static int poll_translate(SSL_POLL_ITEM *items,
if (!is_infinite)
earliest_wakeup_deadline
= ossl_time_min(earliest_wakeup_deadline,
- ossl_time_add(ossl_time_now(),
- ossl_time_from_timeval(timeout)));
+ ossl_time_add(ossl_time_now(),
+ ossl_time_from_timeval(timeout)));
break;
-# endif
+#endif
default:
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll currently only supports QUIC SSL "
- "objects");
+ "SSL_poll currently only supports QUIC SSL "
+ "objects");
FAIL_ITEM(i);
}
break;
case BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD:
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll currently does not support polling "
- "sockets");
+ "SSL_poll currently does not support polling "
+ "sockets");
FAIL_ITEM(i);
default:
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll does not support unknown poll descriptor "
- "type %d", item->desc.type);
+ "SSL_poll does not support unknown poll descriptor "
+ "type %d",
+ item->desc.type);
FAIL_ITEM(i);
}
}
@@ -279,10 +280,10 @@ out:
}
static int poll_block(SSL_POLL_ITEM *items,
- size_t num_items,
- size_t stride,
- OSSL_TIME user_deadline,
- size_t *p_result_count)
+ size_t num_items,
+ size_t stride,
+ OSSL_TIME user_deadline,
+ size_t *p_result_count)
{
int ok = 0, abort_blocking = 0;
RIO_POLL_BUILDER rpb;
@@ -314,16 +315,16 @@ static int poll_block(SSL_POLL_ITEM *items,
ossl_rio_poll_builder_init(&rpb);
if (!poll_translate(items, num_items, stride, &wctx, &rpb,
- &earliest_wakeup_deadline,
- &abort_blocking,
- p_result_count))
+ &earliest_wakeup_deadline,
+ &abort_blocking,
+ p_result_count))
goto out;
if (abort_blocking)
goto out;
earliest_wakeup_deadline = ossl_time_min(earliest_wakeup_deadline,
- user_deadline);
+ user_deadline);
ok = ossl_rio_poll_builder_poll(&rpb, earliest_wakeup_deadline);
@@ -337,10 +338,10 @@ out:
#endif
static int poll_readout(SSL_POLL_ITEM *items,
- size_t num_items,
- size_t stride,
- int do_tick,
- size_t *p_result_count)
+ size_t num_items,
+ size_t stride,
+ int do_tick,
+ size_t *p_result_count)
{
int ok = 1;
size_t i, result_count = 0;
@@ -352,9 +353,9 @@ static int poll_readout(SSL_POLL_ITEM *items,
uint64_t revents;
for (i = 0; i < num_items; ++i) {
- item = &ITEM_N(items, stride, i);
+ item = &ITEM_N(items, stride, i);
#ifndef OPENSSL_NO_QUIC
- events = item->events;
+ events = item->events;
#endif
revents = 0;
@@ -382,20 +383,21 @@ static int poll_readout(SSL_POLL_ITEM *items,
default:
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll currently only supports QUIC SSL "
- "objects");
+ "SSL_poll currently only supports QUIC SSL "
+ "objects");
FAIL_ITEM(i);
}
break;
case BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD:
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll currently does not support polling "
- "sockets");
+ "SSL_poll currently does not support polling "
+ "sockets");
FAIL_ITEM(i);
default:
ERR_raise_data(ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED,
- "SSL_poll does not support unknown poll descriptor "
- "type %d", item->desc.type);
+ "SSL_poll does not support unknown poll descriptor "
+ "type %d",
+ item->desc.type);
FAIL_ITEM(i);
}
@@ -410,11 +412,11 @@ out:
}
int SSL_poll(SSL_POLL_ITEM *items,
- size_t num_items,
- size_t stride,
- const struct timeval *timeout,
- uint64_t flags,
- size_t *p_result_count)
+ size_t num_items,
+ size_t stride,
+ const struct timeval *timeout,
+ uint64_t flags,
+ size_t *p_result_count)
{
int ok = 1;
size_t result_count = 0;
@@ -436,7 +438,7 @@ int SSL_poll(SSL_POLL_ITEM *items,
deadline = ossl_time_zero();
else
deadline = ossl_time_add(ossl_time_now(),
- ossl_time_from_timeval(*timeout));
+ ossl_time_from_timeval(*timeout));
/* Loop until we have something to report. */
for (;;) {
diff --git a/crypto/openssl/ssl/rio/poll_method.h b/crypto/openssl/ssl/rio/poll_method.h
index d5af8663c23d..1e173fe4f8b5 100644
--- a/crypto/openssl/ssl/rio/poll_method.h
+++ b/crypto/openssl/ssl/rio/poll_method.h
@@ -7,23 +7,23 @@
* https://www.openssl.org/source/license.html
*/
#ifndef OSSL_POLL_METHOD_H
-# define OSSL_POLL_METHOD_H
+#define OSSL_POLL_METHOD_H
-# include "internal/common.h"
-# include "internal/sockets.h"
+#include "internal/common.h"
+#include "internal/sockets.h"
-# define RIO_POLL_METHOD_SELECT 1
-# define RIO_POLL_METHOD_POLL 2
-# define RIO_POLL_METHOD_NONE 3
+#define RIO_POLL_METHOD_SELECT 1
+#define RIO_POLL_METHOD_POLL 2
+#define RIO_POLL_METHOD_NONE 3
-# ifndef RIO_POLL_METHOD
-# if defined(OPENSSL_SYS_UEFI)
-# define RIO_POLL_METHOD RIO_POLL_METHOD_NONE
-# elif !defined(OPENSSL_SYS_WINDOWS) && defined(POLLIN)
-# define RIO_POLL_METHOD RIO_POLL_METHOD_POLL
-# else
-# define RIO_POLL_METHOD RIO_POLL_METHOD_SELECT
-# endif
-# endif
+#ifndef RIO_POLL_METHOD
+#if defined(OPENSSL_SYS_UEFI)
+#define RIO_POLL_METHOD RIO_POLL_METHOD_NONE
+#elif !defined(OPENSSL_SYS_WINDOWS) && defined(POLLIN)
+#define RIO_POLL_METHOD RIO_POLL_METHOD_POLL
+#else
+#define RIO_POLL_METHOD RIO_POLL_METHOD_SELECT
+#endif
+#endif
#endif
diff --git a/crypto/openssl/ssl/rio/rio_notifier.c b/crypto/openssl/ssl/rio/rio_notifier.c
index 6dbb2bdc4766..ea40790d627b 100644
--- a/crypto/openssl/ssl/rio/rio_notifier.c
+++ b/crypto/openssl/ssl/rio/rio_notifier.c
@@ -64,7 +64,7 @@ static ossl_inline int ensure_wsa_startup(void)
static int create_socket(int domain, int socktype, int protocol)
{
int fd;
-# if defined(OPENSSL_SYS_WINDOWS)
+#if defined(OPENSSL_SYS_WINDOWS)
static const int on = 1;
/*
@@ -76,47 +76,47 @@ static int create_socket(int domain, int socktype, int protocol)
* so we can get away with not including it for older platforms
*/
-# ifdef WSA_FLAG_NO_HANDLE_INHERIT
+#ifdef WSA_FLAG_NO_HANDLE_INHERIT
fd = (int)WSASocketA(domain, socktype, protocol, NULL, 0,
- WSA_FLAG_NO_HANDLE_INHERIT);
+ WSA_FLAG_NO_HANDLE_INHERIT);
/*
* Its also possible that someone is building a binary on a newer windows
* SDK, but running it on a runtime that doesn't support inheritance
- * supression. In that case the above will return INVALID_SOCKET, and
+ * suppression. In that case the above will return INVALID_SOCKET, and
* our response for those older platforms is to try the call again
* without the flag
*/
if (fd == INVALID_SOCKET)
fd = (int)WSASocketA(domain, socktype, protocol, NULL, 0, 0);
-# else
+#else
fd = (int)WSASocketA(domain, socktype, protocol, NULL, 0, 0);
-# endif
+#endif
if (fd == INVALID_SOCKET) {
int err = get_last_socket_error();
ERR_raise_data(ERR_LIB_SYS, err,
- "calling WSASocketA() = %d", err);
+ "calling WSASocketA() = %d", err);
return INVALID_SOCKET;
}
/* Prevent interference with the socket from other processes on Windows. */
if (setsockopt(fd, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (void *)&on, sizeof(on)) < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_socket_error(),
- "calling setsockopt()");
+ "calling setsockopt()");
BIO_closesocket(fd);
return INVALID_SOCKET;
}
-# else
-# if defined(SOCK_CLOEXEC)
+#else
+#if defined(SOCK_CLOEXEC)
socktype |= SOCK_CLOEXEC;
-# endif
+#endif
fd = BIO_socket(domain, socktype, protocol, 0);
if (fd == INVALID_SOCKET) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling BIO_socket()");
+ "calling BIO_socket()");
return INVALID_SOCKET;
}
@@ -126,11 +126,11 @@ static int create_socket(int domain, int socktype, int protocol)
*/
if (!set_cloexec(fd)) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling set_cloexec()");
+ "calling set_cloexec()");
BIO_closesocket(fd);
return INVALID_SOCKET;
}
-# endif
+#endif
return fd;
}
@@ -142,36 +142,36 @@ static int create_socket(int domain, int socktype, int protocol)
*
* Win32 does not support socketpair(2), and Win32 pipes are not compatible with
* Winsock select(2). This means our only means of making select(2) wakeable is
- * to artifically create a loopback TCP connection and send bytes to it.
+ * to artificially create a loopback TCP connection and send bytes to it.
*/
int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
{
int rc, lfd = -1, rfd = -1, wfd = -1;
- struct sockaddr_in sa = {0}, accept_sa;
+ struct sockaddr_in sa = { 0 }, accept_sa;
socklen_t sa_len = sizeof(sa), accept_sa_len = sizeof(accept_sa);
-# if defined(OPENSSL_SYS_WINDOWS)
+#if defined(OPENSSL_SYS_WINDOWS)
if (!ensure_wsa_startup()) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR,
- "Cannot start Windows sockets");
+ "Cannot start Windows sockets");
return 0;
}
-# endif
+#endif
/* Create a close-on-exec socket. */
lfd = create_socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (lfd == INVALID_SOCKET) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling create_socket()");
+ "calling create_socket()");
return 0;
}
/* Bind the socket to a random loopback port. */
- sa.sin_family = AF_INET;
- sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ sa.sin_family = AF_INET;
+ sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
rc = bind(lfd, (const struct sockaddr *)&sa, sizeof(sa));
if (rc < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling bind()");
+ "calling bind()");
goto err;
}
@@ -179,7 +179,7 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
rc = getsockname(lfd, (struct sockaddr *)&sa, &sa_len);
if (rc < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling getsockname()");
+ "calling getsockname()");
goto err;
}
@@ -187,7 +187,7 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
rc = listen(lfd, 1);
if (rc < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling listen()");
+ "calling listen()");
goto err;
}
@@ -195,7 +195,7 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
wfd = create_socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (wfd == INVALID_SOCKET) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling create_socket()");
+ "calling create_socket()");
goto err;
}
@@ -205,7 +205,7 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
*/
if (!BIO_set_tcp_ndelay(wfd, 1)) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling BIO_set_tcp_ndelay()");
+ "calling BIO_set_tcp_ndelay()");
goto err;
}
@@ -215,7 +215,7 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
rc = connect(wfd, (struct sockaddr *)&sa, sizeof(sa));
if (rc < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling connect()");
+ "calling connect()");
goto err;
}
@@ -225,14 +225,14 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
rfd = accept(lfd, (struct sockaddr *)&accept_sa, &accept_sa_len);
if (rfd == INVALID_SOCKET) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling accept()");
+ "calling accept()");
goto err;
}
rc = getsockname(wfd, (struct sockaddr *)&sa, &sa_len);
if (rc < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling getsockname()");
+ "calling getsockname()");
goto err;
}
@@ -246,20 +246,20 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
*/
if (accept_sa.sin_family != AF_INET || accept_sa.sin_port != sa.sin_port) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR,
- "connected address differs from accepted address");
+ "connected address differs from accepted address");
goto err;
}
/* Make both sides of the connection non-blocking. */
if (!BIO_socket_nbio(rfd, 1)) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling BIO_socket_nbio()");
+ "calling BIO_socket_nbio()");
goto err;
}
if (!BIO_socket_nbio(wfd, 1)) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling BIO_socket_nbio()");
+ "calling BIO_socket_nbio()");
goto err;
}
@@ -283,40 +283,40 @@ int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
{
int fds[2], domain = AF_INET, type = SOCK_STREAM;
-# if defined(SOCK_CLOEXEC)
+#if defined(SOCK_CLOEXEC)
type |= SOCK_CLOEXEC;
-# endif
-# if defined(SOCK_NONBLOCK)
+#endif
+#if defined(SOCK_NONBLOCK)
type |= SOCK_NONBLOCK;
-# endif
+#endif
-# if defined(OPENSSL_SYS_UNIX) && defined(AF_UNIX)
+#if defined(OPENSSL_SYS_UNIX) && defined(AF_UNIX)
domain = AF_UNIX;
-# endif
+#endif
if (socketpair(domain, type, 0, fds) < 0) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling socketpair()");
+ "calling socketpair()");
return 0;
}
if (!set_cloexec(fds[0]) || !set_cloexec(fds[1])) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling set_cloexec()");
+ "calling set_cloexec()");
goto err;
}
-# if !defined(SOCK_NONBLOCK)
+#if !defined(SOCK_NONBLOCK)
if (!BIO_socket_nbio(fds[0], 1) || !BIO_socket_nbio(fds[1], 1)) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling BIO_socket_nbio()");
+ "calling BIO_socket_nbio()");
goto err;
}
-# endif
+#endif
if (domain == AF_INET && !BIO_set_tcp_ndelay(fds[1], 1)) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling BIO_set_tcp_ndelay()");
+ "calling BIO_set_tcp_ndelay()");
goto err;
}
@@ -370,7 +370,7 @@ int ossl_rio_notifier_unsignal(RIO_NOTIFIER *nfy)
do
rd = readsocket(nfy->rfd, (void *)buf, sizeof(buf));
while (rd == sizeof(buf)
- || (rd < 0 && get_last_socket_error_is_eintr()));
+ || (rd < 0 && get_last_socket_error_is_eintr()));
if (rd < 0 && !BIO_fd_non_fatal_error(get_last_socket_error()))
return 0;
diff --git a/crypto/openssl/ssl/s3_enc.c b/crypto/openssl/ssl/s3_enc.c
index 159b9e60fea9..307f6dc9418b 100644
--- a/crypto/openssl/ssl/s3_enc.c
+++ b/crypto/openssl/ssl/s3_enc.c
@@ -28,7 +28,7 @@ static int ssl3_generate_key_block(SSL_CONNECTION *s, unsigned char *km, int num
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
#ifdef CHARSET_EBCDIC
- c = os_toascii[c]; /* 'A' in ASCII */
+ c = os_toascii[c]; /* 'A' in ASCII */
#endif
k = 0;
md5 = ssl_evp_md_fetch(sctx->libctx, NID_md5, sctx->propq);
@@ -52,13 +52,13 @@ static int ssl3_generate_key_block(SSL_CONNECTION *s, unsigned char *km, int num
if (!EVP_DigestInit_ex(s1, sha1, NULL)
|| !EVP_DigestUpdate(s1, buf, k)
|| !EVP_DigestUpdate(s1, s->session->master_key,
- s->session->master_key_length)
+ s->session->master_key_length)
|| !EVP_DigestUpdate(s1, s->s3.server_random, SSL3_RANDOM_SIZE)
|| !EVP_DigestUpdate(s1, s->s3.client_random, SSL3_RANDOM_SIZE)
|| !EVP_DigestFinal_ex(s1, smd, NULL)
|| !EVP_DigestInit_ex(m5, md5, NULL)
|| !EVP_DigestUpdate(m5, s->session->master_key,
- s->session->master_key_length)
+ s->session->master_key_length)
|| !EVP_DigestUpdate(m5, smd, SHA_DIGEST_LENGTH)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -80,7 +80,7 @@ static int ssl3_generate_key_block(SSL_CONNECTION *s, unsigned char *km, int num
}
OPENSSL_cleanse(smd, sizeof(smd));
ret = 1;
- err:
+err:
EVP_MD_CTX_free(m5);
EVP_MD_CTX_free(s1);
ssl_evp_md_free(md5);
@@ -122,8 +122,7 @@ int ssl3_change_cipher_state(SSL_CONNECTION *s, int which)
key_len = EVP_CIPHER_get_key_length(ciph);
iv_len = EVP_CIPHER_get_iv_length(ciph);
- if ((which == SSL3_CHANGE_CIPHER_CLIENT_WRITE) ||
- (which == SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ if ((which == SSL3_CHANGE_CIPHER_CLIENT_WRITE) || (which == SSL3_CHANGE_CIPHER_SERVER_READ)) {
mac_secret = &(p[0]);
n = md_len + md_len;
key = &(p[n]);
@@ -146,16 +145,16 @@ int ssl3_change_cipher_state(SSL_CONNECTION *s, int which)
}
if (!ssl_set_new_record_layer(s, SSL3_VERSION,
- direction,
- OSSL_RECORD_PROTECTION_LEVEL_APPLICATION,
- NULL, 0, key, key_len, iv, iv_len, mac_secret,
- md_len, ciph, 0, NID_undef, md, comp, NULL)) {
+ direction,
+ OSSL_RECORD_PROTECTION_LEVEL_APPLICATION,
+ NULL, 0, key, key_len, iv, iv_len, mac_secret,
+ md_len, ciph, 0, NID_undef, md, comp, NULL)) {
/* SSLfatal already called */
goto err;
}
return 1;
- err:
+err:
return 0;
}
@@ -172,7 +171,7 @@ int ssl3_setup_key_block(SSL_CONNECTION *s)
return 1;
if (!ssl_cipher_get_evp(SSL_CONNECTION_GET_CTX(s), s->session, &c, &hash,
- NULL, NULL, &comp, 0)) {
+ NULL, NULL, &comp, 0)) {
/* Error is already recorded */
SSLfatal_alert(s, SSL_AD_INTERNAL_ERROR);
return 0;
@@ -292,7 +291,7 @@ int ssl3_digest_cached_records(SSL_CONNECTION *s, int keep)
md = ssl_handshake_md(s);
if (md == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_NO_SUITABLE_DIGEST_ALGORITHM);
+ SSL_R_NO_SUITABLE_DIGEST_ALGORITHM);
return 0;
}
if (!EVP_DigestInit_ex(s->s3.handshake_dgst, md, NULL)
@@ -310,17 +309,17 @@ int ssl3_digest_cached_records(SSL_CONNECTION *s, int keep)
}
void ssl3_digest_master_key_set_params(const SSL_SESSION *session,
- OSSL_PARAM params[])
+ OSSL_PARAM params[])
{
int n = 0;
params[n++] = OSSL_PARAM_construct_octet_string(OSSL_DIGEST_PARAM_SSL3_MS,
- (void *)session->master_key,
- session->master_key_length);
+ (void *)session->master_key,
+ session->master_key_length);
params[n++] = OSSL_PARAM_construct_end();
}
size_t ssl3_final_finish_mac(SSL_CONNECTION *s, const char *sender, size_t len,
- unsigned char *p)
+ unsigned char *p)
{
int ret;
EVP_MD_CTX *ctx = NULL;
@@ -361,20 +360,20 @@ size_t ssl3_final_finish_mac(SSL_CONNECTION *s, const char *sender, size_t len,
if (EVP_DigestUpdate(ctx, sender, len) <= 0
|| EVP_MD_CTX_set_params(ctx, digest_cmd_params) <= 0
|| EVP_DigestFinal_ex(ctx, p, NULL) <= 0) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- ret = 0;
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ ret = 0;
}
}
- err:
+err:
EVP_MD_CTX_free(ctx);
return ret;
}
int ssl3_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
- unsigned char *p,
- size_t len, size_t *secret_size)
+ unsigned char *p,
+ size_t len, size_t *secret_size)
{
static const unsigned char *const salt[3] = {
#ifndef CHARSET_EBCDIC
@@ -400,12 +399,15 @@ int ssl3_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
for (i = 0; i < 3; i++) {
if (EVP_DigestInit_ex(ctx, SSL_CONNECTION_GET_CTX(s)->sha1, NULL) <= 0
|| EVP_DigestUpdate(ctx, salt[i],
- strlen((const char *)salt[i])) <= 0
+ strlen((const char *)salt[i]))
+ <= 0
|| EVP_DigestUpdate(ctx, p, len) <= 0
|| EVP_DigestUpdate(ctx, &(s->s3.client_random[0]),
- SSL3_RANDOM_SIZE) <= 0
+ SSL3_RANDOM_SIZE)
+ <= 0
|| EVP_DigestUpdate(ctx, &(s->s3.server_random[0]),
- SSL3_RANDOM_SIZE) <= 0
+ SSL3_RANDOM_SIZE)
+ <= 0
|| EVP_DigestFinal_ex(ctx, buf, &n) <= 0
|| EVP_DigestInit_ex(ctx, SSL_CONNECTION_GET_CTX(s)->md5, NULL) <= 0
|| EVP_DigestUpdate(ctx, p, len) <= 0
@@ -476,7 +478,7 @@ int ssl3_alert_code(int code)
case SSL_AD_USER_CANCELLED:
return SSL3_AD_HANDSHAKE_FAILURE;
case SSL_AD_NO_RENEGOTIATION:
- return -1; /* Don't send it :-) */
+ return -1; /* Don't send it :-) */
case SSL_AD_UNSUPPORTED_EXTENSION:
return SSL3_AD_HANDSHAKE_FAILURE;
case SSL_AD_CERTIFICATE_UNOBTAINABLE:
diff --git a/crypto/openssl/ssl/s3_lib.c b/crypto/openssl/ssl/s3_lib.c
index 14373cdfa029..213ec84b171d 100644
--- a/crypto/openssl/ssl/s3_lib.c
+++ b/crypto/openssl/ssl/s3_lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
* Copyright 2005 Nokia. All rights reserved.
*
@@ -23,9 +23,9 @@
#include "internal/cryptlib.h"
#include "internal/ssl_unwrap.h"
-#define TLS13_NUM_CIPHERS OSSL_NELEM(tls13_ciphers)
-#define SSL3_NUM_CIPHERS OSSL_NELEM(ssl3_ciphers)
-#define SSL3_NUM_SCSVS OSSL_NELEM(ssl3_scsvs)
+#define TLS13_NUM_CIPHERS OSSL_NELEM(tls13_ciphers)
+#define SSL3_NUM_CIPHERS OSSL_NELEM(ssl3_ciphers)
+#define SSL3_NUM_SCSVS OSSL_NELEM(ssl3_scsvs)
/* TLSv1.3 downgrade protection sentinel values */
const unsigned char tls11downgrade[] = {
@@ -46,13 +46,16 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_AES128GCM,
SSL_AEAD,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_HIGH,
SSL_HANDSHAKE_MAC_SHA256 | SSL_QUIC,
128,
128,
- }, {
+ },
+ {
1,
TLS1_3_RFC_AES_256_GCM_SHA384,
TLS1_3_RFC_AES_256_GCM_SHA384,
@@ -61,8 +64,10 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_AES256GCM,
SSL_AEAD,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_HIGH,
SSL_HANDSHAKE_MAC_SHA384 | SSL_QUIC,
256,
@@ -77,8 +82,10 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_CHACHA20POLY1305,
SSL_AEAD,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_HIGH,
SSL_HANDSHAKE_MAC_SHA256 | SSL_QUIC,
256,
@@ -93,13 +100,16 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_AES128CCM,
SSL_AEAD,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_NOT_DEFAULT | SSL_HIGH,
SSL_HANDSHAKE_MAC_SHA256,
128,
128,
- }, {
+ },
+ {
1,
TLS1_3_RFC_AES_128_CCM_8_SHA256,
TLS1_3_RFC_AES_128_CCM_8_SHA256,
@@ -108,8 +118,10 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_AES128CCM8,
SSL_AEAD,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_NOT_DEFAULT | SSL_MEDIUM,
SSL_HANDSHAKE_MAC_SHA256,
64, /* CCM8 uses a short tag, so we have a low security strength */
@@ -125,13 +137,16 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_eNULL,
SSL_SHA256,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_NOT_DEFAULT | SSL_STRONG_NONE,
SSL_HANDSHAKE_MAC_SHA256,
0,
256,
- }, {
+ },
+ {
1,
TLS1_3_RFC_SHA384_SHA384,
TLS1_3_RFC_SHA384_SHA384,
@@ -140,8 +155,10 @@ static SSL_CIPHER tls13_ciphers[] = {
SSL_aANY,
SSL_eNULL,
SSL_SHA384,
- TLS1_3_VERSION, TLS1_3_VERSION,
- 0, 0,
+ TLS1_3_VERSION,
+ TLS1_3_VERSION,
+ 0,
+ 0,
SSL_NOT_DEFAULT | SSL_STRONG_NONE,
SSL_HANDSHAKE_MAC_SHA384,
0,
@@ -163,3113 +180,3495 @@ static SSL_CIPHER tls13_ciphers[] = {
static SSL_CIPHER ssl3_ciphers[] = {
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- SSL3_TXT_RSA_NULL_MD5,
- SSL3_RFC_RSA_NULL_MD5,
- SSL3_CK_RSA_NULL_MD5,
- SSL_kRSA,
- SSL_aRSA,
- SSL_eNULL,
- SSL_MD5,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ SSL3_TXT_RSA_NULL_MD5,
+ SSL3_RFC_RSA_NULL_MD5,
+ SSL3_CK_RSA_NULL_MD5,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_MD5,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- SSL3_TXT_RSA_NULL_SHA,
- SSL3_RFC_RSA_NULL_SHA,
- SSL3_CK_RSA_NULL_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_eNULL,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ SSL3_TXT_RSA_NULL_SHA,
+ SSL3_RFC_RSA_NULL_SHA,
+ SSL3_CK_RSA_NULL_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
#endif
#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- SSL3_TXT_RSA_DES_192_CBC3_SHA,
- SSL3_RFC_RSA_DES_192_CBC3_SHA,
- SSL3_CK_RSA_DES_192_CBC3_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
+ 1,
+ SSL3_TXT_RSA_DES_192_CBC3_SHA,
+ SSL3_RFC_RSA_DES_192_CBC3_SHA,
+ SSL3_CK_RSA_DES_192_CBC3_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
{
- 1,
- SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA,
- SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA,
- SSL3_CK_DHE_DSS_DES_192_CBC3_SHA,
- SSL_kDHE,
- SSL_aDSS,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
+ 1,
+ SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA,
+ SSL3_RFC_DHE_DSS_DES_192_CBC3_SHA,
+ SSL3_CK_DHE_DSS_DES_192_CBC3_SHA,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
{
- 1,
- SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA,
- SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA,
- SSL3_CK_DHE_RSA_DES_192_CBC3_SHA,
- SSL_kDHE,
- SSL_aRSA,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
+ 1,
+ SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA,
+ SSL3_RFC_DHE_RSA_DES_192_CBC3_SHA,
+ SSL3_CK_DHE_RSA_DES_192_CBC3_SHA,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
{
- 1,
- SSL3_TXT_ADH_DES_192_CBC_SHA,
- SSL3_RFC_ADH_DES_192_CBC_SHA,
- SSL3_CK_ADH_DES_192_CBC_SHA,
- SSL_kDHE,
- SSL_aNULL,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
+ 1,
+ SSL3_TXT_ADH_DES_192_CBC_SHA,
+ SSL3_RFC_ADH_DES_192_CBC_SHA,
+ SSL3_CK_ADH_DES_192_CBC_SHA,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
#endif
{
- 1,
- TLS1_TXT_RSA_WITH_AES_128_SHA,
- TLS1_RFC_RSA_WITH_AES_128_SHA,
- TLS1_CK_RSA_WITH_AES_128_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_128_SHA,
+ TLS1_RFC_RSA_WITH_AES_128_SHA,
+ TLS1_CK_RSA_WITH_AES_128_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_AES_128_SHA,
- TLS1_RFC_DHE_DSS_WITH_AES_128_SHA,
- TLS1_CK_DHE_DSS_WITH_AES_128_SHA,
- SSL_kDHE,
- SSL_aDSS,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_AES_128_SHA,
+ TLS1_RFC_DHE_DSS_WITH_AES_128_SHA,
+ TLS1_CK_DHE_DSS_WITH_AES_128_SHA,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_128_SHA,
- TLS1_RFC_DHE_RSA_WITH_AES_128_SHA,
- TLS1_CK_DHE_RSA_WITH_AES_128_SHA,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_128_SHA,
+ TLS1_RFC_DHE_RSA_WITH_AES_128_SHA,
+ TLS1_CK_DHE_RSA_WITH_AES_128_SHA,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_AES_128_SHA,
- TLS1_RFC_ADH_WITH_AES_128_SHA,
- TLS1_CK_ADH_WITH_AES_128_SHA,
- SSL_kDHE,
- SSL_aNULL,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_AES_128_SHA,
+ TLS1_RFC_ADH_WITH_AES_128_SHA,
+ TLS1_CK_ADH_WITH_AES_128_SHA,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_256_SHA,
- TLS1_RFC_RSA_WITH_AES_256_SHA,
- TLS1_CK_RSA_WITH_AES_256_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_256_SHA,
+ TLS1_RFC_RSA_WITH_AES_256_SHA,
+ TLS1_CK_RSA_WITH_AES_256_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_AES_256_SHA,
- TLS1_RFC_DHE_DSS_WITH_AES_256_SHA,
- TLS1_CK_DHE_DSS_WITH_AES_256_SHA,
- SSL_kDHE,
- SSL_aDSS,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_AES_256_SHA,
+ TLS1_RFC_DHE_DSS_WITH_AES_256_SHA,
+ TLS1_CK_DHE_DSS_WITH_AES_256_SHA,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_256_SHA,
- TLS1_RFC_DHE_RSA_WITH_AES_256_SHA,
- TLS1_CK_DHE_RSA_WITH_AES_256_SHA,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_256_SHA,
+ TLS1_RFC_DHE_RSA_WITH_AES_256_SHA,
+ TLS1_CK_DHE_RSA_WITH_AES_256_SHA,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_AES_256_SHA,
- TLS1_RFC_ADH_WITH_AES_256_SHA,
- TLS1_CK_ADH_WITH_AES_256_SHA,
- SSL_kDHE,
- SSL_aNULL,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_AES_256_SHA,
+ TLS1_RFC_ADH_WITH_AES_256_SHA,
+ TLS1_CK_ADH_WITH_AES_256_SHA,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_RSA_WITH_NULL_SHA256,
- TLS1_RFC_RSA_WITH_NULL_SHA256,
- TLS1_CK_RSA_WITH_NULL_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_eNULL,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_NULL_SHA256,
+ TLS1_RFC_RSA_WITH_NULL_SHA256,
+ TLS1_CK_RSA_WITH_NULL_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
#endif
{
- 1,
- TLS1_TXT_RSA_WITH_AES_128_SHA256,
- TLS1_RFC_RSA_WITH_AES_128_SHA256,
- TLS1_CK_RSA_WITH_AES_128_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_128_SHA256,
+ TLS1_RFC_RSA_WITH_AES_128_SHA256,
+ TLS1_CK_RSA_WITH_AES_128_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_256_SHA256,
- TLS1_RFC_RSA_WITH_AES_256_SHA256,
- TLS1_CK_RSA_WITH_AES_256_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_256_SHA256,
+ TLS1_RFC_RSA_WITH_AES_256_SHA256,
+ TLS1_CK_RSA_WITH_AES_256_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256,
- TLS1_RFC_DHE_DSS_WITH_AES_128_SHA256,
- TLS1_CK_DHE_DSS_WITH_AES_128_SHA256,
- SSL_kDHE,
- SSL_aDSS,
- SSL_AES128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256,
+ TLS1_RFC_DHE_DSS_WITH_AES_128_SHA256,
+ TLS1_CK_DHE_DSS_WITH_AES_128_SHA256,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256,
- TLS1_RFC_DHE_RSA_WITH_AES_128_SHA256,
- TLS1_CK_DHE_RSA_WITH_AES_128_SHA256,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256,
+ TLS1_RFC_DHE_RSA_WITH_AES_128_SHA256,
+ TLS1_CK_DHE_RSA_WITH_AES_128_SHA256,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256,
- TLS1_RFC_DHE_DSS_WITH_AES_256_SHA256,
- TLS1_CK_DHE_DSS_WITH_AES_256_SHA256,
- SSL_kDHE,
- SSL_aDSS,
- SSL_AES256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256,
+ TLS1_RFC_DHE_DSS_WITH_AES_256_SHA256,
+ TLS1_CK_DHE_DSS_WITH_AES_256_SHA256,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_AES256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256,
- TLS1_RFC_DHE_RSA_WITH_AES_256_SHA256,
- TLS1_CK_DHE_RSA_WITH_AES_256_SHA256,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256,
+ TLS1_RFC_DHE_RSA_WITH_AES_256_SHA256,
+ TLS1_CK_DHE_RSA_WITH_AES_256_SHA256,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_AES_128_SHA256,
- TLS1_RFC_ADH_WITH_AES_128_SHA256,
- TLS1_CK_ADH_WITH_AES_128_SHA256,
- SSL_kDHE,
- SSL_aNULL,
- SSL_AES128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_AES_128_SHA256,
+ TLS1_RFC_ADH_WITH_AES_128_SHA256,
+ TLS1_CK_ADH_WITH_AES_128_SHA256,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_AES_256_SHA256,
- TLS1_RFC_ADH_WITH_AES_256_SHA256,
- TLS1_CK_ADH_WITH_AES_256_SHA256,
- SSL_kDHE,
- SSL_aNULL,
- SSL_AES256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_AES_256_SHA256,
+ TLS1_RFC_ADH_WITH_AES_256_SHA256,
+ TLS1_CK_ADH_WITH_AES_256_SHA256,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_AES256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_RSA_WITH_AES_128_GCM_SHA256,
- TLS1_CK_RSA_WITH_AES_128_GCM_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_RSA_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_RSA_WITH_AES_128_GCM_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_RSA_WITH_AES_256_GCM_SHA384,
- TLS1_CK_RSA_WITH_AES_256_GCM_SHA384,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_RSA_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_RSA_WITH_AES_256_GCM_SHA384,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_DHE_RSA_WITH_AES_128_GCM_SHA256,
- TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_DHE_RSA_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_DHE_RSA_WITH_AES_256_GCM_SHA384,
- TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_DHE_RSA_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_DHE_DSS_WITH_AES_128_GCM_SHA256,
- TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256,
- SSL_kDHE,
- SSL_aDSS,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_DHE_DSS_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_DHE_DSS_WITH_AES_256_GCM_SHA384,
- TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384,
- SSL_kDHE,
- SSL_aDSS,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_DHE_DSS_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_ADH_WITH_AES_128_GCM_SHA256,
- TLS1_CK_ADH_WITH_AES_128_GCM_SHA256,
- SSL_kDHE,
- SSL_aNULL,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_ADH_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_ADH_WITH_AES_128_GCM_SHA256,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_ADH_WITH_AES_256_GCM_SHA384,
- TLS1_CK_ADH_WITH_AES_256_GCM_SHA384,
- SSL_kDHE,
- SSL_aNULL,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_ADH_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_ADH_WITH_AES_256_GCM_SHA384,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_128_CCM,
- TLS1_RFC_RSA_WITH_AES_128_CCM,
- TLS1_CK_RSA_WITH_AES_128_CCM,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES128CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_128_CCM,
+ TLS1_RFC_RSA_WITH_AES_128_CCM,
+ TLS1_CK_RSA_WITH_AES_128_CCM,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES128CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_256_CCM,
- TLS1_RFC_RSA_WITH_AES_256_CCM,
- TLS1_CK_RSA_WITH_AES_256_CCM,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES256CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_256_CCM,
+ TLS1_RFC_RSA_WITH_AES_256_CCM,
+ TLS1_CK_RSA_WITH_AES_256_CCM,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES256CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_128_CCM,
- TLS1_RFC_DHE_RSA_WITH_AES_128_CCM,
- TLS1_CK_DHE_RSA_WITH_AES_128_CCM,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES128CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_128_CCM,
+ TLS1_RFC_DHE_RSA_WITH_AES_128_CCM,
+ TLS1_CK_DHE_RSA_WITH_AES_128_CCM,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES128CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_256_CCM,
- TLS1_RFC_DHE_RSA_WITH_AES_256_CCM,
- TLS1_CK_DHE_RSA_WITH_AES_256_CCM,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES256CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_256_CCM,
+ TLS1_RFC_DHE_RSA_WITH_AES_256_CCM,
+ TLS1_CK_DHE_RSA_WITH_AES_256_CCM,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES256CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_128_CCM_8,
- TLS1_RFC_RSA_WITH_AES_128_CCM_8,
- TLS1_CK_RSA_WITH_AES_128_CCM_8,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES128CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_128_CCM_8,
+ TLS1_RFC_RSA_WITH_AES_128_CCM_8,
+ TLS1_CK_RSA_WITH_AES_128_CCM_8,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES128CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_AES_256_CCM_8,
- TLS1_RFC_RSA_WITH_AES_256_CCM_8,
- TLS1_CK_RSA_WITH_AES_256_CCM_8,
- SSL_kRSA,
- SSL_aRSA,
- SSL_AES256CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_AES_256_CCM_8,
+ TLS1_RFC_RSA_WITH_AES_256_CCM_8,
+ TLS1_CK_RSA_WITH_AES_256_CCM_8,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_AES256CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_128_CCM_8,
- TLS1_RFC_DHE_RSA_WITH_AES_128_CCM_8,
- TLS1_CK_DHE_RSA_WITH_AES_128_CCM_8,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES128CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_128_CCM_8,
+ TLS1_RFC_DHE_RSA_WITH_AES_128_CCM_8,
+ TLS1_CK_DHE_RSA_WITH_AES_128_CCM_8,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES128CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_AES_256_CCM_8,
- TLS1_RFC_DHE_RSA_WITH_AES_256_CCM_8,
- TLS1_CK_DHE_RSA_WITH_AES_256_CCM_8,
- SSL_kDHE,
- SSL_aRSA,
- SSL_AES256CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_AES_256_CCM_8,
+ TLS1_RFC_DHE_RSA_WITH_AES_256_CCM_8,
+ TLS1_CK_DHE_RSA_WITH_AES_256_CCM_8,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_AES256CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_128_CCM,
- TLS1_RFC_PSK_WITH_AES_128_CCM,
- TLS1_CK_PSK_WITH_AES_128_CCM,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES128CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_128_CCM,
+ TLS1_RFC_PSK_WITH_AES_128_CCM,
+ TLS1_CK_PSK_WITH_AES_128_CCM,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES128CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_256_CCM,
- TLS1_RFC_PSK_WITH_AES_256_CCM,
- TLS1_CK_PSK_WITH_AES_256_CCM,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES256CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_256_CCM,
+ TLS1_RFC_PSK_WITH_AES_256_CCM,
+ TLS1_CK_PSK_WITH_AES_256_CCM,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES256CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_128_CCM,
- TLS1_RFC_DHE_PSK_WITH_AES_128_CCM,
- TLS1_CK_DHE_PSK_WITH_AES_128_CCM,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES128CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_128_CCM,
+ TLS1_RFC_DHE_PSK_WITH_AES_128_CCM,
+ TLS1_CK_DHE_PSK_WITH_AES_128_CCM,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES128CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_256_CCM,
- TLS1_RFC_DHE_PSK_WITH_AES_256_CCM,
- TLS1_CK_DHE_PSK_WITH_AES_256_CCM,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES256CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_256_CCM,
+ TLS1_RFC_DHE_PSK_WITH_AES_256_CCM,
+ TLS1_CK_DHE_PSK_WITH_AES_256_CCM,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES256CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_128_CCM_8,
- TLS1_RFC_PSK_WITH_AES_128_CCM_8,
- TLS1_CK_PSK_WITH_AES_128_CCM_8,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES128CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_128_CCM_8,
+ TLS1_RFC_PSK_WITH_AES_128_CCM_8,
+ TLS1_CK_PSK_WITH_AES_128_CCM_8,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES128CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_256_CCM_8,
- TLS1_RFC_PSK_WITH_AES_256_CCM_8,
- TLS1_CK_PSK_WITH_AES_256_CCM_8,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES256CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_256_CCM_8,
+ TLS1_RFC_PSK_WITH_AES_256_CCM_8,
+ TLS1_CK_PSK_WITH_AES_256_CCM_8,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES256CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_128_CCM_8,
- TLS1_RFC_DHE_PSK_WITH_AES_128_CCM_8,
- TLS1_CK_DHE_PSK_WITH_AES_128_CCM_8,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES128CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_128_CCM_8,
+ TLS1_RFC_DHE_PSK_WITH_AES_128_CCM_8,
+ TLS1_CK_DHE_PSK_WITH_AES_128_CCM_8,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES128CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_256_CCM_8,
- TLS1_RFC_DHE_PSK_WITH_AES_256_CCM_8,
- TLS1_CK_DHE_PSK_WITH_AES_256_CCM_8,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES256CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_256_CCM_8,
+ TLS1_RFC_DHE_PSK_WITH_AES_256_CCM_8,
+ TLS1_CK_DHE_PSK_WITH_AES_256_CCM_8,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES256CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES128CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES128CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES256CCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES256CCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM_8,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM_8,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM_8,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES128CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CCM_8,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CCM_8,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CCM_8,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES128CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM_8,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM_8,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES256CCM8,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 64, /* CCM8 uses a short tag, so we have a low security strength */
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CCM_8,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CCM_8,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES256CCM8,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 64, /* CCM8 uses a short tag, so we have a low security strength */
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA,
- TLS1_RFC_ECDHE_ECDSA_WITH_NULL_SHA,
- TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_eNULL,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA,
+ TLS1_RFC_ECDHE_ECDSA_WITH_NULL_SHA,
+ TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_eNULL,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
#endif
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA,
- TLS1_RFC_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA,
- TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_3DES,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA,
+ TLS1_RFC_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA,
+ TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_3DES,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES128,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES128,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES256,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES256,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA,
- TLS1_RFC_ECDHE_RSA_WITH_NULL_SHA,
- TLS1_CK_ECDHE_RSA_WITH_NULL_SHA,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_eNULL,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA,
+ TLS1_RFC_ECDHE_RSA_WITH_NULL_SHA,
+ TLS1_CK_ECDHE_RSA_WITH_NULL_SHA,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
#endif
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA,
- TLS1_RFC_ECDHE_RSA_WITH_DES_192_CBC3_SHA,
- TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_3DES,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA,
+ TLS1_RFC_ECDHE_RSA_WITH_DES_192_CBC3_SHA,
+ TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_3DES,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- TLS1_RFC_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+ TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA,
- TLS1_RFC_ECDHE_RSA_WITH_AES_256_CBC_SHA,
- TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_ECDHE_RSA_WITH_AES_256_CBC_SHA,
+ TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_ECDH_anon_WITH_NULL_SHA,
- TLS1_RFC_ECDH_anon_WITH_NULL_SHA,
- TLS1_CK_ECDH_anon_WITH_NULL_SHA,
- SSL_kECDHE,
- SSL_aNULL,
- SSL_eNULL,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_ECDH_anon_WITH_NULL_SHA,
+ TLS1_RFC_ECDH_anon_WITH_NULL_SHA,
+ TLS1_CK_ECDH_anon_WITH_NULL_SHA,
+ SSL_kECDHE,
+ SSL_aNULL,
+ SSL_eNULL,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
#endif
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA,
- TLS1_RFC_ECDH_anon_WITH_DES_192_CBC3_SHA,
- TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA,
- SSL_kECDHE,
- SSL_aNULL,
- SSL_3DES,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA,
+ TLS1_RFC_ECDH_anon_WITH_DES_192_CBC3_SHA,
+ TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA,
+ SSL_kECDHE,
+ SSL_aNULL,
+ SSL_3DES,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA,
- TLS1_RFC_ECDH_anon_WITH_AES_128_CBC_SHA,
- TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA,
- SSL_kECDHE,
- SSL_aNULL,
- SSL_AES128,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_ECDH_anon_WITH_AES_128_CBC_SHA,
+ TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA,
+ SSL_kECDHE,
+ SSL_aNULL,
+ SSL_AES128,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA,
- TLS1_RFC_ECDH_anon_WITH_AES_256_CBC_SHA,
- TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA,
- SSL_kECDHE,
- SSL_aNULL,
- SSL_AES256,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_ECDH_anon_WITH_AES_256_CBC_SHA,
+ TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA,
+ SSL_kECDHE,
+ SSL_aNULL,
+ SSL_AES256,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_SHA256,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_SHA256,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_SHA384,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES256,
- SSL_SHA384,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_SHA384,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES256,
+ SSL_SHA384,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256,
- TLS1_RFC_ECDHE_RSA_WITH_AES_128_SHA256,
- TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256,
+ TLS1_RFC_ECDHE_RSA_WITH_AES_128_SHA256,
+ TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384,
- TLS1_RFC_ECDHE_RSA_WITH_AES_256_SHA384,
- TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA384,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384,
+ TLS1_RFC_ECDHE_RSA_WITH_AES_256_SHA384,
+ TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA384,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
- TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
- TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
- TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_PSK_WITH_NULL_SHA,
- TLS1_RFC_PSK_WITH_NULL_SHA,
- TLS1_CK_PSK_WITH_NULL_SHA,
- SSL_kPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_NULL_SHA,
+ TLS1_RFC_PSK_WITH_NULL_SHA,
+ TLS1_CK_PSK_WITH_NULL_SHA,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_NULL_SHA,
- TLS1_RFC_DHE_PSK_WITH_NULL_SHA,
- TLS1_CK_DHE_PSK_WITH_NULL_SHA,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_NULL_SHA,
+ TLS1_RFC_DHE_PSK_WITH_NULL_SHA,
+ TLS1_CK_DHE_PSK_WITH_NULL_SHA,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_NULL_SHA,
- TLS1_RFC_RSA_PSK_WITH_NULL_SHA,
- TLS1_CK_RSA_PSK_WITH_NULL_SHA,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_eNULL,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_NULL_SHA,
+ TLS1_RFC_RSA_PSK_WITH_NULL_SHA,
+ TLS1_CK_RSA_PSK_WITH_NULL_SHA,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
#endif
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA,
- SSL_kPSK,
- SSL_aPSK,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_PSK_WITH_AES_128_CBC_SHA,
- TLS1_RFC_PSK_WITH_AES_128_CBC_SHA,
- TLS1_CK_PSK_WITH_AES_128_CBC_SHA,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_CK_PSK_WITH_AES_128_CBC_SHA,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_256_CBC_SHA,
- TLS1_RFC_PSK_WITH_AES_256_CBC_SHA,
- TLS1_CK_PSK_WITH_AES_256_CBC_SHA,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+ 1,
+ TLS1_TXT_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_CK_PSK_WITH_AES_256_CBC_SHA,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA,
- TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA,
- TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA,
- TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA,
- TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA,
- TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA,
- TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA,
- TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA,
- TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_PSK_WITH_AES_128_GCM_SHA256,
- TLS1_CK_PSK_WITH_AES_128_GCM_SHA256,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_PSK_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_PSK_WITH_AES_128_GCM_SHA256,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_PSK_WITH_AES_256_GCM_SHA384,
- TLS1_CK_PSK_WITH_AES_256_GCM_SHA384,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_PSK_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_PSK_WITH_AES_256_GCM_SHA384,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_DHE_PSK_WITH_AES_128_GCM_SHA256,
- TLS1_CK_DHE_PSK_WITH_AES_128_GCM_SHA256,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_DHE_PSK_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_DHE_PSK_WITH_AES_128_GCM_SHA256,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_DHE_PSK_WITH_AES_256_GCM_SHA384,
- TLS1_CK_DHE_PSK_WITH_AES_256_GCM_SHA384,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_DHE_PSK_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_DHE_PSK_WITH_AES_256_GCM_SHA384,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_AES_128_GCM_SHA256,
- TLS1_RFC_RSA_PSK_WITH_AES_128_GCM_SHA256,
- TLS1_CK_RSA_PSK_WITH_AES_128_GCM_SHA256,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_AES128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_AES_128_GCM_SHA256,
+ TLS1_RFC_RSA_PSK_WITH_AES_128_GCM_SHA256,
+ TLS1_CK_RSA_PSK_WITH_AES_128_GCM_SHA256,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_AES128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_AES_256_GCM_SHA384,
- TLS1_RFC_RSA_PSK_WITH_AES_256_GCM_SHA384,
- TLS1_CK_RSA_PSK_WITH_AES_256_GCM_SHA384,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_AES256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_AES_256_GCM_SHA384,
+ TLS1_RFC_RSA_PSK_WITH_AES_256_GCM_SHA384,
+ TLS1_CK_RSA_PSK_WITH_AES_256_GCM_SHA384,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_AES256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_RFC_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_CK_PSK_WITH_AES_128_CBC_SHA256,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_RFC_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_CK_PSK_WITH_AES_128_CBC_SHA256,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_RFC_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_CK_PSK_WITH_AES_256_CBC_SHA384,
- SSL_kPSK,
- SSL_aPSK,
- SSL_AES256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_RFC_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_CK_PSK_WITH_AES_256_CBC_SHA384,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_AES256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_PSK_WITH_NULL_SHA256,
- TLS1_RFC_PSK_WITH_NULL_SHA256,
- TLS1_CK_PSK_WITH_NULL_SHA256,
- SSL_kPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_NULL_SHA256,
+ TLS1_RFC_PSK_WITH_NULL_SHA256,
+ TLS1_CK_PSK_WITH_NULL_SHA256,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_NULL_SHA384,
- TLS1_RFC_PSK_WITH_NULL_SHA384,
- TLS1_CK_PSK_WITH_NULL_SHA384,
- SSL_kPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_NULL_SHA384,
+ TLS1_RFC_PSK_WITH_NULL_SHA384,
+ TLS1_CK_PSK_WITH_NULL_SHA384,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 0,
+ 0,
+ },
#endif
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA256,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_RFC_DHE_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_CK_DHE_PSK_WITH_AES_128_CBC_SHA256,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA384,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_AES256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_RFC_DHE_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_CK_DHE_PSK_WITH_AES_256_CBC_SHA384,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_AES256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_NULL_SHA256,
- TLS1_RFC_DHE_PSK_WITH_NULL_SHA256,
- TLS1_CK_DHE_PSK_WITH_NULL_SHA256,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_NULL_SHA256,
+ TLS1_RFC_DHE_PSK_WITH_NULL_SHA256,
+ TLS1_CK_DHE_PSK_WITH_NULL_SHA256,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_NULL_SHA384,
- TLS1_RFC_DHE_PSK_WITH_NULL_SHA384,
- TLS1_CK_DHE_PSK_WITH_NULL_SHA384,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_NULL_SHA384,
+ TLS1_RFC_DHE_PSK_WITH_NULL_SHA384,
+ TLS1_CK_DHE_PSK_WITH_NULL_SHA384,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 0,
+ 0,
+ },
#endif
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA256,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_RFC_RSA_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_CK_RSA_PSK_WITH_AES_128_CBC_SHA256,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA384,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_RFC_RSA_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_CK_RSA_PSK_WITH_AES_256_CBC_SHA384,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_NULL_SHA256,
- TLS1_RFC_RSA_PSK_WITH_NULL_SHA256,
- TLS1_CK_RSA_PSK_WITH_NULL_SHA256,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_eNULL,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_NULL_SHA256,
+ TLS1_RFC_RSA_PSK_WITH_NULL_SHA256,
+ TLS1_CK_RSA_PSK_WITH_NULL_SHA256,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_NULL_SHA384,
- TLS1_RFC_RSA_PSK_WITH_NULL_SHA384,
- TLS1_CK_RSA_PSK_WITH_NULL_SHA384,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_eNULL,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_NULL_SHA384,
+ TLS1_RFC_RSA_PSK_WITH_NULL_SHA384,
+ TLS1_CK_RSA_PSK_WITH_NULL_SHA384,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_eNULL,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 0,
+ 0,
+ },
#endif
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_3DES,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_3DES,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA,
- TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA,
- TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_AES128,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA,
+ TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_AES128,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA,
- TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA,
- TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_AES256,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA,
+ TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_AES256,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
- TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_AES128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_RFC_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
+ TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_AES128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
- TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_AES256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_RFC_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
+ TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_AES256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA,
- TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA,
- TLS1_CK_ECDHE_PSK_WITH_NULL_SHA,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA,
+ TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA,
+ TLS1_CK_ECDHE_PSK_WITH_NULL_SHA,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA256,
- TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA256,
- TLS1_CK_ECDHE_PSK_WITH_NULL_SHA256,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA256,
+ TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA256,
+ TLS1_CK_ECDHE_PSK_WITH_NULL_SHA256,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 0,
+ 0,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA384,
- TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA384,
- TLS1_CK_ECDHE_PSK_WITH_NULL_SHA384,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_eNULL,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_STRONG_NONE | SSL_FIPS,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 0,
- 0,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_NULL_SHA384,
+ TLS1_RFC_ECDHE_PSK_WITH_NULL_SHA384,
+ TLS1_CK_ECDHE_PSK_WITH_NULL_SHA384,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_eNULL,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_STRONG_NONE | SSL_FIPS,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 0,
+ 0,
+ },
#endif
-# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
- SSL_kSRP,
- SSL_aSRP,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
+ SSL_kSRP,
+ SSL_aSRP,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
- SSL_kSRP,
- SSL_aRSA,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
+ SSL_kSRP,
+ SSL_aRSA,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
- TLS1_RFC_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
- TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
- SSL_kSRP,
- SSL_aDSS,
- SSL_3DES,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 112,
- 168,
- },
-# endif
+ 1,
+ TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
+ TLS1_RFC_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
+ TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
+ SSL_kSRP,
+ SSL_aDSS,
+ SSL_3DES,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 112,
+ 168,
+ },
+#endif
{
- 1,
- TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA,
- TLS1_RFC_SRP_SHA_WITH_AES_128_CBC_SHA,
- TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA,
- SSL_kSRP,
- SSL_aSRP,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_SRP_SHA_WITH_AES_128_CBC_SHA,
+ TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA,
+ SSL_kSRP,
+ SSL_aSRP,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
- TLS1_RFC_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
- TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
- SSL_kSRP,
- SSL_aRSA,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
+ TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
+ SSL_kSRP,
+ SSL_aRSA,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
- TLS1_RFC_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
- TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
- SSL_kSRP,
- SSL_aDSS,
- SSL_AES128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
+ TLS1_RFC_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
+ TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
+ SSL_kSRP,
+ SSL_aDSS,
+ SSL_AES128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA,
- TLS1_RFC_SRP_SHA_WITH_AES_256_CBC_SHA,
- TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA,
- SSL_kSRP,
- SSL_aSRP,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_SRP_SHA_WITH_AES_256_CBC_SHA,
+ TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA,
+ SSL_kSRP,
+ SSL_aSRP,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
- TLS1_RFC_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
- TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
- SSL_kSRP,
- SSL_aRSA,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
+ TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
+ SSL_kSRP,
+ SSL_aRSA,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
- TLS1_RFC_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
- TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
- SSL_kSRP,
- SSL_aDSS,
- SSL_AES256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
+ TLS1_RFC_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
+ TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
+ SSL_kSRP,
+ SSL_aDSS,
+ SSL_AES256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305,
- TLS1_RFC_DHE_RSA_WITH_CHACHA20_POLY1305,
- TLS1_CK_DHE_RSA_WITH_CHACHA20_POLY1305,
- SSL_kDHE,
- SSL_aRSA,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_DHE_RSA_WITH_CHACHA20_POLY1305,
+ TLS1_CK_DHE_RSA_WITH_CHACHA20_POLY1305,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305,
- TLS1_RFC_ECDHE_RSA_WITH_CHACHA20_POLY1305,
- TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_ECDHE_RSA_WITH_CHACHA20_POLY1305,
+ TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
- TLS1_RFC_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
- TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
+ TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_CHACHA20_POLY1305,
- TLS1_RFC_PSK_WITH_CHACHA20_POLY1305,
- TLS1_CK_PSK_WITH_CHACHA20_POLY1305,
- SSL_kPSK,
- SSL_aPSK,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_CK_PSK_WITH_CHACHA20_POLY1305,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305,
- TLS1_RFC_ECDHE_PSK_WITH_CHACHA20_POLY1305,
- TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_ECDHE_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_CHACHA20_POLY1305,
- TLS1_RFC_DHE_PSK_WITH_CHACHA20_POLY1305,
- TLS1_CK_DHE_PSK_WITH_CHACHA20_POLY1305,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_DHE_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_CK_DHE_PSK_WITH_CHACHA20_POLY1305,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_CHACHA20_POLY1305,
- TLS1_RFC_RSA_PSK_WITH_CHACHA20_POLY1305,
- TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_CHACHA20POLY1305,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_RFC_RSA_PSK_WITH_CHACHA20_POLY1305,
+ TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_CHACHA20POLY1305,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kDHE,
- SSL_aDSS,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kDHE,
- SSL_aRSA,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kDHE,
- SSL_aNULL,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_CAMELLIA256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_CAMELLIA256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
- SSL_kDHE,
- SSL_aDSS,
- SSL_CAMELLIA256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_CAMELLIA256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- SSL_kDHE,
- SSL_aRSA,
- SSL_CAMELLIA256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_CAMELLIA256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA256,
- TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256,
- SSL_kDHE,
- SSL_aNULL,
- SSL_CAMELLIA256,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA256,
+ TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_CAMELLIA256,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_CAMELLIA256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_RFC_RSA_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_CAMELLIA256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
- SSL_kDHE,
- SSL_aDSS,
- SSL_CAMELLIA256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_RFC_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_CAMELLIA256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
- SSL_kDHE,
- SSL_aRSA,
- SSL_CAMELLIA256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_RFC_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_CAMELLIA256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA,
- TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA,
- SSL_kDHE,
- SSL_aNULL,
- SSL_CAMELLIA256,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_RFC_ADH_WITH_CAMELLIA_256_CBC_SHA,
+ TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_CAMELLIA256,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_CAMELLIA128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_RFC_RSA_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_CAMELLIA128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
- SSL_kDHE,
- SSL_aDSS,
- SSL_CAMELLIA128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_RFC_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_CAMELLIA128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
- SSL_kDHE,
- SSL_aRSA,
- SSL_CAMELLIA128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_RFC_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_CAMELLIA128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA,
- TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA,
- SSL_kDHE,
- SSL_aNULL,
- SSL_CAMELLIA128,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_RFC_ADH_WITH_CAMELLIA_128_CBC_SHA,
+ TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_CAMELLIA128,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_CAMELLIA256,
- SSL_SHA384,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_RFC_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_CK_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_CAMELLIA256,
+ SSL_SHA384,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_CAMELLIA256,
- SSL_SHA384,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_RFC_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_CK_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_CAMELLIA256,
+ SSL_SHA384,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kPSK,
- SSL_aPSK,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_RFC_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_CK_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- SSL_kPSK,
- SSL_aPSK,
- SSL_CAMELLIA256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_RFC_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_CK_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_CAMELLIA256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_RFC_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_CK_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_CAMELLIA256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_RFC_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_CK_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_CAMELLIA256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_RFC_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_CK_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_CAMELLIA256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_RFC_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_CK_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_CAMELLIA256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_CAMELLIA128,
- SSL_SHA256,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_CAMELLIA128,
+ SSL_SHA256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_CAMELLIA256,
- SSL_SHA384,
- TLS1_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_RFC_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ TLS1_CK_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_CAMELLIA256,
+ SSL_SHA384,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
#ifndef OPENSSL_NO_GOST
{
- 1,
- "GOST2001-GOST89-GOST89",
- "TLS_GOSTR341001_WITH_28147_CNT_IMIT",
- 0x3000081,
- SSL_kGOST,
- SSL_aGOST01,
- SSL_eGOST2814789CNT,
- SSL_GOST89MAC,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_GOST94 | TLS1_PRF_GOST94 | TLS1_STREAM_MAC,
- 256,
- 256,
- },
-# ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
+ 1,
+ "GOST2001-GOST89-GOST89",
+ "TLS_GOSTR341001_WITH_28147_CNT_IMIT",
+ 0x3000081,
+ SSL_kGOST,
+ SSL_aGOST01,
+ SSL_eGOST2814789CNT,
+ SSL_GOST89MAC,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_GOST94 | TLS1_PRF_GOST94 | TLS1_STREAM_MAC,
+ 256,
+ 256,
+ },
+#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- "GOST2001-NULL-GOST94",
- "TLS_GOSTR341001_WITH_NULL_GOSTR3411",
- 0x3000083,
- SSL_kGOST,
- SSL_aGOST01,
- SSL_eNULL,
- SSL_GOST94,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_STRONG_NONE,
- SSL_HANDSHAKE_MAC_GOST94 | TLS1_PRF_GOST94,
- 0,
- 0,
- },
-# endif
+ 1,
+ "GOST2001-NULL-GOST94",
+ "TLS_GOSTR341001_WITH_NULL_GOSTR3411",
+ 0x3000083,
+ SSL_kGOST,
+ SSL_aGOST01,
+ SSL_eNULL,
+ SSL_GOST94,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_STRONG_NONE,
+ SSL_HANDSHAKE_MAC_GOST94 | TLS1_PRF_GOST94,
+ 0,
+ 0,
+ },
+#endif
{
- 1,
- "IANA-GOST2012-GOST8912-GOST8912",
- NULL,
- 0x0300c102,
- SSL_kGOST,
- SSL_aGOST12 | SSL_aGOST01,
- SSL_eGOST2814789CNT12,
- SSL_GOST89MAC12,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_STREAM_MAC,
- 256,
- 256,
- },
+ 1,
+ "IANA-GOST2012-GOST8912-GOST8912",
+ NULL,
+ 0x0300c102,
+ SSL_kGOST,
+ SSL_aGOST12 | SSL_aGOST01,
+ SSL_eGOST2814789CNT12,
+ SSL_GOST89MAC12,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_STREAM_MAC,
+ 256,
+ 256,
+ },
{
- 1,
- "LEGACY-GOST2012-GOST8912-GOST8912",
- NULL,
- 0x0300ff85,
- SSL_kGOST,
- SSL_aGOST12 | SSL_aGOST01,
- SSL_eGOST2814789CNT12,
- SSL_GOST89MAC12,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_STREAM_MAC,
- 256,
- 256,
- },
-# ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
+ 1,
+ "LEGACY-GOST2012-GOST8912-GOST8912",
+ NULL,
+ 0x0300ff85,
+ SSL_kGOST,
+ SSL_aGOST12 | SSL_aGOST01,
+ SSL_eGOST2814789CNT12,
+ SSL_GOST89MAC12,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_STREAM_MAC,
+ 256,
+ 256,
+ },
+#ifndef OPENSSL_NO_INTEGRITY_ONLY_CIPHERS
{
- 1,
- "GOST2012-NULL-GOST12",
- NULL,
- 0x0300ff87,
- SSL_kGOST,
- SSL_aGOST12 | SSL_aGOST01,
- SSL_eNULL,
- SSL_GOST12_256,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_STRONG_NONE,
- SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_STREAM_MAC,
- 0,
- 0,
- },
-# endif
+ 1,
+ "GOST2012-NULL-GOST12",
+ NULL,
+ 0x0300ff87,
+ SSL_kGOST,
+ SSL_aGOST12 | SSL_aGOST01,
+ SSL_eNULL,
+ SSL_GOST12_256,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_STRONG_NONE,
+ SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_STREAM_MAC,
+ 0,
+ 0,
+ },
+#endif
{
- 1,
- "GOST2012-KUZNYECHIK-KUZNYECHIKOMAC",
- NULL,
- 0x0300C100,
- SSL_kGOST18,
- SSL_aGOST12,
- SSL_KUZNYECHIK,
- SSL_KUZNYECHIKOMAC,
- TLS1_2_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_TLSTREE,
- 256,
- 256,
- },
+ 1,
+ "GOST2012-KUZNYECHIK-KUZNYECHIKOMAC",
+ NULL,
+ 0x0300C100,
+ SSL_kGOST18,
+ SSL_aGOST12,
+ SSL_KUZNYECHIK,
+ SSL_KUZNYECHIKOMAC,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_TLSTREE,
+ 256,
+ 256,
+ },
{
- 1,
- "GOST2012-MAGMA-MAGMAOMAC",
- NULL,
- 0x0300C101,
- SSL_kGOST18,
- SSL_aGOST12,
- SSL_MAGMA,
- SSL_MAGMAOMAC,
- TLS1_2_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_HIGH,
- SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_TLSTREE,
- 256,
- 256,
- },
-#endif /* OPENSSL_NO_GOST */
+ 1,
+ "GOST2012-MAGMA-MAGMAOMAC",
+ NULL,
+ 0x0300C101,
+ SSL_kGOST18,
+ SSL_aGOST12,
+ SSL_MAGMA,
+ SSL_MAGMAOMAC,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_HIGH,
+ SSL_HANDSHAKE_MAC_GOST12_256 | TLS1_PRF_GOST12_256 | TLS1_TLSTREE,
+ 256,
+ 256,
+ },
+#endif /* OPENSSL_NO_GOST */
{
- 1,
- SSL3_TXT_RSA_IDEA_128_SHA,
- SSL3_RFC_RSA_IDEA_128_SHA,
- SSL3_CK_RSA_IDEA_128_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_IDEA,
- SSL_SHA1,
- SSL3_VERSION, TLS1_1_VERSION,
- DTLS1_BAD_VER, DTLS1_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ SSL3_TXT_RSA_IDEA_128_SHA,
+ SSL3_RFC_RSA_IDEA_128_SHA,
+ SSL3_CK_RSA_IDEA_128_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_IDEA,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_1_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_SEED_SHA,
- TLS1_RFC_RSA_WITH_SEED_SHA,
- TLS1_CK_RSA_WITH_SEED_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_SEED,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_SEED_SHA,
+ TLS1_RFC_RSA_WITH_SEED_SHA,
+ TLS1_CK_RSA_WITH_SEED_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_SEED,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_SEED_SHA,
- TLS1_RFC_DHE_DSS_WITH_SEED_SHA,
- TLS1_CK_DHE_DSS_WITH_SEED_SHA,
- SSL_kDHE,
- SSL_aDSS,
- SSL_SEED,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_SEED_SHA,
+ TLS1_RFC_DHE_DSS_WITH_SEED_SHA,
+ TLS1_CK_DHE_DSS_WITH_SEED_SHA,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_SEED,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_SEED_SHA,
- TLS1_RFC_DHE_RSA_WITH_SEED_SHA,
- TLS1_CK_DHE_RSA_WITH_SEED_SHA,
- SSL_kDHE,
- SSL_aRSA,
- SSL_SEED,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_SEED_SHA,
+ TLS1_RFC_DHE_RSA_WITH_SEED_SHA,
+ TLS1_CK_DHE_RSA_WITH_SEED_SHA,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_SEED,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ADH_WITH_SEED_SHA,
- TLS1_RFC_ADH_WITH_SEED_SHA,
- TLS1_CK_ADH_WITH_SEED_SHA,
- SSL_kDHE,
- SSL_aNULL,
- SSL_SEED,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- DTLS1_BAD_VER, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ADH_WITH_SEED_SHA,
+ TLS1_RFC_ADH_WITH_SEED_SHA,
+ TLS1_CK_ADH_WITH_SEED_SHA,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_SEED,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_BAD_VER,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 128,
+ 128,
+ },
#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
{
- 1,
- SSL3_TXT_RSA_RC4_128_MD5,
- SSL3_RFC_RSA_RC4_128_MD5,
- SSL3_CK_RSA_RC4_128_MD5,
- SSL_kRSA,
- SSL_aRSA,
- SSL_RC4,
- SSL_MD5,
- SSL3_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ SSL3_TXT_RSA_RC4_128_MD5,
+ SSL3_RFC_RSA_RC4_128_MD5,
+ SSL3_CK_RSA_RC4_128_MD5,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_RC4,
+ SSL_MD5,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- SSL3_TXT_RSA_RC4_128_SHA,
- SSL3_RFC_RSA_RC4_128_SHA,
- SSL3_CK_RSA_RC4_128_SHA,
- SSL_kRSA,
- SSL_aRSA,
- SSL_RC4,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ SSL3_TXT_RSA_RC4_128_SHA,
+ SSL3_RFC_RSA_RC4_128_SHA,
+ SSL3_CK_RSA_RC4_128_SHA,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_RC4,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- SSL3_TXT_ADH_RC4_128_MD5,
- SSL3_RFC_ADH_RC4_128_MD5,
- SSL3_CK_ADH_RC4_128_MD5,
- SSL_kDHE,
- SSL_aNULL,
- SSL_RC4,
- SSL_MD5,
- SSL3_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ SSL3_TXT_ADH_RC4_128_MD5,
+ SSL3_RFC_ADH_RC4_128_MD5,
+ SSL3_CK_ADH_RC4_128_MD5,
+ SSL_kDHE,
+ SSL_aNULL,
+ SSL_RC4,
+ SSL_MD5,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_PSK_WITH_RC4_128_SHA,
- TLS1_RFC_ECDHE_PSK_WITH_RC4_128_SHA,
- TLS1_CK_ECDHE_PSK_WITH_RC4_128_SHA,
- SSL_kECDHEPSK,
- SSL_aPSK,
- SSL_RC4,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_PSK_WITH_RC4_128_SHA,
+ TLS1_RFC_ECDHE_PSK_WITH_RC4_128_SHA,
+ TLS1_CK_ECDHE_PSK_WITH_RC4_128_SHA,
+ SSL_kECDHEPSK,
+ SSL_aPSK,
+ SSL_RC4,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA,
- TLS1_RFC_ECDH_anon_WITH_RC4_128_SHA,
- TLS1_CK_ECDH_anon_WITH_RC4_128_SHA,
- SSL_kECDHE,
- SSL_aNULL,
- SSL_RC4,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA,
+ TLS1_RFC_ECDH_anon_WITH_RC4_128_SHA,
+ TLS1_CK_ECDH_anon_WITH_RC4_128_SHA,
+ SSL_kECDHE,
+ SSL_aNULL,
+ SSL_RC4,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA,
- TLS1_RFC_ECDHE_ECDSA_WITH_RC4_128_SHA,
- TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_RC4,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA,
+ TLS1_RFC_ECDHE_ECDSA_WITH_RC4_128_SHA,
+ TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_RC4,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA,
- TLS1_RFC_ECDHE_RSA_WITH_RC4_128_SHA,
- TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_RC4,
- SSL_SHA1,
- TLS1_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA,
+ TLS1_RFC_ECDHE_RSA_WITH_RC4_128_SHA,
+ TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_RC4,
+ SSL_SHA1,
+ TLS1_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_RC4_128_SHA,
- TLS1_RFC_PSK_WITH_RC4_128_SHA,
- TLS1_CK_PSK_WITH_RC4_128_SHA,
- SSL_kPSK,
- SSL_aPSK,
- SSL_RC4,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_RC4_128_SHA,
+ TLS1_RFC_PSK_WITH_RC4_128_SHA,
+ TLS1_CK_PSK_WITH_RC4_128_SHA,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_RC4,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_RC4_128_SHA,
- TLS1_RFC_RSA_PSK_WITH_RC4_128_SHA,
- TLS1_CK_RSA_PSK_WITH_RC4_128_SHA,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_RC4,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_RC4_128_SHA,
+ TLS1_RFC_RSA_PSK_WITH_RC4_128_SHA,
+ TLS1_CK_RSA_PSK_WITH_RC4_128_SHA,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_RC4,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_RC4_128_SHA,
- TLS1_RFC_DHE_PSK_WITH_RC4_128_SHA,
- TLS1_CK_DHE_PSK_WITH_RC4_128_SHA,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_RC4,
- SSL_SHA1,
- SSL3_VERSION, TLS1_2_VERSION,
- 0, 0,
- SSL_NOT_DEFAULT | SSL_MEDIUM,
- SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
- 80,
- 128,
- },
-#endif /* OPENSSL_NO_WEAK_SSL_CIPHERS */
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_RC4_128_SHA,
+ TLS1_RFC_DHE_PSK_WITH_RC4_128_SHA,
+ TLS1_CK_DHE_PSK_WITH_RC4_128_SHA,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_RC4,
+ SSL_SHA1,
+ SSL3_VERSION,
+ TLS1_2_VERSION,
+ 0,
+ 0,
+ SSL_NOT_DEFAULT | SSL_MEDIUM,
+ SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
+ 80,
+ 128,
+ },
+#endif /* OPENSSL_NO_WEAK_SSL_CIPHERS */
{
- 1,
- TLS1_TXT_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_RSA_WITH_ARIA_128_GCM_SHA256,
- SSL_kRSA,
- SSL_aRSA,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_RSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_RSA_WITH_ARIA_128_GCM_SHA256,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_RSA_WITH_ARIA_256_GCM_SHA384,
- SSL_kRSA,
- SSL_aRSA,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_RSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_RSA_WITH_ARIA_256_GCM_SHA384,
+ SSL_kRSA,
+ SSL_aRSA,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
- SSL_kDHE,
- SSL_aRSA,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
- SSL_kDHE,
- SSL_aRSA,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
+ SSL_kDHE,
+ SSL_aRSA,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
- SSL_kDHE,
- SSL_aDSS,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
- SSL_kDHE,
- SSL_aDSS,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
+ SSL_kDHE,
+ SSL_aDSS,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
- SSL_kECDHE,
- SSL_aECDSA,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
+ SSL_kECDHE,
+ SSL_aECDSA,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
- SSL_kECDHE,
- SSL_aRSA,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
+ SSL_kECDHE,
+ SSL_aRSA,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_PSK_WITH_ARIA_128_GCM_SHA256,
- SSL_kPSK,
- SSL_aPSK,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_PSK_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_PSK_WITH_ARIA_128_GCM_SHA256,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_PSK_WITH_ARIA_256_GCM_SHA384,
- SSL_kPSK,
- SSL_aPSK,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_PSK_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_PSK_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_PSK_WITH_ARIA_256_GCM_SHA384,
+ SSL_kPSK,
+ SSL_aPSK,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
- SSL_kDHEPSK,
- SSL_aPSK,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
+ SSL_kDHEPSK,
+ SSL_aPSK,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS1_RFC_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS1_CK_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_ARIA128GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
- 128,
- 128,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
+ TLS1_RFC_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
+ TLS1_CK_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_ARIA128GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256,
+ 128,
+ 128,
+ },
{
- 1,
- TLS1_TXT_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS1_RFC_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS1_CK_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
- SSL_kRSAPSK,
- SSL_aRSA,
- SSL_ARIA256GCM,
- SSL_AEAD,
- TLS1_2_VERSION, TLS1_2_VERSION,
- DTLS1_2_VERSION, DTLS1_2_VERSION,
- SSL_NOT_DEFAULT | SSL_HIGH,
- SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
- 256,
- 256,
- },
+ 1,
+ TLS1_TXT_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
+ TLS1_RFC_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
+ TLS1_CK_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
+ SSL_kRSAPSK,
+ SSL_aRSA,
+ SSL_ARIA256GCM,
+ SSL_AEAD,
+ TLS1_2_VERSION,
+ TLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ DTLS1_2_VERSION,
+ SSL_NOT_DEFAULT | SSL_HIGH,
+ SSL_HANDSHAKE_MAC_SHA384 | TLS1_PRF_SHA384,
+ 256,
+ 256,
+ },
};
/*
@@ -3279,18 +3678,40 @@ static SSL_CIPHER ssl3_ciphers[] = {
*/
static SSL_CIPHER ssl3_scsvs[] = {
{
- 0,
- "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
- "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
- SSL3_CK_SCSV,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+ "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+ SSL3_CK_SCSV,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
},
{
- 0,
- "TLS_FALLBACK_SCSV",
- "TLS_FALLBACK_SCSV",
- SSL3_CK_FALLBACK_SCSV,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
+ "TLS_FALLBACK_SCSV",
+ "TLS_FALLBACK_SCSV",
+ SSL3_CK_FALLBACK_SCSV,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
},
};
@@ -3307,15 +3728,15 @@ static int cipher_compare(const void *a, const void *b)
void ssl_sort_cipher_list(void)
{
qsort(tls13_ciphers, TLS13_NUM_CIPHERS, sizeof(tls13_ciphers[0]),
- cipher_compare);
+ cipher_compare);
qsort(ssl3_ciphers, SSL3_NUM_CIPHERS, sizeof(ssl3_ciphers[0]),
- cipher_compare);
+ cipher_compare);
qsort(ssl3_scsvs, SSL3_NUM_SCSVS, sizeof(ssl3_scsvs[0]), cipher_compare);
}
static int sslcon_undefined_function_1(SSL_CONNECTION *sc, unsigned char *r,
- size_t s, const char *t, size_t u,
- const unsigned char *v, size_t w, int x)
+ size_t s, const char *t, size_t u,
+ const unsigned char *v, size_t w, int x)
{
(void)r;
(void)s;
@@ -3372,7 +3793,7 @@ int ssl3_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt, int htype)
/* Set the content type and 3 bytes for the message len */
if (!WPACKET_put_bytes_u8(pkt, htype)
- || !WPACKET_start_sub_packet_u24(pkt))
+ || !WPACKET_start_sub_packet_u24(pkt))
return 0;
return 1;
@@ -3555,50 +3976,46 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
ret = (int)(sc->s3.flags);
break;
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
- case SSL_CTRL_SET_TMP_DH:
- {
- EVP_PKEY *pkdh = NULL;
- if (parg == NULL) {
- ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
- return 0;
- }
- pkdh = ssl_dh_to_pkey(parg);
- if (pkdh == NULL) {
- ERR_raise(ERR_LIB_SSL, ERR_R_DH_LIB);
- return 0;
- }
- if (!SSL_set0_tmp_dh_pkey(s, pkdh)) {
- EVP_PKEY_free(pkdh);
- return 0;
- }
- return 1;
+ case SSL_CTRL_SET_TMP_DH: {
+ EVP_PKEY *pkdh = NULL;
+ if (parg == NULL) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
+ return 0;
}
- break;
- case SSL_CTRL_SET_TMP_DH_CB:
- {
- ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
- return ret;
+ pkdh = ssl_dh_to_pkey(parg);
+ if (pkdh == NULL) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_DH_LIB);
+ return 0;
+ }
+ if (!SSL_set0_tmp_dh_pkey(s, pkdh)) {
+ EVP_PKEY_free(pkdh);
+ return 0;
}
+ return 1;
+ } break;
+ case SSL_CTRL_SET_TMP_DH_CB: {
+ ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
+ return ret;
+ }
#endif
case SSL_CTRL_SET_DH_AUTO:
sc->cert->dh_tmp_auto = larg;
return 1;
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
- case SSL_CTRL_SET_TMP_ECDH:
- {
- if (parg == NULL) {
- ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
- return 0;
- }
- return ssl_set_tmp_ecdh_groups(&sc->ext.supportedgroups,
- &sc->ext.supportedgroups_len,
- &sc->ext.keyshares,
- &sc->ext.keyshares_len,
- &sc->ext.tuples,
- &sc->ext.tuples_len,
- parg);
+ case SSL_CTRL_SET_TMP_ECDH: {
+ if (parg == NULL) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
+ return 0;
}
-#endif /* !OPENSSL_NO_DEPRECATED_3_0 */
+ return ssl_set_tmp_ecdh_groups(&sc->ext.supportedgroups,
+ &sc->ext.supportedgroups_len,
+ &sc->ext.keyshares,
+ &sc->ext.keyshares_len,
+ &sc->ext.tuples,
+ &sc->ext.tuples_len,
+ parg);
+ }
+#endif /* !OPENSSL_NO_DEPRECATED_3_0 */
case SSL_CTRL_SET_TLSEXT_HOSTNAME:
/*
* This API is only used for a client to set what SNI it will request
@@ -3668,7 +4085,7 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
case SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP:
*(unsigned char **)parg = sc->ext.ocsp.resp;
if (sc->ext.ocsp.resp_len == 0
- || sc->ext.ocsp.resp_len > LONG_MAX)
+ || sc->ext.ocsp.resp_len > LONG_MAX)
return -1;
return (long)sc->ext.ocsp.resp_len;
@@ -3720,70 +4137,67 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
}
return ssl_cert_set_current(sc->cert, larg);
- case SSL_CTRL_GET_GROUPS:
- {
- uint16_t *clist;
- size_t clistlen;
+ case SSL_CTRL_GET_GROUPS: {
+ uint16_t *clist;
+ size_t clistlen;
- if (!sc->session)
- return 0;
- clist = sc->ext.peer_supportedgroups;
- clistlen = sc->ext.peer_supportedgroups_len;
- if (parg) {
- size_t i;
- int *cptr = parg;
+ if (!sc->session)
+ return 0;
+ clist = sc->ext.peer_supportedgroups;
+ clistlen = sc->ext.peer_supportedgroups_len;
+ if (parg) {
+ size_t i;
+ int *cptr = parg;
- for (i = 0; i < clistlen; i++) {
- const TLS_GROUP_INFO *cinf
- = tls1_group_id_lookup(s->ctx, clist[i]);
+ for (i = 0; i < clistlen; i++) {
+ const TLS_GROUP_INFO *cinf
+ = tls1_group_id_lookup(s->ctx, clist[i]);
- if (cinf != NULL)
- cptr[i] = tls1_group_id2nid(cinf->group_id, 1);
- else
- cptr[i] = TLSEXT_nid_unknown | clist[i];
- }
+ if (cinf != NULL)
+ cptr[i] = tls1_group_id2nid(cinf->group_id, 1);
+ else
+ cptr[i] = TLSEXT_nid_unknown | clist[i];
}
- return (int)clistlen;
}
+ return (int)clistlen;
+ }
case SSL_CTRL_SET_GROUPS:
return tls1_set_groups(&sc->ext.supportedgroups,
- &sc->ext.supportedgroups_len,
- &sc->ext.keyshares,
- &sc->ext.keyshares_len,
- &sc->ext.tuples,
- &sc->ext.tuples_len,
- parg, larg);
+ &sc->ext.supportedgroups_len,
+ &sc->ext.keyshares,
+ &sc->ext.keyshares_len,
+ &sc->ext.tuples,
+ &sc->ext.tuples_len,
+ parg, larg);
case SSL_CTRL_SET_GROUPS_LIST:
return tls1_set_groups_list(s->ctx,
- &sc->ext.supportedgroups,
- &sc->ext.supportedgroups_len,
- &sc->ext.keyshares,
- &sc->ext.keyshares_len,
- &sc->ext.tuples,
- &sc->ext.tuples_len,
- parg);
+ &sc->ext.supportedgroups,
+ &sc->ext.supportedgroups_len,
+ &sc->ext.keyshares,
+ &sc->ext.keyshares_len,
+ &sc->ext.tuples,
+ &sc->ext.tuples_len,
+ parg);
- case SSL_CTRL_GET_SHARED_GROUP:
- {
- uint16_t id = tls1_shared_group(sc, larg);
+ case SSL_CTRL_GET_SHARED_GROUP: {
+ uint16_t id = tls1_shared_group(sc, larg);
- if (larg != -1)
- return tls1_group_id2nid(id, 1);
- return id;
- }
- case SSL_CTRL_GET_NEGOTIATED_GROUP:
- {
- unsigned int id;
+ if (larg != -1)
+ return tls1_group_id2nid(id, 1);
+ return id;
+ }
+ case SSL_CTRL_GET_NEGOTIATED_GROUP: {
+ unsigned int id;
- if (SSL_CONNECTION_IS_TLS13(sc) && sc->s3.did_kex)
- id = sc->s3.group_id;
- else
- id = (sc->session != NULL) ? sc->session->kex_group : NID_undef;
- ret = tls1_group_id2nid(id, 1);
- break;
- }
+ if (SSL_CONNECTION_IS_TLS13(sc) && sc->s3.did_kex)
+ id = sc->s3.group_id;
+ else
+ id = (sc->session != NULL) ? sc->session->kex_group : NID_undef;
+ ret = tls1_group_id2nid(id, 1);
+ break;
+ }
case SSL_CTRL_SET_SIGALGS:
return tls1_set_sigalgs(sc->cert, parg, larg, 0);
@@ -3796,15 +4210,14 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
case SSL_CTRL_SET_CLIENT_SIGALGS_LIST:
return tls1_set_sigalgs_list(s->ctx, sc->cert, parg, 1);
- case SSL_CTRL_GET_CLIENT_CERT_TYPES:
- {
- const unsigned char **pctype = parg;
- if (sc->server || !sc->s3.tmp.cert_req)
- return 0;
- if (pctype)
- *pctype = sc->s3.tmp.ctype;
- return sc->s3.tmp.ctype_len;
- }
+ case SSL_CTRL_GET_CLIENT_CERT_TYPES: {
+ const unsigned char **pctype = parg;
+ if (sc->server || !sc->s3.tmp.cert_req)
+ return 0;
+ if (pctype)
+ *pctype = sc->s3.tmp.ctype;
+ return sc->s3.tmp.ctype_len;
+ }
case SSL_CTRL_SET_CLIENT_CERT_TYPES:
if (!sc->server)
@@ -3872,23 +4285,21 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
return 1;
}
- case SSL_CTRL_GET_EC_POINT_FORMATS:
- {
- const unsigned char **pformat = parg;
+ case SSL_CTRL_GET_EC_POINT_FORMATS: {
+ const unsigned char **pformat = parg;
- if (sc->ext.peer_ecpointformats == NULL)
- return 0;
- *pformat = sc->ext.peer_ecpointformats;
- return (int)sc->ext.peer_ecpointformats_len;
- }
+ if (sc->ext.peer_ecpointformats == NULL)
+ return 0;
+ *pformat = sc->ext.peer_ecpointformats;
+ return (int)sc->ext.peer_ecpointformats_len;
+ }
- case SSL_CTRL_GET_IANA_GROUPS:
- {
- if (parg != NULL) {
- *(uint16_t **)parg = (uint16_t *)sc->ext.peer_supportedgroups;
- }
- return (int)sc->ext.peer_supportedgroups_len;
+ case SSL_CTRL_GET_IANA_GROUPS: {
+ if (parg != NULL) {
+ *(uint16_t **)parg = (uint16_t *)sc->ext.peer_supportedgroups;
}
+ return (int)sc->ext.peer_supportedgroups_len;
+ }
case SSL_CTRL_SET_MSG_CALLBACK_ARG:
sc->msg_callback_arg = parg;
@@ -3900,7 +4311,7 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
return ret;
}
-long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
+long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void))
{
int ret = 0;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -3917,7 +4328,7 @@ long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
#endif
case SSL_CTRL_SET_TLSEXT_DEBUG_CB:
sc->ext.debug_cb = (void (*)(SSL *, int, int,
- const unsigned char *, int, void *))fp;
+ const unsigned char *, int, void *))fp;
ret = 1;
break;
@@ -3939,88 +4350,80 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
{
switch (cmd) {
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
- case SSL_CTRL_SET_TMP_DH:
- {
- EVP_PKEY *pkdh = NULL;
- if (parg == NULL) {
- ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
- return 0;
- }
- pkdh = ssl_dh_to_pkey(parg);
- if (pkdh == NULL) {
- ERR_raise(ERR_LIB_SSL, ERR_R_DH_LIB);
- return 0;
- }
- if (!SSL_CTX_set0_tmp_dh_pkey(ctx, pkdh)) {
- EVP_PKEY_free(pkdh);
- return 0;
- }
- return 1;
+ case SSL_CTRL_SET_TMP_DH: {
+ EVP_PKEY *pkdh = NULL;
+ if (parg == NULL) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
+ return 0;
}
- case SSL_CTRL_SET_TMP_DH_CB:
- {
- ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
+ pkdh = ssl_dh_to_pkey(parg);
+ if (pkdh == NULL) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_DH_LIB);
+ return 0;
+ }
+ if (!SSL_CTX_set0_tmp_dh_pkey(ctx, pkdh)) {
+ EVP_PKEY_free(pkdh);
return 0;
}
+ return 1;
+ }
+ case SSL_CTRL_SET_TMP_DH_CB: {
+ ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
+ return 0;
+ }
#endif
case SSL_CTRL_SET_DH_AUTO:
ctx->cert->dh_tmp_auto = larg;
return 1;
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
- case SSL_CTRL_SET_TMP_ECDH:
- {
- if (parg == NULL) {
- ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
- return 0;
- }
- return ssl_set_tmp_ecdh_groups(&ctx->ext.supportedgroups,
- &ctx->ext.supportedgroups_len,
- &ctx->ext.keyshares,
- &ctx->ext.keyshares_len,
- &ctx->ext.tuples,
- &ctx->ext.tuples_len,
- parg);
+ case SSL_CTRL_SET_TMP_ECDH: {
+ if (parg == NULL) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_NULL_PARAMETER);
+ return 0;
}
-#endif /* !OPENSSL_NO_DEPRECATED_3_0 */
+ return ssl_set_tmp_ecdh_groups(&ctx->ext.supportedgroups,
+ &ctx->ext.supportedgroups_len,
+ &ctx->ext.keyshares,
+ &ctx->ext.keyshares_len,
+ &ctx->ext.tuples,
+ &ctx->ext.tuples_len,
+ parg);
+ }
+#endif /* !OPENSSL_NO_DEPRECATED_3_0 */
case SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG:
ctx->ext.servername_arg = parg;
break;
case SSL_CTRL_SET_TLSEXT_TICKET_KEYS:
- case SSL_CTRL_GET_TLSEXT_TICKET_KEYS:
- {
- unsigned char *keys = parg;
- long tick_keylen = (sizeof(ctx->ext.tick_key_name) +
- sizeof(ctx->ext.secure->tick_hmac_key) +
- sizeof(ctx->ext.secure->tick_aes_key));
- if (keys == NULL)
- return tick_keylen;
- if (larg != tick_keylen) {
- ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_TICKET_KEYS_LENGTH);
- return 0;
- }
- if (cmd == SSL_CTRL_SET_TLSEXT_TICKET_KEYS) {
- memcpy(ctx->ext.tick_key_name, keys,
- sizeof(ctx->ext.tick_key_name));
- memcpy(ctx->ext.secure->tick_hmac_key,
- keys + sizeof(ctx->ext.tick_key_name),
- sizeof(ctx->ext.secure->tick_hmac_key));
- memcpy(ctx->ext.secure->tick_aes_key,
- keys + sizeof(ctx->ext.tick_key_name) +
- sizeof(ctx->ext.secure->tick_hmac_key),
- sizeof(ctx->ext.secure->tick_aes_key));
- } else {
- memcpy(keys, ctx->ext.tick_key_name,
- sizeof(ctx->ext.tick_key_name));
- memcpy(keys + sizeof(ctx->ext.tick_key_name),
- ctx->ext.secure->tick_hmac_key,
- sizeof(ctx->ext.secure->tick_hmac_key));
- memcpy(keys + sizeof(ctx->ext.tick_key_name) +
- sizeof(ctx->ext.secure->tick_hmac_key),
- ctx->ext.secure->tick_aes_key,
- sizeof(ctx->ext.secure->tick_aes_key));
- }
- return 1;
+ case SSL_CTRL_GET_TLSEXT_TICKET_KEYS: {
+ unsigned char *keys = parg;
+ long tick_keylen = (sizeof(ctx->ext.tick_key_name) + sizeof(ctx->ext.secure->tick_hmac_key) + sizeof(ctx->ext.secure->tick_aes_key));
+ if (keys == NULL)
+ return tick_keylen;
+ if (larg != tick_keylen) {
+ ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_TICKET_KEYS_LENGTH);
+ return 0;
+ }
+ if (cmd == SSL_CTRL_SET_TLSEXT_TICKET_KEYS) {
+ memcpy(ctx->ext.tick_key_name, keys,
+ sizeof(ctx->ext.tick_key_name));
+ memcpy(ctx->ext.secure->tick_hmac_key,
+ keys + sizeof(ctx->ext.tick_key_name),
+ sizeof(ctx->ext.secure->tick_hmac_key));
+ memcpy(ctx->ext.secure->tick_aes_key,
+ keys + sizeof(ctx->ext.tick_key_name) + sizeof(ctx->ext.secure->tick_hmac_key),
+ sizeof(ctx->ext.secure->tick_aes_key));
+ } else {
+ memcpy(keys, ctx->ext.tick_key_name,
+ sizeof(ctx->ext.tick_key_name));
+ memcpy(keys + sizeof(ctx->ext.tick_key_name),
+ ctx->ext.secure->tick_hmac_key,
+ sizeof(ctx->ext.secure->tick_hmac_key));
+ memcpy(keys + sizeof(ctx->ext.tick_key_name) + sizeof(ctx->ext.secure->tick_hmac_key),
+ ctx->ext.secure->tick_aes_key,
+ sizeof(ctx->ext.secure->tick_aes_key));
}
+ return 1;
+ }
case SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE:
return ctx->ext.status_type;
@@ -4034,11 +4437,11 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
return 1;
case SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG:
- *(void**)parg = ctx->ext.status_arg;
+ *(void **)parg = ctx->ext.status_arg;
break;
case SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB:
- *(int (**)(SSL*, void*))parg = ctx->ext.status_cb;
+ *(int (**)(SSL *, void *))parg = ctx->ext.status_cb;
break;
#ifndef OPENSSL_NO_SRP
@@ -4058,8 +4461,7 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
}
break;
case SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD:
- ctx->srp_ctx.SRP_give_srp_client_pwd_callback =
- srp_password_from_info_cb;
+ ctx->srp_ctx.SRP_give_srp_client_pwd_callback = srp_password_from_info_cb;
if (ctx->srp_ctx.info != NULL)
OPENSSL_free(ctx->srp_ctx.info);
if ((ctx->srp_ctx.info = OPENSSL_strdup((char *)parg)) == NULL) {
@@ -4079,28 +4481,28 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
case SSL_CTRL_SET_GROUPS:
return tls1_set_groups(&ctx->ext.supportedgroups,
- &ctx->ext.supportedgroups_len,
- &ctx->ext.keyshares,
- &ctx->ext.keyshares_len,
- &ctx->ext.tuples,
- &ctx->ext.tuples_len,
- parg, larg);
+ &ctx->ext.supportedgroups_len,
+ &ctx->ext.keyshares,
+ &ctx->ext.keyshares_len,
+ &ctx->ext.tuples,
+ &ctx->ext.tuples_len,
+ parg, larg);
case SSL_CTRL_SET_GROUPS_LIST:
return tls1_set_groups_list(ctx,
- &ctx->ext.supportedgroups,
- &ctx->ext.supportedgroups_len,
- &ctx->ext.keyshares,
- &ctx->ext.keyshares_len,
- &ctx->ext.tuples,
- &ctx->ext.tuples_len,
- parg);
+ &ctx->ext.supportedgroups,
+ &ctx->ext.supportedgroups_len,
+ &ctx->ext.keyshares,
+ &ctx->ext.keyshares_len,
+ &ctx->ext.tuples,
+ &ctx->ext.tuples_len,
+ parg);
case SSL_CTRL_GET0_IMPLEMENTED_GROUPS:
return tls1_get0_implemented_groups(ctx->min_proto_version,
- ctx->max_proto_version,
- ctx->group_list,
- ctx->group_list_len, larg, parg);
+ ctx->max_proto_version,
+ ctx->group_list,
+ ctx->group_list_len, larg, parg);
case SSL_CTRL_SET_SIGALGS:
return tls1_set_sigalgs(ctx->cert, parg, larg, 0);
@@ -4186,15 +4588,13 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
return 1;
}
-long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
+long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void))
{
switch (cmd) {
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
- case SSL_CTRL_SET_TMP_DH_CB:
- {
- ctx->cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp;
- }
- break;
+ case SSL_CTRL_SET_TMP_DH_CB: {
+ ctx->cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp;
+ } break;
#endif
case SSL_CTRL_SET_TLSEXT_SERVERNAME_CB:
ctx->ext.servername_cb = (int (*)(SSL *, int *, void *))fp;
@@ -4204,12 +4604,12 @@ long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
ctx->ext.status_cb = (int (*)(SSL *, void *))fp;
break;
-# ifndef OPENSSL_NO_DEPRECATED_3_0
+#ifndef OPENSSL_NO_DEPRECATED_3_0
case SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB:
ctx->ext.ticket_key_cb = (int (*)(SSL *, unsigned char *,
- unsigned char *,
- EVP_CIPHER_CTX *,
- HMAC_CTX *, int))fp;
+ unsigned char *,
+ EVP_CIPHER_CTX *,
+ HMAC_CTX *, int))fp;
break;
#endif
@@ -4220,29 +4620,23 @@ long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
break;
case SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB:
ctx->srp_ctx.srp_Mask |= SSL_kSRP;
- ctx->srp_ctx.TLS_ext_srp_username_callback =
- (int (*)(SSL *, int *, void *))fp;
+ ctx->srp_ctx.TLS_ext_srp_username_callback = (int (*)(SSL *, int *, void *))fp;
break;
case SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB:
ctx->srp_ctx.srp_Mask |= SSL_kSRP;
- ctx->srp_ctx.SRP_give_srp_client_pwd_callback =
- (char *(*)(SSL *, void *))fp;
+ ctx->srp_ctx.SRP_give_srp_client_pwd_callback = (char *(*)(SSL *, void *))fp;
break;
#endif
- case SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB:
- {
- ctx->not_resumable_session_cb = (int (*)(SSL *, int))fp;
- }
- break;
+ case SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB: {
+ ctx->not_resumable_session_cb = (int (*)(SSL *, int))fp;
+ } break;
default:
return 0;
}
return 1;
}
-int SSL_CTX_set_tlsext_ticket_key_evp_cb
- (SSL_CTX *ctx, int (*fp)(SSL *, unsigned char *, unsigned char *,
- EVP_CIPHER_CTX *, EVP_MAC_CTX *, int))
+int SSL_CTX_set_tlsext_ticket_key_evp_cb(SSL_CTX *ctx, int (*fp)(SSL *, unsigned char *, unsigned char *, EVP_CIPHER_CTX *, EVP_MAC_CTX *, int))
{
ctx->ext.ticket_key_evp_cb = fp;
return 1;
@@ -4266,9 +4660,8 @@ const SSL_CIPHER *ssl3_get_cipher_by_id(uint32_t id)
const SSL_CIPHER *ssl3_get_cipher_by_std_name(const char *stdname)
{
SSL_CIPHER *tbl;
- SSL_CIPHER *alltabs[] = {tls13_ciphers, ssl3_ciphers, ssl3_scsvs};
- size_t i, j, tblsize[] = {TLS13_NUM_CIPHERS, SSL3_NUM_CIPHERS,
- SSL3_NUM_SCSVS};
+ SSL_CIPHER *alltabs[] = { tls13_ciphers, ssl3_ciphers, ssl3_scsvs };
+ size_t i, j, tblsize[] = { TLS13_NUM_CIPHERS, SSL3_NUM_CIPHERS, SSL3_NUM_SCSVS };
/* this is not efficient, necessary to optimize this? */
for (j = 0; j < OSSL_NELEM(alltabs); j++) {
@@ -4290,8 +4683,8 @@ const SSL_CIPHER *ssl3_get_cipher_by_std_name(const char *stdname)
const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p)
{
return ssl3_get_cipher_by_id(SSL3_CK_CIPHERSUITE_FLAG
- | ((uint32_t)p[0] << 8L)
- | (uint32_t)p[1]);
+ | ((uint32_t)p[0] << 8L)
+ | (uint32_t)p[1]);
}
int ssl3_put_cipher_by_char(const SSL_CIPHER *c, WPACKET *pkt, size_t *len)
@@ -4317,7 +4710,7 @@ int ssl3_put_cipher_by_char(const SSL_CIPHER *c, WPACKET *pkt, size_t *len)
* Returns the selected cipher or NULL when no common ciphers.
*/
const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *clnt,
- STACK_OF(SSL_CIPHER) *srvr)
+ STACK_OF(SSL_CIPHER) *srvr)
{
const SSL_CIPHER *c, *ret = NULL;
STACK_OF(SSL_CIPHER) *prio, *allow;
@@ -4334,20 +4727,22 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *cl
* pay with the price of sk_SSL_CIPHER_dup().
*/
- OSSL_TRACE_BEGIN(TLS_CIPHER) {
+ OSSL_TRACE_BEGIN(TLS_CIPHER)
+ {
BIO_printf(trc_out, "Server has %d from %p:\n",
- sk_SSL_CIPHER_num(srvr), (void *)srvr);
+ sk_SSL_CIPHER_num(srvr), (void *)srvr);
for (i = 0; i < sk_SSL_CIPHER_num(srvr); ++i) {
c = sk_SSL_CIPHER_value(srvr, i);
BIO_printf(trc_out, "%p:%s\n", (void *)c, c->name);
}
BIO_printf(trc_out, "Client sent %d from %p:\n",
- sk_SSL_CIPHER_num(clnt), (void *)clnt);
+ sk_SSL_CIPHER_num(clnt), (void *)clnt);
for (i = 0; i < sk_SSL_CIPHER_num(clnt); ++i) {
c = sk_SSL_CIPHER_value(clnt, i);
BIO_printf(trc_out, "%p:%s\n", (void *)c, c->name);
}
- } OSSL_TRACE_END(TLS_CIPHER);
+ }
+ OSSL_TRACE_END(TLS_CIPHER);
/* SUITE-B takes precedence over server preference and ChaCha priortiy */
if (tls1_suiteb(s)) {
@@ -4412,7 +4807,8 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *cl
* that.
*/
if (s->psk_server_callback != NULL) {
- for (j = 0; j < s->ssl_pkey_num && !ssl_has_cert(s, j); j++);
+ for (j = 0; j < s->ssl_pkey_num && !ssl_has_cert(s, j); j++)
+ ;
if (j == s->ssl_pkey_num) {
/* There are no certificates */
prefer_sha256 = 1;
@@ -4457,12 +4853,12 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *cl
/* with PSK there must be server callback set */
if ((alg_k & SSL_PSK) && s->psk_server_callback == NULL)
continue;
-#endif /* OPENSSL_NO_PSK */
+#endif /* OPENSSL_NO_PSK */
ok = (alg_k & mask_k) && (alg_a & mask_a);
OSSL_TRACE7(TLS_CIPHER,
- "%d:[%08lX:%08lX:%08lX:%08lX]%p:%s\n",
- ok, alg_k, alg_a, mask_k, mask_a, (void *)c, c->name);
+ "%d:[%08lX:%08lX:%08lX:%08lX]%p:%s\n",
+ ok, alg_k, alg_a, mask_k, mask_a, (void *)c, c->name);
/*
* if we are considering an ECC cipher suite that uses an ephemeral
@@ -4478,7 +4874,7 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *cl
if (ii >= 0) {
/* Check security callback permits this cipher */
if (!ssl_security(s, SSL_SECOP_CIPHER_SHARED,
- c->strength_bits, 0, (void *)c))
+ c->strength_bits, 0, (void *)c))
continue;
if ((alg_k & SSL_kECDHE) && (alg_a & SSL_aECDSA)
@@ -4491,10 +4887,10 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *cl
if (prefer_sha256) {
const SSL_CIPHER *tmp = sk_SSL_CIPHER_value(allow, ii);
const EVP_MD *md = ssl_md(SSL_CONNECTION_GET_CTX(s),
- tmp->algorithm2);
+ tmp->algorithm2);
if (md != NULL
- && EVP_MD_is_a(md, OSSL_DIGEST_NAME_SHA2_256)) {
+ && EVP_MD_is_a(md, OSSL_DIGEST_NAME_SHA2_256)) {
ret = tmp;
break;
}
@@ -4543,7 +4939,7 @@ int ssl3_get_req_cert_type(SSL_CONNECTION *s, WPACKET *pkt)
if (!WPACKET_put_bytes_u8(pkt, SSL3_CT_RSA_EPHEMERAL_DH))
return 0;
if (!(alg_a & SSL_aDSS)
- && !WPACKET_put_bytes_u8(pkt, SSL3_CT_DSS_EPHEMERAL_DH))
+ && !WPACKET_put_bytes_u8(pkt, SSL3_CT_DSS_EPHEMERAL_DH))
return 0;
}
if (!(alg_a & SSL_aRSA) && !WPACKET_put_bytes_u8(pkt, SSL3_CT_RSA_SIGN))
@@ -4556,8 +4952,8 @@ int ssl3_get_req_cert_type(SSL_CONNECTION *s, WPACKET *pkt)
* need to check for SSL_kECDH or SSL_kECDHE
*/
if (s->version >= TLS1_VERSION
- && !(alg_a & SSL_aECDSA)
- && !WPACKET_put_bytes_u8(pkt, TLS_CT_ECDSA_SIGN))
+ && !(alg_a & SSL_aECDSA)
+ && !WPACKET_put_bytes_u8(pkt, TLS_CT_ECDSA_SIGN))
return 0;
return 1;
@@ -4604,7 +5000,7 @@ int ssl3_shutdown(SSL *s)
* written, s->s3.alert_dispatch will be > 0
*/
if (sc->s3.alert_dispatch > 0)
- return -1; /* return WANT_WRITE */
+ return -1; /* return WANT_WRITE */
} else if (sc->s3.alert_dispatch > 0) {
/* resend it if not sent */
ret = s->method->ssl_dispatch_alert(s);
@@ -4623,12 +5019,12 @@ int ssl3_shutdown(SSL *s)
*/
s->method->ssl_read_bytes(s, 0, NULL, NULL, 0, 0, &readbytes);
if (!(sc->shutdown & SSL_RECEIVED_SHUTDOWN)) {
- return -1; /* return WANT_READ */
+ return -1; /* return WANT_READ */
}
}
if ((sc->shutdown == (SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN))
- && sc->s3.alert_dispatch == SSL_ALERT_DISPATCH_NONE)
+ && sc->s3.alert_dispatch == SSL_ALERT_DISPATCH_NONE)
return 1;
else
return 0;
@@ -4646,11 +5042,11 @@ int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written)
ssl3_renegotiate_check(s, 0);
return s->method->ssl_write_bytes(s, SSL3_RT_APPLICATION_DATA, buf, len,
- written);
+ written);
}
static int ssl3_read_internal(SSL *s, void *buf, size_t len, int peek,
- size_t *readbytes)
+ size_t *readbytes)
{
int ret;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s);
@@ -4662,9 +5058,8 @@ static int ssl3_read_internal(SSL *s, void *buf, size_t len, int peek,
if (sc->s3.renegotiate)
ssl3_renegotiate_check(s, 0);
sc->s3.in_read_app_data = 1;
- ret =
- s->method->ssl_read_bytes(s, SSL3_RT_APPLICATION_DATA, NULL, buf, len,
- peek, readbytes);
+ ret = s->method->ssl_read_bytes(s, SSL3_RT_APPLICATION_DATA, NULL, buf, len,
+ peek, readbytes);
if ((ret == -1) && (sc->s3.in_read_app_data == 2)) {
/*
* ssl3_read_bytes decided to call s->handshake_func, which called
@@ -4674,9 +5069,8 @@ static int ssl3_read_internal(SSL *s, void *buf, size_t len, int peek,
* application data again.
*/
ossl_statem_set_in_handshake(sc, 1);
- ret =
- s->method->ssl_read_bytes(s, SSL3_RT_APPLICATION_DATA, NULL, buf,
- len, peek, readbytes);
+ ret = s->method->ssl_read_bytes(s, SSL3_RT_APPLICATION_DATA, NULL, buf,
+ len, peek, readbytes);
ossl_statem_set_in_handshake(sc, 0);
} else
sc->s3.in_read_app_data = 0;
@@ -4772,8 +5166,8 @@ long ssl_get_algorithm2(SSL_CONNECTION *s)
* failure, 1 on success.
*/
int ssl_fill_hello_random(SSL_CONNECTION *s, int server,
- unsigned char *result, size_t len,
- DOWNGRADE dgrd)
+ unsigned char *result, size_t len,
+ DOWNGRADE dgrd)
{
int send_time = 0, ret;
@@ -4795,21 +5189,21 @@ int ssl_fill_hello_random(SSL_CONNECTION *s, int server,
if (ret > 0) {
if (!ossl_assert(sizeof(tls11downgrade) < len)
- || !ossl_assert(sizeof(tls12downgrade) < len))
- return 0;
+ || !ossl_assert(sizeof(tls12downgrade) < len))
+ return 0;
if (dgrd == DOWNGRADE_TO_1_2)
memcpy(result + len - sizeof(tls12downgrade), tls12downgrade,
- sizeof(tls12downgrade));
+ sizeof(tls12downgrade));
else if (dgrd == DOWNGRADE_TO_1_1)
memcpy(result + len - sizeof(tls11downgrade), tls11downgrade,
- sizeof(tls11downgrade));
+ sizeof(tls11downgrade));
}
return ret;
}
int ssl_generate_master_secret(SSL_CONNECTION *s, unsigned char *pms,
- size_t pmslen, int free_pms)
+ size_t pmslen, int free_pms)
{
unsigned long alg_k = s->s3.tmp.new_cipher->algorithm_mkey;
int ret = 0;
@@ -4845,8 +5239,8 @@ int ssl_generate_master_secret(SSL_CONNECTION *s, unsigned char *pms,
s->s3.tmp.psk = NULL;
s->s3.tmp.psklen = 0;
if (!ssl->method->ssl3_enc->generate_master_secret(s,
- s->session->master_key, pskpms, pskpmslen,
- &s->session->master_key_length)) {
+ s->session->master_key, pskpms, pskpmslen,
+ &s->session->master_key_length)) {
OPENSSL_clear_free(pskpms, pskpmslen);
/* SSLfatal() already called */
goto err;
@@ -4866,7 +5260,7 @@ int ssl_generate_master_secret(SSL_CONNECTION *s, unsigned char *pms,
}
ret = 1;
- err:
+err:
if (pms) {
if (free_pms)
OPENSSL_clear_free(pms, pmslen);
@@ -4899,7 +5293,7 @@ EVP_PKEY *ssl_generate_pkey(SSL_CONNECTION *s, EVP_PKEY *pm)
pkey = NULL;
}
- err:
+err:
EVP_PKEY_CTX_free(pctx);
return pkey;
}
@@ -4918,7 +5312,7 @@ EVP_PKEY *ssl_generate_pkey_group(SSL_CONNECTION *s, uint16_t id)
}
pctx = EVP_PKEY_CTX_new_from_name(sctx->libctx, ginf->algorithm,
- sctx->propq);
+ sctx->propq);
if (pctx == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
@@ -4938,7 +5332,7 @@ EVP_PKEY *ssl_generate_pkey_group(SSL_CONNECTION *s, uint16_t id)
pkey = NULL;
}
- err:
+err:
EVP_PKEY_CTX_free(pctx);
return pkey;
}
@@ -4957,7 +5351,7 @@ EVP_PKEY *ssl_generate_param_group(SSL_CONNECTION *s, uint16_t id)
goto err;
pctx = EVP_PKEY_CTX_new_from_name(sctx->libctx, ginf->algorithm,
- sctx->propq);
+ sctx->propq);
if (pctx == NULL)
goto err;
@@ -4972,7 +5366,7 @@ EVP_PKEY *ssl_generate_param_group(SSL_CONNECTION *s, uint16_t id)
pkey = NULL;
}
- err:
+err:
EVP_PKEY_CTX_free(pctx);
return pkey;
}
@@ -4990,8 +5384,8 @@ int ssl_gensecret(SSL_CONNECTION *s, unsigned char *pms, size_t pmslen)
*/
if (!s->hit)
rv = tls13_generate_secret(s, ssl_handshake_md(s), NULL, NULL,
- 0,
- (unsigned char *)&s->early_secret);
+ 0,
+ (unsigned char *)&s->early_secret);
else
rv = 1;
@@ -5026,7 +5420,7 @@ int ssl_derive(SSL_CONNECTION *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gense
goto err;
}
- if (SSL_CONNECTION_IS_TLS13(s) && EVP_PKEY_is_a(privkey, "DH"))
+ if (SSL_CONNECTION_IS_TLS13(s) && EVP_PKEY_is_a(privkey, "DH"))
EVP_PKEY_CTX_set_dh_pad(pctx, 1);
pms = OPENSSL_malloc(pmslen);
@@ -5054,7 +5448,7 @@ int ssl_derive(SSL_CONNECTION *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gense
rv = 1;
}
- err:
+err:
OPENSSL_clear_free(pms, pmslen);
EVP_PKEY_CTX_free(pctx);
return rv;
@@ -5062,8 +5456,8 @@ int ssl_derive(SSL_CONNECTION *s, EVP_PKEY *privkey, EVP_PKEY *pubkey, int gense
/* Decapsulate secrets for KEM */
int ssl_decapsulate(SSL_CONNECTION *s, EVP_PKEY *privkey,
- const unsigned char *ct, size_t ctlen,
- int gensecret)
+ const unsigned char *ct, size_t ctlen,
+ int gensecret)
{
int rv = 0;
unsigned char *pms = NULL;
@@ -5079,7 +5473,7 @@ int ssl_decapsulate(SSL_CONNECTION *s, EVP_PKEY *privkey,
pctx = EVP_PKEY_CTX_new_from_pkey(sctx->libctx, privkey, sctx->propq);
if (EVP_PKEY_decapsulate_init(pctx, NULL) <= 0
- || EVP_PKEY_decapsulate(pctx, NULL, &pmslen, ct, ctlen) <= 0) {
+ || EVP_PKEY_decapsulate(pctx, NULL, &pmslen, ct, ctlen) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -5106,15 +5500,15 @@ int ssl_decapsulate(SSL_CONNECTION *s, EVP_PKEY *privkey,
rv = 1;
}
- err:
+err:
OPENSSL_clear_free(pms, pmslen);
EVP_PKEY_CTX_free(pctx);
return rv;
}
int ssl_encapsulate(SSL_CONNECTION *s, EVP_PKEY *pubkey,
- unsigned char **ctp, size_t *ctlenp,
- int gensecret)
+ unsigned char **ctp, size_t *ctlenp,
+ int gensecret)
{
int rv = 0;
unsigned char *pms = NULL, *ct = NULL;
@@ -5130,8 +5524,8 @@ int ssl_encapsulate(SSL_CONNECTION *s, EVP_PKEY *pubkey,
pctx = EVP_PKEY_CTX_new_from_pkey(sctx->libctx, pubkey, sctx->propq);
if (EVP_PKEY_encapsulate_init(pctx, NULL) <= 0
- || EVP_PKEY_encapsulate(pctx, NULL, &ctlen, NULL, &pmslen) <= 0
- || pmslen == 0 || ctlen == 0) {
+ || EVP_PKEY_encapsulate(pctx, NULL, &ctlen, NULL, &pmslen) <= 0
+ || pmslen == 0 || ctlen == 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -5166,7 +5560,7 @@ int ssl_encapsulate(SSL_CONNECTION *s, EVP_PKEY *pubkey,
ct = NULL;
}
- err:
+err:
OPENSSL_clear_free(pms, pmslen);
OPENSSL_free(ct);
EVP_PKEY_CTX_free(pctx);
@@ -5189,7 +5583,8 @@ const char *SSL_get0_group_name(SSL *s)
return tls1_group_id2name(s->ctx, id);
}
-const char *SSL_group_to_name(SSL *s, int nid) {
+const char *SSL_group_to_name(SSL *s, int nid)
+{
int group_id = 0;
const TLS_GROUP_INFO *cinf = NULL;
diff --git a/crypto/openssl/ssl/s3_msg.c b/crypto/openssl/ssl/s3_msg.c
index 6505e0009812..ffe53bfe1818 100644
--- a/crypto/openssl/ssl/s3_msg.c
+++ b/crypto/openssl/ssl/s3_msg.c
@@ -79,7 +79,7 @@ int ssl3_send_alert(SSL_CONNECTION *s, int level, int desc)
int ssl3_dispatch_alert(SSL *s)
{
int i, j;
- void (*cb) (const SSL *ssl, int type, int val) = NULL;
+ void (*cb)(const SSL *ssl, int type, int val) = NULL;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
OSSL_RECORD_TEMPLATE templ;
@@ -96,9 +96,9 @@ int ssl3_dispatch_alert(SSL *s)
templ.version = (sc->version == TLS1_3_VERSION) ? TLS1_2_VERSION
: sc->version;
if (SSL_get_state(s) == TLS_ST_CW_CLNT_HELLO
- && !sc->renegotiate
- && TLS1_get_version(s) > TLS1_VERSION
- && sc->hello_retry_request == SSL_HRR_NONE) {
+ && !sc->renegotiate
+ && TLS1_get_version(s) > TLS1_VERSION
+ && sc->hello_retry_request == SSL_HRR_NONE) {
templ.version = TLS1_VERSION;
}
templ.buf = &sc->s3.send_alert[0];
@@ -116,7 +116,7 @@ int ssl3_dispatch_alert(SSL *s)
}
/* Retry what we've already got pending */
i = HANDLE_RLAYER_WRITE_RETURN(sc,
- sc->rlayer.wrlmethod->retry_write_records(sc->rlayer.wrl));
+ sc->rlayer.wrlmethod->retry_write_records(sc->rlayer.wrl));
if (i <= 0) {
/* Could be NBIO. Keep alert_dispatch as SSL_ALERT_DISPATCH_RETRY */
return -1;
@@ -127,7 +127,7 @@ int ssl3_dispatch_alert(SSL *s)
}
i = HANDLE_RLAYER_WRITE_RETURN(sc,
- sc->rlayer.wrlmethod->write_records(sc->rlayer.wrl, &templ, 1));
+ sc->rlayer.wrlmethod->write_records(sc->rlayer.wrl, &templ, 1));
if (i <= 0) {
sc->s3.alert_dispatch = SSL_ALERT_DISPATCH_RETRY;
@@ -144,7 +144,7 @@ int ssl3_dispatch_alert(SSL *s)
if (sc->msg_callback)
sc->msg_callback(1, sc->version, SSL3_RT_ALERT, sc->s3.send_alert,
- 2, s, sc->msg_callback_arg);
+ 2, s, sc->msg_callback_arg);
if (sc->info_callback != NULL)
cb = sc->info_callback;
diff --git a/crypto/openssl/ssl/ssl_asn1.c b/crypto/openssl/ssl/ssl_asn1.c
index 9964a8c1eeb3..13ab6490b9a7 100644
--- a/crypto/openssl/ssl/ssl_asn1.c
+++ b/crypto/openssl/ssl/ssl_asn1.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2005 Nokia. All rights reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -88,7 +88,7 @@ IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(SSL_SESSION_ASN1)
/* Initialise OCTET STRING from buffer and length */
static void ssl_session_oinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING *os,
- const unsigned char *data, size_t len)
+ const unsigned char *data, size_t len)
{
os->data = (unsigned char *)data; /* justified cast: data is not modified */
os->length = (int)len;
@@ -98,7 +98,7 @@ static void ssl_session_oinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING *os,
/* Initialise OCTET STRING from string */
static void ssl_session_sinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING *os,
- const char *data)
+ const char *data)
{
if (data != NULL)
ssl_session_oinit(dest, os, (const unsigned char *)data, strlen(data));
@@ -160,13 +160,13 @@ int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp)
#endif
ssl_session_oinit(&as.master_key, &master_key,
- in->master_key, in->master_key_length);
+ in->master_key, in->master_key_length);
ssl_session_oinit(&as.session_id, &session_id,
- in->session_id, in->session_id_length);
+ in->session_id, in->session_id_length);
ssl_session_oinit(&as.session_id_context, &sid_ctx,
- in->sid_ctx, in->sid_ctx_length);
+ in->sid_ctx, in->sid_ctx_length);
as.time = (int64_t)ossl_time_to_time_t(in->time);
as.timeout = (int64_t)ossl_time2seconds(in->timeout);
@@ -183,22 +183,22 @@ int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp)
}
ssl_session_sinit(&as.tlsext_hostname, &tlsext_hostname,
- in->ext.hostname);
+ in->ext.hostname);
if (in->ext.tick) {
ssl_session_oinit(&as.tlsext_tick, &tlsext_tick,
- in->ext.tick, in->ext.ticklen);
+ in->ext.tick, in->ext.ticklen);
}
if (in->ext.tick_lifetime_hint > 0)
as.tlsext_tick_lifetime_hint = in->ext.tick_lifetime_hint;
as.tlsext_tick_age_add = in->ext.tick_age_add;
#ifndef OPENSSL_NO_PSK
ssl_session_sinit(&as.psk_identity_hint, &psk_identity_hint,
- in->psk_identity_hint);
+ in->psk_identity_hint);
ssl_session_sinit(&as.psk_identity, &psk_identity, in->psk_identity);
-#endif /* OPENSSL_NO_PSK */
+#endif /* OPENSSL_NO_PSK */
#ifndef OPENSSL_NO_SRP
ssl_session_sinit(&as.srp_username, &srp_username, in->srp_username);
-#endif /* OPENSSL_NO_SRP */
+#endif /* OPENSSL_NO_SRP */
as.flags = in->flags;
as.max_early_data = in->ext.max_early_data;
@@ -207,7 +207,7 @@ int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp)
as.alpn_selected = NULL;
else
ssl_session_oinit(&as.alpn_selected, &alpn_selected,
- in->ext.alpn_selected, in->ext.alpn_selected_len);
+ in->ext.alpn_selected, in->ext.alpn_selected_len);
as.tlsext_max_fragment_len_mode = in->ext.max_fragment_len_mode;
@@ -215,7 +215,7 @@ int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp)
as.ticket_appdata = NULL;
else
ssl_session_oinit(&as.ticket_appdata, &ticket_appdata,
- in->ticket_appdata, in->ticket_appdata_len);
+ in->ticket_appdata, in->ticket_appdata_len);
ret = i2d_SSL_SESSION_ASN1(&as, pp);
OPENSSL_free(peer_rpk.data);
@@ -241,7 +241,7 @@ static int ssl_session_strndup(char **pdst, ASN1_OCTET_STRING *src)
/* Copy an OCTET STRING, return error if it exceeds maximum length */
static int ssl_session_memcpy(unsigned char *dst, size_t *pdstlen,
- ASN1_OCTET_STRING *src, size_t maxlen)
+ ASN1_OCTET_STRING *src, size_t maxlen)
{
if (src == NULL || src->length == 0) {
*pdstlen = 0;
@@ -255,13 +255,13 @@ static int ssl_session_memcpy(unsigned char *dst, size_t *pdstlen,
}
SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
- long length)
+ long length)
{
return d2i_SSL_SESSION_ex(a, pp, length, NULL, NULL);
}
SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
- long length, OSSL_LIB_CTX *libctx,
- const char *propq)
+ long length, OSSL_LIB_CTX *libctx,
+ const char *propq)
{
long id;
size_t tmpl;
@@ -304,7 +304,7 @@ SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
}
id = 0x03000000L | ((unsigned long)as->cipher->data[0] << 8L)
- | (unsigned long)as->cipher->data[1];
+ | (unsigned long)as->cipher->data[1];
ret->cipher_id = id;
ret->cipher = ssl3_get_cipher_by_id(id);
@@ -312,11 +312,11 @@ SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
goto err;
if (!ssl_session_memcpy(ret->session_id, &ret->session_id_length,
- as->session_id, SSL3_MAX_SSL_SESSION_ID_LENGTH))
+ as->session_id, SSL3_MAX_SSL_SESSION_ID_LENGTH))
goto err;
if (!ssl_session_memcpy(ret->master_key, &tmpl,
- as->master_key, TLS13_MAX_RESUMPTION_PSK_LENGTH))
+ as->master_key, TLS13_MAX_RESUMPTION_PSK_LENGTH))
goto err;
ret->master_key_length = tmpl;
@@ -350,7 +350,7 @@ SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
}
if (!ssl_session_memcpy(ret->sid_ctx, &ret->sid_ctx_length,
- as->session_id_context, SSL_MAX_SID_CTX_LENGTH))
+ as->session_id_context, SSL_MAX_SID_CTX_LENGTH))
goto err;
/* NB: this defaults to zero which is X509_V_OK */
@@ -391,7 +391,7 @@ SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
#ifndef OPENSSL_NO_SRP
if (!ssl_session_strndup(&ret->srp_username, as->srp_username))
goto err;
-#endif /* OPENSSL_NO_SRP */
+#endif /* OPENSSL_NO_SRP */
/* Flags defaults to zero which is fine */
ret->flags = (int32_t)as->flags;
ret->ext.max_early_data = as->max_early_data;
@@ -425,7 +425,7 @@ SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char **pp,
*pp = p;
return ret;
- err:
+err:
M_ASN1_free_of(as, SSL_SESSION_ASN1);
if ((a == NULL) || (*a != ret))
SSL_SESSION_free(ret);
diff --git a/crypto/openssl/ssl/ssl_cert.c b/crypto/openssl/ssl/ssl_cert.c
index 1be6cd7dbc99..adc5bb3d35c3 100644
--- a/crypto/openssl/ssl/ssl_cert.c
+++ b/crypto/openssl/ssl/ssl_cert.c
@@ -28,19 +28,18 @@
#include "internal/thread_once.h"
#include "internal/ssl_unwrap.h"
#ifndef OPENSSL_NO_POSIX_IO
-# include <sys/stat.h>
-# ifdef _WIN32
-# define stat _stat
-# endif
-# ifndef S_ISDIR
-# define S_ISDIR(a) (((a) & S_IFMT) == S_IFDIR)
-# endif
+#include <sys/stat.h>
+#ifdef _WIN32
+#define stat _stat
+#endif
+#ifndef S_ISDIR
+#define S_ISDIR(a) (((a) & S_IFMT) == S_IFDIR)
+#endif
#endif
-
static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,
- int op, int bits, int nid, void *other,
- void *ex);
+ int op, int bits, int nid, void *other,
+ void *ex);
static CRYPTO_ONCE ssl_x509_store_ctx_once = CRYPTO_ONCE_STATIC_INIT;
static volatile int ssl_x509_store_ctx_idx = -1;
@@ -48,8 +47,8 @@ static volatile int ssl_x509_store_ctx_idx = -1;
DEFINE_RUN_ONCE_STATIC(ssl_x509_store_ctx_init)
{
ssl_x509_store_ctx_idx = X509_STORE_CTX_get_ex_new_index(0,
- "SSL for verify callback",
- NULL, NULL, NULL);
+ "SSL for verify callback",
+ NULL, NULL, NULL);
return ssl_x509_store_ctx_idx >= 0;
}
@@ -171,22 +170,22 @@ CERT *ssl_cert_dup(CERT *cert)
/* Configured sigalgs copied across */
if (cert->conf_sigalgs) {
ret->conf_sigalgs = OPENSSL_malloc(cert->conf_sigalgslen
- * sizeof(*cert->conf_sigalgs));
+ * sizeof(*cert->conf_sigalgs));
if (ret->conf_sigalgs == NULL)
goto err;
memcpy(ret->conf_sigalgs, cert->conf_sigalgs,
- cert->conf_sigalgslen * sizeof(*cert->conf_sigalgs));
+ cert->conf_sigalgslen * sizeof(*cert->conf_sigalgs));
ret->conf_sigalgslen = cert->conf_sigalgslen;
} else
ret->conf_sigalgs = NULL;
if (cert->client_sigalgs) {
ret->client_sigalgs = OPENSSL_malloc(cert->client_sigalgslen
- * sizeof(*cert->client_sigalgs));
+ * sizeof(*cert->client_sigalgs));
if (ret->client_sigalgs == NULL)
goto err;
memcpy(ret->client_sigalgs, cert->client_sigalgs,
- cert->client_sigalgslen * sizeof(*cert->client_sigalgs));
+ cert->client_sigalgslen * sizeof(*cert->client_sigalgs));
ret->client_sigalgslen = cert->client_sigalgslen;
} else
ret->client_sigalgs = NULL;
@@ -230,7 +229,7 @@ CERT *ssl_cert_dup(CERT *cert)
#endif
return ret;
- err:
+err:
ssl_cert_free(ret);
return NULL;
@@ -412,7 +411,7 @@ int ssl_cert_set_current(CERT *c, long op)
return 0;
}
-void ssl_cert_set_cert_cb(CERT *c, int (*cb) (SSL *ssl, void *arg), void *arg)
+void ssl_cert_set_cert_cb(CERT *c, int (*cb)(SSL *ssl, void *arg), void *arg)
{
c->cert_cb = cb;
c->cert_cb_arg = arg;
@@ -525,7 +524,7 @@ static int ssl_verify_internal(SSL_CONNECTION *s, STACK_OF(X509) *sk, EVP_PKEY *
/* Move peername from the store context params to the SSL handle's */
X509_VERIFY_PARAM_move_peername(s->param, param);
- end:
+end:
X509_STORE_CTX_free(ctx);
return i;
}
@@ -555,7 +554,7 @@ int ssl_verify_cert_chain(SSL_CONNECTION *s, STACK_OF(X509) *sk)
}
static void set0_CA_list(STACK_OF(X509_NAME) **ca_list,
- STACK_OF(X509_NAME) *name_list)
+ STACK_OF(X509_NAME) *name_list)
{
sk_X509_NAME_pop_free(*ca_list, X509_NAME_free);
*ca_list = name_list;
@@ -580,7 +579,7 @@ STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk)
sk_X509_NAME_pop_free(ret, X509_NAME_free);
return NULL;
}
- sk_X509_NAME_push(ret, name); /* Cannot fail after reserve call */
+ sk_X509_NAME_push(ret, name); /* Cannot fail after reserve call */
}
return ret;
}
@@ -747,8 +746,8 @@ static unsigned long xname_hash(const X509_NAME *a)
}
STACK_OF(X509_NAME) *SSL_load_client_CA_file_ex(const char *file,
- OSSL_LIB_CTX *libctx,
- const char *propq)
+ OSSL_LIB_CTX *libctx,
+ const char *propq)
{
BIO *in = BIO_new(BIO_s_file());
X509 *x = NULL;
@@ -808,11 +807,11 @@ STACK_OF(X509_NAME) *SSL_load_client_CA_file_ex(const char *file,
}
goto done;
- err:
+err:
X509_NAME_free(xn);
sk_X509_NAME_pop_free(ret, X509_NAME_free);
ret = NULL;
- done:
+done:
/* restore the old libctx */
OSSL_LIB_CTX_set0_default(prev_libctx);
BIO_free(in);
@@ -829,8 +828,8 @@ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file)
}
static int add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
- const char *file,
- LHASH_OF(X509_NAME) *name_hash)
+ const char *file,
+ LHASH_OF(X509_NAME) *name_hash)
{
BIO *in;
X509 *x = NULL;
@@ -870,16 +869,16 @@ static int add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
ERR_clear_error();
goto done;
- err:
+err:
ret = 0;
- done:
+done:
BIO_free(in);
X509_free(x);
return ret;
}
int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
- const char *file)
+ const char *file)
{
X509_NAME *xn = NULL;
int ret = 1;
@@ -912,15 +911,15 @@ int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
ret = add_file_cert_subjects_to_stack(stack, file, name_hash);
goto done;
- err:
+err:
ret = 0;
- done:
+done:
lh_X509_NAME_free(name_hash);
return ret;
}
int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
- const char *dir)
+ const char *dir)
{
OPENSSL_DIR_CTX *d = NULL;
const char *filename;
@@ -980,14 +979,14 @@ int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
if (errno) {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "calling OPENSSL_dir_read(%s)", dir);
+ "calling OPENSSL_dir_read(%s)", dir);
ERR_raise(ERR_LIB_SSL, ERR_R_SYS_LIB);
goto err;
}
ret = 1;
- err:
+err:
if (d)
OPENSSL_DIR_end(&d);
lh_X509_NAME_free(name_hash);
@@ -996,7 +995,7 @@ int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
}
static int add_uris_recursive(STACK_OF(X509_NAME) *stack,
- const char *uri, int depth)
+ const char *uri, int depth)
{
int ok = 1;
OSSL_STORE_CTX *ctx = NULL;
@@ -1021,7 +1020,7 @@ static int add_uris_recursive(STACK_OF(X509_NAME) *stack,
*/
if (depth > 0)
ok = add_uris_recursive(stack, OSSL_STORE_INFO_get0_NAME(info),
- depth - 1);
+ depth - 1);
} else if (infotype == OSSL_STORE_INFO_CERT) {
if ((x = OSSL_STORE_INFO_get0_CERT(info)) == NULL
|| (xn = X509_get_subject_name(x)) == NULL
@@ -1043,19 +1042,19 @@ static int add_uris_recursive(STACK_OF(X509_NAME) *stack,
ERR_clear_error();
goto done;
- err:
+err:
ok = 0;
OSSL_STORE_INFO_free(info);
- done:
+done:
OSSL_STORE_close(ctx);
return ok;
}
int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
- const char *store)
+ const char *store)
{
- int (*oldcmp) (const X509_NAME *const *a, const X509_NAME *const *b)
+ int (*oldcmp)(const X509_NAME *const *a, const X509_NAME *const *b)
= sk_X509_NAME_set_cmp_func(stack, xname_sk_cmp);
int ret = add_uris_recursive(stack, store, 1);
@@ -1113,7 +1112,7 @@ int ssl_build_cert_chain(SSL_CONNECTION *s, SSL_CTX *ctx, int flags)
}
/* Set suite B flags if needed */
X509_STORE_CTX_set_flags(xs_ctx,
- c->cert_flags & SSL_CERT_FLAG_SUITEB_128_LOS);
+ c->cert_flags & SSL_CERT_FLAG_SUITEB_128_LOS);
i = X509_verify_cert(xs_ctx);
if (i <= 0 && flags & SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR) {
@@ -1127,7 +1126,7 @@ int ssl_build_cert_chain(SSL_CONNECTION *s, SSL_CTX *ctx, int flags)
if (i <= 0) {
i = X509_STORE_CTX_get_error(xs_ctx);
ERR_raise_data(ERR_LIB_SSL, SSL_R_CERTIFICATE_VERIFY_FAILED,
- "Verify error:%s", X509_verify_cert_error_string(i));
+ "Verify error:%s", X509_verify_cert_error_string(i));
goto err;
}
@@ -1162,7 +1161,7 @@ int ssl_build_cert_chain(SSL_CONNECTION *s, SSL_CTX *ctx, int flags)
cpk->chain = chain;
if (rv == 0)
rv = 1;
- err:
+err:
if (flags & SSL_BUILD_CHAIN_FLAG_CHECK)
X509_STORE_free(chain_store);
X509_STORE_CTX_free(xs_ctx);
@@ -1220,8 +1219,8 @@ int ssl_get_security_level_bits(const SSL *s, const SSL_CTX *ctx, int *levelp)
}
static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,
- int op, int bits, int nid, void *other,
- void *ex)
+ int op, int bits, int nid, void *other,
+ void *ex)
{
int level, minbits, pfs_mask;
const SSL_CONNECTION *sc;
@@ -1240,28 +1239,26 @@ static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,
switch (op) {
case SSL_SECOP_CIPHER_SUPPORTED:
case SSL_SECOP_CIPHER_SHARED:
- case SSL_SECOP_CIPHER_CHECK:
- {
- const SSL_CIPHER *c = other;
- /* No ciphers below security level */
- if (bits < minbits)
- return 0;
- /* No unauthenticated ciphersuites */
- if (c->algorithm_auth & SSL_aNULL)
- return 0;
- /* No MD5 mac ciphersuites */
- if (c->algorithm_mac & SSL_MD5)
- return 0;
- /* SHA1 HMAC is 160 bits of security */
- if (minbits > 160 && c->algorithm_mac & SSL_SHA1)
- return 0;
- /* Level 3: forward secure ciphersuites only */
- pfs_mask = SSL_kDHE | SSL_kECDHE | SSL_kDHEPSK | SSL_kECDHEPSK;
- if (level >= 3 && c->min_tls != TLS1_3_VERSION &&
- !(c->algorithm_mkey & pfs_mask))
- return 0;
- break;
- }
+ case SSL_SECOP_CIPHER_CHECK: {
+ const SSL_CIPHER *c = other;
+ /* No ciphers below security level */
+ if (bits < minbits)
+ return 0;
+ /* No unauthenticated ciphersuites */
+ if (c->algorithm_auth & SSL_aNULL)
+ return 0;
+ /* No MD5 mac ciphersuites */
+ if (c->algorithm_mac & SSL_MD5)
+ return 0;
+ /* SHA1 HMAC is 160 bits of security */
+ if (minbits > 160 && c->algorithm_mac & SSL_SHA1)
+ return 0;
+ /* Level 3: forward secure ciphersuites only */
+ pfs_mask = SSL_kDHE | SSL_kECDHE | SSL_kDHEPSK | SSL_kECDHEPSK;
+ if (level >= 3 && c->min_tls != TLS1_3_VERSION && !(c->algorithm_mkey & pfs_mask))
+ return 0;
+ break;
+ }
case SSL_SECOP_VERSION:
if ((sc = SSL_CONNECTION_FROM_CONST_SSL(s)) == NULL)
return 0;
@@ -1294,13 +1291,13 @@ static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,
int ssl_security(const SSL_CONNECTION *s, int op, int bits, int nid, void *other)
{
return s->cert->sec_cb(SSL_CONNECTION_GET_USER_SSL(s), NULL, op, bits, nid,
- other, s->cert->sec_ex);
+ other, s->cert->sec_ex);
}
int ssl_ctx_security(const SSL_CTX *ctx, int op, int bits, int nid, void *other)
{
return ctx->cert->sec_cb(NULL, ctx, op, bits, nid, other,
- ctx->cert->sec_ex);
+ ctx->cert->sec_ex);
}
int ssl_cert_lookup_by_nid(int nid, size_t *pidx, SSL_CTX *ctx)
@@ -1308,13 +1305,13 @@ int ssl_cert_lookup_by_nid(int nid, size_t *pidx, SSL_CTX *ctx)
size_t i;
for (i = 0; i < OSSL_NELEM(ssl_cert_info); i++) {
- if (ssl_cert_info[i].nid == nid) {
+ if (ssl_cert_info[i].pkey_nid == nid) {
*pidx = i;
return 1;
}
}
for (i = 0; i < ctx->sigalg_list_len; i++) {
- if (ctx->ssl_cert_info[i].nid == nid) {
+ if (ctx->ssl_cert_info[i].pkey_nid == nid) {
*pidx = SSL_PKEY_NUM + i;
return 1;
}
@@ -1330,8 +1327,8 @@ const SSL_CERT_LOOKUP *ssl_cert_lookup_by_pkey(const EVP_PKEY *pk, size_t *pidx,
for (i = 0; i < OSSL_NELEM(ssl_cert_info); i++) {
const SSL_CERT_LOOKUP *tmp_lu = &ssl_cert_info[i];
- if (EVP_PKEY_is_a(pk, OBJ_nid2sn(tmp_lu->nid))
- || EVP_PKEY_is_a(pk, OBJ_nid2ln(tmp_lu->nid))) {
+ if (EVP_PKEY_is_a(pk, OBJ_nid2sn(tmp_lu->pkey_nid))
+ || EVP_PKEY_is_a(pk, OBJ_nid2ln(tmp_lu->pkey_nid))) {
if (pidx != NULL)
*pidx = i;
return tmp_lu;
@@ -1341,8 +1338,8 @@ const SSL_CERT_LOOKUP *ssl_cert_lookup_by_pkey(const EVP_PKEY *pk, size_t *pidx,
for (i = 0; i < ctx->sigalg_list_len; i++) {
SSL_CERT_LOOKUP *tmp_lu = &(ctx->ssl_cert_info[i]);
- if (EVP_PKEY_is_a(pk, OBJ_nid2sn(tmp_lu->nid))
- || EVP_PKEY_is_a(pk, OBJ_nid2ln(tmp_lu->nid))) {
+ if (EVP_PKEY_is_a(pk, OBJ_nid2sn(tmp_lu->pkey_nid))
+ || EVP_PKEY_is_a(pk, OBJ_nid2ln(tmp_lu->pkey_nid))) {
if (pidx != NULL)
*pidx = SSL_PKEY_NUM + i;
return &ctx->ssl_cert_info[i];
diff --git a/crypto/openssl/ssl/ssl_cert_comp.c b/crypto/openssl/ssl/ssl_cert_comp.c
index 018fcc14a569..a59b79811b8c 100644
--- a/crypto/openssl/ssl/ssl_cert_comp.c
+++ b/crypto/openssl/ssl/ssl_cert_comp.c
@@ -63,9 +63,9 @@ static OSSL_COMP_CERT *OSSL_COMP_CERT_new(unsigned char *data, size_t len, size_
OSSL_COMP_CERT *ret = NULL;
if (!ossl_comp_has_alg(alg)
- || data == NULL
- || (ret = OPENSSL_zalloc(sizeof(*ret))) == NULL
- || !CRYPTO_NEW_REF(&ret->references, 1))
+ || data == NULL
+ || (ret = OPENSSL_zalloc(sizeof(*ret))) == NULL
+ || !CRYPTO_NEW_REF(&ret->references, 1))
goto err;
ret->data = data;
@@ -73,7 +73,7 @@ static OSSL_COMP_CERT *OSSL_COMP_CERT_new(unsigned char *data, size_t len, size_
ret->orig_len = orig_len;
ret->alg = alg;
return ret;
- err:
+err:
ERR_raise(ERR_LIB_SSL, ERR_R_MALLOC_FAILURE);
OPENSSL_free(data);
OPENSSL_free(ret);
@@ -81,13 +81,13 @@ static OSSL_COMP_CERT *OSSL_COMP_CERT_new(unsigned char *data, size_t len, size_
}
__owur static OSSL_COMP_CERT *OSSL_COMP_CERT_from_compressed_data(unsigned char *data, size_t len,
- size_t orig_len, int alg)
+ size_t orig_len, int alg)
{
return OSSL_COMP_CERT_new(OPENSSL_memdup(data, len), len, orig_len, alg);
}
__owur static OSSL_COMP_CERT *OSSL_COMP_CERT_from_uncompressed_data(unsigned char *data, size_t len,
- int alg)
+ int alg)
{
OSSL_COMP_CERT *ret = NULL;
size_t max_length;
@@ -111,9 +111,9 @@ __owur static OSSL_COMP_CERT *OSSL_COMP_CERT_from_uncompressed_data(unsigned cha
}
if ((max_length = ossl_calculate_comp_expansion(alg, len)) == 0
- || method == NULL
- || (comp_ctx = COMP_CTX_new(method)) == NULL
- || (comp_data = OPENSSL_zalloc(max_length)) == NULL)
+ || method == NULL
+ || (comp_ctx = COMP_CTX_new(method)) == NULL
+ || (comp_data = OPENSSL_zalloc(max_length)) == NULL)
goto err;
comp_length = COMP_compress_block(comp_ctx, comp_data, max_length, data, len);
@@ -123,7 +123,7 @@ __owur static OSSL_COMP_CERT *OSSL_COMP_CERT_from_uncompressed_data(unsigned cha
ret = OSSL_COMP_CERT_new(comp_data, comp_length, len, alg);
comp_data = NULL;
- err:
+err:
OPENSSL_free(comp_data);
COMP_CTX_free(comp_ctx);
return ret;
@@ -200,9 +200,9 @@ static size_t ssl_get_cert_to_compress(SSL *ssl, CERT_PKEY *cpk, unsigned char *
size_t ret = 0;
if (sc == NULL
- || cpk == NULL
- || !sc->server
- || !SSL_in_before(ssl))
+ || cpk == NULL
+ || !sc->server
+ || !SSL_in_before(ssl))
return 0;
/* Use the |tmppkt| for the to-be-compressed data */
@@ -221,7 +221,7 @@ static size_t ssl_get_cert_to_compress(SSL *ssl, CERT_PKEY *cpk, unsigned char *
goto out;
WPACKET_get_total_written(&tmppkt, &ret);
- out:
+out:
WPACKET_cleanup(&tmppkt);
if (ret != 0 && data != NULL)
*data = (unsigned char *)buf.data;
@@ -237,8 +237,8 @@ static int ssl_compress_one_cert(SSL *ssl, CERT_PKEY *cpk, int alg)
size_t length;
if (cpk == NULL
- || alg == TLSEXT_comp_cert_none
- || !ossl_comp_has_alg(alg))
+ || alg == TLSEXT_comp_cert_none
+ || !ossl_comp_has_alg(alg))
return 0;
if ((length = ssl_get_cert_to_compress(ssl, cpk, &cert_data)) == 0)
@@ -263,8 +263,8 @@ static int ssl_compress_certs(SSL *ssl, CERT_PKEY *cpks, int alg_in)
int count = 0;
if (sc == NULL
- || cpks == NULL
- || !ossl_comp_has_alg(alg_in))
+ || cpks == NULL
+ || !ossl_comp_has_alg(alg_in))
return 0;
/* Look through the preferences to see what we have */
@@ -275,7 +275,7 @@ static int ssl_compress_certs(SSL *ssl, CERT_PKEY *cpks, int alg_in)
*/
alg = sc->cert_comp_prefs[i];
if ((alg_in == 0 && alg != TLSEXT_comp_cert_none)
- || (alg_in != 0 && alg == alg_in)) {
+ || (alg_in != 0 && alg == alg_in)) {
for (j = 0; j < SSL_PKEY_NUM; j++) {
/* No cert, move on */
@@ -299,7 +299,7 @@ static int ssl_compress_certs(SSL *ssl, CERT_PKEY *cpks, int alg_in)
}
static size_t ssl_get_compressed_cert(SSL *ssl, CERT_PKEY *cpk, int alg, unsigned char **data,
- size_t *orig_len)
+ size_t *orig_len)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
size_t cert_len = 0;
@@ -308,12 +308,12 @@ static size_t ssl_get_compressed_cert(SSL *ssl, CERT_PKEY *cpk, int alg, unsigne
OSSL_COMP_CERT *comp_cert = NULL;
if (sc == NULL
- || cpk == NULL
- || data == NULL
- || orig_len == NULL
- || !sc->server
- || !SSL_in_before(ssl)
- || !ossl_comp_has_alg(alg))
+ || cpk == NULL
+ || data == NULL
+ || orig_len == NULL
+ || !sc->server
+ || !SSL_in_before(ssl)
+ || !ossl_comp_has_alg(alg))
return 0;
if ((cert_len = ssl_get_cert_to_compress(ssl, cpk, &cert_data)) == 0)
@@ -328,14 +328,14 @@ static size_t ssl_get_compressed_cert(SSL *ssl, CERT_PKEY *cpk, int alg, unsigne
*orig_len = comp_cert->orig_len;
*data = comp_cert->data;
comp_cert->data = NULL;
- err:
+err:
OSSL_COMP_CERT_free(comp_cert);
return comp_len;
}
static int ossl_set1_compressed_cert(CERT *cert, int algorithm,
- unsigned char *comp_data, size_t comp_length,
- size_t orig_length)
+ unsigned char *comp_data, size_t comp_length,
+ size_t orig_length)
{
OSSL_COMP_CERT *comp_cert;
@@ -344,7 +344,7 @@ static int ossl_set1_compressed_cert(CERT *cert, int algorithm,
return 0;
comp_cert = OSSL_COMP_CERT_from_compressed_data(comp_data, comp_length,
- orig_length, algorithm);
+ orig_length, algorithm);
if (comp_cert == NULL)
return 0;
@@ -438,12 +438,12 @@ size_t SSL_CTX_get1_compressed_cert(SSL_CTX *ctx, int alg, unsigned char **data,
SSL_free(new);
return ret;
#else
- return 0;
+ return 0;
#endif
}
int SSL_CTX_set1_compressed_cert(SSL_CTX *ctx, int algorithm, unsigned char *comp_data,
- size_t comp_length, size_t orig_length)
+ size_t comp_length, size_t orig_length)
{
#ifndef OPENSSL_NO_COMP_ALG
return ossl_set1_compressed_cert(ctx->cert, algorithm, comp_data, comp_length, orig_length);
@@ -453,7 +453,7 @@ int SSL_CTX_set1_compressed_cert(SSL_CTX *ctx, int algorithm, unsigned char *com
}
int SSL_set1_compressed_cert(SSL *ssl, int algorithm, unsigned char *comp_data,
- size_t comp_length, size_t orig_length)
+ size_t comp_length, size_t orig_length)
{
#ifndef OPENSSL_NO_COMP_ALG
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
diff --git a/crypto/openssl/ssl/ssl_cert_table.h b/crypto/openssl/ssl/ssl_cert_table.h
index e4dc8063b1fc..f7fc9844c97e 100644
--- a/crypto/openssl/ssl/ssl_cert_table.h
+++ b/crypto/openssl/ssl/ssl_cert_table.h
@@ -10,14 +10,14 @@
/*
* Certificate table information. NB: table entries must match SSL_PKEY indices
*/
-static const SSL_CERT_LOOKUP ssl_cert_info [] = {
- {EVP_PKEY_RSA, SSL_aRSA}, /* SSL_PKEY_RSA */
- {EVP_PKEY_RSA_PSS, SSL_aRSA}, /* SSL_PKEY_RSA_PSS_SIGN */
- {EVP_PKEY_DSA, SSL_aDSS}, /* SSL_PKEY_DSA_SIGN */
- {EVP_PKEY_EC, SSL_aECDSA}, /* SSL_PKEY_ECC */
- {NID_id_GostR3410_2001, SSL_aGOST01}, /* SSL_PKEY_GOST01 */
- {NID_id_GostR3410_2012_256, SSL_aGOST12}, /* SSL_PKEY_GOST12_256 */
- {NID_id_GostR3410_2012_512, SSL_aGOST12}, /* SSL_PKEY_GOST12_512 */
- {EVP_PKEY_ED25519, SSL_aECDSA}, /* SSL_PKEY_ED25519 */
- {EVP_PKEY_ED448, SSL_aECDSA} /* SSL_PKEY_ED448 */
+static const SSL_CERT_LOOKUP ssl_cert_info[] = {
+ { EVP_PKEY_RSA, SSL_aRSA }, /* SSL_PKEY_RSA */
+ { EVP_PKEY_RSA_PSS, SSL_aRSA }, /* SSL_PKEY_RSA_PSS_SIGN */
+ { EVP_PKEY_DSA, SSL_aDSS }, /* SSL_PKEY_DSA_SIGN */
+ { EVP_PKEY_EC, SSL_aECDSA }, /* SSL_PKEY_ECC */
+ { NID_id_GostR3410_2001, SSL_aGOST01 }, /* SSL_PKEY_GOST01 */
+ { NID_id_GostR3410_2012_256, SSL_aGOST12 }, /* SSL_PKEY_GOST12_256 */
+ { NID_id_GostR3410_2012_512, SSL_aGOST12 }, /* SSL_PKEY_GOST12_512 */
+ { EVP_PKEY_ED25519, SSL_aECDSA }, /* SSL_PKEY_ED25519 */
+ { EVP_PKEY_ED448, SSL_aECDSA } /* SSL_PKEY_ED448 */
};
diff --git a/crypto/openssl/ssl/ssl_ciph.c b/crypto/openssl/ssl/ssl_ciph.c
index 6127cb7a4b48..7dccec626065 100644
--- a/crypto/openssl/ssl/ssl_ciph.c
+++ b/crypto/openssl/ssl/ssl_ciph.c
@@ -33,81 +33,81 @@ typedef struct {
/* Table of NIDs for each cipher */
static const ssl_cipher_table ssl_cipher_table_cipher[SSL_ENC_NUM_IDX] = {
- {SSL_DES, NID_des_cbc}, /* SSL_ENC_DES_IDX 0 */
- {SSL_3DES, NID_des_ede3_cbc}, /* SSL_ENC_3DES_IDX 1 */
- {SSL_RC4, NID_rc4}, /* SSL_ENC_RC4_IDX 2 */
- {SSL_RC2, NID_rc2_cbc}, /* SSL_ENC_RC2_IDX 3 */
- {SSL_IDEA, NID_idea_cbc}, /* SSL_ENC_IDEA_IDX 4 */
- {SSL_eNULL, NID_undef}, /* SSL_ENC_NULL_IDX 5 */
- {SSL_AES128, NID_aes_128_cbc}, /* SSL_ENC_AES128_IDX 6 */
- {SSL_AES256, NID_aes_256_cbc}, /* SSL_ENC_AES256_IDX 7 */
- {SSL_CAMELLIA128, NID_camellia_128_cbc}, /* SSL_ENC_CAMELLIA128_IDX 8 */
- {SSL_CAMELLIA256, NID_camellia_256_cbc}, /* SSL_ENC_CAMELLIA256_IDX 9 */
- {SSL_eGOST2814789CNT, NID_gost89_cnt}, /* SSL_ENC_GOST89_IDX 10 */
- {SSL_SEED, NID_seed_cbc}, /* SSL_ENC_SEED_IDX 11 */
- {SSL_AES128GCM, NID_aes_128_gcm}, /* SSL_ENC_AES128GCM_IDX 12 */
- {SSL_AES256GCM, NID_aes_256_gcm}, /* SSL_ENC_AES256GCM_IDX 13 */
- {SSL_AES128CCM, NID_aes_128_ccm}, /* SSL_ENC_AES128CCM_IDX 14 */
- {SSL_AES256CCM, NID_aes_256_ccm}, /* SSL_ENC_AES256CCM_IDX 15 */
- {SSL_AES128CCM8, NID_aes_128_ccm}, /* SSL_ENC_AES128CCM8_IDX 16 */
- {SSL_AES256CCM8, NID_aes_256_ccm}, /* SSL_ENC_AES256CCM8_IDX 17 */
- {SSL_eGOST2814789CNT12, NID_gost89_cnt_12}, /* SSL_ENC_GOST8912_IDX 18 */
- {SSL_CHACHA20POLY1305, NID_chacha20_poly1305}, /* SSL_ENC_CHACHA_IDX 19 */
- {SSL_ARIA128GCM, NID_aria_128_gcm}, /* SSL_ENC_ARIA128GCM_IDX 20 */
- {SSL_ARIA256GCM, NID_aria_256_gcm}, /* SSL_ENC_ARIA256GCM_IDX 21 */
- {SSL_MAGMA, NID_magma_ctr_acpkm}, /* SSL_ENC_MAGMA_IDX */
- {SSL_KUZNYECHIK, NID_kuznyechik_ctr_acpkm}, /* SSL_ENC_KUZNYECHIK_IDX */
+ { SSL_DES, NID_des_cbc }, /* SSL_ENC_DES_IDX 0 */
+ { SSL_3DES, NID_des_ede3_cbc }, /* SSL_ENC_3DES_IDX 1 */
+ { SSL_RC4, NID_rc4 }, /* SSL_ENC_RC4_IDX 2 */
+ { SSL_RC2, NID_rc2_cbc }, /* SSL_ENC_RC2_IDX 3 */
+ { SSL_IDEA, NID_idea_cbc }, /* SSL_ENC_IDEA_IDX 4 */
+ { SSL_eNULL, NID_undef }, /* SSL_ENC_NULL_IDX 5 */
+ { SSL_AES128, NID_aes_128_cbc }, /* SSL_ENC_AES128_IDX 6 */
+ { SSL_AES256, NID_aes_256_cbc }, /* SSL_ENC_AES256_IDX 7 */
+ { SSL_CAMELLIA128, NID_camellia_128_cbc }, /* SSL_ENC_CAMELLIA128_IDX 8 */
+ { SSL_CAMELLIA256, NID_camellia_256_cbc }, /* SSL_ENC_CAMELLIA256_IDX 9 */
+ { SSL_eGOST2814789CNT, NID_gost89_cnt }, /* SSL_ENC_GOST89_IDX 10 */
+ { SSL_SEED, NID_seed_cbc }, /* SSL_ENC_SEED_IDX 11 */
+ { SSL_AES128GCM, NID_aes_128_gcm }, /* SSL_ENC_AES128GCM_IDX 12 */
+ { SSL_AES256GCM, NID_aes_256_gcm }, /* SSL_ENC_AES256GCM_IDX 13 */
+ { SSL_AES128CCM, NID_aes_128_ccm }, /* SSL_ENC_AES128CCM_IDX 14 */
+ { SSL_AES256CCM, NID_aes_256_ccm }, /* SSL_ENC_AES256CCM_IDX 15 */
+ { SSL_AES128CCM8, NID_aes_128_ccm }, /* SSL_ENC_AES128CCM8_IDX 16 */
+ { SSL_AES256CCM8, NID_aes_256_ccm }, /* SSL_ENC_AES256CCM8_IDX 17 */
+ { SSL_eGOST2814789CNT12, NID_gost89_cnt_12 }, /* SSL_ENC_GOST8912_IDX 18 */
+ { SSL_CHACHA20POLY1305, NID_chacha20_poly1305 }, /* SSL_ENC_CHACHA_IDX 19 */
+ { SSL_ARIA128GCM, NID_aria_128_gcm }, /* SSL_ENC_ARIA128GCM_IDX 20 */
+ { SSL_ARIA256GCM, NID_aria_256_gcm }, /* SSL_ENC_ARIA256GCM_IDX 21 */
+ { SSL_MAGMA, NID_magma_ctr_acpkm }, /* SSL_ENC_MAGMA_IDX */
+ { SSL_KUZNYECHIK, NID_kuznyechik_ctr_acpkm }, /* SSL_ENC_KUZNYECHIK_IDX */
};
/* NB: make sure indices in this table matches values above */
static const ssl_cipher_table ssl_cipher_table_mac[SSL_MD_NUM_IDX] = {
- {SSL_MD5, NID_md5}, /* SSL_MD_MD5_IDX 0 */
- {SSL_SHA1, NID_sha1}, /* SSL_MD_SHA1_IDX 1 */
- {SSL_GOST94, NID_id_GostR3411_94}, /* SSL_MD_GOST94_IDX 2 */
- {SSL_GOST89MAC, NID_id_Gost28147_89_MAC}, /* SSL_MD_GOST89MAC_IDX 3 */
- {SSL_SHA256, NID_sha256}, /* SSL_MD_SHA256_IDX 4 */
- {SSL_SHA384, NID_sha384}, /* SSL_MD_SHA384_IDX 5 */
- {SSL_GOST12_256, NID_id_GostR3411_2012_256}, /* SSL_MD_GOST12_256_IDX 6 */
- {SSL_GOST89MAC12, NID_gost_mac_12}, /* SSL_MD_GOST89MAC12_IDX 7 */
- {SSL_GOST12_512, NID_id_GostR3411_2012_512}, /* SSL_MD_GOST12_512_IDX 8 */
- {0, NID_md5_sha1}, /* SSL_MD_MD5_SHA1_IDX 9 */
- {0, NID_sha224}, /* SSL_MD_SHA224_IDX 10 */
- {0, NID_sha512}, /* SSL_MD_SHA512_IDX 11 */
- {SSL_MAGMAOMAC, NID_magma_mac}, /* sSL_MD_MAGMAOMAC_IDX */
- {SSL_KUZNYECHIKOMAC, NID_kuznyechik_mac} /* SSL_MD_KUZNYECHIKOMAC_IDX */
+ { SSL_MD5, NID_md5 }, /* SSL_MD_MD5_IDX 0 */
+ { SSL_SHA1, NID_sha1 }, /* SSL_MD_SHA1_IDX 1 */
+ { SSL_GOST94, NID_id_GostR3411_94 }, /* SSL_MD_GOST94_IDX 2 */
+ { SSL_GOST89MAC, NID_id_Gost28147_89_MAC }, /* SSL_MD_GOST89MAC_IDX 3 */
+ { SSL_SHA256, NID_sha256 }, /* SSL_MD_SHA256_IDX 4 */
+ { SSL_SHA384, NID_sha384 }, /* SSL_MD_SHA384_IDX 5 */
+ { SSL_GOST12_256, NID_id_GostR3411_2012_256 }, /* SSL_MD_GOST12_256_IDX 6 */
+ { SSL_GOST89MAC12, NID_gost_mac_12 }, /* SSL_MD_GOST89MAC12_IDX 7 */
+ { SSL_GOST12_512, NID_id_GostR3411_2012_512 }, /* SSL_MD_GOST12_512_IDX 8 */
+ { 0, NID_md5_sha1 }, /* SSL_MD_MD5_SHA1_IDX 9 */
+ { 0, NID_sha224 }, /* SSL_MD_SHA224_IDX 10 */
+ { 0, NID_sha512 }, /* SSL_MD_SHA512_IDX 11 */
+ { SSL_MAGMAOMAC, NID_magma_mac }, /* sSL_MD_MAGMAOMAC_IDX */
+ { SSL_KUZNYECHIKOMAC, NID_kuznyechik_mac } /* SSL_MD_KUZNYECHIKOMAC_IDX */
};
/* *INDENT-OFF* */
static const ssl_cipher_table ssl_cipher_table_kx[] = {
- {SSL_kRSA, NID_kx_rsa},
- {SSL_kECDHE, NID_kx_ecdhe},
- {SSL_kDHE, NID_kx_dhe},
- {SSL_kECDHEPSK, NID_kx_ecdhe_psk},
- {SSL_kDHEPSK, NID_kx_dhe_psk},
- {SSL_kRSAPSK, NID_kx_rsa_psk},
- {SSL_kPSK, NID_kx_psk},
- {SSL_kSRP, NID_kx_srp},
- {SSL_kGOST, NID_kx_gost},
- {SSL_kGOST18, NID_kx_gost18},
- {SSL_kANY, NID_kx_any}
+ { SSL_kRSA, NID_kx_rsa },
+ { SSL_kECDHE, NID_kx_ecdhe },
+ { SSL_kDHE, NID_kx_dhe },
+ { SSL_kECDHEPSK, NID_kx_ecdhe_psk },
+ { SSL_kDHEPSK, NID_kx_dhe_psk },
+ { SSL_kRSAPSK, NID_kx_rsa_psk },
+ { SSL_kPSK, NID_kx_psk },
+ { SSL_kSRP, NID_kx_srp },
+ { SSL_kGOST, NID_kx_gost },
+ { SSL_kGOST18, NID_kx_gost18 },
+ { SSL_kANY, NID_kx_any }
};
static const ssl_cipher_table ssl_cipher_table_auth[] = {
- {SSL_aRSA, NID_auth_rsa},
- {SSL_aECDSA, NID_auth_ecdsa},
- {SSL_aPSK, NID_auth_psk},
- {SSL_aDSS, NID_auth_dss},
- {SSL_aGOST01, NID_auth_gost01},
- {SSL_aGOST12, NID_auth_gost12},
- {SSL_aSRP, NID_auth_srp},
- {SSL_aNULL, NID_auth_null},
- {SSL_aANY, NID_auth_any}
+ { SSL_aRSA, NID_auth_rsa },
+ { SSL_aECDSA, NID_auth_ecdsa },
+ { SSL_aPSK, NID_auth_psk },
+ { SSL_aDSS, NID_auth_dss },
+ { SSL_aGOST01, NID_auth_gost01 },
+ { SSL_aGOST12, NID_auth_gost12 },
+ { SSL_aSRP, NID_auth_srp },
+ { SSL_aNULL, NID_auth_null },
+ { SSL_aANY, NID_auth_any }
};
/* *INDENT-ON* */
/* Utility function for table lookup */
static int ssl_cipher_info_find(const ssl_cipher_table *table,
- size_t table_cnt, uint32_t mask)
+ size_t table_cnt, uint32_t mask)
{
size_t i;
for (i = 0; i < table_cnt; i++, table++) {
@@ -136,16 +136,16 @@ static const int default_mac_pkey_id[SSL_MD_NUM_IDX] = {
NID_undef, NID_undef, NID_undef, NID_undef, NID_undef
};
-#define CIPHER_ADD 1
-#define CIPHER_KILL 2
-#define CIPHER_DEL 3
-#define CIPHER_ORD 4
-#define CIPHER_SPECIAL 5
+#define CIPHER_ADD 1
+#define CIPHER_KILL 2
+#define CIPHER_DEL 3
+#define CIPHER_ORD 4
+#define CIPHER_SPECIAL 5
/*
* Bump the ciphers to the top of the list.
* This rule isn't currently supported by the public cipherstring API.
*/
-#define CIPHER_BUMP 6
+#define CIPHER_BUMP 6
typedef struct cipher_order_st {
const SSL_CIPHER *cipher;
@@ -156,122 +156,122 @@ typedef struct cipher_order_st {
static const SSL_CIPHER cipher_aliases[] = {
/* "ALL" doesn't include eNULL (must be specifically enabled) */
- {0, SSL_TXT_ALL, NULL, 0, 0, 0, ~SSL_eNULL},
+ { 0, SSL_TXT_ALL, NULL, 0, 0, 0, ~SSL_eNULL },
/* "COMPLEMENTOFALL" */
- {0, SSL_TXT_CMPALL, NULL, 0, 0, 0, SSL_eNULL},
+ { 0, SSL_TXT_CMPALL, NULL, 0, 0, 0, SSL_eNULL },
/*
* "COMPLEMENTOFDEFAULT" (does *not* include ciphersuites not found in
* ALL!)
*/
- {0, SSL_TXT_CMPDEF, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_NOT_DEFAULT},
+ { 0, SSL_TXT_CMPDEF, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_NOT_DEFAULT },
/*
* key exchange aliases (some of those using only a single bit here
* combine multiple key exchange algs according to the RFCs, e.g. kDHE
* combines DHE_DSS and DHE_RSA)
*/
- {0, SSL_TXT_kRSA, NULL, 0, SSL_kRSA},
+ { 0, SSL_TXT_kRSA, NULL, 0, SSL_kRSA },
- {0, SSL_TXT_kEDH, NULL, 0, SSL_kDHE},
- {0, SSL_TXT_kDHE, NULL, 0, SSL_kDHE},
- {0, SSL_TXT_DH, NULL, 0, SSL_kDHE},
+ { 0, SSL_TXT_kEDH, NULL, 0, SSL_kDHE },
+ { 0, SSL_TXT_kDHE, NULL, 0, SSL_kDHE },
+ { 0, SSL_TXT_DH, NULL, 0, SSL_kDHE },
- {0, SSL_TXT_kEECDH, NULL, 0, SSL_kECDHE},
- {0, SSL_TXT_kECDHE, NULL, 0, SSL_kECDHE},
- {0, SSL_TXT_ECDH, NULL, 0, SSL_kECDHE},
+ { 0, SSL_TXT_kEECDH, NULL, 0, SSL_kECDHE },
+ { 0, SSL_TXT_kECDHE, NULL, 0, SSL_kECDHE },
+ { 0, SSL_TXT_ECDH, NULL, 0, SSL_kECDHE },
- {0, SSL_TXT_kPSK, NULL, 0, SSL_kPSK},
- {0, SSL_TXT_kRSAPSK, NULL, 0, SSL_kRSAPSK},
- {0, SSL_TXT_kECDHEPSK, NULL, 0, SSL_kECDHEPSK},
- {0, SSL_TXT_kDHEPSK, NULL, 0, SSL_kDHEPSK},
- {0, SSL_TXT_kSRP, NULL, 0, SSL_kSRP},
- {0, SSL_TXT_kGOST, NULL, 0, SSL_kGOST},
- {0, SSL_TXT_kGOST18, NULL, 0, SSL_kGOST18},
+ { 0, SSL_TXT_kPSK, NULL, 0, SSL_kPSK },
+ { 0, SSL_TXT_kRSAPSK, NULL, 0, SSL_kRSAPSK },
+ { 0, SSL_TXT_kECDHEPSK, NULL, 0, SSL_kECDHEPSK },
+ { 0, SSL_TXT_kDHEPSK, NULL, 0, SSL_kDHEPSK },
+ { 0, SSL_TXT_kSRP, NULL, 0, SSL_kSRP },
+ { 0, SSL_TXT_kGOST, NULL, 0, SSL_kGOST },
+ { 0, SSL_TXT_kGOST18, NULL, 0, SSL_kGOST18 },
/* server authentication aliases */
- {0, SSL_TXT_aRSA, NULL, 0, 0, SSL_aRSA},
- {0, SSL_TXT_aDSS, NULL, 0, 0, SSL_aDSS},
- {0, SSL_TXT_DSS, NULL, 0, 0, SSL_aDSS},
- {0, SSL_TXT_aNULL, NULL, 0, 0, SSL_aNULL},
- {0, SSL_TXT_aECDSA, NULL, 0, 0, SSL_aECDSA},
- {0, SSL_TXT_ECDSA, NULL, 0, 0, SSL_aECDSA},
- {0, SSL_TXT_aPSK, NULL, 0, 0, SSL_aPSK},
- {0, SSL_TXT_aGOST01, NULL, 0, 0, SSL_aGOST01},
- {0, SSL_TXT_aGOST12, NULL, 0, 0, SSL_aGOST12},
- {0, SSL_TXT_aGOST, NULL, 0, 0, SSL_aGOST01 | SSL_aGOST12},
- {0, SSL_TXT_aSRP, NULL, 0, 0, SSL_aSRP},
+ { 0, SSL_TXT_aRSA, NULL, 0, 0, SSL_aRSA },
+ { 0, SSL_TXT_aDSS, NULL, 0, 0, SSL_aDSS },
+ { 0, SSL_TXT_DSS, NULL, 0, 0, SSL_aDSS },
+ { 0, SSL_TXT_aNULL, NULL, 0, 0, SSL_aNULL },
+ { 0, SSL_TXT_aECDSA, NULL, 0, 0, SSL_aECDSA },
+ { 0, SSL_TXT_ECDSA, NULL, 0, 0, SSL_aECDSA },
+ { 0, SSL_TXT_aPSK, NULL, 0, 0, SSL_aPSK },
+ { 0, SSL_TXT_aGOST01, NULL, 0, 0, SSL_aGOST01 },
+ { 0, SSL_TXT_aGOST12, NULL, 0, 0, SSL_aGOST12 },
+ { 0, SSL_TXT_aGOST, NULL, 0, 0, SSL_aGOST01 | SSL_aGOST12 },
+ { 0, SSL_TXT_aSRP, NULL, 0, 0, SSL_aSRP },
/* aliases combining key exchange and server authentication */
- {0, SSL_TXT_EDH, NULL, 0, SSL_kDHE, ~SSL_aNULL},
- {0, SSL_TXT_DHE, NULL, 0, SSL_kDHE, ~SSL_aNULL},
- {0, SSL_TXT_EECDH, NULL, 0, SSL_kECDHE, ~SSL_aNULL},
- {0, SSL_TXT_ECDHE, NULL, 0, SSL_kECDHE, ~SSL_aNULL},
- {0, SSL_TXT_NULL, NULL, 0, 0, 0, SSL_eNULL},
- {0, SSL_TXT_RSA, NULL, 0, SSL_kRSA, SSL_aRSA},
- {0, SSL_TXT_ADH, NULL, 0, SSL_kDHE, SSL_aNULL},
- {0, SSL_TXT_AECDH, NULL, 0, SSL_kECDHE, SSL_aNULL},
- {0, SSL_TXT_PSK, NULL, 0, SSL_PSK},
- {0, SSL_TXT_SRP, NULL, 0, SSL_kSRP},
+ { 0, SSL_TXT_EDH, NULL, 0, SSL_kDHE, ~SSL_aNULL },
+ { 0, SSL_TXT_DHE, NULL, 0, SSL_kDHE, ~SSL_aNULL },
+ { 0, SSL_TXT_EECDH, NULL, 0, SSL_kECDHE, ~SSL_aNULL },
+ { 0, SSL_TXT_ECDHE, NULL, 0, SSL_kECDHE, ~SSL_aNULL },
+ { 0, SSL_TXT_NULL, NULL, 0, 0, 0, SSL_eNULL },
+ { 0, SSL_TXT_RSA, NULL, 0, SSL_kRSA, SSL_aRSA },
+ { 0, SSL_TXT_ADH, NULL, 0, SSL_kDHE, SSL_aNULL },
+ { 0, SSL_TXT_AECDH, NULL, 0, SSL_kECDHE, SSL_aNULL },
+ { 0, SSL_TXT_PSK, NULL, 0, SSL_PSK },
+ { 0, SSL_TXT_SRP, NULL, 0, SSL_kSRP },
/* symmetric encryption aliases */
- {0, SSL_TXT_3DES, NULL, 0, 0, 0, SSL_3DES},
- {0, SSL_TXT_RC4, NULL, 0, 0, 0, SSL_RC4},
- {0, SSL_TXT_RC2, NULL, 0, 0, 0, SSL_RC2},
- {0, SSL_TXT_IDEA, NULL, 0, 0, 0, SSL_IDEA},
- {0, SSL_TXT_SEED, NULL, 0, 0, 0, SSL_SEED},
- {0, SSL_TXT_eNULL, NULL, 0, 0, 0, SSL_eNULL},
- {0, SSL_TXT_GOST, NULL, 0, 0, 0,
- SSL_eGOST2814789CNT | SSL_eGOST2814789CNT12 | SSL_MAGMA | SSL_KUZNYECHIK},
- {0, SSL_TXT_AES128, NULL, 0, 0, 0,
- SSL_AES128 | SSL_AES128GCM | SSL_AES128CCM | SSL_AES128CCM8},
- {0, SSL_TXT_AES256, NULL, 0, 0, 0,
- SSL_AES256 | SSL_AES256GCM | SSL_AES256CCM | SSL_AES256CCM8},
- {0, SSL_TXT_AES, NULL, 0, 0, 0, SSL_AES},
- {0, SSL_TXT_AES_GCM, NULL, 0, 0, 0, SSL_AES128GCM | SSL_AES256GCM},
- {0, SSL_TXT_AES_CCM, NULL, 0, 0, 0,
- SSL_AES128CCM | SSL_AES256CCM | SSL_AES128CCM8 | SSL_AES256CCM8},
- {0, SSL_TXT_AES_CCM_8, NULL, 0, 0, 0, SSL_AES128CCM8 | SSL_AES256CCM8},
- {0, SSL_TXT_CAMELLIA128, NULL, 0, 0, 0, SSL_CAMELLIA128},
- {0, SSL_TXT_CAMELLIA256, NULL, 0, 0, 0, SSL_CAMELLIA256},
- {0, SSL_TXT_CAMELLIA, NULL, 0, 0, 0, SSL_CAMELLIA},
- {0, SSL_TXT_CHACHA20, NULL, 0, 0, 0, SSL_CHACHA20},
- {0, SSL_TXT_GOST2012_GOST8912_GOST8912, NULL, 0, 0, 0, SSL_eGOST2814789CNT12},
+ { 0, SSL_TXT_3DES, NULL, 0, 0, 0, SSL_3DES },
+ { 0, SSL_TXT_RC4, NULL, 0, 0, 0, SSL_RC4 },
+ { 0, SSL_TXT_RC2, NULL, 0, 0, 0, SSL_RC2 },
+ { 0, SSL_TXT_IDEA, NULL, 0, 0, 0, SSL_IDEA },
+ { 0, SSL_TXT_SEED, NULL, 0, 0, 0, SSL_SEED },
+ { 0, SSL_TXT_eNULL, NULL, 0, 0, 0, SSL_eNULL },
+ { 0, SSL_TXT_GOST, NULL, 0, 0, 0,
+ SSL_eGOST2814789CNT | SSL_eGOST2814789CNT12 | SSL_MAGMA | SSL_KUZNYECHIK },
+ { 0, SSL_TXT_AES128, NULL, 0, 0, 0,
+ SSL_AES128 | SSL_AES128GCM | SSL_AES128CCM | SSL_AES128CCM8 },
+ { 0, SSL_TXT_AES256, NULL, 0, 0, 0,
+ SSL_AES256 | SSL_AES256GCM | SSL_AES256CCM | SSL_AES256CCM8 },
+ { 0, SSL_TXT_AES, NULL, 0, 0, 0, SSL_AES },
+ { 0, SSL_TXT_AES_GCM, NULL, 0, 0, 0, SSL_AES128GCM | SSL_AES256GCM },
+ { 0, SSL_TXT_AES_CCM, NULL, 0, 0, 0,
+ SSL_AES128CCM | SSL_AES256CCM | SSL_AES128CCM8 | SSL_AES256CCM8 },
+ { 0, SSL_TXT_AES_CCM_8, NULL, 0, 0, 0, SSL_AES128CCM8 | SSL_AES256CCM8 },
+ { 0, SSL_TXT_CAMELLIA128, NULL, 0, 0, 0, SSL_CAMELLIA128 },
+ { 0, SSL_TXT_CAMELLIA256, NULL, 0, 0, 0, SSL_CAMELLIA256 },
+ { 0, SSL_TXT_CAMELLIA, NULL, 0, 0, 0, SSL_CAMELLIA },
+ { 0, SSL_TXT_CHACHA20, NULL, 0, 0, 0, SSL_CHACHA20 },
+ { 0, SSL_TXT_GOST2012_GOST8912_GOST8912, NULL, 0, 0, 0, SSL_eGOST2814789CNT12 },
- {0, SSL_TXT_ARIA, NULL, 0, 0, 0, SSL_ARIA},
- {0, SSL_TXT_ARIA_GCM, NULL, 0, 0, 0, SSL_ARIA128GCM | SSL_ARIA256GCM},
- {0, SSL_TXT_ARIA128, NULL, 0, 0, 0, SSL_ARIA128GCM},
- {0, SSL_TXT_ARIA256, NULL, 0, 0, 0, SSL_ARIA256GCM},
- {0, SSL_TXT_CBC, NULL, 0, 0, 0, SSL_CBC},
+ { 0, SSL_TXT_ARIA, NULL, 0, 0, 0, SSL_ARIA },
+ { 0, SSL_TXT_ARIA_GCM, NULL, 0, 0, 0, SSL_ARIA128GCM | SSL_ARIA256GCM },
+ { 0, SSL_TXT_ARIA128, NULL, 0, 0, 0, SSL_ARIA128GCM },
+ { 0, SSL_TXT_ARIA256, NULL, 0, 0, 0, SSL_ARIA256GCM },
+ { 0, SSL_TXT_CBC, NULL, 0, 0, 0, SSL_CBC },
/* MAC aliases */
- {0, SSL_TXT_MD5, NULL, 0, 0, 0, 0, SSL_MD5},
- {0, SSL_TXT_SHA1, NULL, 0, 0, 0, 0, SSL_SHA1},
- {0, SSL_TXT_SHA, NULL, 0, 0, 0, 0, SSL_SHA1},
- {0, SSL_TXT_GOST94, NULL, 0, 0, 0, 0, SSL_GOST94},
- {0, SSL_TXT_GOST89MAC, NULL, 0, 0, 0, 0, SSL_GOST89MAC | SSL_GOST89MAC12},
- {0, SSL_TXT_SHA256, NULL, 0, 0, 0, 0, SSL_SHA256},
- {0, SSL_TXT_SHA384, NULL, 0, 0, 0, 0, SSL_SHA384},
- {0, SSL_TXT_GOST12, NULL, 0, 0, 0, 0, SSL_GOST12_256},
+ { 0, SSL_TXT_MD5, NULL, 0, 0, 0, 0, SSL_MD5 },
+ { 0, SSL_TXT_SHA1, NULL, 0, 0, 0, 0, SSL_SHA1 },
+ { 0, SSL_TXT_SHA, NULL, 0, 0, 0, 0, SSL_SHA1 },
+ { 0, SSL_TXT_GOST94, NULL, 0, 0, 0, 0, SSL_GOST94 },
+ { 0, SSL_TXT_GOST89MAC, NULL, 0, 0, 0, 0, SSL_GOST89MAC | SSL_GOST89MAC12 },
+ { 0, SSL_TXT_SHA256, NULL, 0, 0, 0, 0, SSL_SHA256 },
+ { 0, SSL_TXT_SHA384, NULL, 0, 0, 0, 0, SSL_SHA384 },
+ { 0, SSL_TXT_GOST12, NULL, 0, 0, 0, 0, SSL_GOST12_256 },
/* protocol version aliases */
- {0, SSL_TXT_SSLV3, NULL, 0, 0, 0, 0, 0, SSL3_VERSION},
- {0, SSL_TXT_TLSV1, NULL, 0, 0, 0, 0, 0, TLS1_VERSION},
- {0, "TLSv1.0", NULL, 0, 0, 0, 0, 0, TLS1_VERSION},
- {0, SSL_TXT_TLSV1_2, NULL, 0, 0, 0, 0, 0, TLS1_2_VERSION},
+ { 0, SSL_TXT_SSLV3, NULL, 0, 0, 0, 0, 0, SSL3_VERSION },
+ { 0, SSL_TXT_TLSV1, NULL, 0, 0, 0, 0, 0, TLS1_VERSION },
+ { 0, "TLSv1.0", NULL, 0, 0, 0, 0, 0, TLS1_VERSION },
+ { 0, SSL_TXT_TLSV1_2, NULL, 0, 0, 0, 0, 0, TLS1_2_VERSION },
/* strength classes */
- {0, SSL_TXT_LOW, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_LOW},
- {0, SSL_TXT_MEDIUM, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_MEDIUM},
- {0, SSL_TXT_HIGH, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_HIGH},
+ { 0, SSL_TXT_LOW, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_LOW },
+ { 0, SSL_TXT_MEDIUM, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_MEDIUM },
+ { 0, SSL_TXT_HIGH, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, SSL_HIGH },
/* FIPS 140-2 approved ciphersuite */
- {0, SSL_TXT_FIPS, NULL, 0, 0, 0, ~SSL_eNULL, 0, 0, 0, 0, 0, SSL_FIPS},
+ { 0, SSL_TXT_FIPS, NULL, 0, 0, 0, ~SSL_eNULL, 0, 0, 0, 0, 0, SSL_FIPS },
/* "EDH-" aliases to "DHE-" labels (for backward compatibility) */
- {0, SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA, NULL, 0,
- SSL_kDHE, SSL_aDSS, SSL_3DES, SSL_SHA1, 0, 0, 0, 0, SSL_HIGH | SSL_FIPS},
- {0, SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA, NULL, 0,
- SSL_kDHE, SSL_aRSA, SSL_3DES, SSL_SHA1, 0, 0, 0, 0, SSL_HIGH | SSL_FIPS},
+ { 0, SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA, NULL, 0,
+ SSL_kDHE, SSL_aDSS, SSL_3DES, SSL_SHA1, 0, 0, 0, 0, SSL_HIGH | SSL_FIPS },
+ { 0, SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA, NULL, 0,
+ SSL_kDHE, SSL_aRSA, SSL_3DES, SSL_SHA1, 0, 0, 0, 0, SSL_HIGH | SSL_FIPS },
};
@@ -286,8 +286,7 @@ static int get_optional_pkey_id(const char *pkey_name)
const EVP_PKEY_ASN1_METHOD *ameth;
int pkey_id = 0;
ameth = EVP_PKEY_asn1_find_str(NULL, pkey_name, -1);
- if (ameth && EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL,
- ameth) > 0)
+ if (ameth && EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL, ameth) > 0)
return pkey_id;
return 0;
}
@@ -302,7 +301,8 @@ static int get_optional_pkey_id(const char *pkey_name)
ameth = EVP_PKEY_asn1_find_str(&tmpeng, pkey_name, -1);
if (ameth) {
if (EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL,
- ameth) <= 0)
+ ameth)
+ <= 0)
pkey_id = 0;
}
tls_engine_finish(tmpeng);
@@ -389,31 +389,27 @@ int ssl_load_ciphers(SSL_CTX *ctx)
* present, disable appropriate auth and key exchange
*/
memcpy(ctx->ssl_mac_pkey_id, default_mac_pkey_id,
- sizeof(ctx->ssl_mac_pkey_id));
+ sizeof(ctx->ssl_mac_pkey_id));
- ctx->ssl_mac_pkey_id[SSL_MD_GOST89MAC_IDX] =
- get_optional_pkey_id(SN_id_Gost28147_89_MAC);
+ ctx->ssl_mac_pkey_id[SSL_MD_GOST89MAC_IDX] = get_optional_pkey_id(SN_id_Gost28147_89_MAC);
if (ctx->ssl_mac_pkey_id[SSL_MD_GOST89MAC_IDX])
ctx->ssl_mac_secret_size[SSL_MD_GOST89MAC_IDX] = 32;
else
ctx->disabled_mac_mask |= SSL_GOST89MAC;
- ctx->ssl_mac_pkey_id[SSL_MD_GOST89MAC12_IDX] =
- get_optional_pkey_id(SN_gost_mac_12);
+ ctx->ssl_mac_pkey_id[SSL_MD_GOST89MAC12_IDX] = get_optional_pkey_id(SN_gost_mac_12);
if (ctx->ssl_mac_pkey_id[SSL_MD_GOST89MAC12_IDX])
ctx->ssl_mac_secret_size[SSL_MD_GOST89MAC12_IDX] = 32;
else
ctx->disabled_mac_mask |= SSL_GOST89MAC12;
- ctx->ssl_mac_pkey_id[SSL_MD_MAGMAOMAC_IDX] =
- get_optional_pkey_id(SN_magma_mac);
+ ctx->ssl_mac_pkey_id[SSL_MD_MAGMAOMAC_IDX] = get_optional_pkey_id(SN_magma_mac);
if (ctx->ssl_mac_pkey_id[SSL_MD_MAGMAOMAC_IDX])
ctx->ssl_mac_secret_size[SSL_MD_MAGMAOMAC_IDX] = 32;
else
ctx->disabled_mac_mask |= SSL_MAGMAOMAC;
- ctx->ssl_mac_pkey_id[SSL_MD_KUZNYECHIKOMAC_IDX] =
- get_optional_pkey_id(SN_kuznyechik_mac);
+ ctx->ssl_mac_pkey_id[SSL_MD_KUZNYECHIKOMAC_IDX] = get_optional_pkey_id(SN_kuznyechik_mac);
if (ctx->ssl_mac_pkey_id[SSL_MD_KUZNYECHIKOMAC_IDX])
ctx->ssl_mac_secret_size[SSL_MD_KUZNYECHIKOMAC_IDX] = 32;
else
@@ -428,21 +424,20 @@ int ssl_load_ciphers(SSL_CTX *ctx)
/*
* Disable GOST key exchange if no GOST signature algs are available *
*/
- if ((ctx->disabled_auth_mask & (SSL_aGOST01 | SSL_aGOST12)) ==
- (SSL_aGOST01 | SSL_aGOST12))
+ if ((ctx->disabled_auth_mask & (SSL_aGOST01 | SSL_aGOST12)) == (SSL_aGOST01 | SSL_aGOST12))
ctx->disabled_mkey_mask |= SSL_kGOST;
- if ((ctx->disabled_auth_mask & SSL_aGOST12) == SSL_aGOST12)
+ if ((ctx->disabled_auth_mask & SSL_aGOST12) == SSL_aGOST12)
ctx->disabled_mkey_mask |= SSL_kGOST18;
return 1;
}
int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,
- const EVP_CIPHER **enc)
+ const EVP_CIPHER **enc)
{
int i = ssl_cipher_info_lookup(ssl_cipher_table_cipher,
- sslc->algorithm_enc);
+ sslc->algorithm_enc);
if (i == -1) {
*enc = NULL;
@@ -460,7 +455,7 @@ int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,
const EVP_CIPHER *cipher = ctx->ssl_cipher_methods[i];
if (cipher == NULL
- || !ssl_evp_cipher_up_ref(cipher))
+ || !ssl_evp_cipher_up_ref(cipher))
return 0;
*enc = ctx->ssl_cipher_methods[i];
}
@@ -469,8 +464,8 @@ int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,
}
int ssl_cipher_get_evp_md_mac(SSL_CTX *ctx, const SSL_CIPHER *sslc,
- const EVP_MD **md,
- int *mac_pkey_type, size_t *mac_secret_size)
+ const EVP_MD **md,
+ int *mac_pkey_type, size_t *mac_secret_size)
{
int i = ssl_cipher_info_lookup(ssl_cipher_table_mac, sslc->algorithm_mac);
@@ -483,7 +478,7 @@ int ssl_cipher_get_evp_md_mac(SSL_CTX *ctx, const SSL_CIPHER *sslc,
} else {
const EVP_MD *digest = ctx->ssl_digest_methods[i];
- if (digest == NULL || !ssl_evp_md_up_ref(digest))
+ if (digest == NULL || !ssl_evp_md_up_ref(digest))
return 0;
*md = digest;
@@ -496,9 +491,9 @@ int ssl_cipher_get_evp_md_mac(SSL_CTX *ctx, const SSL_CIPHER *sslc,
}
int ssl_cipher_get_evp(SSL_CTX *ctx, const SSL_SESSION *s,
- const EVP_CIPHER **enc, const EVP_MD **md,
- int *mac_pkey_type, size_t *mac_secret_size,
- SSL_COMP **comp, int use_etm)
+ const EVP_CIPHER **enc, const EVP_MD **md,
+ int *mac_pkey_type, size_t *mac_secret_size,
+ SSL_COMP **comp, int use_etm)
{
int i;
const SSL_CIPHER *c;
@@ -530,7 +525,7 @@ int ssl_cipher_get_evp(SSL_CTX *ctx, const SSL_SESSION *s,
return 0;
if (!ssl_cipher_get_evp_md_mac(ctx, c, md, mac_pkey_type,
- mac_secret_size)) {
+ mac_secret_size)) {
ssl_evp_cipher_free(*enc);
return 0;
}
@@ -543,34 +538,34 @@ int ssl_cipher_get_evp(SSL_CTX *ctx, const SSL_SESSION *s,
const EVP_CIPHER *evp = NULL;
if (use_etm
- || s->ssl_version >> 8 != TLS1_VERSION_MAJOR
- || s->ssl_version < TLS1_VERSION)
+ || s->ssl_version >> 8 != TLS1_VERSION_MAJOR
+ || s->ssl_version < TLS1_VERSION)
return 1;
if (c->algorithm_enc == SSL_RC4
- && c->algorithm_mac == SSL_MD5)
+ && c->algorithm_mac == SSL_MD5)
evp = ssl_evp_cipher_fetch(ctx->libctx, NID_rc4_hmac_md5,
- ctx->propq);
+ ctx->propq);
else if (c->algorithm_enc == SSL_AES128
- && c->algorithm_mac == SSL_SHA1)
+ && c->algorithm_mac == SSL_SHA1)
evp = ssl_evp_cipher_fetch(ctx->libctx,
- NID_aes_128_cbc_hmac_sha1,
- ctx->propq);
+ NID_aes_128_cbc_hmac_sha1,
+ ctx->propq);
else if (c->algorithm_enc == SSL_AES256
- && c->algorithm_mac == SSL_SHA1)
- evp = ssl_evp_cipher_fetch(ctx->libctx,
- NID_aes_256_cbc_hmac_sha1,
- ctx->propq);
+ && c->algorithm_mac == SSL_SHA1)
+ evp = ssl_evp_cipher_fetch(ctx->libctx,
+ NID_aes_256_cbc_hmac_sha1,
+ ctx->propq);
else if (c->algorithm_enc == SSL_AES128
- && c->algorithm_mac == SSL_SHA256)
+ && c->algorithm_mac == SSL_SHA256)
evp = ssl_evp_cipher_fetch(ctx->libctx,
- NID_aes_128_cbc_hmac_sha256,
- ctx->propq);
+ NID_aes_128_cbc_hmac_sha256,
+ ctx->propq);
else if (c->algorithm_enc == SSL_AES256
- && c->algorithm_mac == SSL_SHA256)
+ && c->algorithm_mac == SSL_SHA256)
evp = ssl_evp_cipher_fetch(ctx->libctx,
- NID_aes_256_cbc_hmac_sha256,
- ctx->propq);
+ NID_aes_256_cbc_hmac_sha256,
+ ctx->propq);
if (evp != NULL) {
ssl_evp_cipher_free(*enc);
@@ -600,15 +595,14 @@ const EVP_MD *ssl_handshake_md(SSL_CONNECTION *s)
const EVP_MD *ssl_prf_md(SSL_CONNECTION *s)
{
return ssl_md(SSL_CONNECTION_GET_CTX(s),
- ssl_get_algorithm2(s) >> TLS1_PRF_DGST_SHIFT);
+ ssl_get_algorithm2(s) >> TLS1_PRF_DGST_SHIFT);
}
-
#define ITEM_SEP(a) \
- (((a) == ':') || ((a) == ' ') || ((a) == ';') || ((a) == ','))
+ (((a) == ':') || ((a) == ' ') || ((a) == ';') || ((a) == ','))
static void ll_append_tail(CIPHER_ORDER **head, CIPHER_ORDER *curr,
- CIPHER_ORDER **tail)
+ CIPHER_ORDER **tail)
{
if (curr == *tail)
return;
@@ -625,7 +619,7 @@ static void ll_append_tail(CIPHER_ORDER **head, CIPHER_ORDER *curr,
}
static void ll_append_head(CIPHER_ORDER **head, CIPHER_ORDER *curr,
- CIPHER_ORDER **tail)
+ CIPHER_ORDER **tail)
{
if (curr == *head)
return;
@@ -642,14 +636,14 @@ static void ll_append_head(CIPHER_ORDER **head, CIPHER_ORDER *curr,
}
static void ssl_cipher_collect_ciphers(const SSL_METHOD *ssl_method,
- int num_of_ciphers,
- uint32_t disabled_mkey,
- uint32_t disabled_auth,
- uint32_t disabled_enc,
- uint32_t disabled_mac,
- CIPHER_ORDER *co_list,
- CIPHER_ORDER **head_p,
- CIPHER_ORDER **tail_p)
+ int num_of_ciphers,
+ uint32_t disabled_mkey,
+ uint32_t disabled_auth,
+ uint32_t disabled_enc,
+ uint32_t disabled_mac,
+ CIPHER_ORDER *co_list,
+ CIPHER_ORDER **head_p,
+ CIPHER_ORDER **tail_p)
{
int i, co_list_num;
const SSL_CIPHER *c;
@@ -662,22 +656,17 @@ static void ssl_cipher_collect_ciphers(const SSL_METHOD *ssl_method,
*/
/* Get the initial list of ciphers */
- co_list_num = 0; /* actual count of ciphers */
+ co_list_num = 0; /* actual count of ciphers */
for (i = 0; i < num_of_ciphers; i++) {
c = ssl_method->get_cipher(i);
/* drop those that use any of that is not available */
if (c == NULL || !c->valid)
continue;
- if ((c->algorithm_mkey & disabled_mkey) ||
- (c->algorithm_auth & disabled_auth) ||
- (c->algorithm_enc & disabled_enc) ||
- (c->algorithm_mac & disabled_mac))
+ if ((c->algorithm_mkey & disabled_mkey) || (c->algorithm_auth & disabled_auth) || (c->algorithm_enc & disabled_enc) || (c->algorithm_mac & disabled_mac))
continue;
- if (((ssl_method->ssl3_enc->enc_flags & SSL_ENC_FLAG_DTLS) == 0) &&
- c->min_tls == 0)
+ if (((ssl_method->ssl3_enc->enc_flags & SSL_ENC_FLAG_DTLS) == 0) && c->min_tls == 0)
continue;
- if (((ssl_method->ssl3_enc->enc_flags & SSL_ENC_FLAG_DTLS) != 0) &&
- c->min_dtls == 0)
+ if (((ssl_method->ssl3_enc->enc_flags & SSL_ENC_FLAG_DTLS) != 0) && c->min_dtls == 0)
continue;
co_list[co_list_num].cipher = c;
@@ -712,12 +701,12 @@ static void ssl_cipher_collect_ciphers(const SSL_METHOD *ssl_method,
}
static void ssl_cipher_collect_aliases(const SSL_CIPHER **ca_list,
- int num_of_group_aliases,
- uint32_t disabled_mkey,
- uint32_t disabled_auth,
- uint32_t disabled_enc,
- uint32_t disabled_mac,
- CIPHER_ORDER *head)
+ int num_of_group_aliases,
+ uint32_t disabled_mkey,
+ uint32_t disabled_auth,
+ uint32_t disabled_enc,
+ uint32_t disabled_mac,
+ CIPHER_ORDER *head)
{
CIPHER_ORDER *ciph_curr;
const SSL_CIPHER **ca_curr;
@@ -770,31 +759,32 @@ static void ssl_cipher_collect_aliases(const SSL_CIPHER **ca_list,
ca_curr++;
}
- *ca_curr = NULL; /* end of list */
+ *ca_curr = NULL; /* end of list */
}
static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey,
- uint32_t alg_auth, uint32_t alg_enc,
- uint32_t alg_mac, int min_tls,
- uint32_t algo_strength, int rule,
- int32_t strength_bits, CIPHER_ORDER **head_p,
- CIPHER_ORDER **tail_p)
+ uint32_t alg_auth, uint32_t alg_enc,
+ uint32_t alg_mac, int min_tls,
+ uint32_t algo_strength, int rule,
+ int32_t strength_bits, CIPHER_ORDER **head_p,
+ CIPHER_ORDER **tail_p)
{
CIPHER_ORDER *head, *tail, *curr, *next, *last;
const SSL_CIPHER *cp;
int reverse = 0;
- OSSL_TRACE_BEGIN(TLS_CIPHER) {
+ OSSL_TRACE_BEGIN(TLS_CIPHER)
+ {
BIO_printf(trc_out,
- "Applying rule %d with %08x/%08x/%08x/%08x/%08x %08x (%d)\n",
- rule, (unsigned int)alg_mkey, (unsigned int)alg_auth,
- (unsigned int)alg_enc, (unsigned int)alg_mac, min_tls,
- (unsigned int)algo_strength, (int)strength_bits);
+ "Applying rule %d with %08x/%08x/%08x/%08x/%08x %08x (%d)\n",
+ rule, (unsigned int)alg_mkey, (unsigned int)alg_auth,
+ (unsigned int)alg_enc, (unsigned int)alg_mac, min_tls,
+ (unsigned int)algo_strength, (int)strength_bits);
}
if (rule == CIPHER_DEL || rule == CIPHER_BUMP)
- reverse = 1; /* needed to maintain sorting between currently
- * deleted ciphers */
+ reverse = 1; /* needed to maintain sorting between currently
+ * deleted ciphers */
head = *head_p;
tail = *tail_p;
@@ -831,15 +821,15 @@ static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey,
} else {
if (trc_out != NULL) {
BIO_printf(trc_out,
- "\nName: %s:"
- "\nAlgo = %08x/%08x/%08x/%08x/%08x Algo_strength = %08x\n",
- cp->name,
- (unsigned int)cp->algorithm_mkey,
- (unsigned int)cp->algorithm_auth,
- (unsigned int)cp->algorithm_enc,
- (unsigned int)cp->algorithm_mac,
- cp->min_tls,
- (unsigned int)cp->algo_strength);
+ "\nName: %s:"
+ "\nAlgo = %08x/%08x/%08x/%08x/%08x Algo_strength = %08x\n",
+ cp->name,
+ (unsigned int)cp->algorithm_mkey,
+ (unsigned int)cp->algorithm_auth,
+ (unsigned int)cp->algorithm_enc,
+ (unsigned int)cp->algorithm_mac,
+ cp->min_tls,
+ (unsigned int)cp->algo_strength);
}
if (cipher_id != 0 && (cipher_id != cp->id))
continue;
@@ -917,7 +907,7 @@ static void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey,
}
static int ssl_cipher_strength_sort(CIPHER_ORDER **head_p,
- CIPHER_ORDER **tail_p)
+ CIPHER_ORDER **tail_p)
{
int32_t max_strength_bits;
int i, *number_uses;
@@ -956,16 +946,16 @@ static int ssl_cipher_strength_sort(CIPHER_ORDER **head_p,
for (i = max_strength_bits; i >= 0; i--)
if (number_uses[i] > 0)
ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_ORD, i, head_p,
- tail_p);
+ tail_p);
OPENSSL_free(number_uses);
return 1;
}
static int ssl_cipher_process_rulestr(const char *rule_str,
- CIPHER_ORDER **head_p,
- CIPHER_ORDER **tail_p,
- const SSL_CIPHER **ca_list, CERT *c)
+ CIPHER_ORDER **head_p,
+ CIPHER_ORDER **tail_p,
+ const SSL_CIPHER **ca_list, CERT *c)
{
uint32_t alg_mkey, alg_auth, alg_enc, alg_mac, algo_strength;
int min_tls;
@@ -980,7 +970,7 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
ch = *l;
if (ch == '\0')
- break; /* done */
+ break; /* done */
if (ch == '-') {
rule = CIPHER_DEL;
l++;
@@ -1014,13 +1004,10 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
buf = l;
buflen = 0;
#ifndef CHARSET_EBCDIC
- while (((ch >= 'A') && (ch <= 'Z')) ||
- ((ch >= '0') && (ch <= '9')) ||
- ((ch >= 'a') && (ch <= 'z')) ||
- (ch == '-') || (ch == '_') || (ch == '.') || (ch == '='))
+ while (((ch >= 'A') && (ch <= 'Z')) || ((ch >= '0') && (ch <= '9')) || ((ch >= 'a') && (ch <= 'z')) || (ch == '-') || (ch == '_') || (ch == '.') || (ch == '='))
#else
while (isalnum((unsigned char)ch) || (ch == '-') || (ch == '_') || (ch == '.')
- || (ch == '='))
+ || (ch == '='))
#endif
{
ch = *(++l);
@@ -1038,8 +1025,8 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
}
if (rule == CIPHER_SPECIAL) {
- found = 0; /* unused -- avoid compiler warning */
- break; /* special treatment */
+ found = 0; /* unused -- avoid compiler warning */
+ break; /* special treatment */
}
/* check for multi-part specification */
@@ -1069,8 +1056,8 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
found = 1;
break;
} else if (ca_list[j]->stdname != NULL
- && strncmp(buf, ca_list[j]->stdname, buflen) == 0
- && ca_list[j]->stdname[buflen] == '\0') {
+ && strncmp(buf, ca_list[j]->stdname, buflen) == 0
+ && ca_list[j]->stdname[buflen] == '\0') {
found = 1;
break;
} else
@@ -1078,7 +1065,7 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
}
if (!found)
- break; /* ignore this entry */
+ break; /* ignore this entry */
if (ca_list[j]->algorithm_mkey) {
if (alg_mkey) {
@@ -1130,9 +1117,7 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
if (ca_list[j]->algo_strength & SSL_STRONG_MASK) {
if (algo_strength & SSL_STRONG_MASK) {
- algo_strength &=
- (ca_list[j]->algo_strength & SSL_STRONG_MASK) |
- ~SSL_STRONG_MASK;
+ algo_strength &= (ca_list[j]->algo_strength & SSL_STRONG_MASK) | ~SSL_STRONG_MASK;
if (!(algo_strength & SSL_STRONG_MASK)) {
found = 0;
break;
@@ -1144,16 +1129,13 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
if (ca_list[j]->algo_strength & SSL_DEFAULT_MASK) {
if (algo_strength & SSL_DEFAULT_MASK) {
- algo_strength &=
- (ca_list[j]->algo_strength & SSL_DEFAULT_MASK) |
- ~SSL_DEFAULT_MASK;
+ algo_strength &= (ca_list[j]->algo_strength & SSL_DEFAULT_MASK) | ~SSL_DEFAULT_MASK;
if (!(algo_strength & SSL_DEFAULT_MASK)) {
found = 0;
break;
}
} else {
- algo_strength |=
- ca_list[j]->algo_strength & SSL_DEFAULT_MASK;
+ algo_strength |= ca_list[j]->algo_strength & SSL_DEFAULT_MASK;
}
}
@@ -1214,22 +1196,22 @@ static int ssl_cipher_process_rulestr(const char *rule_str,
l++;
} else if (found) {
ssl_cipher_apply_rule(cipher_id,
- alg_mkey, alg_auth, alg_enc, alg_mac,
- min_tls, algo_strength, rule, -1, head_p,
- tail_p);
+ alg_mkey, alg_auth, alg_enc, alg_mac,
+ min_tls, algo_strength, rule, -1, head_p,
+ tail_p);
} else {
while ((*l != '\0') && !ITEM_SEP(*l))
l++;
}
if (*l == '\0')
- break; /* done */
+ break; /* done */
}
return retval;
}
static int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c,
- const char **prule_str)
+ const char **prule_str)
{
unsigned int suiteb_flags = 0, suiteb_comb2 = 0;
if (HAS_PREFIX(*prule_str, "SUITEB128ONLY")) {
@@ -1264,8 +1246,7 @@ static int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c,
if (suiteb_comb2)
*prule_str = "ECDHE-ECDSA-AES256-GCM-SHA384";
else
- *prule_str =
- "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384";
+ *prule_str = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384";
break;
case SSL_CERT_FLAG_SUITEB_128_LOS_ONLY:
*prule_str = "ECDHE-ECDSA-AES128-GCM-SHA256";
@@ -1313,8 +1294,8 @@ static __owur int set_ciphersuites(STACK_OF(SSL_CIPHER) **currciphers, const cha
/* Parse the list. We explicitly allow an empty list */
if (*str != '\0'
- && (CONF_parse_list(str, ':', 1, ciphersuite_cb, newciphers) <= 0
- || sk_SSL_CIPHER_num(newciphers) == 0)) {
+ && (CONF_parse_list(str, ':', 1, ciphersuite_cb, newciphers) <= 0
+ || sk_SSL_CIPHER_num(newciphers) == 0)) {
ERR_raise(ERR_LIB_SSL, SSL_R_NO_CIPHER_MATCH);
sk_SSL_CIPHER_free(newciphers);
return 0;
@@ -1326,7 +1307,7 @@ static __owur int set_ciphersuites(STACK_OF(SSL_CIPHER) **currciphers, const cha
}
static int update_cipher_list_by_id(STACK_OF(SSL_CIPHER) **cipher_list_by_id,
- STACK_OF(SSL_CIPHER) *cipherstack)
+ STACK_OF(SSL_CIPHER) *cipherstack)
{
STACK_OF(SSL_CIPHER) *tmp_cipher_list = sk_SSL_CIPHER_dup(cipherstack);
@@ -1344,9 +1325,9 @@ static int update_cipher_list_by_id(STACK_OF(SSL_CIPHER) **cipher_list_by_id,
}
static int update_cipher_list(SSL_CTX *ctx,
- STACK_OF(SSL_CIPHER) **cipher_list,
- STACK_OF(SSL_CIPHER) **cipher_list_by_id,
- STACK_OF(SSL_CIPHER) *tls13_ciphersuites)
+ STACK_OF(SSL_CIPHER) **cipher_list,
+ STACK_OF(SSL_CIPHER) **cipher_list_by_id,
+ STACK_OF(SSL_CIPHER) *tls13_ciphersuites)
{
int i;
STACK_OF(SSL_CIPHER) *tmp_cipher_list = sk_SSL_CIPHER_dup(*cipher_list);
@@ -1359,8 +1340,8 @@ static int update_cipher_list(SSL_CTX *ctx,
* list.
*/
while (sk_SSL_CIPHER_num(tmp_cipher_list) > 0
- && sk_SSL_CIPHER_value(tmp_cipher_list, 0)->min_tls
- == TLS1_3_VERSION)
+ && sk_SSL_CIPHER_value(tmp_cipher_list, 0)->min_tls
+ == TLS1_3_VERSION)
(void)sk_SSL_CIPHER_delete(tmp_cipher_list, 0);
/* Insert the new TLSv1.3 ciphersuites */
@@ -1369,9 +1350,11 @@ static int update_cipher_list(SSL_CTX *ctx,
/* Don't include any TLSv1.3 ciphersuites that are disabled */
if ((sslc->algorithm_enc & ctx->disabled_enc_mask) == 0
- && (ssl_cipher_table_mac[sslc->algorithm2
- & SSL_HANDSHAKE_MAC_MASK].mask
- & ctx->disabled_mac_mask) == 0) {
+ && (ssl_cipher_table_mac[sslc->algorithm2
+ & SSL_HANDSHAKE_MAC_MASK]
+ .mask
+ & ctx->disabled_mac_mask)
+ == 0) {
sk_SSL_CIPHER_unshift(tmp_cipher_list, sslc);
}
}
@@ -1393,7 +1376,7 @@ int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str)
if (ret && ctx->cipher_list != NULL)
return update_cipher_list(ctx, &ctx->cipher_list, &ctx->cipher_list_by_id,
- ctx->tls13_ciphersuites);
+ ctx->tls13_ciphersuites);
return ret;
}
@@ -1415,18 +1398,18 @@ int SSL_set_ciphersuites(SSL *s, const char *str)
}
if (ret && sc->cipher_list != NULL)
return update_cipher_list(s->ctx, &sc->cipher_list,
- &sc->cipher_list_by_id,
- sc->tls13_ciphersuites);
+ &sc->cipher_list_by_id,
+ sc->tls13_ciphersuites);
return ret;
}
STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
- STACK_OF(SSL_CIPHER) *tls13_ciphersuites,
- STACK_OF(SSL_CIPHER) **cipher_list,
- STACK_OF(SSL_CIPHER) **cipher_list_by_id,
- const char *rule_str,
- CERT *c)
+ STACK_OF(SSL_CIPHER) *tls13_ciphersuites,
+ STACK_OF(SSL_CIPHER) **cipher_list,
+ STACK_OF(SSL_CIPHER) **cipher_list_by_id,
+ const char *rule_str,
+ CERT *c)
{
int ok, num_of_ciphers, num_of_alias_max, num_of_group_aliases, i;
uint32_t disabled_mkey, disabled_auth, disabled_enc, disabled_mac;
@@ -1465,12 +1448,12 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
if (num_of_ciphers > 0) {
co_list = OPENSSL_malloc(sizeof(*co_list) * num_of_ciphers);
if (co_list == NULL)
- return NULL; /* Failure */
+ return NULL; /* Failure */
}
ssl_cipher_collect_ciphers(ssl_method, num_of_ciphers,
- disabled_mkey, disabled_auth, disabled_enc,
- disabled_mac, co_list, &head, &tail);
+ disabled_mkey, disabled_auth, disabled_enc,
+ disabled_mac, co_list, &head, &tail);
/* Now arrange all ciphers by preference. */
@@ -1482,17 +1465,17 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
* preference).
*/
ssl_cipher_apply_rule(0, SSL_kECDHE, SSL_aECDSA, 0, 0, 0, 0, CIPHER_ADD,
- -1, &head, &tail);
+ -1, &head, &tail);
ssl_cipher_apply_rule(0, SSL_kECDHE, 0, 0, 0, 0, 0, CIPHER_ADD, -1, &head,
- &tail);
+ &tail);
ssl_cipher_apply_rule(0, SSL_kECDHE, 0, 0, 0, 0, 0, CIPHER_DEL, -1, &head,
- &tail);
+ &tail);
/* Within each strength group, we prefer GCM over CHACHA... */
ssl_cipher_apply_rule(0, 0, 0, SSL_AESGCM, 0, 0, 0, CIPHER_ADD, -1,
- &head, &tail);
+ &head, &tail);
ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20, 0, 0, 0, CIPHER_ADD, -1,
- &head, &tail);
+ &head, &tail);
/*
* ...and generally, our preferred cipher is AES.
@@ -1500,14 +1483,14 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
* strength.
*/
ssl_cipher_apply_rule(0, 0, 0, SSL_AES ^ SSL_AESGCM, 0, 0, 0, CIPHER_ADD,
- -1, &head, &tail);
+ -1, &head, &tail);
/* Temporarily enable everything else for sorting */
ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_ADD, -1, &head, &tail);
/* Low priority for MD5 */
ssl_cipher_apply_rule(0, 0, 0, 0, SSL_MD5, 0, 0, CIPHER_ORD, -1, &head,
- &tail);
+ &tail);
/*
* Move anonymous ciphers to the end. Usually, these will remain
@@ -1515,16 +1498,16 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
* we prefer authenticated ciphers.)
*/
ssl_cipher_apply_rule(0, 0, SSL_aNULL, 0, 0, 0, 0, CIPHER_ORD, -1, &head,
- &tail);
+ &tail);
ssl_cipher_apply_rule(0, SSL_kRSA, 0, 0, 0, 0, 0, CIPHER_ORD, -1, &head,
- &tail);
+ &tail);
ssl_cipher_apply_rule(0, SSL_kPSK, 0, 0, 0, 0, 0, CIPHER_ORD, -1, &head,
- &tail);
+ &tail);
/* RC4 is sort-of broken -- move to the end */
ssl_cipher_apply_rule(0, 0, 0, SSL_RC4, 0, 0, 0, CIPHER_ORD, -1, &head,
- &tail);
+ &tail);
/*
* Now sort by symmetric encryption strength. The above ordering remains
@@ -1539,7 +1522,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
* Partially overrule strength sort to prefer TLS 1.2 ciphers/PRFs.
*/
ssl_cipher_apply_rule(0, 0, 0, 0, 0, TLS1_2_VERSION, 0, CIPHER_BUMP, -1,
- &head, &tail);
+ &head, &tail);
/*
* Irrespective of strength, enforce the following order:
@@ -1555,11 +1538,11 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
* reverse order of preference.
*/
ssl_cipher_apply_rule(0, 0, 0, 0, SSL_AEAD, 0, 0, CIPHER_BUMP, -1,
- &head, &tail);
+ &head, &tail);
ssl_cipher_apply_rule(0, SSL_kDHE | SSL_kECDHE, 0, 0, 0, 0, 0,
- CIPHER_BUMP, -1, &head, &tail);
+ CIPHER_BUMP, -1, &head, &tail);
ssl_cipher_apply_rule(0, SSL_kDHE | SSL_kECDHE, 0, 0, SSL_AEAD, 0, 0,
- CIPHER_BUMP, -1, &head, &tail);
+ CIPHER_BUMP, -1, &head, &tail);
/* Now disable everything (maintaining the ordering!) */
ssl_cipher_apply_rule(0, 0, 0, 0, 0, 0, 0, CIPHER_DEL, -1, &head, &tail);
@@ -1577,11 +1560,11 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
ca_list = OPENSSL_malloc(sizeof(*ca_list) * num_of_alias_max);
if (ca_list == NULL) {
OPENSSL_free(co_list);
- return NULL; /* Failure */
+ return NULL; /* Failure */
}
ssl_cipher_collect_aliases(ca_list, num_of_group_aliases,
- disabled_mkey, disabled_auth, disabled_enc,
- disabled_mac, head);
+ disabled_mkey, disabled_auth, disabled_enc,
+ disabled_mac, head);
/*
* If the rule_string begins with DEFAULT, apply the default rule
@@ -1591,7 +1574,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
rule_p = rule_str;
if (HAS_PREFIX(rule_str, "DEFAULT")) {
ok = ssl_cipher_process_rulestr(OSSL_default_cipher_list(),
- &head, &tail, ca_list, c);
+ &head, &tail, ca_list, c);
rule_p += 7;
if (*rule_p == ':')
rule_p++;
@@ -1600,9 +1583,9 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
if (ok && (rule_p[0] != '\0'))
ok = ssl_cipher_process_rulestr(rule_p, &head, &tail, ca_list, c);
- OPENSSL_free(ca_list); /* Not needed anymore */
+ OPENSSL_free(ca_list); /* Not needed anymore */
- if (!ok) { /* Rule processing failure */
+ if (!ok) { /* Rule processing failure */
OPENSSL_free(co_list);
return NULL;
}
@@ -1622,9 +1605,11 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
/* Don't include any TLSv1.3 ciphers that are disabled */
if ((sslc->algorithm_enc & disabled_enc) != 0
- || (ssl_cipher_table_mac[sslc->algorithm2
- & SSL_HANDSHAKE_MAC_MASK].mask
- & ctx->disabled_mac_mask) != 0) {
+ || (ssl_cipher_table_mac[sslc->algorithm2
+ & SSL_HANDSHAKE_MAC_MASK]
+ .mask
+ & ctx->disabled_mac_mask)
+ != 0) {
sk_SSL_CIPHER_delete(tls13_ciphersuites, i);
i--;
continue;
@@ -1637,7 +1622,8 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
}
}
- OSSL_TRACE_BEGIN(TLS_CIPHER) {
+ OSSL_TRACE_BEGIN(TLS_CIPHER)
+ {
BIO_printf(trc_out, "cipher selection:\n");
}
/*
@@ -1656,7 +1642,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
BIO_printf(trc_out, "<%s>\n", curr->cipher->name);
}
}
- OPENSSL_free(co_list); /* Not needed any longer */
+ OPENSSL_free(co_list); /* Not needed any longer */
OSSL_TRACE_END(TLS_CIPHER);
if (!update_cipher_list_by_id(cipher_list_by_id, cipherstack)) {
@@ -1965,7 +1951,7 @@ STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void)
}
STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
- *meths)
+ *meths)
{
return meths;
}
@@ -1981,7 +1967,7 @@ STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void)
STACK_OF(SSL_COMP) **rv;
rv = (STACK_OF(SSL_COMP) **)OSSL_LIB_CTX_get_data(NULL,
- OSSL_LIB_CTX_COMP_METHODS);
+ OSSL_LIB_CTX_COMP_METHODS);
if (rv != NULL)
return *rv;
else
@@ -1989,13 +1975,13 @@ STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void)
}
STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
- *meths)
+ *meths)
{
STACK_OF(SSL_COMP) **comp_methods;
STACK_OF(SSL_COMP) *old_meths;
comp_methods = (STACK_OF(SSL_COMP) **)OSSL_LIB_CTX_get_data(NULL,
- OSSL_LIB_CTX_COMP_METHODS);
+ OSSL_LIB_CTX_COMP_METHODS);
if (comp_methods == NULL) {
old_meths = meths;
} else {
@@ -2080,8 +2066,8 @@ int SSL_COMP_get_id(const SSL_COMP *comp)
}
const SSL_CIPHER *ssl_get_cipher_by_char(SSL_CONNECTION *s,
- const unsigned char *ptr,
- int all)
+ const unsigned char *ptr,
+ int all)
{
const SSL_CIPHER *c = SSL_CONNECTION_GET_SSL(s)->method->get_cipher_by_char(ptr);
@@ -2133,10 +2119,11 @@ int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c)
return ssl_cipher_table_auth[i].nid;
}
-int ssl_get_md_idx(int md_nid) {
+int ssl_get_md_idx(int md_nid)
+{
int i;
- for(i = 0; i < SSL_MD_NUM_IDX; i++) {
+ for (i = 0; i < SSL_MD_NUM_IDX; i++) {
if (md_nid == ssl_cipher_table_mac[i].nid)
return i;
}
@@ -2158,8 +2145,8 @@ int SSL_CIPHER_is_aead(const SSL_CIPHER *c)
}
int ssl_cipher_get_overhead(const SSL_CIPHER *c, size_t *mac_overhead,
- size_t *int_overhead, size_t *blocksize,
- size_t *ext_overhead)
+ size_t *int_overhead, size_t *blocksize,
+ size_t *ext_overhead)
{
int mac = 0, in = 0, blk = 0, out = 0;
@@ -2193,8 +2180,7 @@ int ssl_cipher_get_overhead(const SSL_CIPHER *c, size_t *mac_overhead,
/* If it wasn't AEAD or SSL_eNULL, we expect it to be a
known CBC cipher. */
- if (e_ciph == NULL ||
- EVP_CIPHER_get_mode(e_ciph) != EVP_CIPH_CBC_MODE)
+ if (e_ciph == NULL || EVP_CIPHER_get_mode(e_ciph) != EVP_CIPH_CBC_MODE)
return 0;
in = 1; /* padding length byte */
diff --git a/crypto/openssl/ssl/ssl_conf.c b/crypto/openssl/ssl/ssl_conf.c
index 946d20be527c..0d9359388095 100644
--- a/crypto/openssl/ssl/ssl_conf.c
+++ b/crypto/openssl/ssl/ssl_conf.c
@@ -37,38 +37,38 @@ typedef struct {
} ssl_switch_tbl;
/* Sense of name is inverted e.g. "TLSv1" will clear SSL_OP_NO_TLSv1 */
-#define SSL_TFLAG_INV 0x1
+#define SSL_TFLAG_INV 0x1
/* Mask for type of flag referred to */
#define SSL_TFLAG_TYPE_MASK 0xf00
/* Flag is for options */
-#define SSL_TFLAG_OPTION 0x000
+#define SSL_TFLAG_OPTION 0x000
/* Flag is for cert_flags */
-#define SSL_TFLAG_CERT 0x100
+#define SSL_TFLAG_CERT 0x100
/* Flag is for verify mode */
-#define SSL_TFLAG_VFY 0x200
+#define SSL_TFLAG_VFY 0x200
/* Option can only be used for clients */
#define SSL_TFLAG_CLIENT SSL_CONF_FLAG_CLIENT
/* Option can only be used for servers */
#define SSL_TFLAG_SERVER SSL_CONF_FLAG_SERVER
-#define SSL_TFLAG_BOTH (SSL_TFLAG_CLIENT|SSL_TFLAG_SERVER)
+#define SSL_TFLAG_BOTH (SSL_TFLAG_CLIENT | SSL_TFLAG_SERVER)
#define SSL_FLAG_TBL(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_BOTH, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_BOTH, flag }
#define SSL_FLAG_TBL_SRV(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_SERVER, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_SERVER, flag }
#define SSL_FLAG_TBL_CLI(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_CLIENT, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_CLIENT, flag }
#define SSL_FLAG_TBL_INV(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_INV|SSL_TFLAG_BOTH, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_INV | SSL_TFLAG_BOTH, flag }
#define SSL_FLAG_TBL_SRV_INV(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_INV|SSL_TFLAG_SERVER, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_INV | SSL_TFLAG_SERVER, flag }
#define SSL_FLAG_TBL_CERT(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_CERT|SSL_TFLAG_BOTH, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_CERT | SSL_TFLAG_BOTH, flag }
#define SSL_FLAG_VFY_CLI(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_VFY | SSL_TFLAG_CLIENT, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_VFY | SSL_TFLAG_CLIENT, flag }
#define SSL_FLAG_VFY_SRV(str, flag) \
- {str, (int)(sizeof(str) - 1), SSL_TFLAG_VFY | SSL_TFLAG_SERVER, flag}
+ { str, (int)(sizeof(str) - 1), SSL_TFLAG_VFY | SSL_TFLAG_SERVER, flag }
/*
* Opaque structure containing SSL configuration context.
@@ -109,7 +109,7 @@ struct ssl_conf_ctx_st {
};
static void ssl_set_option(SSL_CONF_CTX *cctx, unsigned int name_flags,
- uint64_t option_value, int onoff)
+ uint64_t option_value, int onoff)
{
uint32_t *pflags;
@@ -136,7 +136,6 @@ static void ssl_set_option(SSL_CONF_CTX *cctx, unsigned int name_flags,
default:
return;
-
}
if (onoff)
*pflags |= option_value;
@@ -145,7 +144,7 @@ static void ssl_set_option(SSL_CONF_CTX *cctx, unsigned int name_flags,
}
static int ssl_match_option(SSL_CONF_CTX *cctx, const ssl_flag_tbl *tbl,
- const char *name, int namelen, int onoff)
+ const char *name, int namelen, int onoff)
{
/* If name not relevant for context skip */
if (!(cctx->flags & tbl->name_flags & SSL_TFLAG_BOTH))
@@ -154,7 +153,7 @@ static int ssl_match_option(SSL_CONF_CTX *cctx, const ssl_flag_tbl *tbl,
if (strcmp(tbl->name, name))
return 0;
} else if (tbl->namelen != namelen
- || OPENSSL_strncasecmp(tbl->name, name, namelen))
+ || OPENSSL_strncasecmp(tbl->name, name, namelen))
return 0;
ssl_set_option(cctx, tbl->name_flags, tbl->option_value, onoff);
return 1;
@@ -238,11 +237,10 @@ static int cmd_ECDHParameters(SSL_CONF_CTX *cctx, const char *value)
/* Ignore values supported by 1.0.2 for the automatic selection */
if ((cctx->flags & SSL_CONF_FLAG_FILE)
- && (OPENSSL_strcasecmp(value, "+automatic") == 0
- || OPENSSL_strcasecmp(value, "automatic") == 0))
+ && (OPENSSL_strcasecmp(value, "+automatic") == 0
+ || OPENSSL_strcasecmp(value, "automatic") == 0))
return 1;
- if ((cctx->flags & SSL_CONF_FLAG_CMDLINE) &&
- strcmp(value, "auto") == 0)
+ if ((cctx->flags & SSL_CONF_FLAG_CMDLINE) && strcmp(value, "auto") == 0)
return 1;
/* ECDHParameters accepts a single group name */
@@ -316,14 +314,14 @@ static int protocol_from_string(const char *value)
* shrink.
*/
static const struct protocol_versions versions[] = {
- {"None", 0},
- {"SSLv3", SSL3_VERSION},
- {"TLSv1", TLS1_VERSION},
- {"TLSv1.1", TLS1_1_VERSION},
- {"TLSv1.2", TLS1_2_VERSION},
- {"TLSv1.3", TLS1_3_VERSION},
- {"DTLSv1", DTLS1_VERSION},
- {"DTLSv1.2", DTLS1_2_VERSION}
+ { "None", 0 },
+ { "SSLv3", SSL3_VERSION },
+ { "TLSv1", TLS1_VERSION },
+ { "TLSv1.1", TLS1_1_VERSION },
+ { "TLSv1.2", TLS1_2_VERSION },
+ { "TLSv1.3", TLS1_3_VERSION },
+ { "DTLSv1", DTLS1_VERSION },
+ { "DTLSv1.2", DTLS1_2_VERSION }
};
size_t i;
size_t n = OSSL_NELEM(versions);
@@ -379,20 +377,20 @@ static int cmd_Options(SSL_CONF_CTX *cctx, const char *value)
static const ssl_flag_tbl ssl_option_list[] = {
SSL_FLAG_TBL_INV("SessionTicket", SSL_OP_NO_TICKET),
SSL_FLAG_TBL_INV("EmptyFragments",
- SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS),
+ SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS),
SSL_FLAG_TBL("Bugs", SSL_OP_ALL),
SSL_FLAG_TBL_INV("Compression", SSL_OP_NO_COMPRESSION),
SSL_FLAG_TBL_SRV("ServerPreference", SSL_OP_CIPHER_SERVER_PREFERENCE),
SSL_FLAG_TBL_SRV("NoResumptionOnRenegotiation",
- SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION),
+ SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION),
SSL_FLAG_TBL_SRV("DHSingle", SSL_OP_SINGLE_DH_USE),
SSL_FLAG_TBL_SRV("ECDHSingle", SSL_OP_SINGLE_ECDH_USE),
SSL_FLAG_TBL("UnsafeLegacyRenegotiation",
- SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION),
+ SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION),
SSL_FLAG_TBL("UnsafeLegacyServerConnect",
- SSL_OP_LEGACY_SERVER_CONNECT),
+ SSL_OP_LEGACY_SERVER_CONNECT),
SSL_FLAG_TBL("ClientRenegotiation",
- SSL_OP_ALLOW_CLIENT_RENEGOTIATION),
+ SSL_OP_ALLOW_CLIENT_RENEGOTIATION),
SSL_FLAG_TBL_INV("EncryptThenMac", SSL_OP_NO_ENCRYPT_THEN_MAC),
SSL_FLAG_TBL("NoRenegotiation", SSL_OP_NO_RENEGOTIATION),
SSL_FLAG_TBL("AllowNoDHEKEX", SSL_OP_ALLOW_NO_DHE_KEX),
@@ -422,13 +420,12 @@ static int cmd_VerifyMode(SSL_CONF_CTX *cctx, const char *value)
SSL_FLAG_VFY_CLI("Peer", SSL_VERIFY_PEER),
SSL_FLAG_VFY_SRV("Request", SSL_VERIFY_PEER),
SSL_FLAG_VFY_SRV("Require",
- SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT),
+ SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT),
SSL_FLAG_VFY_SRV("Once", SSL_VERIFY_PEER | SSL_VERIFY_CLIENT_ONCE),
SSL_FLAG_VFY_SRV("RequestPostHandshake",
- SSL_VERIFY_PEER | SSL_VERIFY_POST_HANDSHAKE),
+ SSL_VERIFY_PEER | SSL_VERIFY_POST_HANDSHAKE),
SSL_FLAG_VFY_SRV("RequirePostHandshake",
- SSL_VERIFY_PEER | SSL_VERIFY_POST_HANDSHAKE |
- SSL_VERIFY_FAIL_IF_NO_PEER_CERT),
+ SSL_VERIFY_PEER | SSL_VERIFY_POST_HANDSHAKE | SSL_VERIFY_FAIL_IF_NO_PEER_CERT),
};
if (value == NULL)
return -3;
@@ -494,8 +491,8 @@ static int cmd_ServerInfoFile(SSL_CONF_CTX *cctx, const char *value)
}
static int do_store(SSL_CONF_CTX *cctx,
- const char *CAfile, const char *CApath, const char *CAstore,
- int verify_store)
+ const char *CAfile, const char *CApath, const char *CAstore,
+ int verify_store)
{
CERT *cert;
X509_STORE **st;
@@ -532,8 +529,7 @@ static int do_store(SSL_CONF_CTX *cctx,
return 0;
if (CApath != NULL && !X509_STORE_load_path(*st, CApath))
return 0;
- if (CAstore != NULL && !X509_STORE_load_store_ex(*st, CAstore, libctx,
- propq))
+ if (CAstore != NULL && !X509_STORE_load_store_ex(*st, CAstore, libctx, propq))
return 0;
return 1;
}
@@ -627,14 +623,15 @@ static int cmd_DHParameters(SSL_CONF_CTX *cctx, const char *value)
decoderctx
= OSSL_DECODER_CTX_new_for_pkey(&dhpkey, "PEM", NULL, "DH",
- OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS,
- sslctx->libctx, sslctx->propq);
+ OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS,
+ sslctx->libctx, sslctx->propq);
if (decoderctx == NULL)
goto end;
ERR_set_mark();
while (!OSSL_DECODER_from_bio(decoderctx, in)
- && dhpkey == NULL
- && !BIO_eof(in));
+ && dhpkey == NULL
+ && !BIO_eof(in))
+ ;
OSSL_DECODER_CTX_free(decoderctx);
if (dhpkey == NULL) {
@@ -654,7 +651,7 @@ static int cmd_DHParameters(SSL_CONF_CTX *cctx, const char *value)
if ((rv = SSL_set0_tmp_dh_pkey(cctx->ssl, dhpkey)) > 0)
dhpkey = NULL;
}
- end:
+end:
EVP_PKEY_free(dhpkey);
BIO_free(in);
return rv > 0;
@@ -693,18 +690,35 @@ static int cmd_RecordPadding(SSL_CONF_CTX *cctx, const char *value)
* All we care about are non-negative values,
* the setters check the range
*/
- if (cctx->ctx)
- rv = SSL_CTX_set_block_padding_ex(cctx->ctx, (size_t)block_padding,
- (size_t)hs_padding);
- if (cctx->ssl)
- rv = SSL_set_block_padding_ex(cctx->ssl, (size_t)block_padding,
- (size_t)hs_padding);
+ if (cctx->ctx) {
+ /*
+ * QUIC always pads TLS data at the packet level, and as such, attempting
+ * to set block padding at the record level fails in calls to SSL_CTX_set_block_padding_ex.
+ * However, when configuring record padding via config file, we have no idea if we are
+ * going to create TCP or QUIC based SSL's, so silently ignore this configuration option
+ * for QUIC.
+ */
+ if (SSL_CTX_is_quic(cctx->ctx))
+ rv = 1;
+ else
+ rv = SSL_CTX_set_block_padding_ex(cctx->ctx, (size_t)block_padding,
+ (size_t)hs_padding);
+ }
+ if (cctx->ssl) {
+ /*
+ * As above, ignore this config option for QUIC
+ */
+ if (SSL_is_quic(cctx->ssl))
+ rv = 1;
+ else
+ rv = SSL_set_block_padding_ex(cctx->ssl, (size_t)block_padding,
+ (size_t)hs_padding);
+ }
out:
OPENSSL_free(copy);
return rv;
}
-
static int cmd_NumTickets(SSL_CONF_CTX *cctx, const char *value)
{
int rv = 0;
@@ -720,7 +734,7 @@ static int cmd_NumTickets(SSL_CONF_CTX *cctx, const char *value)
}
typedef struct {
- int (*cmd) (SSL_CONF_CTX *cctx, const char *value);
+ int (*cmd)(SSL_CONF_CTX *cctx, const char *value);
const char *str_file;
const char *str_cmdline;
unsigned short flags;
@@ -730,13 +744,13 @@ typedef struct {
/* Table of supported parameters */
#define SSL_CONF_CMD(name, cmdopt, flags, type) \
- {cmd_##name, #name, cmdopt, flags, type}
+ { cmd_##name, #name, cmdopt, flags, type }
#define SSL_CONF_CMD_STRING(name, cmdopt, flags) \
- SSL_CONF_CMD(name, cmdopt, flags, SSL_CONF_TYPE_STRING)
+ SSL_CONF_CMD(name, cmdopt, flags, SSL_CONF_TYPE_STRING)
#define SSL_CONF_CMD_SWITCH(name, flags) \
- {0, NULL, name, flags, SSL_CONF_TYPE_NONE}
+ { 0, NULL, name, flags, SSL_CONF_TYPE_NONE }
/* See apps/include/opt.h if you change this table. */
/* The SSL_CONF_CMD_SWITCH should be the same order as ssl_cmd_switches */
@@ -784,92 +798,92 @@ static const ssl_conf_cmd_tbl ssl_conf_cmds[] = {
SSL_CONF_CMD_STRING(Options, NULL, 0),
SSL_CONF_CMD_STRING(VerifyMode, NULL, 0),
SSL_CONF_CMD(Certificate, "cert", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(PrivateKey, "key", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(ServerInfoFile, NULL,
- SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(ChainCAPath, "chainCApath", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_DIR),
+ SSL_CONF_TYPE_DIR),
SSL_CONF_CMD(ChainCAFile, "chainCAfile", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(ChainCAStore, "chainCAstore", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_STORE),
+ SSL_CONF_TYPE_STORE),
SSL_CONF_CMD(VerifyCAPath, "verifyCApath", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_DIR),
+ SSL_CONF_TYPE_DIR),
SSL_CONF_CMD(VerifyCAFile, "verifyCAfile", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(VerifyCAStore, "verifyCAstore", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_STORE),
+ SSL_CONF_TYPE_STORE),
SSL_CONF_CMD(RequestCAFile, "requestCAFile", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(ClientCAFile, NULL,
- SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD(RequestCAPath, NULL, SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_DIR),
+ SSL_CONF_TYPE_DIR),
SSL_CONF_CMD(ClientCAPath, NULL,
- SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_DIR),
+ SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
+ SSL_CONF_TYPE_DIR),
SSL_CONF_CMD(RequestCAStore, "requestCAStore", SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_STORE),
+ SSL_CONF_TYPE_STORE),
SSL_CONF_CMD(ClientCAStore, NULL,
- SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_STORE),
+ SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
+ SSL_CONF_TYPE_STORE),
SSL_CONF_CMD(DHParameters, "dhparam",
- SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
- SSL_CONF_TYPE_FILE),
+ SSL_CONF_FLAG_SERVER | SSL_CONF_FLAG_CERTIFICATE,
+ SSL_CONF_TYPE_FILE),
SSL_CONF_CMD_STRING(RecordPadding, "record_padding", 0),
SSL_CONF_CMD_STRING(NumTickets, "num_tickets", SSL_CONF_FLAG_SERVER),
};
/* Supported switches: must match order of switches in ssl_conf_cmds */
static const ssl_switch_tbl ssl_cmd_switches[] = {
- {SSL_OP_NO_SSLv3, 0}, /* no_ssl3 */
- {SSL_OP_NO_TLSv1, 0}, /* no_tls1 */
- {SSL_OP_NO_TLSv1_1, 0}, /* no_tls1_1 */
- {SSL_OP_NO_TLSv1_2, 0}, /* no_tls1_2 */
- {SSL_OP_NO_TLSv1_3, 0}, /* no_tls1_3 */
- {SSL_OP_ALL, 0}, /* bugs */
- {SSL_OP_NO_COMPRESSION, 0}, /* no_comp */
- {SSL_OP_NO_COMPRESSION, SSL_TFLAG_INV}, /* comp */
- {SSL_OP_NO_TX_CERTIFICATE_COMPRESSION, 0}, /* no_tx_cert_comp */
- {SSL_OP_NO_TX_CERTIFICATE_COMPRESSION, SSL_TFLAG_INV}, /* tx_cert_comp */
- {SSL_OP_NO_RX_CERTIFICATE_COMPRESSION, 0}, /* no_rx_cert_comp */
- {SSL_OP_NO_RX_CERTIFICATE_COMPRESSION, SSL_TFLAG_INV}, /* rx_cert_comp */
- {SSL_OP_SINGLE_ECDH_USE, 0}, /* ecdh_single */
- {SSL_OP_NO_TICKET, 0}, /* no_ticket */
- {SSL_OP_CIPHER_SERVER_PREFERENCE, 0}, /* serverpref */
+ { SSL_OP_NO_SSLv3, 0 }, /* no_ssl3 */
+ { SSL_OP_NO_TLSv1, 0 }, /* no_tls1 */
+ { SSL_OP_NO_TLSv1_1, 0 }, /* no_tls1_1 */
+ { SSL_OP_NO_TLSv1_2, 0 }, /* no_tls1_2 */
+ { SSL_OP_NO_TLSv1_3, 0 }, /* no_tls1_3 */
+ { SSL_OP_ALL, 0 }, /* bugs */
+ { SSL_OP_NO_COMPRESSION, 0 }, /* no_comp */
+ { SSL_OP_NO_COMPRESSION, SSL_TFLAG_INV }, /* comp */
+ { SSL_OP_NO_TX_CERTIFICATE_COMPRESSION, 0 }, /* no_tx_cert_comp */
+ { SSL_OP_NO_TX_CERTIFICATE_COMPRESSION, SSL_TFLAG_INV }, /* tx_cert_comp */
+ { SSL_OP_NO_RX_CERTIFICATE_COMPRESSION, 0 }, /* no_rx_cert_comp */
+ { SSL_OP_NO_RX_CERTIFICATE_COMPRESSION, SSL_TFLAG_INV }, /* rx_cert_comp */
+ { SSL_OP_SINGLE_ECDH_USE, 0 }, /* ecdh_single */
+ { SSL_OP_NO_TICKET, 0 }, /* no_ticket */
+ { SSL_OP_CIPHER_SERVER_PREFERENCE, 0 }, /* serverpref */
/* legacy_renegotiation */
- {SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION, 0},
+ { SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION, 0 },
/* Allow client renegotiation */
- {SSL_OP_ALLOW_CLIENT_RENEGOTIATION, 0},
+ { SSL_OP_ALLOW_CLIENT_RENEGOTIATION, 0 },
/* legacy_server_connect */
- {SSL_OP_LEGACY_SERVER_CONNECT, 0},
+ { SSL_OP_LEGACY_SERVER_CONNECT, 0 },
/* no_renegotiation */
- {SSL_OP_NO_RENEGOTIATION, 0},
+ { SSL_OP_NO_RENEGOTIATION, 0 },
/* no_resumption_on_reneg */
- {SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION, 0},
+ { SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION, 0 },
/* no_legacy_server_connect */
- {SSL_OP_LEGACY_SERVER_CONNECT, SSL_TFLAG_INV},
+ { SSL_OP_LEGACY_SERVER_CONNECT, SSL_TFLAG_INV },
/* allow_no_dhe_kex */
- {SSL_OP_ALLOW_NO_DHE_KEX, 0},
+ { SSL_OP_ALLOW_NO_DHE_KEX, 0 },
/* prefer_no_dhe_kex */
- {SSL_OP_PREFER_NO_DHE_KEX, 0},
+ { SSL_OP_PREFER_NO_DHE_KEX, 0 },
/* chacha reprioritization */
- {SSL_OP_PRIORITIZE_CHACHA, 0},
- {SSL_CERT_FLAG_TLS_STRICT, SSL_TFLAG_CERT}, /* strict */
+ { SSL_OP_PRIORITIZE_CHACHA, 0 },
+ { SSL_CERT_FLAG_TLS_STRICT, SSL_TFLAG_CERT }, /* strict */
/* no_middlebox */
- {SSL_OP_ENABLE_MIDDLEBOX_COMPAT, SSL_TFLAG_INV},
+ { SSL_OP_ENABLE_MIDDLEBOX_COMPAT, SSL_TFLAG_INV },
/* anti_replay */
- {SSL_OP_NO_ANTI_REPLAY, SSL_TFLAG_INV},
+ { SSL_OP_NO_ANTI_REPLAY, SSL_TFLAG_INV },
/* no_anti_replay */
- {SSL_OP_NO_ANTI_REPLAY, 0},
+ { SSL_OP_NO_ANTI_REPLAY, 0 },
/* no Encrypt-then-Mac */
- {SSL_OP_NO_ENCRYPT_THEN_MAC, 0},
+ { SSL_OP_NO_ENCRYPT_THEN_MAC, 0 },
/* no Extended master secret */
- {SSL_OP_NO_EXTENDED_MASTER_SECRET, 0},
+ { SSL_OP_NO_EXTENDED_MASTER_SECRET, 0 },
};
static int ssl_conf_cmd_skip_prefix(SSL_CONF_CTX *cctx, const char **pcmd)
@@ -880,11 +894,9 @@ static int ssl_conf_cmd_skip_prefix(SSL_CONF_CTX *cctx, const char **pcmd)
if (cctx->prefix) {
if (strlen(*pcmd) <= cctx->prefixlen)
return 0;
- if (cctx->flags & SSL_CONF_FLAG_CMDLINE &&
- strncmp(*pcmd, cctx->prefix, cctx->prefixlen))
+ if (cctx->flags & SSL_CONF_FLAG_CMDLINE && strncmp(*pcmd, cctx->prefix, cctx->prefixlen))
return 0;
- if (cctx->flags & SSL_CONF_FLAG_FILE &&
- OPENSSL_strncasecmp(*pcmd, cctx->prefix, cctx->prefixlen))
+ if (cctx->flags & SSL_CONF_FLAG_FILE && OPENSSL_strncasecmp(*pcmd, cctx->prefix, cctx->prefixlen))
return 0;
*pcmd += cctx->prefixlen;
} else if (cctx->flags & SSL_CONF_FLAG_CMDLINE) {
@@ -911,7 +923,7 @@ static int ssl_conf_cmd_allowed(SSL_CONF_CTX *cctx, const ssl_conf_cmd_tbl *t)
}
static const ssl_conf_cmd_tbl *ssl_conf_cmd_lookup(SSL_CONF_CTX *cctx,
- const char *cmd)
+ const char *cmd)
{
const ssl_conf_cmd_tbl *t;
size_t i;
@@ -978,15 +990,15 @@ int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value)
if (rv != -2)
rv = 0;
- bad_value:
+ bad_value:
if (cctx->flags & SSL_CONF_FLAG_SHOW_ERRORS)
ERR_raise_data(ERR_LIB_SSL, SSL_R_BAD_VALUE,
- "cmd=%s, value=%s", cmd,
- value != NULL ? value : "<EMPTY>");
+ "cmd=%s, value=%s", cmd,
+ value != NULL ? value : "<EMPTY>");
return rv;
}
- unknown_cmd:
+unknown_cmd:
if (cctx->flags & SSL_CONF_FLAG_SHOW_ERRORS)
ERR_raise_data(ERR_LIB_SSL, SSL_R_UNKNOWN_CMD_NAME, "cmd=%s", cmd);
@@ -1150,7 +1162,7 @@ void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl)
cctx->pcert_flags = &sc->cert->cert_flags;
cctx->pvfy_flags = &sc->verify_mode;
cctx->cert_filename = OPENSSL_zalloc(sc->ssl_pkey_num
- * sizeof(*cctx->cert_filename));
+ * sizeof(*cctx->cert_filename));
if (cctx->cert_filename != NULL)
cctx->num_cert_filename = sc->ssl_pkey_num;
} else {
@@ -1174,7 +1186,7 @@ void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx)
cctx->pcert_flags = &ctx->cert->cert_flags;
cctx->pvfy_flags = &ctx->verify_mode;
cctx->cert_filename = OPENSSL_zalloc((SSL_PKEY_NUM + ctx->sigalg_list_len)
- * sizeof(*cctx->cert_filename));
+ * sizeof(*cctx->cert_filename));
if (cctx->cert_filename != NULL)
cctx->num_cert_filename = SSL_PKEY_NUM + ctx->sigalg_list_len;
} else {
diff --git a/crypto/openssl/ssl/ssl_init.c b/crypto/openssl/ssl/ssl_init.c
index 2a879bdc7851..1e92658b7a41 100644
--- a/crypto/openssl/ssl/ssl_init.c
+++ b/crypto/openssl/ssl/ssl_init.c
@@ -15,7 +15,7 @@
#include <openssl/trace.h>
#include "ssl_local.h"
#include "internal/thread_once.h"
-#include "internal/rio_notifier.h" /* for ossl_wsa_cleanup() */
+#include "internal/rio_notifier.h" /* for ossl_wsa_cleanup() */
static int stopped;
@@ -25,7 +25,7 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_ssl_base)
{
#ifndef OPENSSL_NO_COMP
OSSL_TRACE(INIT, "ossl_init_ssl_base: "
- "SSL_COMP_get_compression_methods()\n");
+ "SSL_COMP_get_compression_methods()\n");
/*
* This will initialise the built-in compression algorithms. The value
* returned is a STACK_OF(SSL_COMP), but that can be discarded safely
@@ -61,7 +61,7 @@ int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings)
}
opts |= OPENSSL_INIT_ADD_ALL_CIPHERS
- | OPENSSL_INIT_ADD_ALL_DIGESTS;
+ | OPENSSL_INIT_ADD_ALL_DIGESTS;
#ifndef OPENSSL_NO_AUTOLOAD_CONFIG
if ((opts & OPENSSL_INIT_NO_LOAD_CONFIG) == 0)
opts |= OPENSSL_INIT_LOAD_CONFIG;
diff --git a/crypto/openssl/ssl/ssl_lib.c b/crypto/openssl/ssl/ssl_lib.c
index 9696a4c55fab..05b0209a76b3 100644
--- a/crypto/openssl/ssl/ssl_lib.c
+++ b/crypto/openssl/ssl/ssl_lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
* Copyright 2005 Nokia. All rights reserved.
*
@@ -34,12 +34,12 @@
#include "quic/quic_local.h"
#ifndef OPENSSL_NO_SSLKEYLOG
-# include <sys/stat.h>
-# include <fcntl.h>
+#include <sys/stat.h>
+#include <fcntl.h>
#endif
static int ssl_undefined_function_3(SSL_CONNECTION *sc, unsigned char *r,
- unsigned char *s, size_t t, size_t *u)
+ unsigned char *s, size_t t, size_t *u)
{
return ssl_undefined_function(SSL_CONNECTION_GET_SSL(sc));
}
@@ -50,7 +50,7 @@ static int ssl_undefined_function_4(SSL_CONNECTION *sc, int r)
}
static size_t ssl_undefined_function_5(SSL_CONNECTION *sc, const char *r,
- size_t s, unsigned char *t)
+ size_t s, unsigned char *t)
{
return ssl_undefined_function(SSL_CONNECTION_GET_SSL(sc));
}
@@ -61,8 +61,8 @@ static int ssl_undefined_function_6(int r)
}
static int ssl_undefined_function_7(SSL_CONNECTION *sc, unsigned char *r,
- size_t s, const char *t, size_t u,
- const unsigned char *v, size_t w, int x)
+ size_t s, const char *t, size_t u,
+ const unsigned char *v, size_t w, int x)
{
return ssl_undefined_function(SSL_CONNECTION_GET_SSL(sc));
}
@@ -77,10 +77,10 @@ const SSL3_ENC_METHOD ssl3_undef_enc_method = {
ssl_undefined_function_3,
ssl_undefined_function_4,
ssl_undefined_function_5,
- NULL, /* client_finished_label */
- 0, /* client_finished_label_len */
- NULL, /* server_finished_label */
- 0, /* server_finished_label_len */
+ NULL, /* client_finished_label */
+ 0, /* client_finished_label_len */
+ NULL, /* server_finished_label */
+ 0, /* server_finished_label_len */
ssl_undefined_function_6,
ssl_undefined_function_7,
};
@@ -89,11 +89,13 @@ struct ssl_async_args {
SSL *s;
void *buf;
size_t num;
- enum { READFUNC, WRITEFUNC, OTHERFUNC } type;
+ enum { READFUNC,
+ WRITEFUNC,
+ OTHERFUNC } type;
union {
- int (*func_read) (SSL *, void *, size_t, size_t *);
- int (*func_write) (SSL *, const void *, size_t, size_t *);
- int (*func_other) (SSL *);
+ int (*func_read)(SSL *, void *, size_t, size_t *);
+ int (*func_write)(SSL *, const void *, size_t, size_t *);
+ int (*func_other)(SSL *);
} f;
};
@@ -102,15 +104,9 @@ static const struct {
uint8_t ord;
int nid;
} dane_mds[] = {
- {
- DANETLS_MATCHING_FULL, 0, NID_undef
- },
- {
- DANETLS_MATCHING_2256, 1, NID_sha256
- },
- {
- DANETLS_MATCHING_2512, 2, NID_sha512
- },
+ { DANETLS_MATCHING_FULL, 0, NID_undef },
+ { DANETLS_MATCHING_2256, 1, NID_sha256 },
+ { DANETLS_MATCHING_2512, 2, NID_sha512 },
};
static int dane_ctx_enable(struct dane_ctx_st *dctx)
@@ -118,7 +114,7 @@ static int dane_ctx_enable(struct dane_ctx_st *dctx)
const EVP_MD **mdevp;
uint8_t *mdord;
uint8_t mdmax = DANETLS_MATCHING_LAST;
- int n = ((int)mdmax) + 1; /* int to handle PrivMatch(255) */
+ int n = ((int)mdmax) + 1; /* int to handle PrivMatch(255) */
size_t i;
if (dctx->mdevp != NULL)
@@ -137,8 +133,7 @@ static int dane_ctx_enable(struct dane_ctx_st *dctx)
for (i = 0; i < OSSL_NELEM(dane_mds); ++i) {
const EVP_MD *md;
- if (dane_mds[i].nid == NID_undef ||
- (md = EVP_get_digestbynid(dane_mds[i].nid)) == NULL)
+ if (dane_mds[i].nid == NID_undef || (md = EVP_get_digestbynid(dane_mds[i].nid)) == NULL)
continue;
mdevp[dane_mds[i].mtype] = md;
mdord[dane_mds[i].mtype] = dane_mds[i].ord;
@@ -211,14 +206,15 @@ static int ssl_dane_dup(SSL_CONNECTION *to, SSL_CONNECTION *from)
danetls_record *t = sk_danetls_record_value(from->dane.trecs, i);
if (SSL_dane_tlsa_add(SSL_CONNECTION_GET_SSL(to), t->usage,
- t->selector, t->mtype, t->data, t->dlen) <= 0)
+ t->selector, t->mtype, t->data, t->dlen)
+ <= 0)
return 0;
}
return 1;
}
static int dane_mtype_set(struct dane_ctx_st *dctx,
- const EVP_MD *md, uint8_t mtype, uint8_t ord)
+ const EVP_MD *md, uint8_t mtype, uint8_t ord)
{
int i;
@@ -266,9 +262,9 @@ static const EVP_MD *tlsa_md_get(SSL_DANE *dane, uint8_t mtype)
}
static int dane_tlsa_add(SSL_DANE *dane,
- uint8_t usage,
- uint8_t selector,
- uint8_t mtype, const unsigned char *data, size_t dlen)
+ uint8_t usage,
+ uint8_t selector,
+ uint8_t mtype, const unsigned char *data, size_t dlen)
{
danetls_record *t;
const EVP_MD *md = NULL;
@@ -339,8 +335,7 @@ static int dane_tlsa_add(SSL_DANE *dane,
switch (selector) {
case DANETLS_SELECTOR_CERT:
- if (!d2i_X509(&cert, &p, ilen) || p < data ||
- dlen != (size_t)(p - data)) {
+ if (!d2i_X509(&cert, &p, ilen) || p < data || dlen != (size_t)(p - data)) {
X509_free(cert);
tlsa_free(t);
ERR_raise(ERR_LIB_SSL, SSL_R_DANE_TLSA_BAD_CERTIFICATE);
@@ -377,9 +372,7 @@ static int dane_tlsa_add(SSL_DANE *dane,
* the chain with untrusted Full(0) certificates from DNS, in case
* they are missing from the chain.
*/
- if ((dane->certs == NULL &&
- (dane->certs = sk_X509_new_null()) == NULL) ||
- !sk_X509_push(dane->certs, cert)) {
+ if ((dane->certs == NULL && (dane->certs = sk_X509_new_null()) == NULL) || !sk_X509_push(dane->certs, cert)) {
ERR_raise(ERR_LIB_SSL, ERR_R_CRYPTO_LIB);
X509_free(cert);
tlsa_free(t);
@@ -388,8 +381,7 @@ static int dane_tlsa_add(SSL_DANE *dane,
break;
case DANETLS_SELECTOR_SPKI:
- if (!d2i_PUBKEY(&pkey, &p, ilen) || p < data ||
- dlen != (size_t)(p - data)) {
+ if (!d2i_PUBKEY(&pkey, &p, ilen) || p < data || dlen != (size_t)(p - data)) {
EVP_PKEY_free(pkey);
tlsa_free(t);
ERR_raise(ERR_LIB_SSL, SSL_R_DANE_TLSA_BAD_PUBLIC_KEY);
@@ -497,7 +489,7 @@ static int ssl_check_allowed_versions(int min_version, int max_version)
|| (DTLS_VERSION_GE(min_version, DTLS1_2_VERSION)
&& DTLS_VERSION_GE(DTLS1_2_VERSION, max_version))
#endif
- )
+ )
return 0;
} else {
/* Regular TLS version checks. */
@@ -554,7 +546,7 @@ static int ssl_check_allowed_versions(int min_version, int max_version)
#ifdef OPENSSL_NO_TLS1_3
|| (min_version <= TLS1_3_VERSION && TLS1_3_VERSION <= max_version)
#endif
- )
+ )
return 0;
}
return 1;
@@ -566,10 +558,10 @@ static int ssl_check_allowed_versions(int min_version, int max_version)
* This is used by platform version identification tools.
* Do not inline this procedure or make it static.
*/
-# define OPENSSL_VPROC_STRING_(x) x##_SSL
-# define OPENSSL_VPROC_STRING(x) OPENSSL_VPROC_STRING_(x)
-# define OPENSSL_VPROC_FUNC OPENSSL_VPROC_STRING(OPENSSL_VPROC)
-void OPENSSL_VPROC_FUNC(void) {}
+#define OPENSSL_VPROC_STRING_(x) x##_SSL
+#define OPENSSL_VPROC_STRING(x) OPENSSL_VPROC_STRING_(x)
+#define OPENSSL_VPROC_FUNC OPENSSL_VPROC_STRING(OPENSSL_VPROC)
+void OPENSSL_VPROC_FUNC(void) { }
#endif
int SSL_clear(SSL *s)
@@ -622,7 +614,7 @@ int ossl_ssl_connection_reset(SSL *s)
sc->key_update = SSL_KEY_UPDATE_NONE;
memset(sc->ext.compress_certificate_from_peer, 0,
- sizeof(sc->ext.compress_certificate_from_peer));
+ sizeof(sc->ext.compress_certificate_from_peer));
sc->ext.compress_certificate_sent = 0;
EVP_MD_CTX_free(sc->pha_dgst);
@@ -683,10 +675,10 @@ int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth)
return 0;
}
sk = ssl_create_cipher_list(ctx,
- ctx->tls13_ciphersuites,
- &(ctx->cipher_list),
- &(ctx->cipher_list_by_id),
- OSSL_default_cipher_list(), ctx->cert);
+ ctx->tls13_ciphersuites,
+ &(ctx->cipher_list),
+ &(ctx->cipher_list_by_id),
+ OSSL_default_cipher_list(), ctx->cert);
if ((sk == NULL) || (sk_SSL_CIPHER_num(sk) <= 0)) {
ERR_raise(ERR_LIB_SSL, SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS);
return 0;
@@ -737,7 +729,7 @@ err:
}
SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
- const SSL_METHOD *method)
+ const SSL_METHOD *method)
{
SSL_CONNECTION *s;
SSL *ssl;
@@ -837,15 +829,13 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
s->session_ctx = ctx;
if (ctx->ext.ecpointformats != NULL) {
- s->ext.ecpointformats =
- OPENSSL_memdup(ctx->ext.ecpointformats,
- ctx->ext.ecpointformats_len);
+ s->ext.ecpointformats = OPENSSL_memdup(ctx->ext.ecpointformats,
+ ctx->ext.ecpointformats_len);
if (s->ext.ecpointformats == NULL) {
s->ext.ecpointformats_len = 0;
goto err;
}
- s->ext.ecpointformats_len =
- ctx->ext.ecpointformats_len;
+ s->ext.ecpointformats_len = ctx->ext.ecpointformats_len;
}
if (ctx->ext.supportedgroups != NULL) {
size_t add = 0;
@@ -853,10 +843,9 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
if (ctx->ext.supportedgroups_len == 0)
/* Add 1 so allocation won't fail */
add = 1;
- s->ext.supportedgroups =
- OPENSSL_memdup(ctx->ext.supportedgroups,
- (ctx->ext.supportedgroups_len + add)
- * sizeof(*ctx->ext.supportedgroups));
+ s->ext.supportedgroups = OPENSSL_memdup(ctx->ext.supportedgroups,
+ (ctx->ext.supportedgroups_len + add)
+ * sizeof(*ctx->ext.supportedgroups));
if (s->ext.supportedgroups == NULL) {
s->ext.supportedgroups_len = 0;
goto err;
@@ -869,10 +858,9 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
if (ctx->ext.keyshares_len == 0)
/* Add 1 so allocation won't fail */
add = 1;
- s->ext.keyshares =
- OPENSSL_memdup(ctx->ext.keyshares,
- (ctx->ext.keyshares_len + add)
- * sizeof(*ctx->ext.keyshares));
+ s->ext.keyshares = OPENSSL_memdup(ctx->ext.keyshares,
+ (ctx->ext.keyshares_len + add)
+ * sizeof(*ctx->ext.keyshares));
if (s->ext.keyshares == NULL) {
s->ext.keyshares_len = 0;
goto err;
@@ -885,10 +873,9 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
if (ctx->ext.tuples_len == 0)
/* Add 1 so allocation won't fail */
add = 1;
- s->ext.tuples =
- OPENSSL_memdup(ctx->ext.tuples,
- (ctx->ext.tuples_len + add)
- * sizeof(*ctx->ext.tuples));
+ s->ext.tuples = OPENSSL_memdup(ctx->ext.tuples,
+ (ctx->ext.tuples_len + add)
+ * sizeof(*ctx->ext.tuples));
if (s->ext.tuples == NULL) {
s->ext.tuples_len = 0;
goto err;
@@ -948,14 +935,14 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
#endif
if (ctx->client_cert_type != NULL) {
s->client_cert_type = OPENSSL_memdup(ctx->client_cert_type,
- ctx->client_cert_type_len);
+ ctx->client_cert_type_len);
if (s->client_cert_type == NULL)
goto sslerr;
s->client_cert_type_len = ctx->client_cert_type_len;
}
if (ctx->server_cert_type != NULL) {
s->server_cert_type = OPENSSL_memdup(ctx->server_cert_type,
- ctx->server_cert_type_len);
+ ctx->server_cert_type_len);
if (s->server_cert_type == NULL)
goto sslerr;
s->server_cert_type_len = ctx->server_cert_type_len;
@@ -963,21 +950,21 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
#ifndef OPENSSL_NO_CT
if (!SSL_set_ct_validation_callback(ssl, ctx->ct_validation_callback,
- ctx->ct_validation_callback_arg))
+ ctx->ct_validation_callback_arg))
goto sslerr;
#endif
s->ssl_pkey_num = SSL_PKEY_NUM + ctx->sigalg_list_len;
return ssl;
- cerr:
+cerr:
ERR_raise(ERR_LIB_SSL, ERR_R_CRYPTO_LIB);
goto err;
- asn1err:
+asn1err:
ERR_raise(ERR_LIB_SSL, ERR_R_ASN1_LIB);
goto err;
- sslerr:
+sslerr:
ERR_raise(ERR_LIB_SSL, ERR_R_SSL_LIB);
- err:
+err:
SSL_free(ssl);
return NULL;
}
@@ -1022,6 +1009,11 @@ int SSL_is_quic(const SSL *s)
return IS_QUIC(s);
}
+int SSL_CTX_is_quic(const SSL_CTX *c)
+{
+ return IS_QUIC_CTX(c);
+}
+
int SSL_up_ref(SSL *s)
{
int i;
@@ -1035,7 +1027,7 @@ int SSL_up_ref(SSL *s)
}
int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx,
- unsigned int sid_ctx_len)
+ unsigned int sid_ctx_len)
{
if (sid_ctx_len > SSL_MAX_SID_CTX_LENGTH) {
ERR_raise(ERR_LIB_SSL, SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG);
@@ -1048,7 +1040,7 @@ int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx,
}
int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
- unsigned int sid_ctx_len)
+ unsigned int sid_ctx_len)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
@@ -1086,7 +1078,7 @@ int SSL_set_generate_session_id(SSL *ssl, GEN_SESSION_CB cb)
}
int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id,
- unsigned int id_len)
+ unsigned int id_len)
{
/*
* A quick examination of SSL_SESSION_hash and SSL_SESSION_cmp shows how
@@ -1182,7 +1174,7 @@ int SSL_add1_host(SSL *s, const char *host)
OPENSSL_free(old_ip);
/* There can be only one IP address */
ERR_raise_data(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT,
- "IP address was already set");
+ "IP address was already set");
return 0;
}
@@ -1332,7 +1324,7 @@ int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki)
}
int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector,
- uint8_t *mtype, const unsigned char **data, size_t *dlen)
+ uint8_t *mtype, const unsigned char **data, size_t *dlen)
{
SSL_DANE *dane;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -1370,7 +1362,7 @@ SSL_DANE *SSL_get0_dane(SSL *s)
}
int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector,
- uint8_t mtype, const unsigned char *data, size_t dlen)
+ uint8_t mtype, const unsigned char *data, size_t dlen)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -1381,7 +1373,7 @@ int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector,
}
int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md, uint8_t mtype,
- uint8_t ord)
+ uint8_t ord)
{
return dane_mtype_set(&ctx->dane, md, mtype, ord);
}
@@ -1733,17 +1725,8 @@ int SSL_set_fd(SSL *s, int fd)
}
BIO_set_fd(bio, fd, BIO_NOCLOSE);
SSL_set_bio(s, bio, bio);
-#ifndef OPENSSL_NO_KTLS
- /*
- * The new socket is created successfully regardless of ktls_enable.
- * ktls_enable doesn't change any functionality of the socket, except
- * changing the setsockopt to enable the processing of ktls_start.
- * Thus, it is not a problem to call it for non-TLS sockets.
- */
- ktls_enable(fd);
-#endif /* OPENSSL_NO_KTLS */
ret = 1;
- err:
+err:
return ret;
}
@@ -1767,15 +1750,6 @@ int SSL_set_wfd(SSL *s, int fd)
}
BIO_set_fd(bio, fd, BIO_NOCLOSE);
SSL_set0_wbio(s, bio);
-#ifndef OPENSSL_NO_KTLS
- /*
- * The new socket is created successfully regardless of ktls_enable.
- * ktls_enable doesn't change any functionality of the socket, except
- * changing the setsockopt to enable the processing of ktls_start.
- * Thus, it is not a problem to call it for non-TLS sockets.
- */
- ktls_enable(fd);
-#endif /* OPENSSL_NO_KTLS */
} else {
if (!BIO_up_ref(rbio))
return 0;
@@ -1866,7 +1840,8 @@ int SSL_get_verify_depth(const SSL *s)
return X509_VERIFY_PARAM_get_depth(sc->param);
}
-int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *) {
+int (*SSL_get_verify_callback(const SSL *s))(int, X509_STORE_CTX *)
+{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s);
if (sc == NULL)
@@ -1885,12 +1860,13 @@ int SSL_CTX_get_verify_depth(const SSL_CTX *ctx)
return X509_VERIFY_PARAM_get_depth(ctx->param);
}
-int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, X509_STORE_CTX *) {
+int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int, X509_STORE_CTX *)
+{
return ctx->default_verify_callback;
}
void SSL_set_verify(SSL *s, int mode,
- int (*callback) (int ok, X509_STORE_CTX *ctx))
+ int (*callback)(int ok, X509_STORE_CTX *ctx))
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -1923,7 +1899,7 @@ void SSL_set_read_ahead(SSL *s, int yes)
RECORD_LAYER_set_read_ahead(&sc->rlayer, yes);
*opts++ = OSSL_PARAM_construct_int(OSSL_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD,
- &sc->rlayer.read_ahead);
+ &sc->rlayer.read_ahead);
*opts = OSSL_PARAM_construct_end();
/* Ignore return value */
@@ -2089,8 +2065,7 @@ int SSL_CTX_check_private_key(const SSL_CTX *ctx)
ERR_raise(ERR_LIB_SSL, SSL_R_NO_PRIVATE_KEY_ASSIGNED);
return 0;
}
- return X509_check_private_key
- (ctx->cert->key->x509, ctx->cert->key->privatekey);
+ return X509_check_private_key(ctx->cert->key->x509, ctx->cert->key->privatekey);
}
/* Fix this function so that it takes an optional type parameter */
@@ -2111,7 +2086,7 @@ int SSL_check_private_key(const SSL *ssl)
return 0;
}
return X509_check_private_key(sc->cert->key->x509,
- sc->cert->key->privatekey);
+ sc->cert->key->privatekey);
}
int SSL_waiting_for_async(SSL *s)
@@ -2141,7 +2116,7 @@ int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds)
}
int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, size_t *numaddfds,
- OSSL_ASYNC_FD *delfd, size_t *numdelfds)
+ OSSL_ASYNC_FD *delfd, size_t *numdelfds)
{
ASYNC_WAIT_CTX *ctx;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -2152,7 +2127,7 @@ int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, size_t *numaddfds,
if ((ctx = sc->waitctx) == NULL)
return 0;
return ASYNC_WAIT_CTX_get_changed_fds(ctx, addfd, numaddfds, delfd,
- numdelfds);
+ numdelfds);
}
int SSL_CTX_set_async_callback(SSL_CTX *ctx, SSL_async_callback_fn callback)
@@ -2260,7 +2235,7 @@ static int ssl_async_wait_ctx_cb(void *arg)
}
static int ssl_start_async_job(SSL *s, struct ssl_async_args *args,
- int (*func) (void *))
+ int (*func)(void *))
{
int ret;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -2273,14 +2248,13 @@ static int ssl_start_async_job(SSL *s, struct ssl_async_args *args,
if (sc->waitctx == NULL)
return -1;
if (sc->async_cb != NULL
- && !ASYNC_WAIT_CTX_set_callback
- (sc->waitctx, ssl_async_wait_ctx_cb, s))
+ && !ASYNC_WAIT_CTX_set_callback(sc->waitctx, ssl_async_wait_ctx_cb, s))
return -1;
}
sc->rwstate = SSL_NOTHING;
switch (ASYNC_start_job(&sc->job, sc->waitctx, &ret, func, args,
- sizeof(struct ssl_async_args))) {
+ sizeof(struct ssl_async_args))) {
case ASYNC_ERR:
sc->rwstate = SSL_NOTHING;
ERR_raise(ERR_LIB_SSL, SSL_R_FAILED_TO_INIT_ASYNC);
@@ -2351,7 +2325,7 @@ int ssl_read_internal(SSL *s, void *buf, size_t num, size_t *readbytes)
}
if (sc->early_data_state == SSL_EARLY_DATA_CONNECT_RETRY
- || sc->early_data_state == SSL_EARLY_DATA_ACCEPT_RETRY) {
+ || sc->early_data_state == SSL_EARLY_DATA_ACCEPT_RETRY) {
ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
return 0;
}
@@ -2449,8 +2423,7 @@ int SSL_read_early_data(SSL *s, void *buf, size_t num, size_t *readbytes)
* SSL_EARLY_DATA_FINISHED_READING if we get an EndOfEarlyData
* message
*/
- if (ret > 0 || (ret <= 0 && sc->early_data_state
- != SSL_EARLY_DATA_FINISHED_READING)) {
+ if (ret > 0 || (ret <= 0 && sc->early_data_state != SSL_EARLY_DATA_FINISHED_READING)) {
sc->early_data_state = SSL_EARLY_DATA_READ_RETRY;
return ret > 0 ? SSL_READ_EARLY_DATA_SUCCESS
: SSL_READ_EARLY_DATA_ERROR;
@@ -2538,7 +2511,6 @@ int SSL_peek(SSL *s, void *buf, int num)
return ret;
}
-
int SSL_peek_ex(SSL *s, void *buf, size_t num, size_t *readbytes)
{
int ret = ssl_peek_internal(s, buf, num, readbytes);
@@ -2549,7 +2521,7 @@ int SSL_peek_ex(SSL *s, void *buf, size_t num, size_t *readbytes)
}
int ssl_write_internal(SSL *s, const void *buf, size_t num,
- uint64_t flags, size_t *written)
+ uint64_t flags, size_t *written)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -2578,8 +2550,8 @@ int ssl_write_internal(SSL *s, const void *buf, size_t num,
}
if (sc->early_data_state == SSL_EARLY_DATA_CONNECT_RETRY
- || sc->early_data_state == SSL_EARLY_DATA_ACCEPT_RETRY
- || sc->early_data_state == SSL_EARLY_DATA_READ_RETRY) {
+ || sc->early_data_state == SSL_EARLY_DATA_ACCEPT_RETRY
+ || sc->early_data_state == SSL_EARLY_DATA_READ_RETRY) {
ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
return 0;
}
@@ -2653,20 +2625,18 @@ ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, int flags)
#ifdef OPENSSL_NO_KTLS
ERR_raise_data(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR,
- "can't call ktls_sendfile(), ktls disabled");
+ "can't call ktls_sendfile(), ktls disabled");
return -1;
#else
ret = ktls_sendfile(SSL_get_wfd(s), fd, offset, size, flags);
if (ret < 0) {
#if defined(EAGAIN) && defined(EINTR) && defined(EBUSY)
- if ((get_last_sys_error() == EAGAIN) ||
- (get_last_sys_error() == EINTR) ||
- (get_last_sys_error() == EBUSY))
+ if ((get_last_sys_error() == EAGAIN) || (get_last_sys_error() == EINTR) || (get_last_sys_error() == EBUSY))
BIO_set_retry_write(sc->wbio);
else
#endif
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
- "ktls_sendfile failure");
+ "ktls_sendfile failure");
return ret;
}
sc->rwstate = SSL_NOTHING;
@@ -2702,7 +2672,7 @@ int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written)
}
int SSL_write_ex2(SSL *s, const void *buf, size_t num, uint64_t flags,
- size_t *written)
+ size_t *written)
{
int ret = ssl_write_internal(s, buf, num, flags, written);
@@ -2725,9 +2695,9 @@ int SSL_write_early_data(SSL *s, const void *buf, size_t num, size_t *written)
switch (sc->early_data_state) {
case SSL_EARLY_DATA_NONE:
if (sc->server
- || !SSL_in_before(s)
- || ((sc->session == NULL || sc->session->ext.max_early_data == 0)
- && (sc->psk_use_session_cb == NULL))) {
+ || !SSL_in_before(s)
+ || ((sc->session == NULL || sc->session->ext.max_early_data == 0)
+ && (sc->psk_use_session_cb == NULL))) {
ERR_raise(ERR_LIB_SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
return 0;
}
@@ -2847,7 +2817,7 @@ int SSL_key_update(SSL *s, int updatetype)
}
if (updatetype != SSL_KEY_UPDATE_NOT_REQUESTED
- && updatetype != SSL_KEY_UPDATE_REQUESTED) {
+ && updatetype != SSL_KEY_UPDATE_REQUESTED) {
ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_KEY_UPDATE_TYPE);
return 0;
}
@@ -2954,8 +2924,8 @@ int SSL_new_session_ticket(SSL *s)
/* If we are in init because we're sending tickets, okay to send more. */
if ((SSL_in_init(s) && sc->ext.extra_tickets_expected == 0)
- || SSL_IS_FIRST_HANDSHAKE(sc) || !sc->server
- || !SSL_CONNECTION_IS_TLS13(sc))
+ || SSL_IS_FIRST_HANDSHAKE(sc) || !sc->server
+ || !SSL_CONNECTION_IS_TLS13(sc))
return 0;
sc->ext.extra_tickets_expected++;
if (!RECORD_LAYER_write_pending(&sc->rlayer) && !SSL_in_init(s))
@@ -3002,14 +2972,13 @@ long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic)
RECORD_LAYER_set_read_ahead(&sc->rlayer, larg);
return l;
- case SSL_CTRL_MODE:
- {
+ case SSL_CTRL_MODE: {
OSSL_PARAM options[2], *opts = options;
sc->mode |= larg;
*opts++ = OSSL_PARAM_construct_uint32(OSSL_LIBSSL_RECORD_LAYER_PARAM_MODE,
- &sc->mode);
+ &sc->mode);
*opts = OSSL_PARAM_construct_end();
/* Ignore return value */
@@ -3079,14 +3048,14 @@ long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic)
return 0;
case SSL_CTRL_SET_MIN_PROTO_VERSION:
return ssl_check_allowed_versions(larg, sc->max_proto_version)
- && ssl_set_version_bound(s->defltmeth->version, (int)larg,
- &sc->min_proto_version);
+ && ssl_set_version_bound(s->defltmeth->version, (int)larg,
+ &sc->min_proto_version);
case SSL_CTRL_GET_MIN_PROTO_VERSION:
return sc->min_proto_version;
case SSL_CTRL_SET_MAX_PROTO_VERSION:
return ssl_check_allowed_versions(sc->min_proto_version, larg)
- && ssl_set_version_bound(s->defltmeth->version, (int)larg,
- &sc->max_proto_version);
+ && ssl_set_version_bound(s->defltmeth->version, (int)larg,
+ &sc->max_proto_version);
case SSL_CTRL_GET_MAX_PROTO_VERSION:
return sc->max_proto_version;
default:
@@ -3097,7 +3066,7 @@ long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic)
}
}
-long SSL_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
+long SSL_callback_ctrl(SSL *s, int cmd, void (*fp)(void))
{
return s->method->ssl_callback_ctrl(s, cmd, fp);
}
@@ -3222,14 +3191,14 @@ long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
return (ctx->cert->cert_flags &= ~larg);
case SSL_CTRL_SET_MIN_PROTO_VERSION:
return ssl_check_allowed_versions(larg, ctx->max_proto_version)
- && ssl_set_version_bound(ctx->method->version, (int)larg,
- &ctx->min_proto_version);
+ && ssl_set_version_bound(ctx->method->version, (int)larg,
+ &ctx->min_proto_version);
case SSL_CTRL_GET_MIN_PROTO_VERSION:
return ctx->min_proto_version;
case SSL_CTRL_SET_MAX_PROTO_VERSION:
return ssl_check_allowed_versions(ctx->min_proto_version, larg)
- && ssl_set_version_bound(ctx->method->version, (int)larg,
- &ctx->max_proto_version);
+ && ssl_set_version_bound(ctx->method->version, (int)larg,
+ &ctx->max_proto_version);
case SSL_CTRL_GET_MAX_PROTO_VERSION:
return ctx->max_proto_version;
default:
@@ -3237,14 +3206,13 @@ long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
}
}
-long SSL_CTX_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
+long SSL_CTX_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void))
{
switch (cmd) {
case SSL_CTRL_SET_MSG_CALLBACK:
- ctx->msg_callback = (void (*)
- (int write_p, int version, int content_type,
- const void *buf, size_t len, SSL *ssl,
- void *arg))(fp);
+ ctx->msg_callback = (void (*)(int write_p, int version, int content_type,
+ const void *buf, size_t len, SSL *ssl,
+ void *arg))(fp);
return 1;
default:
@@ -3262,7 +3230,7 @@ int ssl_cipher_id_cmp(const SSL_CIPHER *a, const SSL_CIPHER *b)
}
int ssl_cipher_ptr_id_cmp(const SSL_CIPHER *const *ap,
- const SSL_CIPHER *const *bp)
+ const SSL_CIPHER *const *bp)
{
if ((*ap)->id > (*bp)->id)
return 1;
@@ -3336,7 +3304,7 @@ STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL_CONNECTION *s)
if (s->cipher_list_by_id != NULL)
return s->cipher_list_by_id;
else if (s->ssl.ctx != NULL
- && s->ssl.ctx->cipher_list_by_id != NULL)
+ && s->ssl.ctx->cipher_list_by_id != NULL)
return s->ssl.ctx->cipher_list_by_id;
}
return NULL;
@@ -3394,8 +3362,8 @@ int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str)
STACK_OF(SSL_CIPHER) *sk;
sk = ssl_create_cipher_list(ctx, ctx->tls13_ciphersuites,
- &ctx->cipher_list, &ctx->cipher_list_by_id, str,
- ctx->cert);
+ &ctx->cipher_list, &ctx->cipher_list_by_id, str,
+ ctx->cert);
/*
* ssl_create_cipher_list may return an empty stack if it was unable to
* find a cipher matching the given rule string (for example if the rule
@@ -3424,8 +3392,8 @@ int SSL_set_cipher_list(SSL *s, const char *str)
ctx = s->ctx;
sk = ssl_create_cipher_list(ctx, sc->tls13_ciphersuites,
- &sc->cipher_list, &sc->cipher_list_by_id, str,
- sc->cert);
+ &sc->cipher_list, &sc->cipher_list_by_id, str,
+ sc->cert);
/* see comment in SSL_CTX_set_cipher_list */
if (sk == NULL)
return 0;
@@ -3444,22 +3412,21 @@ char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size)
int i;
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s);
- if (sc == NULL)
+ if (size < 2 || buf == NULL)
return NULL;
- if (!sc->server
- || sc->peer_ciphers == NULL
- || size < 2)
+ buf[0] = '\0';
+
+ if (sc == NULL || !sc->server)
return NULL;
p = buf;
clntsk = sc->peer_ciphers;
srvrsk = SSL_get_ciphers(s);
- if (clntsk == NULL || srvrsk == NULL)
- return NULL;
- if (sk_SSL_CIPHER_num(clntsk) == 0 || sk_SSL_CIPHER_num(srvrsk) == 0)
- return NULL;
+ if (clntsk == NULL || sk_SSL_CIPHER_num(clntsk) == 0
+ || srvrsk == NULL || sk_SSL_CIPHER_num(srvrsk) == 0)
+ return buf;
for (i = 0; i < sk_SSL_CIPHER_num(clntsk); i++) {
int n;
@@ -3468,19 +3435,20 @@ char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size)
if (sk_SSL_CIPHER_find(srvrsk, c) < 0)
continue;
- n = OPENSSL_strnlen(c->name, size);
- if (n >= size) {
- if (p != buf)
- --p;
- *p = '\0';
- return buf;
- }
+ n = (int)OPENSSL_strnlen(c->name, size);
+ if (n >= size)
+ break;
+
memcpy(p, c->name, n);
p += n;
*(p++) = ':';
size -= n + 1;
}
- p[-1] = '\0';
+
+ /* No overlap */
+ if (p != buf)
+ p[-1] = '\0';
+
return buf;
}
@@ -3528,7 +3496,7 @@ const char *SSL_get_servername(const SSL *s, const int type)
* - The function will return the servername requested by the client in
* this handshake or NULL if none was requested.
*/
- if (sc->hit && !SSL_CONNECTION_IS_TLS13(sc))
+ if (sc->hit && !SSL_CONNECTION_IS_TLS13(sc))
return sc->session->ext.hostname;
} else {
/**
@@ -3555,8 +3523,8 @@ const char *SSL_get_servername(const SSL *s, const int type)
*/
if (SSL_in_before(s)) {
if (sc->ext.hostname == NULL
- && sc->session != NULL
- && sc->session->ssl_version != TLS1_3_VERSION)
+ && sc->session != NULL
+ && sc->session->ssl_version != TLS1_3_VERSION)
return sc->session->ext.hostname;
} else {
if (!SSL_CONNECTION_IS_TLS13(sc) && sc->hit
@@ -3596,15 +3564,15 @@ int SSL_get_servername_type(const SSL *s)
* found, or OPENSSL_NPN_NO_OVERLAP if the fallback case was reached.
*/
int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,
- const unsigned char *server,
- unsigned int server_len,
- const unsigned char *client, unsigned int client_len)
+ const unsigned char *server,
+ unsigned int server_len,
+ const unsigned char *client, unsigned int client_len)
{
PACKET cpkt, csubpkt, spkt, ssubpkt;
if (!PACKET_buf_init(&cpkt, client, client_len)
- || !PACKET_get_length_prefixed_1(&cpkt, &csubpkt)
- || PACKET_remaining(&csubpkt) == 0) {
+ || !PACKET_get_length_prefixed_1(&cpkt, &csubpkt)
+ || PACKET_remaining(&csubpkt) == 0) {
*out = NULL;
*outlen = 0;
return OPENSSL_NPN_NO_OVERLAP;
@@ -3627,7 +3595,7 @@ int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,
if (PACKET_buf_init(&cpkt, client, client_len)) {
while (PACKET_get_length_prefixed_1(&cpkt, &csubpkt)) {
if (PACKET_equal(&csubpkt, PACKET_data(&ssubpkt),
- PACKET_remaining(&ssubpkt))) {
+ PACKET_remaining(&ssubpkt))) {
/* We found a match */
*out = (unsigned char *)PACKET_data(&ssubpkt);
*outlen = (unsigned char)PACKET_remaining(&ssubpkt);
@@ -3660,7 +3628,7 @@ int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,
* provided by the callback.
*/
void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data,
- unsigned *len)
+ unsigned *len)
{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s);
@@ -3690,8 +3658,8 @@ void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data,
* ServerHello.
*/
void SSL_CTX_set_npn_advertised_cb(SSL_CTX *ctx,
- SSL_CTX_npn_advertised_cb_func cb,
- void *arg)
+ SSL_CTX_npn_advertised_cb_func cb,
+ void *arg)
{
if (IS_QUIC_CTX(ctx))
/* NPN not allowed for QUIC */
@@ -3712,8 +3680,8 @@ void SSL_CTX_set_npn_advertised_cb(SSL_CTX *ctx,
* a value other than SSL_TLSEXT_ERR_OK.
*/
void SSL_CTX_set_npn_select_cb(SSL_CTX *ctx,
- SSL_CTX_npn_select_cb_func cb,
- void *arg)
+ SSL_CTX_npn_select_cb_func cb,
+ void *arg)
{
if (IS_QUIC_CTX(ctx))
/* NPN not allowed for QUIC */
@@ -3743,7 +3711,7 @@ static int alpn_value_ok(const unsigned char *protos, unsigned int protos_len)
* length-prefixed strings). Returns 0 on success.
*/
int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos,
- unsigned int protos_len)
+ unsigned int protos_len)
{
unsigned char *alpn;
@@ -3773,7 +3741,7 @@ int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos,
* length-prefixed strings). Returns 0 on success.
*/
int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos,
- unsigned int protos_len)
+ unsigned int protos_len)
{
unsigned char *alpn;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
@@ -3807,8 +3775,8 @@ int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos,
* from the client's list of offered protocols.
*/
void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx,
- SSL_CTX_alpn_select_cb_func cb,
- void *arg)
+ SSL_CTX_alpn_select_cb_func cb,
+ void *arg)
{
ctx->ext.alpn_select_cb = cb;
ctx->ext.alpn_select_cb_arg = arg;
@@ -3821,7 +3789,7 @@ void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx,
* respond with a negotiated protocol then |*len| will be zero.
*/
void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data,
- unsigned int *len)
+ unsigned int *len)
{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(ssl);
@@ -3840,9 +3808,9 @@ void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data,
}
int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *context, size_t contextlen,
- int use_context)
+ const char *label, size_t llen,
+ const unsigned char *context, size_t contextlen,
+ int use_context)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -3854,15 +3822,15 @@ int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen,
return -1;
return sc->ssl.method->ssl3_enc->export_keying_material(sc, out, olen, label,
- llen, context,
- contextlen,
- use_context);
+ llen, context,
+ contextlen,
+ use_context);
}
int SSL_export_keying_material_early(SSL *s, unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *context,
- size_t contextlen)
+ const char *label, size_t llen,
+ const unsigned char *context,
+ size_t contextlen)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -3873,7 +3841,7 @@ int SSL_export_keying_material_early(SSL *s, unsigned char *out, size_t olen,
return 0;
return tls13_export_keying_material_early(sc, out, olen, label, llen,
- context, contextlen);
+ context, contextlen);
}
static unsigned long ssl_session_hash(const SSL_SESSION *a)
@@ -3888,11 +3856,7 @@ static unsigned long ssl_session_hash(const SSL_SESSION *a)
session_id = tmp_storage;
}
- l = (unsigned long)
- ((unsigned long)session_id[0]) |
- ((unsigned long)session_id[1] << 8L) |
- ((unsigned long)session_id[2] << 16L) |
- ((unsigned long)session_id[3] << 24L);
+ l = (unsigned long)((unsigned long)session_id[0]) | ((unsigned long)session_id[1] << 8L) | ((unsigned long)session_id[2] << 16L) | ((unsigned long)session_id[3] << 24L);
return l;
}
@@ -3948,15 +3912,15 @@ DEFINE_RUN_ONCE_STATIC(ssl_keylog_init)
* @returns 1 always
*/
static long check_keylog_bio_free(BIO *b, int oper, const char *argp,
- size_t len, int argi, long argl, int ret,
- size_t *processed)
+ size_t len, int argi, long argl, int ret,
+ size_t *processed)
{
/*
* Note we _dont_ take the keylog_lock here
* This is intentional, because we only free the keylog lock
- * During SSL_CTX_free, in which we already posess the lock, so
- * Theres no need to grab it again here
+ * During SSL_CTX_free, in which we already possess the lock, so
+ * There's no need to grab it again here
*/
if (oper == BIO_CB_FREE)
keylog_bio = NULL;
@@ -3991,12 +3955,12 @@ static void do_sslkeylogfile(const SSL *ssl, const char *line)
#ifndef OPENSSL_NO_SSLKEYLOG
static BIO *get_sslkeylog_bio(const char *keylogfile)
{
-# ifdef _POSIX_C_SOURCE
+#ifdef _POSIX_C_SOURCE
BIO *b;
int fdno = -1;
FILE *fp = NULL;
- fdno = open(keylogfile, O_WRONLY | O_CREAT | O_APPEND, 0600);
+ fdno = open(keylogfile, O_WRONLY | O_CREAT | O_APPEND, 0600);
if (fdno < 0)
return NULL;
@@ -4009,14 +3973,14 @@ static BIO *get_sslkeylog_bio(const char *keylogfile)
if ((b = BIO_new_fp(fp, BIO_CLOSE)) == NULL)
fclose(fp);
return b;
-# else
+#else
return BIO_new_file(keylogfile, "a");
-# endif
+#endif
}
#endif
SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
- const SSL_METHOD *meth)
+ const SSL_METHOD *meth)
{
SSL_CTX *ret = NULL;
#ifndef OPENSSL_NO_SSLKEYLOG
@@ -4134,9 +4098,9 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
}
if (!ssl_create_cipher_list(ret,
- ret->tls13_ciphersuites,
- &ret->cipher_list, &ret->cipher_list_by_id,
- OSSL_default_cipher_list(), ret->cert)
+ ret->tls13_ciphersuites,
+ &ret->cipher_list, &ret->cipher_list_by_id,
+ OSSL_default_cipher_list(), ret->cert)
|| sk_SSL_CIPHER_num(ret->cipher_list) <= 0) {
ERR_raise(ERR_LIB_SSL, SSL_R_LIBRARY_HAS_NO_CIPHERS);
goto err;
@@ -4182,15 +4146,19 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
/* Setup RFC5077 ticket keys */
if ((RAND_bytes_ex(libctx, ret->ext.tick_key_name,
- sizeof(ret->ext.tick_key_name), 0) <= 0)
+ sizeof(ret->ext.tick_key_name), 0)
+ <= 0)
|| (RAND_priv_bytes_ex(libctx, ret->ext.secure->tick_hmac_key,
- sizeof(ret->ext.secure->tick_hmac_key), 0) <= 0)
+ sizeof(ret->ext.secure->tick_hmac_key), 0)
+ <= 0)
|| (RAND_priv_bytes_ex(libctx, ret->ext.secure->tick_aes_key,
- sizeof(ret->ext.secure->tick_aes_key), 0) <= 0))
+ sizeof(ret->ext.secure->tick_aes_key), 0)
+ <= 0))
ret->options |= SSL_OP_NO_TICKET;
if (RAND_priv_bytes_ex(libctx, ret->ext.cookie_hmac_key,
- sizeof(ret->ext.cookie_hmac_key), 0) <= 0) {
+ sizeof(ret->ext.cookie_hmac_key), 0)
+ <= 0) {
ERR_raise(ERR_LIB_SSL, ERR_R_RAND_LIB);
goto err;
}
@@ -4202,9 +4170,9 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
}
#endif
#ifndef OPENSSL_NO_ENGINE
-# ifdef OPENSSL_SSL_CLIENT_ENGINE_AUTO
-# define eng_strx(x) #x
-# define eng_str(x) eng_strx(x)
+#ifdef OPENSSL_SSL_CLIENT_ENGINE_AUTO
+#define eng_strx(x) #x
+#define eng_str(x) eng_strx(x)
/* Use specific client engine automatically... ignore errors */
{
ENGINE *eng;
@@ -4217,7 +4185,7 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
if (!eng || !SSL_CTX_set_client_cert_engine(ret, eng))
ERR_clear_error();
}
-# endif
+#endif
#endif
#ifndef OPENSSL_NO_COMP_ALG
@@ -4277,14 +4245,14 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
/* By default we send two session tickets automatically in TLSv1.3 */
ret->num_tickets = 2;
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
/* only create a cache for client CTX-es */
if (meth == OSSL_QUIC_client_method())
if ((ret->tokencache = ossl_quic_new_token_store()) == NULL)
goto err;
ret->domain_flags = 0;
if (IS_QUIC_METHOD(meth)) {
-# if defined(OPENSSL_THREADS)
+#if defined(OPENSSL_THREADS)
if (meth == OSSL_QUIC_client_thread_method())
ret->domain_flags
= SSL_DOMAIN_FLAG_MULTI_THREAD
@@ -4294,13 +4262,13 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
ret->domain_flags
= SSL_DOMAIN_FLAG_MULTI_THREAD
| SSL_DOMAIN_FLAG_LEGACY_BLOCKING;
-# else
+#else
ret->domain_flags
= SSL_DOMAIN_FLAG_SINGLE_THREAD
| SSL_DOMAIN_FLAG_LEGACY_BLOCKING;
-# endif
+#endif
}
-# endif
+#endif
if (!ssl_ctx_system_config(ret)) {
ERR_raise(ERR_LIB_SSL, SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG);
@@ -4312,7 +4280,7 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
/* Make sure we have a global lock allocated */
if (!RUN_ONCE(&ssl_keylog_once, ssl_keylog_init)) {
/* use a trace message as a warning */
- OSSL_TRACE(TLS, "Unable to initalize keylog data\n");
+ OSSL_TRACE(TLS, "Unable to initialize keylog data\n");
goto out;
}
@@ -4347,7 +4315,7 @@ SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,
out:
#endif
return ret;
- err:
+err:
SSL_CTX_free(ret);
#ifndef OPENSSL_NO_SSLKEYLOG
BIO_free(keylog_bio);
@@ -4553,15 +4521,15 @@ void *SSL_get_default_passwd_cb_userdata(SSL *s)
}
void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx,
- int (*cb) (X509_STORE_CTX *, void *),
- void *arg)
+ int (*cb)(X509_STORE_CTX *, void *),
+ void *arg)
{
ctx->app_verify_callback = cb;
ctx->app_verify_arg = arg;
}
void SSL_CTX_set_verify(SSL_CTX *ctx, int mode,
- int (*cb) (int, X509_STORE_CTX *))
+ int (*cb)(int, X509_STORE_CTX *))
{
ctx->verify_mode = mode;
ctx->default_verify_callback = cb;
@@ -4572,12 +4540,12 @@ void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth)
X509_VERIFY_PARAM_set_depth(ctx->param, depth);
}
-void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), void *arg)
+void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb)(SSL *ssl, void *arg), void *arg)
{
ssl_cert_set_cert_cb(c->cert, cb, arg);
}
-void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg)
+void SSL_set_cert_cb(SSL *s, int (*cb)(SSL *ssl, void *arg), void *arg)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -4599,8 +4567,8 @@ void ssl_set_masks(SSL_CONNECTION *s)
return;
dh_tmp = (c->dh_tmp != NULL
- || c->dh_tmp_cb != NULL
- || c->dh_tmp_auto);
+ || c->dh_tmp_cb != NULL
+ || c->dh_tmp_auto);
rsa_enc = pvalid[SSL_PKEY_RSA] & CERT_PKEY_VALID;
rsa_sign = pvalid[SSL_PKEY_RSA] & CERT_PKEY_VALID;
@@ -4610,7 +4578,7 @@ void ssl_set_masks(SSL_CONNECTION *s)
mask_a = 0;
OSSL_TRACE4(TLS_CIPHER, "dh_tmp=%d rsa_enc=%d rsa_sign=%d dsa_sign=%d\n",
- dh_tmp, rsa_enc, rsa_sign, dsa_sign);
+ dh_tmp, rsa_enc, rsa_sign, dsa_sign);
#ifndef OPENSSL_NO_GOST
if (ssl_has_cert(s, SSL_PKEY_GOST12_512)) {
@@ -4638,9 +4606,7 @@ void ssl_set_masks(SSL_CONNECTION *s)
* if TLS 1.2 and peer supports it.
*/
- if (rsa_enc || rsa_sign || (ssl_has_cert(s, SSL_PKEY_RSA_PSS_SIGN)
- && pvalid[SSL_PKEY_RSA_PSS_SIGN] & CERT_PKEY_EXPLICIT_SIGN
- && TLS1_get_version(&s->ssl) == TLS1_2_VERSION))
+ if (rsa_enc || rsa_sign || (ssl_has_cert(s, SSL_PKEY_RSA_PSS_SIGN) && pvalid[SSL_PKEY_RSA_PSS_SIGN] & CERT_PKEY_EXPLICIT_SIGN && TLS1_get_version(&s->ssl) == TLS1_2_VERSION))
mask_a |= SSL_aRSA;
if (dsa_sign) {
@@ -4663,7 +4629,7 @@ void ssl_set_masks(SSL_CONNECTION *s)
if (pvalid[SSL_PKEY_RSA_PSS_SIGN] & CERT_PKEY_RPK)
mask_a |= SSL_aRSA;
if (pvalid[SSL_PKEY_ED25519] & CERT_PKEY_RPK
- || pvalid[SSL_PKEY_ED448] & CERT_PKEY_RPK)
+ || pvalid[SSL_PKEY_ED448] & CERT_PKEY_RPK)
mask_a |= SSL_aECDSA;
}
@@ -4682,15 +4648,15 @@ void ssl_set_masks(SSL_CONNECTION *s)
}
/* Allow Ed25519 for TLS 1.2 if peer supports it */
if (!(mask_a & SSL_aECDSA) && ssl_has_cert(s, SSL_PKEY_ED25519)
- && pvalid[SSL_PKEY_ED25519] & CERT_PKEY_EXPLICIT_SIGN
- && TLS1_get_version(&s->ssl) == TLS1_2_VERSION)
- mask_a |= SSL_aECDSA;
+ && pvalid[SSL_PKEY_ED25519] & CERT_PKEY_EXPLICIT_SIGN
+ && TLS1_get_version(&s->ssl) == TLS1_2_VERSION)
+ mask_a |= SSL_aECDSA;
/* Allow Ed448 for TLS 1.2 if peer supports it */
if (!(mask_a & SSL_aECDSA) && ssl_has_cert(s, SSL_PKEY_ED448)
- && pvalid[SSL_PKEY_ED448] & CERT_PKEY_EXPLICIT_SIGN
- && TLS1_get_version(&s->ssl) == TLS1_2_VERSION)
- mask_a |= SSL_aECDSA;
+ && pvalid[SSL_PKEY_ED448] & CERT_PKEY_EXPLICIT_SIGN
+ && TLS1_get_version(&s->ssl) == TLS1_2_VERSION)
+ mask_a |= SSL_aECDSA;
mask_k |= SSL_kECDHE;
@@ -4718,12 +4684,12 @@ int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL_CONNECTION *s)
return 0;
}
}
- return 1; /* all checks are ok */
+ return 1; /* all checks are ok */
}
int ssl_get_server_cert_serverinfo(SSL_CONNECTION *s,
- const unsigned char **serverinfo,
- size_t *serverinfo_length)
+ const unsigned char **serverinfo,
+ size_t *serverinfo_length)
{
CERT_PKEY *cpk = s->s3.tmp.cert;
*serverinfo_length = 0;
@@ -4758,7 +4724,7 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
* (clients can set SSL_VERIFY_PEER without needing a sid_ctx set).
*/
if (s->server && s->session->sid_ctx_length == 0
- && (s->verify_mode & SSL_VERIFY_PEER) != 0)
+ && (s->verify_mode & SSL_VERIFY_PEER) != 0)
return;
i = s->session_ctx->session_cache_mode;
@@ -4776,12 +4742,12 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
* - SSL_OP_NO_TICKET is set in which case it is a stateful ticket
*/
if ((i & SSL_SESS_CACHE_NO_INTERNAL_STORE) == 0
- && (!SSL_CONNECTION_IS_TLS13(s)
- || !s->server
- || (s->max_early_data > 0
- && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0)
- || s->session_ctx->remove_session_cb != NULL
- || (s->options & SSL_OP_NO_TICKET) != 0))
+ && (!SSL_CONNECTION_IS_TLS13(s)
+ || !s->server
+ || (s->max_early_data > 0
+ && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0)
+ || s->session_ctx->remove_session_cb != NULL
+ || (s->options & SSL_OP_NO_TICKET) != 0))
SSL_CTX_add_session(s->session_ctx, s->session);
/*
@@ -4791,7 +4757,7 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
*/
if (s->session_ctx->new_session_cb != NULL && SSL_SESSION_up_ref(s->session)) {
if (!s->session_ctx->new_session_cb(SSL_CONNECTION_GET_USER_SSL(s),
- s->session))
+ s->session))
SSL_SESSION_free(s->session);
}
}
@@ -4832,7 +4798,7 @@ int SSL_set_ssl_method(SSL *s, const SSL_METHOD *meth)
if (s->method != meth) {
const SSL_METHOD *sm = s->method;
- int (*hf) (SSL *) = sc->handshake_func;
+ int (*hf)(SSL *) = sc->handshake_func;
if (sm->version == meth->version)
s->method = meth;
@@ -4953,8 +4919,7 @@ int ossl_ssl_get_error(const SSL *s, int i, int check_err)
if (SSL_want_client_hello_cb(s))
return SSL_ERROR_WANT_CLIENT_HELLO_CB;
- if ((sc->shutdown & SSL_RECEIVED_SHUTDOWN) &&
- (sc->s3.warn_alert == SSL_AD_CLOSE_NOTIFY))
+ if ((sc->shutdown & SSL_RECEIVED_SHUTDOWN) && (sc->s3.warn_alert == SSL_AD_CLOSE_NOTIFY))
return SSL_ERROR_ZERO_RETURN;
return SSL_ERROR_SYSCALL;
@@ -5206,7 +5171,7 @@ SSL *SSL_dup(SSL *s)
}
if (!SSL_set_session_id_context(ret, sc->sid_ctx,
- (int)sc->sid_ctx_length))
+ (int)sc->sid_ctx_length))
goto err;
}
@@ -5258,12 +5223,12 @@ SSL *SSL_dup(SSL *s)
/* Dup the client_CA list */
if (!dup_ca_names(&retsc->ca_names, sc->ca_names)
- || !dup_ca_names(&retsc->client_ca_names, sc->client_ca_names))
+ || !dup_ca_names(&retsc->client_ca_names, sc->client_ca_names))
goto err;
return ret;
- err:
+err:
SSL_free(ret);
return NULL;
}
@@ -5528,16 +5493,14 @@ SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx)
* not match (i.e., it was set per-ssl with SSL_set_session_id_context),
* leave it unchanged.
*/
- if ((ssl->ctx != NULL) &&
- (sc->sid_ctx_length == ssl->ctx->sid_ctx_length) &&
- (memcmp(sc->sid_ctx, ssl->ctx->sid_ctx, sc->sid_ctx_length) == 0)) {
+ if ((ssl->ctx != NULL) && (sc->sid_ctx_length == ssl->ctx->sid_ctx_length) && (memcmp(sc->sid_ctx, ssl->ctx->sid_ctx, sc->sid_ctx_length) == 0)) {
sc->sid_ctx_length = ctx->sid_ctx_length;
memcpy(&sc->sid_ctx, &ctx->sid_ctx, sizeof(sc->sid_ctx));
}
ssl_cert_free(sc->cert);
sc->cert = new_cert;
- SSL_CTX_free(ssl->ctx); /* decrement reference count */
+ SSL_CTX_free(ssl->ctx); /* decrement reference count */
ssl->ctx = ctx;
return ssl->ctx;
@@ -5550,7 +5513,7 @@ err:
int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)
{
return X509_STORE_set_default_paths_ex(ctx->cert_store, ctx->libctx,
- ctx->propq);
+ ctx->propq);
}
int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx)
@@ -5583,7 +5546,7 @@ int SSL_CTX_set_default_verify_file(SSL_CTX *ctx)
ERR_set_mark();
X509_LOOKUP_load_file_ex(lookup, NULL, X509_FILETYPE_DEFAULT, ctx->libctx,
- ctx->propq);
+ ctx->propq);
ERR_pop_to_mark();
@@ -5611,7 +5574,7 @@ int SSL_CTX_set_default_verify_store(SSL_CTX *ctx)
int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile)
{
return X509_STORE_load_file_ex(ctx->cert_store, CAfile, ctx->libctx,
- ctx->propq);
+ ctx->propq);
}
int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath)
@@ -5622,11 +5585,11 @@ int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath)
int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore)
{
return X509_STORE_load_store_ex(ctx->cert_store, CAstore, ctx->libctx,
- ctx->propq);
+ ctx->propq);
}
int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
- const char *CApath)
+ const char *CApath)
{
if (CAfile == NULL && CApath == NULL)
return 0;
@@ -5638,7 +5601,7 @@ int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
}
void SSL_set_info_callback(SSL *ssl,
- void (*cb) (const SSL *ssl, int type, int val))
+ void (*cb)(const SSL *ssl, int type, int val))
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
@@ -5652,9 +5615,10 @@ void SSL_set_info_callback(SSL *ssl,
* One compiler (Diab DCC) doesn't like argument names in returned function
* pointer.
*/
-void (*SSL_get_info_callback(const SSL *ssl)) (const SSL * /* ssl */ ,
- int /* type */ ,
- int /* val */ ) {
+void (*SSL_get_info_callback(const SSL *ssl))(const SSL * /* ssl */,
+ int /* type */,
+ int /* val */)
+{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(ssl);
if (sc == NULL)
@@ -5714,7 +5678,7 @@ size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, size_t outlen)
}
size_t SSL_SESSION_get_master_key(const SSL_SESSION *session,
- unsigned char *out, size_t outlen)
+ unsigned char *out, size_t outlen)
{
if (outlen == 0)
return session->master_key_length;
@@ -5725,7 +5689,7 @@ size_t SSL_SESSION_get_master_key(const SSL_SESSION *session,
}
int SSL_SESSION_set1_master_key(SSL_SESSION *sess, const unsigned char *in,
- size_t len)
+ size_t len)
{
if (len > sizeof(sess->master_key))
return 0;
@@ -5735,7 +5699,6 @@ int SSL_SESSION_set1_master_key(SSL_SESSION *sess, const unsigned char *in,
return 1;
}
-
int SSL_set_ex_data(SSL *s, int idx, void *arg)
{
return CRYPTO_set_ex_data(&s->ex_data, idx, arg);
@@ -5890,7 +5853,7 @@ void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb)
}
void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx,
- SSL_psk_find_session_cb_func cb)
+ SSL_psk_find_session_cb_func cb)
{
ctx->psk_find_session_cb = cb;
}
@@ -5906,47 +5869,47 @@ void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb)
}
void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx,
- SSL_psk_use_session_cb_func cb)
+ SSL_psk_use_session_cb_func cb)
{
ctx->psk_use_session_cb = cb;
}
void SSL_CTX_set_msg_callback(SSL_CTX *ctx,
- void (*cb) (int write_p, int version,
- int content_type, const void *buf,
- size_t len, SSL *ssl, void *arg))
+ void (*cb)(int write_p, int version,
+ int content_type, const void *buf,
+ size_t len, SSL *ssl, void *arg))
{
SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_MSG_CALLBACK, (void (*)(void))cb);
}
void SSL_set_msg_callback(SSL *ssl,
- void (*cb) (int write_p, int version,
- int content_type, const void *buf,
- size_t len, SSL *ssl, void *arg))
+ void (*cb)(int write_p, int version,
+ int content_type, const void *buf,
+ size_t len, SSL *ssl, void *arg))
{
SSL_callback_ctrl(ssl, SSL_CTRL_SET_MSG_CALLBACK, (void (*)(void))cb);
}
void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx,
- int (*cb) (SSL *ssl,
- int
- is_forward_secure))
+ int (*cb)(SSL *ssl,
+ int
+ is_forward_secure))
{
SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB,
- (void (*)(void))cb);
+ (void (*)(void))cb);
}
void SSL_set_not_resumable_session_callback(SSL *ssl,
- int (*cb) (SSL *ssl,
- int is_forward_secure))
+ int (*cb)(SSL *ssl,
+ int is_forward_secure))
{
SSL_callback_ctrl(ssl, SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB,
- (void (*)(void))cb);
+ (void (*)(void))cb);
}
void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx,
- size_t (*cb) (SSL *ssl, int type,
- size_t len, void *arg))
+ size_t (*cb)(SSL *ssl, int type,
+ size_t len, void *arg))
{
ctx->record_padding_cb = cb;
}
@@ -5962,7 +5925,7 @@ void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx)
}
int SSL_CTX_set_block_padding_ex(SSL_CTX *ctx, size_t app_block_size,
- size_t hs_block_size)
+ size_t hs_block_size)
{
if (IS_QUIC_CTX(ctx) && (app_block_size > 1 || hs_block_size > 1))
return 0;
@@ -5991,8 +5954,8 @@ int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size)
}
int SSL_set_record_padding_callback(SSL *ssl,
- size_t (*cb) (SSL *ssl, int type,
- size_t len, void *arg))
+ size_t (*cb)(SSL *ssl, int type,
+ size_t len, void *arg))
{
BIO *b;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(ssl);
@@ -6029,7 +5992,7 @@ void *SSL_get_record_padding_callback_arg(const SSL *ssl)
}
int SSL_set_block_padding_ex(SSL *ssl, size_t app_block_size,
- size_t hs_block_size)
+ size_t hs_block_size)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(ssl);
@@ -6097,8 +6060,8 @@ size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx)
/* Retrieve handshake hashes */
int ssl_handshake_hash(SSL_CONNECTION *s,
- unsigned char *out, size_t outlen,
- size_t *hashlen)
+ unsigned char *out, size_t outlen,
+ size_t *hashlen)
{
EVP_MD_CTX *ctx = NULL;
EVP_MD_CTX *hdgst = s->s3.handshake_dgst;
@@ -6125,7 +6088,7 @@ int ssl_handshake_hash(SSL_CONNECTION *s,
*hashlen = hashleni;
ret = 1;
- err:
+err:
EVP_MD_CTX_free(ctx);
return ret;
}
@@ -6180,9 +6143,9 @@ int SSL_get_security_level(const SSL *s)
}
void SSL_set_security_callback(SSL *s,
- int (*cb) (const SSL *s, const SSL_CTX *ctx,
- int op, int bits, int nid,
- void *other, void *ex))
+ int (*cb)(const SSL *s, const SSL_CTX *ctx,
+ int op, int bits, int nid,
+ void *other, void *ex))
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -6192,10 +6155,11 @@ void SSL_set_security_callback(SSL *s,
sc->cert->sec_cb = cb;
}
-int (*SSL_get_security_callback(const SSL *s)) (const SSL *s,
- const SSL_CTX *ctx, int op,
- int bits, int nid, void *other,
- void *ex) {
+int (*SSL_get_security_callback(const SSL *s))(const SSL *s,
+ const SSL_CTX *ctx, int op,
+ int bits, int nid, void *other,
+ void *ex)
+{
const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s);
if (sc == NULL)
@@ -6235,19 +6199,20 @@ int SSL_CTX_get_security_level(const SSL_CTX *ctx)
}
void SSL_CTX_set_security_callback(SSL_CTX *ctx,
- int (*cb) (const SSL *s, const SSL_CTX *ctx,
- int op, int bits, int nid,
- void *other, void *ex))
+ int (*cb)(const SSL *s, const SSL_CTX *ctx,
+ int op, int bits, int nid,
+ void *other, void *ex))
{
ctx->cert->sec_cb = cb;
}
-int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s,
- const SSL_CTX *ctx,
- int op, int bits,
- int nid,
- void *other,
- void *ex) {
+int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx))(const SSL *s,
+ const SSL_CTX *ctx,
+ int op, int bits,
+ int nid,
+ void *other,
+ void *ex)
+{
return ctx->cert->sec_cb;
}
@@ -6303,7 +6268,7 @@ uint64_t SSL_set_options(SSL *s, uint64_t op)
sc->options |= op;
*opts++ = OSSL_PARAM_construct_uint64(OSSL_LIBSSL_RECORD_LAYER_PARAM_OPTIONS,
- &sc->options);
+ &sc->options);
*opts = OSSL_PARAM_construct_end();
/* Ignore return value */
@@ -6334,7 +6299,7 @@ uint64_t SSL_clear_options(SSL *s, uint64_t op)
sc->options &= ~op;
*opts++ = OSSL_PARAM_construct_uint64(OSSL_LIBSSL_RECORD_LAYER_PARAM_OPTIONS,
- &sc->options);
+ &sc->options);
*opts = OSSL_PARAM_construct_end();
/* Ignore return value */
@@ -6368,7 +6333,7 @@ IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(SSL_CIPHER, SSL_CIPHER, ssl_cipher_id);
* of error, likewise the |src| stack may be left in an intermediate state.
*/
static int ct_move_scts(STACK_OF(SCT) **dst, STACK_OF(SCT) *src,
- sct_source_t origin)
+ sct_source_t origin)
{
int scts_moved = 0;
SCT *sct = NULL;
@@ -6391,7 +6356,7 @@ static int ct_move_scts(STACK_OF(SCT) **dst, STACK_OF(SCT) *src,
}
return scts_moved;
- err:
+err:
SCT_free(sct);
return -1;
}
@@ -6426,7 +6391,7 @@ static int ct_extract_tls_extension_scts(SSL_CONNECTION *s)
*/
static int ct_extract_ocsp_response_scts(SSL_CONNECTION *s)
{
-# ifndef OPENSSL_NO_OCSP
+#ifndef OPENSSL_NO_OCSP
int scts_extracted = 0;
const unsigned char *p;
OCSP_BASICRESP *br = NULL;
@@ -6452,22 +6417,20 @@ static int ct_extract_ocsp_response_scts(SSL_CONNECTION *s)
if (single == NULL)
continue;
- scts =
- OCSP_SINGLERESP_get1_ext_d2i(single, NID_ct_cert_scts, NULL, NULL);
- scts_extracted =
- ct_move_scts(&s->scts, scts, SCT_SOURCE_OCSP_STAPLED_RESPONSE);
+ scts = OCSP_SINGLERESP_get1_ext_d2i(single, NID_ct_cert_scts, NULL, NULL);
+ scts_extracted = ct_move_scts(&s->scts, scts, SCT_SOURCE_OCSP_STAPLED_RESPONSE);
if (scts_extracted < 0)
goto err;
}
- err:
+err:
SCT_LIST_free(scts);
OCSP_BASICRESP_free(br);
OCSP_RESPONSE_free(rsp);
return scts_extracted;
-# else
+#else
/* Behave as if no OCSP response exists */
return 0;
-# endif
+#endif
}
/*
@@ -6481,11 +6444,9 @@ static int ct_extract_x509v3_extension_scts(SSL_CONNECTION *s)
X509 *cert = s->session != NULL ? s->session->peer : NULL;
if (cert != NULL) {
- STACK_OF(SCT) *scts =
- X509_get_ext_d2i(cert, NID_ct_precert_scts, NULL, NULL);
+ STACK_OF(SCT) *scts = X509_get_ext_d2i(cert, NID_ct_precert_scts, NULL, NULL);
- scts_extracted =
- ct_move_scts(&s->scts, scts, SCT_SOURCE_X509V3_EXTENSION);
+ scts_extracted = ct_move_scts(&s->scts, scts, SCT_SOURCE_X509V3_EXTENSION);
SCT_LIST_free(scts);
}
@@ -6506,26 +6467,24 @@ const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s)
return NULL;
if (!sc->scts_parsed) {
- if (ct_extract_tls_extension_scts(sc) < 0 ||
- ct_extract_ocsp_response_scts(sc) < 0 ||
- ct_extract_x509v3_extension_scts(sc) < 0)
+ if (ct_extract_tls_extension_scts(sc) < 0 || ct_extract_ocsp_response_scts(sc) < 0 || ct_extract_x509v3_extension_scts(sc) < 0)
goto err;
sc->scts_parsed = 1;
}
return sc->scts;
- err:
+err:
return NULL;
}
static int ct_permissive(const CT_POLICY_EVAL_CTX *ctx,
- const STACK_OF(SCT) *scts, void *unused_arg)
+ const STACK_OF(SCT) *scts, void *unused_arg)
{
return 1;
}
static int ct_strict(const CT_POLICY_EVAL_CTX *ctx,
- const STACK_OF(SCT) *scts, void *unused_arg)
+ const STACK_OF(SCT) *scts, void *unused_arg)
{
int count = scts != NULL ? sk_SCT_num(scts) : 0;
int i;
@@ -6542,7 +6501,7 @@ static int ct_strict(const CT_POLICY_EVAL_CTX *ctx,
}
int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback,
- void *arg)
+ void *arg)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -6553,9 +6512,7 @@ int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback,
* Since code exists that uses the custom extension handler for CT, look
* for this and throw an error if they have already registered to use CT.
*/
- if (callback != NULL && SSL_CTX_has_client_custom_ext(s->ctx,
- TLSEXT_TYPE_signed_certificate_timestamp))
- {
+ if (callback != NULL && SSL_CTX_has_client_custom_ext(s->ctx, TLSEXT_TYPE_signed_certificate_timestamp)) {
ERR_raise(ERR_LIB_SSL, SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED);
return 0;
}
@@ -6575,15 +6532,13 @@ int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback,
}
int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx,
- ssl_ct_validation_cb callback, void *arg)
+ ssl_ct_validation_cb callback, void *arg)
{
/*
* Since code exists that uses the custom extension handler for CT, look for
* this and throw an error if they have already registered to use CT.
*/
- if (callback != NULL && SSL_CTX_has_client_custom_ext(ctx,
- TLSEXT_TYPE_signed_certificate_timestamp))
- {
+ if (callback != NULL && SSL_CTX_has_client_custom_ext(ctx, TLSEXT_TYPE_signed_certificate_timestamp)) {
ERR_raise(ERR_LIB_SSL, SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED);
return 0;
}
@@ -6628,9 +6583,7 @@ int ssl_validate_ct(SSL_CONNECTION *s)
* applications that perform certificate verification and therefore will
* process SCTs when enabled.
*/
- if (s->ct_validation_callback == NULL || cert == NULL ||
- s->verify_result != X509_V_OK ||
- s->verified_chain == NULL || sk_X509_num(s->verified_chain) <= 1)
+ if (s->ct_validation_callback == NULL || cert == NULL || s->verify_result != X509_V_OK || s->verified_chain == NULL || sk_X509_num(s->verified_chain) <= 1)
return 1;
/*
@@ -6646,7 +6599,7 @@ int ssl_validate_ct(SSL_CONNECTION *s)
}
ctx = CT_POLICY_EVAL_CTX_new_ex(SSL_CONNECTION_GET_CTX(s)->libctx,
- SSL_CONNECTION_GET_CTX(s)->propq);
+ SSL_CONNECTION_GET_CTX(s)->propq);
if (ctx == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_CT_LIB);
goto end;
@@ -6656,9 +6609,9 @@ int ssl_validate_ct(SSL_CONNECTION *s)
CT_POLICY_EVAL_CTX_set1_cert(ctx, cert);
CT_POLICY_EVAL_CTX_set1_issuer(ctx, issuer);
CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(ctx,
- SSL_CONNECTION_GET_CTX(s)->ctlog_store);
+ SSL_CONNECTION_GET_CTX(s)->ctlog_store);
CT_POLICY_EVAL_CTX_set_time(
- ctx, (uint64_t)SSL_SESSION_get_time_ex(s->session) * 1000);
+ ctx, (uint64_t)SSL_SESSION_get_time_ex(s->session) * 1000);
scts = SSL_get0_peer_scts(SSL_CONNECTION_GET_SSL(s));
@@ -6683,11 +6636,11 @@ int ssl_validate_ct(SSL_CONNECTION *s)
ret = s->ct_validation_callback(ctx, scts, s->ct_validation_callback_arg);
if (ret < 0)
- ret = 0; /* This function returns 0 on failure */
+ ret = 0; /* This function returns 0 on failure */
if (!ret)
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_CALLBACK_FAILED);
- end:
+end:
CT_POLICY_EVAL_CTX_free(ctx);
/*
* With SSL_VERIFY_NONE the session may be cached and reused despite a
@@ -6756,17 +6709,17 @@ const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx)
return ctx->ctlog_store;
}
-#endif /* OPENSSL_NO_CT */
+#endif /* OPENSSL_NO_CT */
void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn cb,
- void *arg)
+ void *arg)
{
c->client_hello_cb = cb;
c->client_hello_cb_arg = arg;
}
void SSL_CTX_set_new_pending_conn_cb(SSL_CTX *c, SSL_new_pending_conn_cb_fn cb,
- void *arg)
+ void *arg)
{
c->new_pending_conn_cb = cb;
c->new_pending_conn_arg = arg;
@@ -6887,7 +6840,7 @@ int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen)
*out = present;
*outlen = num;
return 1;
- err:
+err:
OPENSSL_free(present);
return 0;
}
@@ -6931,7 +6884,7 @@ int SSL_client_hello_get_extension_order(SSL *s, uint16_t *exts, size_t *num_ext
}
int SSL_client_hello_get0_ext(SSL *s, unsigned int type, const unsigned char **out,
- size_t *outlen)
+ size_t *outlen)
{
size_t i;
RAW_EXTENSION *r;
@@ -6966,7 +6919,7 @@ int SSL_free_buffers(SSL *ssl)
rl = &sc->rlayer;
return rl->rrlmethod->free_buffers(rl->rrl)
- && rl->wrlmethod->free_buffers(rl->wrl);
+ && rl->wrlmethod->free_buffers(rl->wrl);
}
int SSL_alloc_buffers(SSL *ssl)
@@ -6984,7 +6937,7 @@ int SSL_alloc_buffers(SSL *ssl)
rl = &sc->rlayer;
return rl->rrlmethod->alloc_buffers(rl->rrl)
- && rl->wrlmethod->alloc_buffers(rl->wrl);
+ && rl->wrlmethod->alloc_buffers(rl->wrl);
}
void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb)
@@ -6998,11 +6951,11 @@ SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx)
}
static int nss_keylog_int(const char *prefix,
- SSL_CONNECTION *sc,
- const uint8_t *parameter_1,
- size_t parameter_1_len,
- const uint8_t *parameter_2,
- size_t parameter_2_len)
+ SSL_CONNECTION *sc,
+ const uint8_t *parameter_1,
+ size_t parameter_1_len,
+ const uint8_t *parameter_2,
+ size_t parameter_2_len)
{
char *out = NULL;
char *cursor = NULL;
@@ -7053,10 +7006,10 @@ static int nss_keylog_int(const char *prefix,
}
int ssl_log_rsa_client_key_exchange(SSL_CONNECTION *sc,
- const uint8_t *encrypted_premaster,
- size_t encrypted_premaster_len,
- const uint8_t *premaster,
- size_t premaster_len)
+ const uint8_t *encrypted_premaster,
+ size_t encrypted_premaster_len,
+ const uint8_t *premaster,
+ size_t premaster_len)
{
if (encrypted_premaster_len < 8) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -7065,27 +7018,27 @@ int ssl_log_rsa_client_key_exchange(SSL_CONNECTION *sc,
/* We only want the first 8 bytes of the encrypted premaster as a tag. */
return nss_keylog_int("RSA",
- sc,
- encrypted_premaster,
- 8,
- premaster,
- premaster_len);
+ sc,
+ encrypted_premaster,
+ 8,
+ premaster,
+ premaster_len);
}
int ssl_log_secret(SSL_CONNECTION *sc,
- const char *label,
- const uint8_t *secret,
- size_t secret_len)
+ const char *label,
+ const uint8_t *secret,
+ size_t secret_len)
{
return nss_keylog_int(label,
- sc,
- sc->s3.client_random,
- SSL3_RANDOM_SIZE,
- secret,
- secret_len);
+ sc,
+ sc->s3.client_random,
+ SSL3_RANDOM_SIZE,
+ secret,
+ secret_len);
}
-#define SSLV2_CIPHER_LEN 3
+#define SSLV2_CIPHER_LEN 3
int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites, int sslv2format)
{
@@ -7127,14 +7080,14 @@ int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites, int sslv2form
return 0;
}
for (s->s3.tmp.ciphers_rawlen = 0;
- PACKET_remaining(&sslv2ciphers) > 0;
- raw += TLS_CIPHER_LEN) {
+ PACKET_remaining(&sslv2ciphers) > 0;
+ raw += TLS_CIPHER_LEN) {
if (!PACKET_get_1(&sslv2ciphers, &leadbyte)
- || (leadbyte == 0
- && !PACKET_copy_bytes(&sslv2ciphers, raw,
- TLS_CIPHER_LEN))
- || (leadbyte != 0
- && !PACKET_forward(&sslv2ciphers, TLS_CIPHER_LEN))) {
+ || (leadbyte == 0
+ && !PACKET_copy_bytes(&sslv2ciphers, raw,
+ TLS_CIPHER_LEN))
+ || (leadbyte != 0
+ && !PACKET_forward(&sslv2ciphers, TLS_CIPHER_LEN))) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_PACKET);
OPENSSL_free(s->s3.tmp.ciphers_raw);
s->s3.tmp.ciphers_raw = NULL;
@@ -7145,7 +7098,7 @@ int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites, int sslv2form
s->s3.tmp.ciphers_rawlen += TLS_CIPHER_LEN;
}
} else if (!PACKET_memdup(cipher_suites, &s->s3.tmp.ciphers_raw,
- &s->s3.tmp.ciphers_rawlen)) {
+ &s->s3.tmp.ciphers_rawlen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -7153,8 +7106,8 @@ int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites, int sslv2form
}
int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len,
- int isv2format, STACK_OF(SSL_CIPHER) **sk,
- STACK_OF(SSL_CIPHER) **scsvs)
+ int isv2format, STACK_OF(SSL_CIPHER) **sk,
+ STACK_OF(SSL_CIPHER) **scsvs)
{
PACKET pkt;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -7168,9 +7121,9 @@ int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len,
}
int ossl_bytes_to_cipher_list(SSL_CONNECTION *s, PACKET *cipher_suites,
- STACK_OF(SSL_CIPHER) **skp,
- STACK_OF(SSL_CIPHER) **scsvs_out,
- int sslv2format, int fatal)
+ STACK_OF(SSL_CIPHER) **skp,
+ STACK_OF(SSL_CIPHER) **scsvs_out,
+ int sslv2format, int fatal)
{
const SSL_CIPHER *c;
STACK_OF(SSL_CIPHER) *sk = NULL;
@@ -7192,7 +7145,7 @@ int ossl_bytes_to_cipher_list(SSL_CONNECTION *s, PACKET *cipher_suites,
if (PACKET_remaining(cipher_suites) % n != 0) {
if (fatal)
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST);
+ SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST);
else
ERR_raise(ERR_LIB_SSL, SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST);
return 0;
@@ -7220,8 +7173,7 @@ int ossl_bytes_to_cipher_list(SSL_CONNECTION *s, PACKET *cipher_suites,
/* For SSLv2-compat, ignore leading 0-byte. */
c = ssl_get_cipher_by_char(s, sslv2format ? &cipher[1] : cipher, 1);
if (c != NULL) {
- if ((c->valid && !sk_SSL_CIPHER_push(sk, c)) ||
- (!c->valid && !sk_SSL_CIPHER_push(scsvs, c))) {
+ if ((c->valid && !sk_SSL_CIPHER_push(sk, c)) || (!c->valid && !sk_SSL_CIPHER_push(scsvs, c))) {
if (fatal)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_CRYPTO_LIB);
else
@@ -7247,7 +7199,7 @@ int ossl_bytes_to_cipher_list(SSL_CONNECTION *s, PACKET *cipher_suites,
else
sk_SSL_CIPHER_free(scsvs);
return 1;
- err:
+err:
sk_SSL_CIPHER_free(sk);
sk_SSL_CIPHER_free(scsvs);
return 0;
@@ -7448,9 +7400,9 @@ int SSL_verify_client_post_handshake(SSL *ssl)
}
int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx,
- SSL_CTX_generate_session_ticket_fn gen_cb,
- SSL_CTX_decrypt_session_ticket_fn dec_cb,
- void *arg)
+ SSL_CTX_generate_session_ticket_fn gen_cb,
+ SSL_CTX_decrypt_session_ticket_fn dec_cb,
+ void *arg)
{
ctx->generate_ticket_cb = gen_cb;
ctx->decrypt_ticket_cb = dec_cb;
@@ -7459,16 +7411,16 @@ int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx,
}
void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx,
- SSL_allow_early_data_cb_fn cb,
- void *arg)
+ SSL_allow_early_data_cb_fn cb,
+ void *arg)
{
ctx->allow_early_data_cb = cb;
ctx->allow_early_data_cb_data = arg;
}
void SSL_set_allow_early_data_cb(SSL *s,
- SSL_allow_early_data_cb_fn cb,
- void *arg)
+ SSL_allow_early_data_cb_fn cb,
+ void *arg)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(s);
@@ -7480,8 +7432,8 @@ void SSL_set_allow_early_data_cb(SSL *s,
}
const EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,
- int nid,
- const char *properties)
+ int nid,
+ const char *properties)
{
const EVP_CIPHER *ciph;
@@ -7500,7 +7452,7 @@ const EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,
int decrypt_only = 0;
params[0] = OSSL_PARAM_construct_int(OSSL_CIPHER_PARAM_DECRYPT_ONLY,
- &decrypt_only);
+ &decrypt_only);
params[1] = OSSL_PARAM_construct_end();
if (EVP_CIPHER_get_params((EVP_CIPHER *)ciph, params)
&& decrypt_only) {
@@ -7513,7 +7465,6 @@ const EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,
return ciph;
}
-
int ssl_evp_cipher_up_ref(const EVP_CIPHER *cipher)
{
/* Don't up-ref an implicit EVP_CIPHER */
@@ -7542,8 +7493,8 @@ void ssl_evp_cipher_free(const EVP_CIPHER *cipher)
}
const EVP_MD *ssl_evp_md_fetch(OSSL_LIB_CTX *libctx,
- int nid,
- const char *properties)
+ int nid,
+ const char *properties)
{
const EVP_MD *md;
@@ -7593,7 +7544,7 @@ int SSL_set0_tmp_dh_pkey(SSL *s, EVP_PKEY *dhpkey)
return 0;
if (!ssl_security(sc, SSL_SECOP_TMP_DH,
- EVP_PKEY_get_security_bits(dhpkey), 0, dhpkey)) {
+ EVP_PKEY_get_security_bits(dhpkey), 0, dhpkey)) {
ERR_raise(ERR_LIB_SSL, SSL_R_DH_KEY_TOO_SMALL);
return 0;
}
@@ -7605,7 +7556,7 @@ int SSL_set0_tmp_dh_pkey(SSL *s, EVP_PKEY *dhpkey)
int SSL_CTX_set0_tmp_dh_pkey(SSL_CTX *ctx, EVP_PKEY *dhpkey)
{
if (!ssl_ctx_security(ctx, SSL_SECOP_TMP_DH,
- EVP_PKEY_get_security_bits(dhpkey), 0, dhpkey)) {
+ EVP_PKEY_get_security_bits(dhpkey), 0, dhpkey)) {
ERR_raise(ERR_LIB_SSL, SSL_R_DH_KEY_TOO_SMALL);
return 0;
}
@@ -7655,7 +7606,7 @@ int SSL_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite)
return 1;
}
- tv->tv_sec = 1000000;
+ tv->tv_sec = 1000000;
tv->tv_usec = 0;
*is_infinite = 1;
return 1;
@@ -7752,8 +7703,8 @@ int SSL_set1_initial_peer_addr(SSL *s, const BIO_ADDR *peer_addr)
}
int SSL_shutdown_ex(SSL *ssl, uint64_t flags,
- const SSL_SHUTDOWN_EX_ARGS *args,
- size_t args_len)
+ const SSL_SHUTDOWN_EX_ARGS *args,
+ size_t args_len)
{
#ifndef OPENSSL_NO_QUIC
if (!IS_QUIC(ssl))
@@ -7925,8 +7876,8 @@ size_t SSL_get_accept_stream_queue_len(SSL *s)
}
int SSL_stream_reset(SSL *s,
- const SSL_STREAM_RESET_ARGS *args,
- size_t args_len)
+ const SSL_STREAM_RESET_ARGS *args,
+ size_t args_len)
{
#ifndef OPENSSL_NO_QUIC
if (!IS_QUIC(s))
@@ -7987,7 +7938,7 @@ int SSL_get_stream_write_error_code(SSL *s, uint64_t *app_error_code)
}
int SSL_get_conn_close_info(SSL *s, SSL_CONN_CLOSE_INFO *info,
- size_t info_len)
+ size_t info_len)
{
#ifndef OPENSSL_NO_QUIC
if (!IS_QUIC(s))
@@ -8000,7 +7951,7 @@ int SSL_get_conn_close_info(SSL *s, SSL_CONN_CLOSE_INFO *info,
}
int SSL_get_value_uint(SSL *s, uint32_t class_, uint32_t id,
- uint64_t *value)
+ uint64_t *value)
{
#ifndef OPENSSL_NO_QUIC
if (IS_QUIC(s))
@@ -8012,7 +7963,7 @@ int SSL_get_value_uint(SSL *s, uint32_t class_, uint32_t id,
}
int SSL_set_value_uint(SSL *s, uint32_t class_, uint32_t id,
- uint64_t value)
+ uint64_t value)
{
#ifndef OPENSSL_NO_QUIC
if (IS_QUIC(s))
@@ -8111,21 +8062,20 @@ int ossl_adjust_domain_flags(uint64_t domain_flags, uint64_t *p_domain_flags)
{
if ((domain_flags & ~OSSL_QUIC_SUPPORTED_DOMAIN_FLAGS) != 0) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_UNSUPPORTED,
- "unsupported domain flag requested");
+ "unsupported domain flag requested");
return 0;
}
if ((domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0)
domain_flags |= SSL_DOMAIN_FLAG_MULTI_THREAD;
- if ((domain_flags & (SSL_DOMAIN_FLAG_MULTI_THREAD
- | SSL_DOMAIN_FLAG_SINGLE_THREAD)) == 0)
+ if ((domain_flags & (SSL_DOMAIN_FLAG_MULTI_THREAD | SSL_DOMAIN_FLAG_SINGLE_THREAD)) == 0)
domain_flags |= SSL_DOMAIN_FLAG_MULTI_THREAD;
if ((domain_flags & SSL_DOMAIN_FLAG_SINGLE_THREAD) != 0
&& (domain_flags & SSL_DOMAIN_FLAG_MULTI_THREAD) != 0) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT,
- "mutually exclusive domain flags specified");
+ "mutually exclusive domain flags specified");
return 0;
}
@@ -8133,13 +8083,13 @@ int ossl_adjust_domain_flags(uint64_t domain_flags, uint64_t *p_domain_flags)
* Note: We treat MULTI_THREAD as a no-op in non-threaded builds, but
* not THREAD_ASSISTED.
*/
-# ifndef OPENSSL_THREADS
+#ifndef OPENSSL_THREADS
if ((domain_flags & SSL_DOMAIN_FLAG_THREAD_ASSISTED) != 0) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_UNSUPPORTED,
- "thread assisted mode not available in this build");
+ "thread assisted mode not available in this build");
return 0;
}
-# endif
+#endif
*p_domain_flags = domain_flags;
return 1;
@@ -8158,7 +8108,7 @@ int SSL_CTX_set_domain_flags(SSL_CTX *ctx, uint64_t domain_flags)
#endif
ERR_raise_data(ERR_LIB_SSL, ERR_R_UNSUPPORTED,
- "domain flags unsupported on this kind of SSL_CTX");
+ "domain flags unsupported on this kind of SSL_CTX");
return 0;
}
@@ -8174,7 +8124,7 @@ int SSL_CTX_get_domain_flags(const SSL_CTX *ctx, uint64_t *domain_flags)
#endif
ERR_raise_data(ERR_LIB_SSL, ERR_R_UNSUPPORTED,
- "domain flags unsupported on this kind of SSL_CTX");
+ "domain flags unsupported on this kind of SSL_CTX");
return 0;
}
@@ -8200,9 +8150,10 @@ int SSL_add_expected_rpk(SSL *s, EVP_PKEY *rpk)
return 0;
ret = SSL_dane_tlsa_add(s, DANETLS_USAGE_DANE_EE,
- DANETLS_SELECTOR_SPKI,
- DANETLS_MATCHING_FULL,
- data, (size_t)ret) > 0;
+ DANETLS_SELECTOR_SPKI,
+ DANETLS_MATCHING_FULL,
+ data, (size_t)ret)
+ > 0;
OPENSSL_free(data);
return ret;
}
@@ -8270,9 +8221,9 @@ static int validate_cert_type(const unsigned char *val, size_t len)
}
static int set_cert_type(unsigned char **cert_type,
- size_t *cert_type_len,
- const unsigned char *val,
- size_t len)
+ size_t *cert_type_len,
+ const unsigned char *val,
+ size_t len)
{
unsigned char *tmp = NULL;
@@ -8296,7 +8247,7 @@ int SSL_set1_client_cert_type(SSL *s, const unsigned char *val, size_t len)
return 0;
return set_cert_type(&sc->client_cert_type, &sc->client_cert_type_len,
- val, len);
+ val, len);
}
int SSL_set1_server_cert_type(SSL *s, const unsigned char *val, size_t len)
@@ -8307,19 +8258,19 @@ int SSL_set1_server_cert_type(SSL *s, const unsigned char *val, size_t len)
return 0;
return set_cert_type(&sc->server_cert_type, &sc->server_cert_type_len,
- val, len);
+ val, len);
}
int SSL_CTX_set1_client_cert_type(SSL_CTX *ctx, const unsigned char *val, size_t len)
{
return set_cert_type(&ctx->client_cert_type, &ctx->client_cert_type_len,
- val, len);
+ val, len);
}
int SSL_CTX_set1_server_cert_type(SSL_CTX *ctx, const unsigned char *val, size_t len)
{
return set_cert_type(&ctx->server_cert_type, &ctx->server_cert_type_len,
- val, len);
+ val, len);
}
int SSL_get0_client_cert_type(const SSL *s, unsigned char **t, size_t *len)
diff --git a/crypto/openssl/ssl/ssl_local.h b/crypto/openssl/ssl/ssl_local.h
index c53ebc36ae9d..8fc8b6440615 100644
--- a/crypto/openssl/ssl/ssl_local.h
+++ b/crypto/openssl/ssl/ssl_local.h
@@ -10,57 +10,57 @@
*/
#ifndef OSSL_SSL_LOCAL_H
-# define OSSL_SSL_LOCAL_H
+#define OSSL_SSL_LOCAL_H
-# include <stdlib.h>
-# include <time.h>
-# include <errno.h>
-# include "internal/common.h" /* for HAS_PREFIX */
+#include <stdlib.h>
+#include <time.h>
+#include <errno.h>
+#include "internal/common.h" /* for HAS_PREFIX */
-# include <openssl/buffer.h>
-# include <openssl/bio.h>
-# include <openssl/comp.h>
-# include <openssl/dsa.h>
-# include <openssl/err.h>
-# include <openssl/ssl.h>
-# include <openssl/async.h>
-# include <openssl/symhacks.h>
-# include <openssl/ct.h>
-# include "internal/recordmethod.h"
-# include "internal/statem.h"
-# include "internal/packet.h"
-# include "internal/dane.h"
-# include "internal/refcount.h"
-# include "internal/tsan_assist.h"
-# include "internal/bio.h"
-# include "internal/ktls.h"
-# include "internal/time.h"
-# include "internal/ssl.h"
-# include "internal/cryptlib.h"
-# include "internal/quic_predef.h"
-# include "record/record.h"
-# include "internal/quic_predef.h"
-# include "internal/quic_tls.h"
+#include <openssl/buffer.h>
+#include <openssl/bio.h>
+#include <openssl/comp.h>
+#include <openssl/dsa.h>
+#include <openssl/err.h>
+#include <openssl/ssl.h>
+#include <openssl/async.h>
+#include <openssl/symhacks.h>
+#include <openssl/ct.h>
+#include "internal/recordmethod.h"
+#include "internal/statem.h"
+#include "internal/packet.h"
+#include "internal/dane.h"
+#include "internal/refcount.h"
+#include "internal/tsan_assist.h"
+#include "internal/bio.h"
+#include "internal/ktls.h"
+#include "internal/time.h"
+#include "internal/ssl.h"
+#include "internal/cryptlib.h"
+#include "internal/quic_predef.h"
+#include "record/record.h"
+#include "internal/quic_predef.h"
+#include "internal/quic_tls.h"
-# ifdef OPENSSL_BUILD_SHLIBSSL
-# undef OPENSSL_EXTERN
-# define OPENSSL_EXTERN OPENSSL_EXPORT
-# endif
+#ifdef OPENSSL_BUILD_SHLIBSSL
+#undef OPENSSL_EXTERN
+#define OPENSSL_EXTERN OPENSSL_EXPORT
+#endif
-# define TLS_MAX_VERSION_INTERNAL TLS1_3_VERSION
-# define DTLS_MAX_VERSION_INTERNAL DTLS1_2_VERSION
+#define TLS_MAX_VERSION_INTERNAL TLS1_3_VERSION
+#define DTLS_MAX_VERSION_INTERNAL DTLS1_2_VERSION
/*
* DTLS version numbers are strange because they're inverted. Except for
* DTLS1_BAD_VER, which should be considered "lower" than the rest.
*/
-# define dtls_ver_ordinal(v1) (((v1) == DTLS1_BAD_VER) ? 0xff00 : (v1))
-# define DTLS_VERSION_GT(v1, v2) (dtls_ver_ordinal(v1) < dtls_ver_ordinal(v2))
-# define DTLS_VERSION_GE(v1, v2) (dtls_ver_ordinal(v1) <= dtls_ver_ordinal(v2))
-# define DTLS_VERSION_LT(v1, v2) (dtls_ver_ordinal(v1) > dtls_ver_ordinal(v2))
-# define DTLS_VERSION_LE(v1, v2) (dtls_ver_ordinal(v1) >= dtls_ver_ordinal(v2))
+#define dtls_ver_ordinal(v1) (((v1) == DTLS1_BAD_VER) ? 0xff00 : (v1))
+#define DTLS_VERSION_GT(v1, v2) (dtls_ver_ordinal(v1) < dtls_ver_ordinal(v2))
+#define DTLS_VERSION_GE(v1, v2) (dtls_ver_ordinal(v1) <= dtls_ver_ordinal(v2))
+#define DTLS_VERSION_LT(v1, v2) (dtls_ver_ordinal(v1) > dtls_ver_ordinal(v2))
+#define DTLS_VERSION_LE(v1, v2) (dtls_ver_ordinal(v1) >= dtls_ver_ordinal(v2))
-# define SSL_AD_NO_ALERT -1
+#define SSL_AD_NO_ALERT -1
/*
* Define the Bitmasks for SSL_CIPHER.algorithms.
@@ -78,281 +78,280 @@
/* Bits for algorithm_mkey (key exchange algorithm) */
/* RSA key exchange */
-# define SSL_kRSA 0x00000001U
+#define SSL_kRSA 0x00000001U
/* tmp DH key no DH cert */
-# define SSL_kDHE 0x00000002U
+#define SSL_kDHE 0x00000002U
/* ephemeral ECDH */
-# define SSL_kECDHE 0x00000004U
+#define SSL_kECDHE 0x00000004U
/* PSK */
-# define SSL_kPSK 0x00000008U
+#define SSL_kPSK 0x00000008U
/* GOST key exchange */
-# define SSL_kGOST 0x00000010U
+#define SSL_kGOST 0x00000010U
/* SRP */
-# define SSL_kSRP 0x00000020U
+#define SSL_kSRP 0x00000020U
-# define SSL_kRSAPSK 0x00000040U
-# define SSL_kECDHEPSK 0x00000080U
-# define SSL_kDHEPSK 0x00000100U
+#define SSL_kRSAPSK 0x00000040U
+#define SSL_kECDHEPSK 0x00000080U
+#define SSL_kDHEPSK 0x00000100U
/* GOST KDF key exchange, draft-smyshlyaev-tls12-gost-suites */
-# define SSL_kGOST18 0x00000200U
+#define SSL_kGOST18 0x00000200U
/* all PSK */
-# define SSL_PSK (SSL_kPSK | SSL_kRSAPSK | SSL_kECDHEPSK | SSL_kDHEPSK)
+#define SSL_PSK (SSL_kPSK | SSL_kRSAPSK | SSL_kECDHEPSK | SSL_kDHEPSK)
/* Any appropriate key exchange algorithm (for TLS 1.3 ciphersuites) */
-# define SSL_kANY 0x00000000U
+#define SSL_kANY 0x00000000U
/* Bits for algorithm_auth (server authentication) */
/* RSA auth */
-# define SSL_aRSA 0x00000001U
+#define SSL_aRSA 0x00000001U
/* DSS auth */
-# define SSL_aDSS 0x00000002U
+#define SSL_aDSS 0x00000002U
/* no auth (i.e. use ADH or AECDH) */
-# define SSL_aNULL 0x00000004U
+#define SSL_aNULL 0x00000004U
/* ECDSA auth*/
-# define SSL_aECDSA 0x00000008U
+#define SSL_aECDSA 0x00000008U
/* PSK auth */
-# define SSL_aPSK 0x00000010U
+#define SSL_aPSK 0x00000010U
/* GOST R 34.10-2001 signature auth */
-# define SSL_aGOST01 0x00000020U
+#define SSL_aGOST01 0x00000020U
/* SRP auth */
-# define SSL_aSRP 0x00000040U
+#define SSL_aSRP 0x00000040U
/* GOST R 34.10-2012 signature auth */
-# define SSL_aGOST12 0x00000080U
+#define SSL_aGOST12 0x00000080U
/* Any appropriate signature auth (for TLS 1.3 ciphersuites) */
-# define SSL_aANY 0x00000000U
+#define SSL_aANY 0x00000000U
/* All bits requiring a certificate */
#define SSL_aCERT \
(SSL_aRSA | SSL_aDSS | SSL_aECDSA | SSL_aGOST01 | SSL_aGOST12)
/* Bits for algorithm_enc (symmetric encryption) */
-# define SSL_DES 0x00000001U
-# define SSL_3DES 0x00000002U
-# define SSL_RC4 0x00000004U
-# define SSL_RC2 0x00000008U
-# define SSL_IDEA 0x00000010U
-# define SSL_eNULL 0x00000020U
-# define SSL_AES128 0x00000040U
-# define SSL_AES256 0x00000080U
-# define SSL_CAMELLIA128 0x00000100U
-# define SSL_CAMELLIA256 0x00000200U
-# define SSL_eGOST2814789CNT 0x00000400U
-# define SSL_SEED 0x00000800U
-# define SSL_AES128GCM 0x00001000U
-# define SSL_AES256GCM 0x00002000U
-# define SSL_AES128CCM 0x00004000U
-# define SSL_AES256CCM 0x00008000U
-# define SSL_AES128CCM8 0x00010000U
-# define SSL_AES256CCM8 0x00020000U
-# define SSL_eGOST2814789CNT12 0x00040000U
-# define SSL_CHACHA20POLY1305 0x00080000U
-# define SSL_ARIA128GCM 0x00100000U
-# define SSL_ARIA256GCM 0x00200000U
-# define SSL_MAGMA 0x00400000U
-# define SSL_KUZNYECHIK 0x00800000U
+#define SSL_DES 0x00000001U
+#define SSL_3DES 0x00000002U
+#define SSL_RC4 0x00000004U
+#define SSL_RC2 0x00000008U
+#define SSL_IDEA 0x00000010U
+#define SSL_eNULL 0x00000020U
+#define SSL_AES128 0x00000040U
+#define SSL_AES256 0x00000080U
+#define SSL_CAMELLIA128 0x00000100U
+#define SSL_CAMELLIA256 0x00000200U
+#define SSL_eGOST2814789CNT 0x00000400U
+#define SSL_SEED 0x00000800U
+#define SSL_AES128GCM 0x00001000U
+#define SSL_AES256GCM 0x00002000U
+#define SSL_AES128CCM 0x00004000U
+#define SSL_AES256CCM 0x00008000U
+#define SSL_AES128CCM8 0x00010000U
+#define SSL_AES256CCM8 0x00020000U
+#define SSL_eGOST2814789CNT12 0x00040000U
+#define SSL_CHACHA20POLY1305 0x00080000U
+#define SSL_ARIA128GCM 0x00100000U
+#define SSL_ARIA256GCM 0x00200000U
+#define SSL_MAGMA 0x00400000U
+#define SSL_KUZNYECHIK 0x00800000U
-# define SSL_AESGCM (SSL_AES128GCM | SSL_AES256GCM)
-# define SSL_AESCCM (SSL_AES128CCM | SSL_AES256CCM | SSL_AES128CCM8 | SSL_AES256CCM8)
-# define SSL_AES (SSL_AES128|SSL_AES256|SSL_AESGCM|SSL_AESCCM)
-# define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256)
-# define SSL_CHACHA20 (SSL_CHACHA20POLY1305)
-# define SSL_ARIAGCM (SSL_ARIA128GCM | SSL_ARIA256GCM)
-# define SSL_ARIA (SSL_ARIAGCM)
-# define SSL_CBC (SSL_DES | SSL_3DES | SSL_RC2 | SSL_IDEA \
- | SSL_AES128 | SSL_AES256 | SSL_CAMELLIA128 \
- | SSL_CAMELLIA256 | SSL_SEED)
+#define SSL_AESGCM (SSL_AES128GCM | SSL_AES256GCM)
+#define SSL_AESCCM (SSL_AES128CCM | SSL_AES256CCM | SSL_AES128CCM8 | SSL_AES256CCM8)
+#define SSL_AES (SSL_AES128 | SSL_AES256 | SSL_AESGCM | SSL_AESCCM)
+#define SSL_CAMELLIA (SSL_CAMELLIA128 | SSL_CAMELLIA256)
+#define SSL_CHACHA20 (SSL_CHACHA20POLY1305)
+#define SSL_ARIAGCM (SSL_ARIA128GCM | SSL_ARIA256GCM)
+#define SSL_ARIA (SSL_ARIAGCM)
+#define SSL_CBC (SSL_DES | SSL_3DES | SSL_RC2 | SSL_IDEA \
+ | SSL_AES128 | SSL_AES256 | SSL_CAMELLIA128 \
+ | SSL_CAMELLIA256 | SSL_SEED)
/* Bits for algorithm_mac (symmetric authentication) */
-# define SSL_MD5 0x00000001U
-# define SSL_SHA1 0x00000002U
-# define SSL_GOST94 0x00000004U
-# define SSL_GOST89MAC 0x00000008U
-# define SSL_SHA256 0x00000010U
-# define SSL_SHA384 0x00000020U
+#define SSL_MD5 0x00000001U
+#define SSL_SHA1 0x00000002U
+#define SSL_GOST94 0x00000004U
+#define SSL_GOST89MAC 0x00000008U
+#define SSL_SHA256 0x00000010U
+#define SSL_SHA384 0x00000020U
/* Not a real MAC, just an indication it is part of cipher */
-# define SSL_AEAD 0x00000040U
-# define SSL_GOST12_256 0x00000080U
-# define SSL_GOST89MAC12 0x00000100U
-# define SSL_GOST12_512 0x00000200U
-# define SSL_MAGMAOMAC 0x00000400U
-# define SSL_KUZNYECHIKOMAC 0x00000800U
+#define SSL_AEAD 0x00000040U
+#define SSL_GOST12_256 0x00000080U
+#define SSL_GOST89MAC12 0x00000100U
+#define SSL_GOST12_512 0x00000200U
+#define SSL_MAGMAOMAC 0x00000400U
+#define SSL_KUZNYECHIKOMAC 0x00000800U
/*
* When adding new digest in the ssl_ciph.c and increment SSL_MD_NUM_IDX make
* sure to update this constant too
*/
-# define SSL_MD_MD5_IDX 0
-# define SSL_MD_SHA1_IDX 1
-# define SSL_MD_GOST94_IDX 2
-# define SSL_MD_GOST89MAC_IDX 3
-# define SSL_MD_SHA256_IDX 4
-# define SSL_MD_SHA384_IDX 5
-# define SSL_MD_GOST12_256_IDX 6
-# define SSL_MD_GOST89MAC12_IDX 7
-# define SSL_MD_GOST12_512_IDX 8
-# define SSL_MD_MD5_SHA1_IDX 9
-# define SSL_MD_SHA224_IDX 10
-# define SSL_MD_SHA512_IDX 11
-# define SSL_MD_MAGMAOMAC_IDX 12
-# define SSL_MD_KUZNYECHIKOMAC_IDX 13
-# define SSL_MAX_DIGEST 14
+#define SSL_MD_MD5_IDX 0
+#define SSL_MD_SHA1_IDX 1
+#define SSL_MD_GOST94_IDX 2
+#define SSL_MD_GOST89MAC_IDX 3
+#define SSL_MD_SHA256_IDX 4
+#define SSL_MD_SHA384_IDX 5
+#define SSL_MD_GOST12_256_IDX 6
+#define SSL_MD_GOST89MAC12_IDX 7
+#define SSL_MD_GOST12_512_IDX 8
+#define SSL_MD_MD5_SHA1_IDX 9
+#define SSL_MD_SHA224_IDX 10
+#define SSL_MD_SHA512_IDX 11
+#define SSL_MD_MAGMAOMAC_IDX 12
+#define SSL_MD_KUZNYECHIKOMAC_IDX 13
+#define SSL_MAX_DIGEST 14
-#define SSL_MD_NUM_IDX SSL_MAX_DIGEST
+#define SSL_MD_NUM_IDX SSL_MAX_DIGEST
/* Bits for algorithm2 (handshake digests and other extra flags) */
/* Bits 0-7 are handshake MAC */
-# define SSL_HANDSHAKE_MAC_MASK 0xFF
-# define SSL_HANDSHAKE_MAC_MD5_SHA1 SSL_MD_MD5_SHA1_IDX
-# define SSL_HANDSHAKE_MAC_SHA256 SSL_MD_SHA256_IDX
-# define SSL_HANDSHAKE_MAC_SHA384 SSL_MD_SHA384_IDX
-# define SSL_HANDSHAKE_MAC_GOST94 SSL_MD_GOST94_IDX
-# define SSL_HANDSHAKE_MAC_GOST12_256 SSL_MD_GOST12_256_IDX
-# define SSL_HANDSHAKE_MAC_GOST12_512 SSL_MD_GOST12_512_IDX
-# define SSL_HANDSHAKE_MAC_DEFAULT SSL_HANDSHAKE_MAC_MD5_SHA1
+#define SSL_HANDSHAKE_MAC_MASK 0xFF
+#define SSL_HANDSHAKE_MAC_MD5_SHA1 SSL_MD_MD5_SHA1_IDX
+#define SSL_HANDSHAKE_MAC_SHA256 SSL_MD_SHA256_IDX
+#define SSL_HANDSHAKE_MAC_SHA384 SSL_MD_SHA384_IDX
+#define SSL_HANDSHAKE_MAC_GOST94 SSL_MD_GOST94_IDX
+#define SSL_HANDSHAKE_MAC_GOST12_256 SSL_MD_GOST12_256_IDX
+#define SSL_HANDSHAKE_MAC_GOST12_512 SSL_MD_GOST12_512_IDX
+#define SSL_HANDSHAKE_MAC_DEFAULT SSL_HANDSHAKE_MAC_MD5_SHA1
/* Bits 8-15 bits are PRF */
-# define TLS1_PRF_DGST_SHIFT 8
-# define TLS1_PRF_SHA1_MD5 (SSL_MD_MD5_SHA1_IDX << TLS1_PRF_DGST_SHIFT)
-# define TLS1_PRF_SHA256 (SSL_MD_SHA256_IDX << TLS1_PRF_DGST_SHIFT)
-# define TLS1_PRF_SHA384 (SSL_MD_SHA384_IDX << TLS1_PRF_DGST_SHIFT)
-# define TLS1_PRF_GOST94 (SSL_MD_GOST94_IDX << TLS1_PRF_DGST_SHIFT)
-# define TLS1_PRF_GOST12_256 (SSL_MD_GOST12_256_IDX << TLS1_PRF_DGST_SHIFT)
-# define TLS1_PRF_GOST12_512 (SSL_MD_GOST12_512_IDX << TLS1_PRF_DGST_SHIFT)
-# define TLS1_PRF (SSL_MD_MD5_SHA1_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF_DGST_SHIFT 8
+#define TLS1_PRF_SHA1_MD5 (SSL_MD_MD5_SHA1_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF_SHA256 (SSL_MD_SHA256_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF_SHA384 (SSL_MD_SHA384_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF_GOST94 (SSL_MD_GOST94_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF_GOST12_256 (SSL_MD_GOST12_256_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF_GOST12_512 (SSL_MD_GOST12_512_IDX << TLS1_PRF_DGST_SHIFT)
+#define TLS1_PRF (SSL_MD_MD5_SHA1_IDX << TLS1_PRF_DGST_SHIFT)
/*
* Stream MAC for GOST ciphersuites from cryptopro draft (currently this also
* goes into algorithm2)
*/
-# define TLS1_STREAM_MAC 0x10000
+#define TLS1_STREAM_MAC 0x10000
/*
* TLSTREE cipher/mac key derivation from draft-smyshlyaev-tls12-gost-suites
* (currently this also goes into algorithm2)
*/
-# define TLS1_TLSTREE 0x20000
+#define TLS1_TLSTREE 0x20000
/* Ciphersuite supported in QUIC */
-# define SSL_QUIC 0x00040000U
+#define SSL_QUIC 0x00040000U
-# define SSL_STRONG_MASK 0x0000001FU
-# define SSL_DEFAULT_MASK 0X00000020U
+#define SSL_STRONG_MASK 0x0000001FU
+#define SSL_DEFAULT_MASK 0X00000020U
-# define SSL_STRONG_NONE 0x00000001U
-# define SSL_LOW 0x00000002U
-# define SSL_MEDIUM 0x00000004U
-# define SSL_HIGH 0x00000008U
-# define SSL_FIPS 0x00000010U
-# define SSL_NOT_DEFAULT 0x00000020U
+#define SSL_STRONG_NONE 0x00000001U
+#define SSL_LOW 0x00000002U
+#define SSL_MEDIUM 0x00000004U
+#define SSL_HIGH 0x00000008U
+#define SSL_FIPS 0x00000010U
+#define SSL_NOT_DEFAULT 0x00000020U
/* we have used 0000003f - 26 bits left to go */
/* Flag used on OpenSSL ciphersuite ids to indicate they are for SSLv3+ */
-# define SSL3_CK_CIPHERSUITE_FLAG 0x03000000
+#define SSL3_CK_CIPHERSUITE_FLAG 0x03000000
/* Check if an SSL structure is using DTLS */
-# define SSL_CONNECTION_IS_DTLS(s) \
+#define SSL_CONNECTION_IS_DTLS(s) \
(SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->enc_flags & SSL_ENC_FLAG_DTLS)
/* Check if an SSL_CTX structure is using DTLS */
-# define SSL_CTX_IS_DTLS(ctx) \
+#define SSL_CTX_IS_DTLS(ctx) \
(ctx->method->ssl3_enc->enc_flags & SSL_ENC_FLAG_DTLS)
/* Check if we are using TLSv1.3 */
-# define SSL_CONNECTION_IS_TLS13(s) (!SSL_CONNECTION_IS_DTLS(s) \
+#define SSL_CONNECTION_IS_TLS13(s) (!SSL_CONNECTION_IS_DTLS(s) \
&& SSL_CONNECTION_GET_SSL(s)->method->version >= TLS1_3_VERSION \
&& SSL_CONNECTION_GET_SSL(s)->method->version != TLS_ANY_VERSION)
-# define SSL_CONNECTION_TREAT_AS_TLS13(s) \
- (SSL_CONNECTION_IS_TLS13(s) \
- || (s)->early_data_state == SSL_EARLY_DATA_CONNECTING \
- || (s)->early_data_state == SSL_EARLY_DATA_CONNECT_RETRY \
- || (s)->early_data_state == SSL_EARLY_DATA_WRITING \
- || (s)->early_data_state == SSL_EARLY_DATA_WRITE_RETRY \
- || (s)->hello_retry_request == SSL_HRR_PENDING)
+#define SSL_CONNECTION_TREAT_AS_TLS13(s) \
+ (SSL_CONNECTION_IS_TLS13(s) \
+ || (s)->early_data_state == SSL_EARLY_DATA_CONNECTING \
+ || (s)->early_data_state == SSL_EARLY_DATA_CONNECT_RETRY \
+ || (s)->early_data_state == SSL_EARLY_DATA_WRITING \
+ || (s)->early_data_state == SSL_EARLY_DATA_WRITE_RETRY \
+ || (s)->hello_retry_request == SSL_HRR_PENDING)
-# define SSL_IS_FIRST_HANDSHAKE(s) ((s)->s3.tmp.finish_md_len == 0 \
- || (s)->s3.tmp.peer_finish_md_len == 0)
+#define SSL_IS_FIRST_HANDSHAKE(s) ((s)->s3.tmp.finish_md_len == 0 \
+ || (s)->s3.tmp.peer_finish_md_len == 0)
/*
* See if we use signature algorithms extension and signature algorithm
* before signatures.
*/
-# define SSL_USE_SIGALGS(s) \
+#define SSL_USE_SIGALGS(s) \
(SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->enc_flags & SSL_ENC_FLAG_SIGALGS)
/*
* Allow TLS 1.2 ciphersuites: applies to DTLS 1.2 as well as TLS 1.2: may
* apply to others in future.
*/
-# define SSL_USE_TLS1_2_CIPHERS(s) \
+#define SSL_USE_TLS1_2_CIPHERS(s) \
(SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->enc_flags & SSL_ENC_FLAG_TLS1_2_CIPHERS)
-# define IS_MAX_FRAGMENT_LENGTH_EXT_VALID(value) \
- (((value) >= TLSEXT_max_fragment_length_512) && \
- ((value) <= TLSEXT_max_fragment_length_4096))
-# define USE_MAX_FRAGMENT_LENGTH_EXT(session) \
+#define IS_MAX_FRAGMENT_LENGTH_EXT_VALID(value) \
+ (((value) >= TLSEXT_max_fragment_length_512) && ((value) <= TLSEXT_max_fragment_length_4096))
+#define USE_MAX_FRAGMENT_LENGTH_EXT(session) \
IS_MAX_FRAGMENT_LENGTH_EXT_VALID(session->ext.max_fragment_len_mode)
-# define GET_MAX_FRAGMENT_LENGTH(session) \
+#define GET_MAX_FRAGMENT_LENGTH(session) \
(512U << (session->ext.max_fragment_len_mode - 1))
-# define SSL_READ_ETM(s) (s->s3.flags & TLS1_FLAGS_ENCRYPT_THEN_MAC_READ)
-# define SSL_WRITE_ETM(s) (s->s3.flags & TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE)
+#define SSL_READ_ETM(s) (s->s3.flags & TLS1_FLAGS_ENCRYPT_THEN_MAC_READ)
+#define SSL_WRITE_ETM(s) (s->s3.flags & TLS1_FLAGS_ENCRYPT_THEN_MAC_WRITE)
-# define SSL_IS_QUIC_HANDSHAKE(s) (((s)->s3.flags & TLS1_FLAGS_QUIC) != 0)
-# define SSL_IS_QUIC_INT_HANDSHAKE(s) (((s)->s3.flags & TLS1_FLAGS_QUIC_INTERNAL) != 0)
+#define SSL_IS_QUIC_HANDSHAKE(s) (((s)->s3.flags & TLS1_FLAGS_QUIC) != 0)
+#define SSL_IS_QUIC_INT_HANDSHAKE(s) (((s)->s3.flags & TLS1_FLAGS_QUIC_INTERNAL) != 0)
/* no end of early data */
-# define SSL_NO_EOED(s) SSL_IS_QUIC_HANDSHAKE(s)
+#define SSL_NO_EOED(s) SSL_IS_QUIC_HANDSHAKE(s)
/* alert_dispatch values */
/* No alert pending */
-# define SSL_ALERT_DISPATCH_NONE 0
+#define SSL_ALERT_DISPATCH_NONE 0
/* Alert pending */
-# define SSL_ALERT_DISPATCH_PENDING 1
+#define SSL_ALERT_DISPATCH_PENDING 1
/* Pending alert write needs to be retried */
-# define SSL_ALERT_DISPATCH_RETRY 2
+#define SSL_ALERT_DISPATCH_RETRY 2
/* Mostly for SSLv3 */
-# define SSL_PKEY_RSA 0
-# define SSL_PKEY_RSA_PSS_SIGN 1
-# define SSL_PKEY_DSA_SIGN 2
-# define SSL_PKEY_ECC 3
-# define SSL_PKEY_GOST01 4
-# define SSL_PKEY_GOST12_256 5
-# define SSL_PKEY_GOST12_512 6
-# define SSL_PKEY_ED25519 7
-# define SSL_PKEY_ED448 8
-# define SSL_PKEY_NUM 9
+#define SSL_PKEY_RSA 0
+#define SSL_PKEY_RSA_PSS_SIGN 1
+#define SSL_PKEY_DSA_SIGN 2
+#define SSL_PKEY_ECC 3
+#define SSL_PKEY_GOST01 4
+#define SSL_PKEY_GOST12_256 5
+#define SSL_PKEY_GOST12_512 6
+#define SSL_PKEY_ED25519 7
+#define SSL_PKEY_ED448 8
+#define SSL_PKEY_NUM 9
-# define SSL_ENC_DES_IDX 0
-# define SSL_ENC_3DES_IDX 1
-# define SSL_ENC_RC4_IDX 2
-# define SSL_ENC_RC2_IDX 3
-# define SSL_ENC_IDEA_IDX 4
-# define SSL_ENC_NULL_IDX 5
-# define SSL_ENC_AES128_IDX 6
-# define SSL_ENC_AES256_IDX 7
-# define SSL_ENC_CAMELLIA128_IDX 8
-# define SSL_ENC_CAMELLIA256_IDX 9
-# define SSL_ENC_GOST89_IDX 10
-# define SSL_ENC_SEED_IDX 11
-# define SSL_ENC_AES128GCM_IDX 12
-# define SSL_ENC_AES256GCM_IDX 13
-# define SSL_ENC_AES128CCM_IDX 14
-# define SSL_ENC_AES256CCM_IDX 15
-# define SSL_ENC_AES128CCM8_IDX 16
-# define SSL_ENC_AES256CCM8_IDX 17
-# define SSL_ENC_GOST8912_IDX 18
-# define SSL_ENC_CHACHA_IDX 19
-# define SSL_ENC_ARIA128GCM_IDX 20
-# define SSL_ENC_ARIA256GCM_IDX 21
-# define SSL_ENC_MAGMA_IDX 22
-# define SSL_ENC_KUZNYECHIK_IDX 23
-# define SSL_ENC_NUM_IDX 24
+#define SSL_ENC_DES_IDX 0
+#define SSL_ENC_3DES_IDX 1
+#define SSL_ENC_RC4_IDX 2
+#define SSL_ENC_RC2_IDX 3
+#define SSL_ENC_IDEA_IDX 4
+#define SSL_ENC_NULL_IDX 5
+#define SSL_ENC_AES128_IDX 6
+#define SSL_ENC_AES256_IDX 7
+#define SSL_ENC_CAMELLIA128_IDX 8
+#define SSL_ENC_CAMELLIA256_IDX 9
+#define SSL_ENC_GOST89_IDX 10
+#define SSL_ENC_SEED_IDX 11
+#define SSL_ENC_AES128GCM_IDX 12
+#define SSL_ENC_AES256GCM_IDX 13
+#define SSL_ENC_AES128CCM_IDX 14
+#define SSL_ENC_AES256CCM_IDX 15
+#define SSL_ENC_AES128CCM8_IDX 16
+#define SSL_ENC_AES256CCM8_IDX 17
+#define SSL_ENC_GOST8912_IDX 18
+#define SSL_ENC_CHACHA_IDX 19
+#define SSL_ENC_ARIA128GCM_IDX 20
+#define SSL_ENC_ARIA256GCM_IDX 21
+#define SSL_ENC_MAGMA_IDX 22
+#define SSL_ENC_KUZNYECHIK_IDX 23
+#define SSL_ENC_NUM_IDX 24
/*-
* SSL_kRSA <- RSA_ENC
@@ -363,43 +362,43 @@
*/
/* Certificate Type State */
-# define OSSL_CERT_TYPE_CTOS_NONE 0
-# define OSSL_CERT_TYPE_CTOS_GOOD 1
-# define OSSL_CERT_TYPE_CTOS_ERROR 2
+#define OSSL_CERT_TYPE_CTOS_NONE 0
+#define OSSL_CERT_TYPE_CTOS_GOOD 1
+#define OSSL_CERT_TYPE_CTOS_ERROR 2
/* Post-Handshake Authentication state */
typedef enum {
SSL_PHA_NONE = 0,
- SSL_PHA_EXT_SENT, /* client-side only: extension sent */
- SSL_PHA_EXT_RECEIVED, /* server-side only: extension received */
+ SSL_PHA_EXT_SENT, /* client-side only: extension sent */
+ SSL_PHA_EXT_RECEIVED, /* server-side only: extension received */
SSL_PHA_REQUEST_PENDING, /* server-side only: request pending */
- SSL_PHA_REQUESTED /* request received by client, or sent by server */
+ SSL_PHA_REQUESTED /* request received by client, or sent by server */
} SSL_PHA_STATE;
/* CipherSuite length. SSLv3 and all TLS versions. */
-# define TLS_CIPHER_LEN 2
+#define TLS_CIPHER_LEN 2
/* used to hold info on the particular ciphers used */
struct ssl_cipher_st {
uint32_t valid;
- const char *name; /* text name */
- const char *stdname; /* RFC name */
- uint32_t id; /* id, 4 bytes, first is version */
+ const char *name; /* text name */
+ const char *stdname; /* RFC name */
+ uint32_t id; /* id, 4 bytes, first is version */
/*
* changed in 1.0.0: these four used to be portions of a single value
* 'algorithms'
*/
- uint32_t algorithm_mkey; /* key exchange algorithm */
- uint32_t algorithm_auth; /* server authentication */
- uint32_t algorithm_enc; /* symmetric encryption */
- uint32_t algorithm_mac; /* symmetric authentication */
- int min_tls; /* minimum SSL/TLS protocol version */
- int max_tls; /* maximum SSL/TLS protocol version */
- int min_dtls; /* minimum DTLS protocol version */
- int max_dtls; /* maximum DTLS protocol version */
- uint32_t algo_strength; /* strength and export flags */
- uint32_t algorithm2; /* Extra flags */
- int32_t strength_bits; /* Number of bits really used */
- uint32_t alg_bits; /* Number of bits for algorithm */
+ uint32_t algorithm_mkey; /* key exchange algorithm */
+ uint32_t algorithm_auth; /* server authentication */
+ uint32_t algorithm_enc; /* symmetric encryption */
+ uint32_t algorithm_mac; /* symmetric authentication */
+ int min_tls; /* minimum SSL/TLS protocol version */
+ int max_tls; /* maximum SSL/TLS protocol version */
+ int min_dtls; /* minimum DTLS protocol version */
+ int max_dtls; /* maximum DTLS protocol version */
+ uint32_t algo_strength; /* strength and export flags */
+ uint32_t algorithm2; /* Extra flags */
+ int32_t strength_bits; /* Number of bits really used */
+ uint32_t alg_bits; /* Number of bits for algorithm */
};
/* Used to hold SSL/TLS functions */
@@ -407,46 +406,46 @@ struct ssl_method_st {
int version;
unsigned flags;
uint64_t mask;
- SSL *(*ssl_new) (SSL_CTX *ctx);
- void (*ssl_free) (SSL *s);
- int (*ssl_reset) (SSL *s);
- int (*ssl_init) (SSL *s);
- int (*ssl_clear) (SSL *s);
- void (*ssl_deinit) (SSL *s);
- int (*ssl_accept) (SSL *s);
- int (*ssl_connect) (SSL *s);
- int (*ssl_read) (SSL *s, void *buf, size_t len, size_t *readbytes);
- int (*ssl_peek) (SSL *s, void *buf, size_t len, size_t *readbytes);
- int (*ssl_write) (SSL *s, const void *buf, size_t len, size_t *written);
- int (*ssl_shutdown) (SSL *s);
- int (*ssl_renegotiate) (SSL *s);
- int (*ssl_renegotiate_check) (SSL *s, int);
- int (*ssl_read_bytes) (SSL *s, uint8_t type, uint8_t *recvd_type,
- unsigned char *buf, size_t len, int peek,
- size_t *readbytes);
- int (*ssl_write_bytes) (SSL *s, uint8_t type, const void *buf_, size_t len,
- size_t *written);
- int (*ssl_dispatch_alert) (SSL *s);
- long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg);
- long (*ssl_ctx_ctrl) (SSL_CTX *ctx, int cmd, long larg, void *parg);
- const SSL_CIPHER *(*get_cipher_by_char) (const unsigned char *ptr);
- int (*put_cipher_by_char) (const SSL_CIPHER *cipher, WPACKET *pkt,
- size_t *len);
- size_t (*ssl_pending) (const SSL *s);
- int (*num_ciphers) (void);
- const SSL_CIPHER *(*get_cipher) (unsigned ncipher);
- OSSL_TIME (*get_timeout) (void);
+ SSL *(*ssl_new)(SSL_CTX *ctx);
+ void (*ssl_free)(SSL *s);
+ int (*ssl_reset)(SSL *s);
+ int (*ssl_init)(SSL *s);
+ int (*ssl_clear)(SSL *s);
+ void (*ssl_deinit)(SSL *s);
+ int (*ssl_accept)(SSL *s);
+ int (*ssl_connect)(SSL *s);
+ int (*ssl_read)(SSL *s, void *buf, size_t len, size_t *readbytes);
+ int (*ssl_peek)(SSL *s, void *buf, size_t len, size_t *readbytes);
+ int (*ssl_write)(SSL *s, const void *buf, size_t len, size_t *written);
+ int (*ssl_shutdown)(SSL *s);
+ int (*ssl_renegotiate)(SSL *s);
+ int (*ssl_renegotiate_check)(SSL *s, int);
+ int (*ssl_read_bytes)(SSL *s, uint8_t type, uint8_t *recvd_type,
+ unsigned char *buf, size_t len, int peek,
+ size_t *readbytes);
+ int (*ssl_write_bytes)(SSL *s, uint8_t type, const void *buf_, size_t len,
+ size_t *written);
+ int (*ssl_dispatch_alert)(SSL *s);
+ long (*ssl_ctrl)(SSL *s, int cmd, long larg, void *parg);
+ long (*ssl_ctx_ctrl)(SSL_CTX *ctx, int cmd, long larg, void *parg);
+ const SSL_CIPHER *(*get_cipher_by_char)(const unsigned char *ptr);
+ int (*put_cipher_by_char)(const SSL_CIPHER *cipher, WPACKET *pkt,
+ size_t *len);
+ size_t (*ssl_pending)(const SSL *s);
+ int (*num_ciphers)(void);
+ const SSL_CIPHER *(*get_cipher)(unsigned ncipher);
+ OSSL_TIME (*get_timeout)(void);
const struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */
- int (*ssl_version) (void);
- long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void));
- long (*ssl_ctx_callback_ctrl) (SSL_CTX *s, int cb_id, void (*fp) (void));
+ int (*ssl_version)(void);
+ long (*ssl_callback_ctrl)(SSL *s, int cb_id, void (*fp)(void));
+ long (*ssl_ctx_callback_ctrl)(SSL_CTX *s, int cb_id, void (*fp)(void));
};
/*
* Matches the length of PSK_MAX_PSK_LEN. We keep it the same value for
* consistency, even in the event of OPENSSL_NO_PSK being defined.
*/
-# define TLS13_MAX_RESUMPTION_PSK_LENGTH 512
+#define TLS13_MAX_RESUMPTION_PSK_LENGTH 512
/*-
* Lets make this into an ASN.1 type structure as follows
@@ -475,8 +474,8 @@ struct ssl_method_st {
* I'm using EXPLICIT tags so I can read the damn things using asn1parse :-).
*/
struct ssl_session_st {
- int ssl_version; /* what ssl version session info is being kept
- * in here? */
+ int ssl_version; /* what ssl version session info is being kept
+ * in here? */
size_t master_key_length;
/* TLSv1.3 early_secret used for external PSKs */
@@ -496,10 +495,10 @@ struct ssl_session_st {
*/
size_t sid_ctx_length;
unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
-# ifndef OPENSSL_NO_PSK
+#ifndef OPENSSL_NO_PSK
char *psk_identity_hint;
char *psk_identity;
-# endif
+#endif
/*
* Used to indicate that session resumption is not allowed. Applications
* can also set this bit for a new session via not_resumable_session_cb
@@ -516,22 +515,22 @@ struct ssl_session_st {
* when app_verify_callback accepts a session where the peer's
* certificate is not ok, we must remember the error for session reuse:
*/
- long verify_result; /* only for servers */
+ long verify_result; /* only for servers */
OSSL_TIME timeout;
OSSL_TIME time;
OSSL_TIME calc_timeout;
unsigned int compress_meth; /* Need to lookup the method */
const SSL_CIPHER *cipher;
- unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used to
- * load the 'cipher' structure */
- unsigned int kex_group; /* TLS group from key exchange */
- CRYPTO_EX_DATA ex_data; /* application specific data */
+ unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used to
+ * load the 'cipher' structure */
+ unsigned int kex_group; /* TLS group from key exchange */
+ CRYPTO_EX_DATA ex_data; /* application specific data */
struct {
char *hostname;
/* RFC4507 info */
unsigned char *tick; /* Session ticket */
- size_t ticklen; /* Session ticket length */
+ size_t ticklen; /* Session ticket length */
/* Session lifetime hint in seconds */
unsigned long tick_lifetime_hint;
uint32_t tick_age_add;
@@ -548,9 +547,9 @@ struct ssl_session_st {
*/
uint8_t max_fragment_len_mode;
} ext;
-# ifndef OPENSSL_NO_SRP
+#ifndef OPENSSL_NO_SRP
char *srp_username;
-# endif
+#endif
unsigned char *ticket_appdata;
size_t ticket_appdata_len;
uint32_t flags;
@@ -565,19 +564,19 @@ struct ssl_session_st {
};
/* Extended master secret support */
-# define SSL_SESS_FLAG_EXTMS 0x1
+#define SSL_SESS_FLAG_EXTMS 0x1
-# ifndef OPENSSL_NO_SRP
+#ifndef OPENSSL_NO_SRP
typedef struct srp_ctx_st {
/* param for all the callbacks */
void *SRP_cb_arg;
/* set client Hello login callback */
- int (*TLS_ext_srp_username_callback) (SSL *, int *, void *);
+ int (*TLS_ext_srp_username_callback)(SSL *, int *, void *);
/* set SRP N/g param callback for verification */
- int (*SRP_verify_param_callback) (SSL *, void *);
+ int (*SRP_verify_param_callback)(SSL *, void *);
/* set SRP client passwd callback */
- char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *);
+ char *(*SRP_give_srp_client_pwd_callback)(SSL *, void *);
char *login;
BIGNUM *N, *g, *s, *B, *A;
BIGNUM *a, *b, *v;
@@ -586,7 +585,7 @@ typedef struct srp_ctx_st {
unsigned long srp_Mask;
} SRP_CTX;
-# endif
+#endif
typedef enum {
SSL_EARLY_DATA_NONE = 0,
@@ -614,7 +613,7 @@ typedef enum {
* The longest tag length we know of is EVP_GCM_TLS_TAG_LEN. We don't count the
* content of the alert record either which is 2 bytes.
*/
-# define EARLY_DATA_CIPHERTEXT_OVERHEAD ((6 * (EVP_GCM_TLS_TAG_LEN + 1)) + 2)
+#define EARLY_DATA_CIPHERTEXT_OVERHEAD ((6 * (EVP_GCM_TLS_TAG_LEN + 1)) + 2)
/*
* The allowance we have between the client's calculated ticket age and our own.
@@ -622,10 +621,9 @@ typedef enum {
* client's age calculation is different by more than this than our own then we
* do not allow that ticket for early_data.
*/
-# define TICKET_AGE_ALLOWANCE ossl_seconds2time(10)
-
-#define MAX_COMPRESSIONS_SIZE 255
+#define TICKET_AGE_ALLOWANCE ossl_seconds2time(10)
+#define MAX_COMPRESSIONS_SIZE 255
typedef struct raw_extension_st {
/* Raw packet data for the extension */
@@ -698,8 +696,8 @@ DEFINE_LHASH_OF_EX(SSL_SESSION);
/* Needed in ssl_cert.c */
DEFINE_LHASH_OF_EX(X509_NAME);
-# define TLSEXT_KEYNAME_LENGTH 16
-# define TLSEXT_TICK_KEY_LENGTH 32
+#define TLSEXT_KEYNAME_LENGTH 16
+#define TLSEXT_TICK_KEY_LENGTH 32
typedef struct ssl_ctx_ext_secure_st {
unsigned char tick_hmac_key[TLSEXT_TICK_KEY_LENGTH];
@@ -715,57 +713,57 @@ typedef struct ssl_ctx_ext_secure_st {
*/
typedef struct ssl_hmac_st {
EVP_MAC_CTX *ctx;
-# ifndef OPENSSL_NO_DEPRECATED_3_0
+#ifndef OPENSSL_NO_DEPRECATED_3_0
HMAC_CTX *old_ctx;
-# endif
+#endif
} SSL_HMAC;
SSL_HMAC *ssl_hmac_new(const SSL_CTX *ctx);
void ssl_hmac_free(SSL_HMAC *ctx);
-# ifndef OPENSSL_NO_DEPRECATED_3_0
+#ifndef OPENSSL_NO_DEPRECATED_3_0
HMAC_CTX *ssl_hmac_get0_HMAC_CTX(SSL_HMAC *ctx);
-# endif
+#endif
EVP_MAC_CTX *ssl_hmac_get0_EVP_MAC_CTX(SSL_HMAC *ctx);
int ssl_hmac_init(SSL_HMAC *ctx, void *key, size_t len, char *md);
int ssl_hmac_update(SSL_HMAC *ctx, const unsigned char *data, size_t len);
int ssl_hmac_final(SSL_HMAC *ctx, unsigned char *md, size_t *len,
- size_t max_size);
+ size_t max_size);
size_t ssl_hmac_size(const SSL_HMAC *ctx);
int ssl_get_EC_curve_nid(const EVP_PKEY *pkey);
__owur int tls13_set_encoded_pub_key(EVP_PKEY *pkey,
- const unsigned char *enckey,
- size_t enckeylen);
+ const unsigned char *enckey,
+ size_t enckeylen);
typedef struct tls_group_info_st {
- char *tlsname; /* Curve Name as in TLS specs */
- char *realname; /* Curve Name according to provider */
- char *algorithm; /* Algorithm name to fetch */
- unsigned int secbits; /* Bits of security (from SP800-57) */
- uint16_t group_id; /* Group ID */
- int mintls; /* Minimum TLS version, -1 unsupported */
- int maxtls; /* Maximum TLS version (or 0 for undefined) */
- int mindtls; /* Minimum DTLS version, -1 unsupported */
- int maxdtls; /* Maximum DTLS version (or 0 for undefined) */
- char is_kem; /* Mode for this Group: 0 is KEX, 1 is KEM */
+ char *tlsname; /* Curve Name as in TLS specs */
+ char *realname; /* Curve Name according to provider */
+ char *algorithm; /* Algorithm name to fetch */
+ unsigned int secbits; /* Bits of security (from SP800-57) */
+ uint16_t group_id; /* Group ID */
+ int mintls; /* Minimum TLS version, -1 unsupported */
+ int maxtls; /* Maximum TLS version (or 0 for undefined) */
+ int mindtls; /* Minimum DTLS version, -1 unsupported */
+ int maxdtls; /* Maximum DTLS version (or 0 for undefined) */
+ char is_kem; /* Mode for this Group: 0 is KEX, 1 is KEM */
} TLS_GROUP_INFO;
typedef struct tls_sigalg_info_st {
- char *name; /* name as in IANA TLS specs */
- uint16_t code_point; /* IANA-specified code point of sigalg-name */
- char *sigalg_name; /* (combined) sigalg name */
- char *sigalg_oid; /* (combined) sigalg OID */
- char *sig_name; /* pure signature algorithm name */
- char *sig_oid; /* pure signature algorithm OID */
- char *hash_name; /* hash algorithm name */
- char *hash_oid; /* hash algorithm OID */
- char *keytype; /* keytype name */
- char *keytype_oid; /* keytype OID */
- unsigned int secbits; /* Bits of security (from SP800-57) */
- int mintls; /* Minimum TLS version, -1 unsupported */
- int maxtls; /* Maximum TLS version (or 0 for undefined) */
- int mindtls; /* Minimum DTLS version, -1 unsupported */
- int maxdtls; /* Maximum DTLS version (or 0 for undefined) */
+ char *name; /* name as in IANA TLS specs */
+ uint16_t code_point; /* IANA-specified code point of sigalg-name */
+ char *sigalg_name; /* (combined) sigalg name */
+ char *sigalg_oid; /* (combined) sigalg OID */
+ char *sig_name; /* pure signature algorithm name */
+ char *sig_oid; /* pure signature algorithm OID */
+ char *hash_name; /* hash algorithm name */
+ char *hash_oid; /* hash algorithm OID */
+ char *keytype; /* keytype name */
+ char *keytype_oid; /* keytype OID */
+ unsigned int secbits; /* Bits of security (from SP800-57) */
+ int mintls; /* Minimum TLS version, -1 unsupported */
+ int maxtls; /* Maximum TLS version (or 0 for undefined) */
+ int mindtls; /* Minimum DTLS version, -1 unsupported */
+ int maxdtls; /* Maximum DTLS version (or 0 for undefined) */
} TLS_SIGALG_INFO;
/*
@@ -773,24 +771,24 @@ typedef struct tls_sigalg_info_st {
* CERT_PKEY entries
*/
typedef struct {
- int nid; /* NID of public key algorithm */
+ int pkey_nid; /* NID of public key algorithm */
uint32_t amask; /* authmask corresponding to key type */
} SSL_CERT_LOOKUP;
/* flags values */
-# define TLS_GROUP_TYPE 0x0000000FU /* Mask for group type */
-# define TLS_GROUP_CURVE_PRIME 0x00000001U
-# define TLS_GROUP_CURVE_CHAR2 0x00000002U
-# define TLS_GROUP_CURVE_CUSTOM 0x00000004U
-# define TLS_GROUP_FFDHE 0x00000008U
-# define TLS_GROUP_ONLY_FOR_TLS1_3 0x00000010U
+#define TLS_GROUP_TYPE 0x0000000FU /* Mask for group type */
+#define TLS_GROUP_CURVE_PRIME 0x00000001U
+#define TLS_GROUP_CURVE_CHAR2 0x00000002U
+#define TLS_GROUP_CURVE_CUSTOM 0x00000004U
+#define TLS_GROUP_FFDHE 0x00000008U
+#define TLS_GROUP_ONLY_FOR_TLS1_3 0x00000010U
-# define TLS_GROUP_FFDHE_FOR_TLS1_3 (TLS_GROUP_FFDHE|TLS_GROUP_ONLY_FOR_TLS1_3)
+#define TLS_GROUP_FFDHE_FOR_TLS1_3 (TLS_GROUP_FFDHE | TLS_GROUP_ONLY_FOR_TLS1_3)
/* We limit the number of key shares sent */
-# ifndef OPENSSL_CLIENT_MAX_KEY_SHARES
-# define OPENSSL_CLIENT_MAX_KEY_SHARES 4
-# endif
+#ifndef OPENSSL_CLIENT_MAX_KEY_SHARES
+#define OPENSSL_CLIENT_MAX_KEY_SHARES 4
+#endif
struct ssl_ctx_st {
OSSL_LIB_CTX *libctx;
@@ -831,29 +829,29 @@ struct ssl_ctx_st {
* removed from the cache. After the call, OpenSSL will
* SSL_SESSION_free() it.
*/
- int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess);
- void (*remove_session_cb) (struct ssl_ctx_st *ctx, SSL_SESSION *sess);
- SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl,
- const unsigned char *data, int len,
- int *copy);
+ int (*new_session_cb)(struct ssl_st *ssl, SSL_SESSION *sess);
+ void (*remove_session_cb)(struct ssl_ctx_st *ctx, SSL_SESSION *sess);
+ SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl,
+ const unsigned char *data, int len,
+ int *copy);
struct {
- TSAN_QUALIFIER int sess_connect; /* SSL new conn - started */
+ TSAN_QUALIFIER int sess_connect; /* SSL new conn - started */
TSAN_QUALIFIER int sess_connect_renegotiate; /* SSL reneg - requested */
- TSAN_QUALIFIER int sess_connect_good; /* SSL new conne/reneg - finished */
- TSAN_QUALIFIER int sess_accept; /* SSL new accept - started */
+ TSAN_QUALIFIER int sess_connect_good; /* SSL new conne/reneg - finished */
+ TSAN_QUALIFIER int sess_accept; /* SSL new accept - started */
TSAN_QUALIFIER int sess_accept_renegotiate; /* SSL reneg - requested */
- TSAN_QUALIFIER int sess_accept_good; /* SSL accept/reneg - finished */
- TSAN_QUALIFIER int sess_miss; /* session lookup misses */
- TSAN_QUALIFIER int sess_timeout; /* reuse attempt on timeouted session */
- TSAN_QUALIFIER int sess_cache_full; /* session removed due to full cache */
- TSAN_QUALIFIER int sess_hit; /* session reuse actually done */
- TSAN_QUALIFIER int sess_cb_hit; /* session-id that was not in
- * the cache was passed back via
- * the callback. This indicates
- * that the application is
- * supplying session-id's from
- * other processes - spooky
- * :-) */
+ TSAN_QUALIFIER int sess_accept_good; /* SSL accept/reneg - finished */
+ TSAN_QUALIFIER int sess_miss; /* session lookup misses */
+ TSAN_QUALIFIER int sess_timeout; /* reuse attempt on timeouted session */
+ TSAN_QUALIFIER int sess_cache_full; /* session removed due to full cache */
+ TSAN_QUALIFIER int sess_hit; /* session reuse actually done */
+ TSAN_QUALIFIER int sess_cb_hit; /* session-id that was not in
+ * the cache was passed back via
+ * the callback. This indicates
+ * that the application is
+ * supplying session-id's from
+ * other processes - spooky
+ * :-) */
} stats;
#ifdef TSAN_REQUIRES_LOCKING
CRYPTO_RWLOCK *tsan_lock;
@@ -862,7 +860,7 @@ struct ssl_ctx_st {
CRYPTO_REF_COUNT references;
/* if defined, these override the X509_verify_cert() calls */
- int (*app_verify_callback) (X509_STORE_CTX *, void *);
+ int (*app_verify_callback)(X509_STORE_CTX *, void *);
void *app_verify_arg;
/*
* before OpenSSL 0.9.7, 'app_verify_arg' was ignored
@@ -876,28 +874,28 @@ struct ssl_ctx_st {
void *default_passwd_callback_userdata;
/* get client cert callback */
- int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey);
+ int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
/* cookie generate callback */
- int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie,
- unsigned int *cookie_len);
+ int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie,
+ unsigned int *cookie_len);
/* verify cookie callback */
- int (*app_verify_cookie_cb) (SSL *ssl, const unsigned char *cookie,
- unsigned int cookie_len);
+ int (*app_verify_cookie_cb)(SSL *ssl, const unsigned char *cookie,
+ unsigned int cookie_len);
/* TLS1.3 app-controlled cookie generate callback */
- int (*gen_stateless_cookie_cb) (SSL *ssl, unsigned char *cookie,
- size_t *cookie_len);
+ int (*gen_stateless_cookie_cb)(SSL *ssl, unsigned char *cookie,
+ size_t *cookie_len);
/* TLS1.3 verify app-controlled cookie callback */
- int (*verify_stateless_cookie_cb) (SSL *ssl, const unsigned char *cookie,
- size_t cookie_len);
+ int (*verify_stateless_cookie_cb)(SSL *ssl, const unsigned char *cookie,
+ size_t cookie_len);
CRYPTO_EX_DATA ex_data;
- const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */
- const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3-sha1' */
+ const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */
+ const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3-sha1' */
STACK_OF(X509) *extra_certs;
STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */
@@ -905,7 +903,7 @@ struct ssl_ctx_st {
/* Default values used when no per-SSL value is defined follow */
/* used if SSL's info_callback is NULL */
- void (*info_callback) (const SSL *ssl, int type, int val);
+ void (*info_callback)(const SSL *ssl, int type, int val);
/*
* What we put in certificate_authorities extension for TLS 1.3
@@ -939,7 +937,7 @@ struct ssl_ctx_st {
size_t sid_ctx_length;
unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
/* called 'verify_callback' in the SSL */
- int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx);
+ int (*default_verify_callback)(int ok, X509_STORE_CTX *ctx);
/* Default generate session ID callback. */
GEN_SESSION_CB generate_session_id;
@@ -948,15 +946,15 @@ struct ssl_ctx_st {
int quiet_shutdown;
-# ifndef OPENSSL_NO_CT
- CTLOG_STORE *ctlog_store; /* CT Log Store */
+#ifndef OPENSSL_NO_CT
+ CTLOG_STORE *ctlog_store; /* CT Log Store */
/*
* Validates that the SCTs (Signed Certificate Timestamps) are sufficient.
* If they are not, the connection should be aborted.
*/
ssl_ct_validation_cb ct_validation_callback;
void *ct_validation_callback_arg;
-# endif
+#endif
/*
* If we're using more than one pipeline how should we divide the data
@@ -975,12 +973,12 @@ struct ssl_ctx_st {
/* The default read buffer length to use (0 means not set) */
size_t default_read_buf_len;
-# ifndef OPENSSL_NO_ENGINE
+#ifndef OPENSSL_NO_ENGINE
/*
* Engine to pass requests for client certs to
*/
ENGINE *client_cert_engine;
-# endif
+#endif
/* ClientHello callback. Mostly for extensions, but not entirely. */
SSL_client_hello_cb_fn client_hello_cb;
@@ -993,25 +991,25 @@ struct ssl_ctx_st {
/* TLS extensions. */
struct {
/* TLS extensions servername callback */
- int (*servername_cb) (SSL *, int *, void *);
+ int (*servername_cb)(SSL *, int *, void *);
void *servername_arg;
/* RFC 4507 session ticket keys */
unsigned char tick_key_name[TLSEXT_KEYNAME_LENGTH];
SSL_CTX_EXT_SECURE *secure;
-# ifndef OPENSSL_NO_DEPRECATED_3_0
+#ifndef OPENSSL_NO_DEPRECATED_3_0
/* Callback to support customisation of ticket key setting */
- int (*ticket_key_cb) (SSL *ssl,
- unsigned char *name, unsigned char *iv,
- EVP_CIPHER_CTX *ectx, HMAC_CTX *hctx, int enc);
+ int (*ticket_key_cb)(SSL *ssl,
+ unsigned char *name, unsigned char *iv,
+ EVP_CIPHER_CTX *ectx, HMAC_CTX *hctx, int enc);
#endif
- int (*ticket_key_evp_cb) (SSL *ssl,
- unsigned char *name, unsigned char *iv,
- EVP_CIPHER_CTX *ectx, EVP_MAC_CTX *hctx,
- int enc);
+ int (*ticket_key_evp_cb)(SSL *ssl,
+ unsigned char *name, unsigned char *iv,
+ EVP_CIPHER_CTX *ectx, EVP_MAC_CTX *hctx,
+ int enc);
/* certificate status request info */
/* Callback for status request */
- int (*status_cb) (SSL *ssl, void *arg);
+ int (*status_cb)(SSL *ssl, void *arg);
void *status_arg;
/* ext status type used for CSR extension (OCSP Stapling) */
int status_type;
@@ -1046,11 +1044,11 @@ struct ssl_ctx_st {
* wire-format.
* inlen: the length of |in|.
*/
- int (*alpn_select_cb) (SSL *s,
- const unsigned char **out,
- unsigned char *outlen,
- const unsigned char *in,
- unsigned int inlen, void *arg);
+ int (*alpn_select_cb)(SSL *s,
+ const unsigned char **out,
+ unsigned char *outlen,
+ const unsigned char *in,
+ unsigned int inlen, void *arg);
void *alpn_select_cb_arg;
/*
@@ -1060,7 +1058,7 @@ struct ssl_ctx_st {
unsigned char *alpn;
size_t alpn_len;
-# ifndef OPENSSL_NO_NEXTPROTONEG
+#ifndef OPENSSL_NO_NEXTPROTONEG
/* Next protocol negotiation information */
/*
@@ -1075,34 +1073,34 @@ struct ssl_ctx_st {
*/
SSL_CTX_npn_select_cb_func npn_select_cb;
void *npn_select_cb_arg;
-# endif
+#endif
unsigned char cookie_hmac_key[SHA256_DIGEST_LENGTH];
} ext;
-# ifndef OPENSSL_NO_PSK
+#ifndef OPENSSL_NO_PSK
SSL_psk_client_cb_func psk_client_callback;
SSL_psk_server_cb_func psk_server_callback;
-# endif
+#endif
SSL_psk_find_session_cb_func psk_find_session_cb;
SSL_psk_use_session_cb_func psk_use_session_cb;
-# ifndef OPENSSL_NO_SRP
- SRP_CTX srp_ctx; /* ctx for SRP authentication */
-# endif
+#ifndef OPENSSL_NO_SRP
+ SRP_CTX srp_ctx; /* ctx for SRP authentication */
+#endif
/* Shared DANE context */
struct dane_ctx_st dane;
-# ifndef OPENSSL_NO_SRTP
+#ifndef OPENSSL_NO_SRTP
/* SRTP profiles we are willing to do from RFC 5764 */
STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles;
-# endif
+#endif
/*
* Callback for disabling session caching and ticket support on a session
* basis, depending on the chosen cipher.
*/
- int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);
+ int (*not_resumable_session_cb)(SSL *ssl, int is_forward_secure);
CRYPTO_RWLOCK *lock;
@@ -1115,9 +1113,9 @@ struct ssl_ctx_st {
/*
* Private flag for internal key logging based on SSLKEYLOG env
*/
-# ifndef OPENSSL_NO_SSLKEYLOG
+#ifndef OPENSSL_NO_SSLKEYLOG
uint32_t do_sslkeylog;
-# endif
+#endif
/*
* The maximum number of bytes advertised in session tickets that can be
@@ -1195,40 +1193,40 @@ struct ssl_ctx_st {
unsigned char *server_cert_type;
size_t server_cert_type_len;
-# ifndef OPENSSL_NO_QUIC
+#ifndef OPENSSL_NO_QUIC
uint64_t domain_flags;
SSL_TOKEN_STORE *tokencache;
-# endif
+#endif
-# ifndef OPENSSL_NO_QLOG
+#ifndef OPENSSL_NO_QLOG
char *qlog_title; /* Session title for qlog */
-# endif
+#endif
};
typedef struct ossl_quic_tls_callbacks_st {
int (*crypto_send_cb)(SSL *s, const unsigned char *buf, size_t buf_len,
- size_t *consumed, void *arg);
+ size_t *consumed, void *arg);
int (*crypto_recv_rcd_cb)(SSL *s, const unsigned char **buf,
- size_t *bytes_read, void *arg);
+ size_t *bytes_read, void *arg);
int (*crypto_release_rcd_cb)(SSL *s, size_t bytes_read, void *arg);
int (*yield_secret_cb)(SSL *s, uint32_t prot_level, int direction,
- const unsigned char *secret, size_t secret_len,
- void *arg);
+ const unsigned char *secret, size_t secret_len,
+ void *arg);
int (*got_transport_params_cb)(SSL *s, const unsigned char *params,
- size_t params_len,
- void *arg);
+ size_t params_len,
+ void *arg);
int (*alert_cb)(SSL *s, unsigned char alert_code, void *arg);
} OSSL_QUIC_TLS_CALLBACKS;
typedef struct cert_pkey_st CERT_PKEY;
-#define SSL_TYPE_SSL_CONNECTION 0
-#define SSL_TYPE_QUIC_CONNECTION 0x80
-#define SSL_TYPE_QUIC_XSO 0x81
-#define SSL_TYPE_QUIC_LISTENER 0x82
-#define SSL_TYPE_QUIC_DOMAIN 0x83
+#define SSL_TYPE_SSL_CONNECTION 0
+#define SSL_TYPE_QUIC_CONNECTION 0x80
+#define SSL_TYPE_QUIC_XSO 0x81
+#define SSL_TYPE_QUIC_LISTENER 0x82
+#define SSL_TYPE_QUIC_DOMAIN 0x83
-#define SSL_TYPE_IS_QUIC(x) (((x) & 0x80) != 0)
+#define SSL_TYPE_IS_QUIC(x) (((x) & 0x80) != 0)
struct ssl_st {
int type;
@@ -1272,7 +1270,7 @@ struct ssl_connection_st {
* request needs re-doing when in SSL_accept or SSL_connect
*/
int rwstate;
- int (*handshake_func) (SSL *);
+ int (*handshake_func)(SSL *);
/*
* Imagine that here's a boolean member "init" that is switched as soon
* as SSL_set_{accept/connect}_state is called for the first time, so
@@ -1299,11 +1297,11 @@ struct ssl_connection_st {
/* where we are */
OSSL_STATEM statem;
SSL_EARLY_DATA_STATE early_data_state;
- BUF_MEM *init_buf; /* buffer used during init */
- void *init_msg; /* pointer to handshake message body, set by
- * tls_get_message_header() */
- size_t init_num; /* amount read/written */
- size_t init_off; /* amount read/written */
+ BUF_MEM *init_buf; /* buffer used during init */
+ void *init_msg; /* pointer to handshake message body, set by
+ * tls_get_message_header() */
+ size_t init_num; /* amount read/written */
+ size_t init_off; /* amount read/written */
size_t ssl_pkey_num;
@@ -1357,7 +1355,7 @@ struct ssl_connection_st {
int message_type;
/* used to hold the new cipher we are going to use */
const SSL_CIPHER *new_cipher;
- EVP_PKEY *pkey; /* holds short lived key exchange key */
+ EVP_PKEY *pkey; /* holds short lived key exchange key */
/* holds the array of short lived key exchange key (pointers) */
EVP_PKEY *ks_pkey[OPENSSL_CLIENT_MAX_KEY_SHARES];
uint16_t ks_group_id[OPENSSL_CLIENT_MAX_KEY_SHARES]; /* The IDs of the keyshare keys */
@@ -1375,11 +1373,11 @@ struct ssl_connection_st {
const EVP_MD *new_hash;
int new_mac_pkey_type;
size_t new_mac_secret_size;
-# ifndef OPENSSL_NO_COMP
+#ifndef OPENSSL_NO_COMP
const SSL_COMP *new_compression;
-# else
+#else
char *new_compression;
-# endif
+#endif
int cert_request;
/* Raw values of the cipher list from a client */
unsigned char *ciphers_raw;
@@ -1387,11 +1385,11 @@ struct ssl_connection_st {
/* Temporary storage for premaster secret */
unsigned char *pms;
size_t pmslen;
-# ifndef OPENSSL_NO_PSK
+#ifndef OPENSSL_NO_PSK
/* Temporary storage for PSK key */
unsigned char *psk;
size_t psklen;
-# endif
+#endif
/* Signature algorithm we actually use */
const struct sigalg_lookup_st *sigalg;
/* Pointer to certificate we use */
@@ -1438,12 +1436,12 @@ struct ssl_connection_st {
size_t previous_server_finished_len;
int send_connection_binding;
-# ifndef OPENSSL_NO_NEXTPROTONEG
+#ifndef OPENSSL_NO_NEXTPROTONEG
/*
* Set if we saw the Next Protocol Negotiation extension from our peer.
*/
int npn_seen;
-# endif
+#endif
/*
* ALPN information (we are in the process of transitioning from NPN to
@@ -1484,12 +1482,12 @@ struct ssl_connection_st {
uint16_t group_id_candidate;
} s3;
- struct dtls1_state_st *d1; /* DTLSv1 variables */
+ struct dtls1_state_st *d1; /* DTLSv1 variables */
/* callback that allows applications to peek at protocol messages */
- void (*msg_callback) (int write_p, int version, int content_type,
- const void *buf, size_t len, SSL *ssl, void *arg);
+ void (*msg_callback)(int write_p, int version, int content_type,
+ const void *buf, size_t len, SSL *ssl, void *arg);
void *msg_callback_arg;
- int hit; /* reusing a previous session */
+ int hit; /* reusing a previous session */
X509_VERIFY_PARAM *param;
/* Per connection DANE state */
SSL_DANE dane;
@@ -1533,8 +1531,9 @@ struct ssl_connection_st {
size_t cert_verify_hash_len;
/* Flag to indicate whether we should send a HelloRetryRequest or not */
- enum {SSL_HRR_NONE = 0, SSL_HRR_PENDING, SSL_HRR_COMPLETE}
- hello_retry_request;
+ enum { SSL_HRR_NONE = 0,
+ SSL_HRR_PENDING,
+ SSL_HRR_COMPLETE } hello_retry_request;
/*
* the session_id_context is used to ensure sessions are only reused in
@@ -1563,17 +1562,17 @@ struct ssl_connection_st {
*/
uint32_t verify_mode;
/* fail if callback returns 0 */
- int (*verify_callback) (int ok, X509_STORE_CTX *ctx);
+ int (*verify_callback)(int ok, X509_STORE_CTX *ctx);
/* optional informational callback */
- void (*info_callback) (const SSL *ssl, int type, int val);
+ void (*info_callback)(const SSL *ssl, int type, int val);
/* error bytes to be written */
int error;
/* actual code */
int error_code;
-# ifndef OPENSSL_NO_PSK
+#ifndef OPENSSL_NO_PSK
SSL_psk_client_cb_func psk_client_callback;
SSL_psk_server_cb_func psk_server_callback;
-# endif
+#endif
SSL_psk_find_session_cb_func psk_find_session_cb;
SSL_psk_use_session_cb_func psk_use_session_cb;
@@ -1619,7 +1618,7 @@ struct ssl_connection_st {
uint8_t extflags[TLSEXT_IDX_num_builtins];
/* TLS extension debug callback */
void (*debug_cb)(SSL *s, int client_server, int type,
- const unsigned char *data, int len, void *arg);
+ const unsigned char *data, int len, void *arg);
void *debug_arg;
char *hostname;
/* certificate status request info */
@@ -1750,7 +1749,7 @@ struct ssl_connection_st {
* 2 : don't call servername callback, no ack in server hello
*/
int servername_done;
-# ifndef OPENSSL_NO_CT
+#ifndef OPENSSL_NO_CT
/*
* Validates that the SCTs (Signed Certificate Timestamps) are sufficient.
* If they are not, the connection should be aborted.
@@ -1765,14 +1764,14 @@ struct ssl_connection_st {
STACK_OF(SCT) *scts;
/* Have we attempted to find/parse SCTs yet? */
int scts_parsed;
-# endif
- SSL_CTX *session_ctx; /* initial ctx, used to store sessions */
-# ifndef OPENSSL_NO_SRTP
+#endif
+ SSL_CTX *session_ctx; /* initial ctx, used to store sessions */
+#ifndef OPENSSL_NO_SRTP
/* What we'll do */
STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles;
/* What's been chosen */
SRTP_PROTECTION_PROFILE *srtp_profile;
-# endif
+#endif
/*-
* 1 if we are renegotiating.
* 2 if we are a server and are inside a handshake
@@ -1784,20 +1783,20 @@ struct ssl_connection_st {
/* Post-handshake authentication state */
SSL_PHA_STATE post_handshake_auth;
int pha_enabled;
- uint8_t* pha_context;
+ uint8_t *pha_context;
size_t pha_context_len;
int certreqs_sent;
EVP_MD_CTX *pha_dgst; /* this is just the digest through ClientFinished */
-# ifndef OPENSSL_NO_SRP
+#ifndef OPENSSL_NO_SRP
/* ctx for SRP authentication */
SRP_CTX srp_ctx;
-# endif
+#endif
/*
* Callback for disabling session caching and ticket support on a session
* basis, depending on the chosen cipher.
*/
- int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);
+ int (*not_resumable_session_cb)(SSL *ssl, int is_forward_secure);
/* Record layer data */
RECORD_LAYER rlayer;
@@ -1866,7 +1865,7 @@ struct ssl_connection_st {
/*
* Structure containing table entry of values associated with the signature
* algorithms (signature scheme) extension
-*/
+ */
typedef struct sigalg_lookup_st {
/* TLS 1.3 signature scheme name */
const char *name;
@@ -1899,12 +1898,12 @@ typedef struct sigalg_lookup_st {
/* DTLS structures */
-# ifndef OPENSSL_NO_SCTP
-# define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP"
-# endif
+#ifndef OPENSSL_NO_SCTP
+#define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP"
+#endif
/* Max MTU overhead we know about so far is 40 for IPv6 + 8 for UDP */
-# define DTLS1_MAX_MTU_OVERHEAD 48
+#define DTLS1_MAX_MTU_OVERHEAD 48
struct dtls1_retransmit_state {
const OSSL_RECORD_METHOD *wrlmethod;
@@ -1931,7 +1930,7 @@ typedef struct pqueue_st pqueue;
typedef struct pitem_st pitem;
struct pitem_st {
- unsigned char priority[8]; /* 64-bit value in big-endian encoding */
+ unsigned char priority[8]; /* 64-bit value in big-endian encoding */
void *data;
pitem *next;
};
@@ -1962,8 +1961,8 @@ typedef struct dtls1_state_st {
pqueue *buffered_messages;
/* Buffered (sent) handshake records */
pqueue *sent_messages;
- size_t link_mtu; /* max on-the-wire DTLS packet size */
- size_t mtu; /* max DTLS packet size */
+ size_t link_mtu; /* max on-the-wire DTLS packet size */
+ size_t mtu; /* max DTLS packet size */
struct hm_header_st w_msg_hdr;
struct hm_header_st r_msg_hdr;
/* Number of alerts received so far */
@@ -1976,9 +1975,9 @@ typedef struct dtls1_state_st {
unsigned int timeout_duration_us;
unsigned int retransmitting;
-# ifndef OPENSSL_NO_SCTP
+#ifndef OPENSSL_NO_SCTP
int shutdown_received;
-# endif
+#endif
DTLS_timer_cb timer_cb;
@@ -1987,11 +1986,11 @@ typedef struct dtls1_state_st {
/*
* From ECC-TLS draft, used in encoding the curve type in ECParameters
*/
-# define EXPLICIT_PRIME_CURVE_TYPE 1
-# define EXPLICIT_CHAR2_CURVE_TYPE 2
-# define NAMED_CURVE_TYPE 3
+#define EXPLICIT_PRIME_CURVE_TYPE 1
+#define EXPLICIT_CHAR2_CURVE_TYPE 2
+#define NAMED_CURVE_TYPE 3
-# ifndef OPENSSL_NO_COMP_ALG
+#ifndef OPENSSL_NO_COMP_ALG
struct ossl_comp_cert_st {
unsigned char *data;
size_t len;
@@ -2003,7 +2002,7 @@ typedef struct ossl_comp_cert_st OSSL_COMP_CERT;
void OSSL_COMP_CERT_free(OSSL_COMP_CERT *c);
int OSSL_COMP_CERT_up_ref(OSSL_COMP_CERT *c);
-# endif
+#endif
struct cert_pkey_st {
X509 *x509;
@@ -2019,17 +2018,17 @@ struct cert_pkey_st {
*/
unsigned char *serverinfo;
size_t serverinfo_length;
-# ifndef OPENSSL_NO_COMP_ALG
+#ifndef OPENSSL_NO_COMP_ALG
/* Compressed certificate data - index 0 is unused */
OSSL_COMP_CERT *comp_cert[TLSEXT_comp_cert_limit];
int cert_comp_used;
-# endif
+#endif
};
/* Retrieve Suite B flags */
-# define tls1_suiteb(s) (s->cert->cert_flags & SSL_CERT_FLAG_SUITEB_128_LOS)
+#define tls1_suiteb(s) (s->cert->cert_flags & SSL_CERT_FLAG_SUITEB_128_LOS)
/* Uses to check strict mode: suite B modes are always strict */
-# define SSL_CERT_FLAGS_CHECK_TLS_STRICT \
- (SSL_CERT_FLAG_SUITEB_128_LOS|SSL_CERT_FLAG_TLS_STRICT)
+#define SSL_CERT_FLAGS_CHECK_TLS_STRICT \
+ (SSL_CERT_FLAG_SUITEB_128_LOS | SSL_CERT_FLAG_TLS_STRICT)
typedef enum {
ENDPOINT_CLIENT = 0,
@@ -2037,7 +2036,6 @@ typedef enum {
ENDPOINT_BOTH
} ENDPOINT;
-
typedef struct {
unsigned short ext_type;
ENDPOINT role;
@@ -2061,17 +2059,17 @@ typedef struct {
* Indicates an extension has been received. Used to check for unsolicited or
* duplicate extensions.
*/
-# define SSL_EXT_FLAG_RECEIVED 0x1
+#define SSL_EXT_FLAG_RECEIVED 0x1
/*
* Indicates an extension has been sent: used to enable sending of
* corresponding ServerHello extension.
*/
-# define SSL_EXT_FLAG_SENT 0x2
+#define SSL_EXT_FLAG_SENT 0x2
/*
* Indicates an extension that was set on SSL object and needs to be
* preserved when switching SSL contexts.
*/
-# define SSL_EXT_FLAG_CONN 0x4
+#define SSL_EXT_FLAG_CONN 0x4
typedef struct {
custom_ext_method *meths;
@@ -2088,7 +2086,7 @@ typedef struct cert_st {
CERT_PKEY *key;
EVP_PKEY *dh_tmp;
- DH *(*dh_tmp_cb) (SSL *ssl, int is_export, int keysize);
+ DH *(*dh_tmp_cb)(SSL *ssl, int is_export, int keysize);
int dh_tmp_auto;
/* Flags related to certificates */
uint32_t cert_flags;
@@ -2122,7 +2120,7 @@ typedef struct cert_st {
* allows advanced applications to select certificates on the fly: for
* example based on supported signature algorithms or curves.
*/
- int (*cert_cb) (SSL *ssl, void *arg);
+ int (*cert_cb)(SSL *ssl, void *arg);
void *cert_cb_arg;
/*
* Optional X509_STORE for chain building or certificate validation If
@@ -2133,16 +2131,16 @@ typedef struct cert_st {
/* Custom extensions */
custom_ext_methods custext;
/* Security callback */
- int (*sec_cb) (const SSL *s, const SSL_CTX *ctx, int op, int bits, int nid,
- void *other, void *ex);
+ int (*sec_cb)(const SSL *s, const SSL_CTX *ctx, int op, int bits, int nid,
+ void *other, void *ex);
/* Security level */
int sec_level;
void *sec_ex;
-# ifndef OPENSSL_NO_PSK
+#ifndef OPENSSL_NO_PSK
/* If not NULL psk identity hint to use for servers */
char *psk_identity_hint;
-# endif
- CRYPTO_REF_COUNT references; /* >1 only if SSL_copy_session_id is used */
+#endif
+ CRYPTO_REF_COUNT references; /* >1 only if SSL_copy_session_id is used */
} CERT;
/*
@@ -2150,50 +2148,50 @@ typedef struct cert_st {
* of a mess of functions, but hell, think of it as an opaque structure :-)
*/
typedef struct ssl3_enc_method {
- int (*setup_key_block) (SSL_CONNECTION *);
- int (*generate_master_secret) (SSL_CONNECTION *, unsigned char *,
- unsigned char *, size_t, size_t *);
- int (*change_cipher_state) (SSL_CONNECTION *, int);
- size_t (*final_finish_mac) (SSL_CONNECTION *, const char *, size_t,
- unsigned char *);
+ int (*setup_key_block)(SSL_CONNECTION *);
+ int (*generate_master_secret)(SSL_CONNECTION *, unsigned char *,
+ unsigned char *, size_t, size_t *);
+ int (*change_cipher_state)(SSL_CONNECTION *, int);
+ size_t (*final_finish_mac)(SSL_CONNECTION *, const char *, size_t,
+ unsigned char *);
const char *client_finished_label;
size_t client_finished_label_len;
const char *server_finished_label;
size_t server_finished_label_len;
- int (*alert_value) (int);
- int (*export_keying_material) (SSL_CONNECTION *, unsigned char *, size_t,
- const char *, size_t,
- const unsigned char *, size_t,
- int use_context);
+ int (*alert_value)(int);
+ int (*export_keying_material)(SSL_CONNECTION *, unsigned char *, size_t,
+ const char *, size_t,
+ const unsigned char *, size_t,
+ int use_context);
/* Various flags indicating protocol version requirements */
uint32_t enc_flags;
/* Set the handshake header */
- int (*set_handshake_header) (SSL_CONNECTION *s, WPACKET *pkt, int type);
+ int (*set_handshake_header)(SSL_CONNECTION *s, WPACKET *pkt, int type);
/* Close construction of the handshake message */
- int (*close_construct_packet) (SSL_CONNECTION *s, WPACKET *pkt, int htype);
+ int (*close_construct_packet)(SSL_CONNECTION *s, WPACKET *pkt, int htype);
/* Write out handshake message */
- int (*do_write) (SSL_CONNECTION *s);
+ int (*do_write)(SSL_CONNECTION *s);
} SSL3_ENC_METHOD;
-# define ssl_set_handshake_header(s, pkt, htype) \
+#define ssl_set_handshake_header(s, pkt, htype) \
SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->set_handshake_header((s), (pkt), (htype))
-# define ssl_close_construct_packet(s, pkt, htype) \
+#define ssl_close_construct_packet(s, pkt, htype) \
SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->close_construct_packet((s), (pkt), (htype))
-# define ssl_do_write(s) SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->do_write(s)
+#define ssl_do_write(s) SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->do_write(s)
/* Values for enc_flags */
/* Uses signature algorithms extension */
-# define SSL_ENC_FLAG_SIGALGS 0x2
+#define SSL_ENC_FLAG_SIGALGS 0x2
/* Uses SHA256 default PRF */
-# define SSL_ENC_FLAG_SHA256_PRF 0x4
+#define SSL_ENC_FLAG_SHA256_PRF 0x4
/* Is DTLS */
-# define SSL_ENC_FLAG_DTLS 0x8
+#define SSL_ENC_FLAG_DTLS 0x8
/*
* Allow TLS 1.2 ciphersuites: applies to DTLS 1.2 as well as TLS 1.2: may
* apply to others in future.
*/
-# define SSL_ENC_FLAG_TLS1_2_CIPHERS 0x10
+#define SSL_ENC_FLAG_TLS1_2_CIPHERS 0x10
typedef enum downgrade_en {
DOWNGRADE_NONE,
@@ -2205,100 +2203,99 @@ typedef enum downgrade_en {
* Dummy status type for the status_type extension. Indicates no status type
* set
*/
-#define TLSEXT_STATUSTYPE_nothing -1
+#define TLSEXT_STATUSTYPE_nothing -1
/* Sigalgs values */
-#define TLSEXT_SIGALG_ecdsa_secp256r1_sha256 0x0403
-#define TLSEXT_SIGALG_ecdsa_secp384r1_sha384 0x0503
-#define TLSEXT_SIGALG_ecdsa_secp521r1_sha512 0x0603
-#define TLSEXT_SIGALG_ecdsa_sha224 0x0303
-#define TLSEXT_SIGALG_ecdsa_sha1 0x0203
-#define TLSEXT_SIGALG_rsa_pss_rsae_sha256 0x0804
-#define TLSEXT_SIGALG_rsa_pss_rsae_sha384 0x0805
-#define TLSEXT_SIGALG_rsa_pss_rsae_sha512 0x0806
-#define TLSEXT_SIGALG_rsa_pss_pss_sha256 0x0809
-#define TLSEXT_SIGALG_rsa_pss_pss_sha384 0x080a
-#define TLSEXT_SIGALG_rsa_pss_pss_sha512 0x080b
-#define TLSEXT_SIGALG_rsa_pkcs1_sha256 0x0401
-#define TLSEXT_SIGALG_rsa_pkcs1_sha384 0x0501
-#define TLSEXT_SIGALG_rsa_pkcs1_sha512 0x0601
-#define TLSEXT_SIGALG_rsa_pkcs1_sha224 0x0301
-#define TLSEXT_SIGALG_rsa_pkcs1_sha1 0x0201
-#define TLSEXT_SIGALG_dsa_sha256 0x0402
-#define TLSEXT_SIGALG_dsa_sha384 0x0502
-#define TLSEXT_SIGALG_dsa_sha512 0x0602
-#define TLSEXT_SIGALG_dsa_sha224 0x0302
-#define TLSEXT_SIGALG_dsa_sha1 0x0202
-#define TLSEXT_SIGALG_gostr34102012_256_intrinsic 0x0840
-#define TLSEXT_SIGALG_gostr34102012_512_intrinsic 0x0841
-#define TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256 0xeeee
-#define TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512 0xefef
-#define TLSEXT_SIGALG_gostr34102001_gostr3411 0xeded
+#define TLSEXT_SIGALG_ecdsa_secp256r1_sha256 0x0403
+#define TLSEXT_SIGALG_ecdsa_secp384r1_sha384 0x0503
+#define TLSEXT_SIGALG_ecdsa_secp521r1_sha512 0x0603
+#define TLSEXT_SIGALG_ecdsa_sha224 0x0303
+#define TLSEXT_SIGALG_ecdsa_sha1 0x0203
+#define TLSEXT_SIGALG_rsa_pss_rsae_sha256 0x0804
+#define TLSEXT_SIGALG_rsa_pss_rsae_sha384 0x0805
+#define TLSEXT_SIGALG_rsa_pss_rsae_sha512 0x0806
+#define TLSEXT_SIGALG_rsa_pss_pss_sha256 0x0809
+#define TLSEXT_SIGALG_rsa_pss_pss_sha384 0x080a
+#define TLSEXT_SIGALG_rsa_pss_pss_sha512 0x080b
+#define TLSEXT_SIGALG_rsa_pkcs1_sha256 0x0401
+#define TLSEXT_SIGALG_rsa_pkcs1_sha384 0x0501
+#define TLSEXT_SIGALG_rsa_pkcs1_sha512 0x0601
+#define TLSEXT_SIGALG_rsa_pkcs1_sha224 0x0301
+#define TLSEXT_SIGALG_rsa_pkcs1_sha1 0x0201
+#define TLSEXT_SIGALG_dsa_sha256 0x0402
+#define TLSEXT_SIGALG_dsa_sha384 0x0502
+#define TLSEXT_SIGALG_dsa_sha512 0x0602
+#define TLSEXT_SIGALG_dsa_sha224 0x0302
+#define TLSEXT_SIGALG_dsa_sha1 0x0202
+#define TLSEXT_SIGALG_gostr34102012_256_intrinsic 0x0840
+#define TLSEXT_SIGALG_gostr34102012_512_intrinsic 0x0841
+#define TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256 0xeeee
+#define TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512 0xefef
+#define TLSEXT_SIGALG_gostr34102001_gostr3411 0xeded
-#define TLSEXT_SIGALG_ed25519 0x0807
-#define TLSEXT_SIGALG_ed448 0x0808
-#define TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256 0x081a
-#define TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384 0x081b
-#define TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512 0x081c
-#define TLSEXT_SIGALG_mldsa44 0x0904
-#define TLSEXT_SIGALG_mldsa65 0x0905
-#define TLSEXT_SIGALG_mldsa87 0x0906
+#define TLSEXT_SIGALG_ed25519 0x0807
+#define TLSEXT_SIGALG_ed448 0x0808
+#define TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256 0x081a
+#define TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384 0x081b
+#define TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512 0x081c
+#define TLSEXT_SIGALG_mldsa44 0x0904
+#define TLSEXT_SIGALG_mldsa65 0x0905
+#define TLSEXT_SIGALG_mldsa87 0x0906
/* Sigalgs names */
-#define TLSEXT_SIGALG_ecdsa_secp256r1_sha256_name "ecdsa_secp256r1_sha256"
-#define TLSEXT_SIGALG_ecdsa_secp384r1_sha384_name "ecdsa_secp384r1_sha384"
-#define TLSEXT_SIGALG_ecdsa_secp521r1_sha512_name "ecdsa_secp521r1_sha512"
-#define TLSEXT_SIGALG_ecdsa_sha224_name "ecdsa_sha224"
-#define TLSEXT_SIGALG_ecdsa_sha1_name "ecdsa_sha1"
-#define TLSEXT_SIGALG_rsa_pss_rsae_sha256_name "rsa_pss_rsae_sha256"
-#define TLSEXT_SIGALG_rsa_pss_rsae_sha384_name "rsa_pss_rsae_sha384"
-#define TLSEXT_SIGALG_rsa_pss_rsae_sha512_name "rsa_pss_rsae_sha512"
-#define TLSEXT_SIGALG_rsa_pss_pss_sha256_name "rsa_pss_pss_sha256"
-#define TLSEXT_SIGALG_rsa_pss_pss_sha384_name "rsa_pss_pss_sha384"
-#define TLSEXT_SIGALG_rsa_pss_pss_sha512_name "rsa_pss_pss_sha512"
-#define TLSEXT_SIGALG_rsa_pkcs1_sha256_name "rsa_pkcs1_sha256"
-#define TLSEXT_SIGALG_rsa_pkcs1_sha384_name "rsa_pkcs1_sha384"
-#define TLSEXT_SIGALG_rsa_pkcs1_sha512_name "rsa_pkcs1_sha512"
-#define TLSEXT_SIGALG_rsa_pkcs1_sha224_name "rsa_pkcs1_sha224"
-#define TLSEXT_SIGALG_rsa_pkcs1_sha1_name "rsa_pkcs1_sha1"
-#define TLSEXT_SIGALG_dsa_sha256_name "dsa_sha256"
-#define TLSEXT_SIGALG_dsa_sha384_name "dsa_sha384"
-#define TLSEXT_SIGALG_dsa_sha512_name "dsa_sha512"
-#define TLSEXT_SIGALG_dsa_sha224_name "dsa_sha224"
-#define TLSEXT_SIGALG_dsa_sha1_name "dsa_sha1"
-#define TLSEXT_SIGALG_gostr34102012_256_intrinsic_name "gostr34102012_256"
-#define TLSEXT_SIGALG_gostr34102012_512_intrinsic_name "gostr34102012_512"
-#define TLSEXT_SIGALG_gostr34102012_256_intrinsic_alias "gost2012_256"
-#define TLSEXT_SIGALG_gostr34102012_512_intrinsic_alias "gost2012_512"
-#define TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256_name "gost2012_256"
-#define TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512_name "gost2012_512"
-#define TLSEXT_SIGALG_gostr34102001_gostr3411_name "gost2001_gost94"
+#define TLSEXT_SIGALG_ecdsa_secp256r1_sha256_name "ecdsa_secp256r1_sha256"
+#define TLSEXT_SIGALG_ecdsa_secp384r1_sha384_name "ecdsa_secp384r1_sha384"
+#define TLSEXT_SIGALG_ecdsa_secp521r1_sha512_name "ecdsa_secp521r1_sha512"
+#define TLSEXT_SIGALG_ecdsa_sha224_name "ecdsa_sha224"
+#define TLSEXT_SIGALG_ecdsa_sha1_name "ecdsa_sha1"
+#define TLSEXT_SIGALG_rsa_pss_rsae_sha256_name "rsa_pss_rsae_sha256"
+#define TLSEXT_SIGALG_rsa_pss_rsae_sha384_name "rsa_pss_rsae_sha384"
+#define TLSEXT_SIGALG_rsa_pss_rsae_sha512_name "rsa_pss_rsae_sha512"
+#define TLSEXT_SIGALG_rsa_pss_pss_sha256_name "rsa_pss_pss_sha256"
+#define TLSEXT_SIGALG_rsa_pss_pss_sha384_name "rsa_pss_pss_sha384"
+#define TLSEXT_SIGALG_rsa_pss_pss_sha512_name "rsa_pss_pss_sha512"
+#define TLSEXT_SIGALG_rsa_pkcs1_sha256_name "rsa_pkcs1_sha256"
+#define TLSEXT_SIGALG_rsa_pkcs1_sha384_name "rsa_pkcs1_sha384"
+#define TLSEXT_SIGALG_rsa_pkcs1_sha512_name "rsa_pkcs1_sha512"
+#define TLSEXT_SIGALG_rsa_pkcs1_sha224_name "rsa_pkcs1_sha224"
+#define TLSEXT_SIGALG_rsa_pkcs1_sha1_name "rsa_pkcs1_sha1"
+#define TLSEXT_SIGALG_dsa_sha256_name "dsa_sha256"
+#define TLSEXT_SIGALG_dsa_sha384_name "dsa_sha384"
+#define TLSEXT_SIGALG_dsa_sha512_name "dsa_sha512"
+#define TLSEXT_SIGALG_dsa_sha224_name "dsa_sha224"
+#define TLSEXT_SIGALG_dsa_sha1_name "dsa_sha1"
+#define TLSEXT_SIGALG_gostr34102012_256_intrinsic_name "gostr34102012_256"
+#define TLSEXT_SIGALG_gostr34102012_512_intrinsic_name "gostr34102012_512"
+#define TLSEXT_SIGALG_gostr34102012_256_intrinsic_alias "gost2012_256"
+#define TLSEXT_SIGALG_gostr34102012_512_intrinsic_alias "gost2012_512"
+#define TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256_name "gost2012_256"
+#define TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512_name "gost2012_512"
+#define TLSEXT_SIGALG_gostr34102001_gostr3411_name "gost2001_gost94"
-#define TLSEXT_SIGALG_ed25519_name "ed25519"
-#define TLSEXT_SIGALG_ed448_name "ed448"
-#define TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_name "ecdsa_brainpoolP256r1tls13_sha256"
-#define TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_name "ecdsa_brainpoolP384r1tls13_sha384"
-#define TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_name "ecdsa_brainpoolP512r1tls13_sha512"
-#define TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_alias "ecdsa_brainpoolP256r1_sha256"
-#define TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_alias "ecdsa_brainpoolP384r1_sha384"
-#define TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_alias "ecdsa_brainpoolP512r1_sha512"
-#define TLSEXT_SIGALG_mldsa44_name "mldsa44"
-#define TLSEXT_SIGALG_mldsa65_name "mldsa65"
-#define TLSEXT_SIGALG_mldsa87_name "mldsa87"
+#define TLSEXT_SIGALG_ed25519_name "ed25519"
+#define TLSEXT_SIGALG_ed448_name "ed448"
+#define TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_name "ecdsa_brainpoolP256r1tls13_sha256"
+#define TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_name "ecdsa_brainpoolP384r1tls13_sha384"
+#define TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_name "ecdsa_brainpoolP512r1tls13_sha512"
+#define TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_alias "ecdsa_brainpoolP256r1_sha256"
+#define TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_alias "ecdsa_brainpoolP384r1_sha384"
+#define TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_alias "ecdsa_brainpoolP512r1_sha512"
+#define TLSEXT_SIGALG_mldsa44_name "mldsa44"
+#define TLSEXT_SIGALG_mldsa65_name "mldsa65"
+#define TLSEXT_SIGALG_mldsa87_name "mldsa87"
/* Known PSK key exchange modes */
-#define TLSEXT_KEX_MODE_KE 0x00
-#define TLSEXT_KEX_MODE_KE_DHE 0x01
+#define TLSEXT_KEX_MODE_KE 0x00
+#define TLSEXT_KEX_MODE_KE_DHE 0x01
/*
* Internal representations of key exchange modes
*/
-#define TLSEXT_KEX_MODE_FLAG_NONE 0
-#define TLSEXT_KEX_MODE_FLAG_KE 1
-#define TLSEXT_KEX_MODE_FLAG_KE_DHE 2
+#define TLSEXT_KEX_MODE_FLAG_NONE 0
+#define TLSEXT_KEX_MODE_FLAG_KE 1
+#define TLSEXT_KEX_MODE_FLAG_KE_DHE 2
-#define SSL_USE_PSS(s) (s->s3.tmp.peer_sigalg != NULL && \
- s->s3.tmp.peer_sigalg->sig == EVP_PKEY_RSA_PSS)
+#define SSL_USE_PSS(s) (s->s3.tmp.peer_sigalg != NULL && s->s3.tmp.peer_sigalg->sig == EVP_PKEY_RSA_PSS)
/* TLSv1.3 downgrade protection sentinel values */
extern const unsigned char tls11downgrade[8];
@@ -2340,133 +2337,133 @@ extern const SSL3_ENC_METHOD DTLSv1_2_enc_data;
/*
* Flags for SSL methods
*/
-# define SSL_METHOD_NO_FIPS (1U<<0)
-# define SSL_METHOD_NO_SUITEB (1U<<1)
+#define SSL_METHOD_NO_FIPS (1U << 0)
+#define SSL_METHOD_NO_SUITEB (1U << 1)
-# define IMPLEMENT_tls_meth_func(version, flags, mask, func_name, s_accept, \
- s_connect, enc_data) \
-const SSL_METHOD *func_name(void) \
- { \
- static const SSL_METHOD func_name##_data= { \
- version, \
- flags, \
- mask, \
- ossl_ssl_connection_new, \
- ossl_ssl_connection_free, \
- ossl_ssl_connection_reset, \
- tls1_new, \
- tls1_clear, \
- tls1_free, \
- s_accept, \
- s_connect, \
- ssl3_read, \
- ssl3_peek, \
- ssl3_write, \
- ssl3_shutdown, \
- ssl3_renegotiate, \
- ssl3_renegotiate_check, \
- ssl3_read_bytes, \
- ssl3_write_bytes, \
- ssl3_dispatch_alert, \
- ssl3_ctrl, \
- ssl3_ctx_ctrl, \
- ssl3_get_cipher_by_char, \
- ssl3_put_cipher_by_char, \
- ssl3_pending, \
- ssl3_num_ciphers, \
- ssl3_get_cipher, \
- tls1_default_timeout, \
- &enc_data, \
- ssl_undefined_void_function, \
- ssl3_callback_ctrl, \
- ssl3_ctx_callback_ctrl, \
- }; \
- return &func_name##_data; \
- }
+#define IMPLEMENT_tls_meth_func(version, flags, mask, func_name, s_accept, \
+ s_connect, enc_data) \
+ const SSL_METHOD *func_name(void) \
+ { \
+ static const SSL_METHOD func_name##_data = { \
+ version, \
+ flags, \
+ mask, \
+ ossl_ssl_connection_new, \
+ ossl_ssl_connection_free, \
+ ossl_ssl_connection_reset, \
+ tls1_new, \
+ tls1_clear, \
+ tls1_free, \
+ s_accept, \
+ s_connect, \
+ ssl3_read, \
+ ssl3_peek, \
+ ssl3_write, \
+ ssl3_shutdown, \
+ ssl3_renegotiate, \
+ ssl3_renegotiate_check, \
+ ssl3_read_bytes, \
+ ssl3_write_bytes, \
+ ssl3_dispatch_alert, \
+ ssl3_ctrl, \
+ ssl3_ctx_ctrl, \
+ ssl3_get_cipher_by_char, \
+ ssl3_put_cipher_by_char, \
+ ssl3_pending, \
+ ssl3_num_ciphers, \
+ ssl3_get_cipher, \
+ tls1_default_timeout, \
+ &enc_data, \
+ ssl_undefined_void_function, \
+ ssl3_callback_ctrl, \
+ ssl3_ctx_callback_ctrl, \
+ }; \
+ return &func_name##_data; \
+ }
-# define IMPLEMENT_ssl3_meth_func(func_name, s_accept, s_connect) \
-const SSL_METHOD *func_name(void) \
- { \
- static const SSL_METHOD func_name##_data= { \
- SSL3_VERSION, \
- SSL_METHOD_NO_FIPS | SSL_METHOD_NO_SUITEB, \
- SSL_OP_NO_SSLv3, \
- ossl_ssl_connection_new, \
- ossl_ssl_connection_free, \
- ossl_ssl_connection_reset, \
- ssl3_new, \
- ssl3_clear, \
- ssl3_free, \
- s_accept, \
- s_connect, \
- ssl3_read, \
- ssl3_peek, \
- ssl3_write, \
- ssl3_shutdown, \
- ssl3_renegotiate, \
- ssl3_renegotiate_check, \
- ssl3_read_bytes, \
- ssl3_write_bytes, \
- ssl3_dispatch_alert, \
- ssl3_ctrl, \
- ssl3_ctx_ctrl, \
- ssl3_get_cipher_by_char, \
- ssl3_put_cipher_by_char, \
- ssl3_pending, \
- ssl3_num_ciphers, \
- ssl3_get_cipher, \
- ssl3_default_timeout, \
- &SSLv3_enc_data, \
- ssl_undefined_void_function, \
- ssl3_callback_ctrl, \
- ssl3_ctx_callback_ctrl, \
- }; \
- return &func_name##_data; \
- }
+#define IMPLEMENT_ssl3_meth_func(func_name, s_accept, s_connect) \
+ const SSL_METHOD *func_name(void) \
+ { \
+ static const SSL_METHOD func_name##_data = { \
+ SSL3_VERSION, \
+ SSL_METHOD_NO_FIPS | SSL_METHOD_NO_SUITEB, \
+ SSL_OP_NO_SSLv3, \
+ ossl_ssl_connection_new, \
+ ossl_ssl_connection_free, \
+ ossl_ssl_connection_reset, \
+ ssl3_new, \
+ ssl3_clear, \
+ ssl3_free, \
+ s_accept, \
+ s_connect, \
+ ssl3_read, \
+ ssl3_peek, \
+ ssl3_write, \
+ ssl3_shutdown, \
+ ssl3_renegotiate, \
+ ssl3_renegotiate_check, \
+ ssl3_read_bytes, \
+ ssl3_write_bytes, \
+ ssl3_dispatch_alert, \
+ ssl3_ctrl, \
+ ssl3_ctx_ctrl, \
+ ssl3_get_cipher_by_char, \
+ ssl3_put_cipher_by_char, \
+ ssl3_pending, \
+ ssl3_num_ciphers, \
+ ssl3_get_cipher, \
+ ssl3_default_timeout, \
+ &SSLv3_enc_data, \
+ ssl_undefined_void_function, \
+ ssl3_callback_ctrl, \
+ ssl3_ctx_callback_ctrl, \
+ }; \
+ return &func_name##_data; \
+ }
-# define IMPLEMENT_dtls1_meth_func(version, flags, mask, func_name, s_accept, \
- s_connect, enc_data) \
-const SSL_METHOD *func_name(void) \
- { \
- static const SSL_METHOD func_name##_data= { \
- version, \
- flags, \
- mask, \
- ossl_ssl_connection_new, \
- ossl_ssl_connection_free, \
- ossl_ssl_connection_reset, \
- dtls1_new, \
- dtls1_clear, \
- dtls1_free, \
- s_accept, \
- s_connect, \
- ssl3_read, \
- ssl3_peek, \
- ssl3_write, \
- dtls1_shutdown, \
- ssl3_renegotiate, \
- ssl3_renegotiate_check, \
- dtls1_read_bytes, \
- dtls1_write_app_data_bytes, \
- dtls1_dispatch_alert, \
- dtls1_ctrl, \
- ssl3_ctx_ctrl, \
- ssl3_get_cipher_by_char, \
- ssl3_put_cipher_by_char, \
- ssl3_pending, \
- ssl3_num_ciphers, \
- ssl3_get_cipher, \
- dtls1_default_timeout, \
- &enc_data, \
- ssl_undefined_void_function, \
- ssl3_callback_ctrl, \
- ssl3_ctx_callback_ctrl, \
- }; \
- return &func_name##_data; \
- }
+#define IMPLEMENT_dtls1_meth_func(version, flags, mask, func_name, s_accept, \
+ s_connect, enc_data) \
+ const SSL_METHOD *func_name(void) \
+ { \
+ static const SSL_METHOD func_name##_data = { \
+ version, \
+ flags, \
+ mask, \
+ ossl_ssl_connection_new, \
+ ossl_ssl_connection_free, \
+ ossl_ssl_connection_reset, \
+ dtls1_new, \
+ dtls1_clear, \
+ dtls1_free, \
+ s_accept, \
+ s_connect, \
+ ssl3_read, \
+ ssl3_peek, \
+ ssl3_write, \
+ dtls1_shutdown, \
+ ssl3_renegotiate, \
+ ssl3_renegotiate_check, \
+ dtls1_read_bytes, \
+ dtls1_write_app_data_bytes, \
+ dtls1_dispatch_alert, \
+ dtls1_ctrl, \
+ ssl3_ctx_ctrl, \
+ ssl3_get_cipher_by_char, \
+ ssl3_put_cipher_by_char, \
+ ssl3_pending, \
+ ssl3_num_ciphers, \
+ ssl3_get_cipher, \
+ dtls1_default_timeout, \
+ &enc_data, \
+ ssl_undefined_void_function, \
+ ssl3_callback_ctrl, \
+ ssl3_ctx_callback_ctrl, \
+ }; \
+ return &func_name##_data; \
+ }
struct openssl_ssl_test_functions {
- int (*p_ssl_init_wbio_buffer) (SSL_CONNECTION *s);
+ int (*p_ssl_init_wbio_buffer)(SSL_CONNECTION *s);
};
const char *ssl_protocol_to_string(int version);
@@ -2478,7 +2475,7 @@ static ossl_inline int tls12_rpk_and_privkey(const SSL_CONNECTION *sc, int idx)
* a private key, and NO CERTIFICATE
*/
return ((sc->server && sc->ext.server_cert_type == TLSEXT_cert_type_rpk)
- || (!sc->server && sc->ext.client_cert_type == TLSEXT_cert_type_rpk))
+ || (!sc->server && sc->ext.client_cert_type == TLSEXT_cert_type_rpk))
&& sc->cert->pkeys[idx].privatekey != NULL
&& sc->cert->pkeys[idx].x509 == NULL;
}
@@ -2517,26 +2514,26 @@ static ossl_inline int ssl_has_cert(const SSL_CONNECTION *s, int idx)
}
static ossl_inline void tls1_get_peer_groups(SSL_CONNECTION *s,
- const uint16_t **pgroups,
- size_t *pgroupslen)
+ const uint16_t **pgroups,
+ size_t *pgroupslen)
{
*pgroups = s->ext.peer_supportedgroups;
*pgroupslen = s->ext.peer_supportedgroups_len;
}
-# ifndef OPENSSL_UNIT_TEST
+#ifndef OPENSSL_UNIT_TEST
__owur int ossl_ssl_init(SSL *ssl, SSL_CTX *ctx, const SSL_METHOD *method,
- int type);
+ int type);
__owur SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,
- const SSL_METHOD *method);
+ const SSL_METHOD *method);
__owur SSL *ossl_ssl_connection_new(SSL_CTX *ctx);
void ossl_ssl_connection_free(SSL *ssl);
__owur int ossl_ssl_connection_reset(SSL *ssl);
__owur int ssl_read_internal(SSL *s, void *buf, size_t num, size_t *readbytes);
__owur int ssl_write_internal(SSL *s, const void *buf, size_t num,
- uint64_t flags, size_t *written);
+ uint64_t flags, size_t *written);
int ssl_clear_bad_session(SSL_CONNECTION *s);
__owur CERT *ssl_cert_new(size_t ssl_pkey_num);
__owur CERT *ssl_cert_dup(CERT *cert);
@@ -2545,77 +2542,77 @@ void ssl_cert_free(CERT *c);
__owur int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss);
__owur int ssl_get_new_session(SSL_CONNECTION *s, int session);
__owur SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
- const unsigned char *sess_id,
- size_t sess_id_len);
+ const unsigned char *sess_id,
+ size_t sess_id_len);
__owur int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello);
__owur SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket);
__owur int ssl_cipher_id_cmp(const SSL_CIPHER *a, const SSL_CIPHER *b);
DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(SSL_CIPHER, SSL_CIPHER, ssl_cipher_id);
__owur int ssl_cipher_ptr_id_cmp(const SSL_CIPHER *const *ap,
- const SSL_CIPHER *const *bp);
+ const SSL_CIPHER *const *bp);
__owur STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(SSL_CTX *ctx,
- STACK_OF(SSL_CIPHER) *tls13_ciphersuites,
- STACK_OF(SSL_CIPHER) **cipher_list,
- STACK_OF(SSL_CIPHER) **cipher_list_by_id,
- const char *rule_str,
- CERT *c);
+ STACK_OF(SSL_CIPHER) *tls13_ciphersuites,
+ STACK_OF(SSL_CIPHER) **cipher_list,
+ STACK_OF(SSL_CIPHER) **cipher_list_by_id,
+ const char *rule_str,
+ CERT *c);
__owur int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites,
- int sslv2format);
+ int sslv2format);
__owur int ossl_bytes_to_cipher_list(SSL_CONNECTION *s, PACKET *cipher_suites,
- STACK_OF(SSL_CIPHER) **skp,
- STACK_OF(SSL_CIPHER) **scsvs, int sslv2format,
- int fatal);
+ STACK_OF(SSL_CIPHER) **skp,
+ STACK_OF(SSL_CIPHER) **scsvs, int sslv2format,
+ int fatal);
void ssl_update_cache(SSL_CONNECTION *s, int mode);
__owur int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,
- const EVP_CIPHER **enc);
+ const EVP_CIPHER **enc);
__owur int ssl_cipher_get_evp_md_mac(SSL_CTX *ctx, const SSL_CIPHER *sslc,
- const EVP_MD **md,
- int *mac_pkey_type, size_t *mac_secret_size);
+ const EVP_MD **md,
+ int *mac_pkey_type, size_t *mac_secret_size);
__owur int ssl_cipher_get_evp(SSL_CTX *ctxc, const SSL_SESSION *s,
- const EVP_CIPHER **enc, const EVP_MD **md,
- int *mac_pkey_type, size_t *mac_secret_size,
- SSL_COMP **comp, int use_etm);
+ const EVP_CIPHER **enc, const EVP_MD **md,
+ int *mac_pkey_type, size_t *mac_secret_size,
+ SSL_COMP **comp, int use_etm);
__owur int ssl_cipher_get_overhead(const SSL_CIPHER *c, size_t *mac_overhead,
- size_t *int_overhead, size_t *blocksize,
- size_t *ext_overhead);
+ size_t *int_overhead, size_t *blocksize,
+ size_t *ext_overhead);
__owur int ssl_cert_is_disabled(SSL_CTX *ctx, size_t idx);
__owur const SSL_CIPHER *ssl_get_cipher_by_char(SSL_CONNECTION *ssl,
- const unsigned char *ptr,
- int all);
+ const unsigned char *ptr,
+ int all);
__owur int ssl_cert_set0_chain(SSL_CONNECTION *s, SSL_CTX *ctx,
- STACK_OF(X509) *chain);
+ STACK_OF(X509) *chain);
__owur int ssl_cert_set1_chain(SSL_CONNECTION *s, SSL_CTX *ctx,
- STACK_OF(X509) *chain);
+ STACK_OF(X509) *chain);
__owur int ssl_cert_add0_chain_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x);
__owur int ssl_cert_add1_chain_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x);
__owur int ssl_cert_select_current(CERT *c, X509 *x);
__owur int ssl_cert_set_current(CERT *c, long arg);
-void ssl_cert_set_cert_cb(CERT *c, int (*cb) (SSL *ssl, void *arg), void *arg);
+void ssl_cert_set_cert_cb(CERT *c, int (*cb)(SSL *ssl, void *arg), void *arg);
__owur int ssl_verify_cert_chain(SSL_CONNECTION *s, STACK_OF(X509) *sk);
__owur int ssl_verify_rpk(SSL_CONNECTION *s, EVP_PKEY *rpk);
__owur int ssl_build_cert_chain(SSL_CONNECTION *s, SSL_CTX *ctx, int flags);
__owur int ssl_cert_set_cert_store(CERT *c, X509_STORE *store, int chain,
- int ref);
+ int ref);
__owur int ssl_cert_get_cert_store(CERT *c, X509_STORE **pstore, int chain);
__owur int ssl_security(const SSL_CONNECTION *s, int op, int bits, int nid,
- void *other);
+ void *other);
__owur int ssl_ctx_security(const SSL_CTX *ctx, int op, int bits, int nid,
- void *other);
+ void *other);
int ssl_get_security_level_bits(const SSL *s, const SSL_CTX *ctx, int *levelp);
__owur int ssl_cert_lookup_by_nid(int nid, size_t *pidx, SSL_CTX *ctx);
__owur const SSL_CERT_LOOKUP *ssl_cert_lookup_by_pkey(const EVP_PKEY *pk,
- size_t *pidx,
- SSL_CTX *ctx);
+ size_t *pidx,
+ SSL_CTX *ctx);
__owur const SSL_CERT_LOOKUP *ssl_cert_lookup_by_idx(size_t idx, SSL_CTX *ctx);
int ssl_undefined_function(SSL *s);
__owur int ssl_undefined_void_function(void);
__owur int ssl_get_server_cert_serverinfo(SSL_CONNECTION *s,
- const unsigned char **serverinfo,
- size_t *serverinfo_length);
+ const unsigned char **serverinfo,
+ size_t *serverinfo_length);
void ssl_set_masks(SSL_CONNECTION *s);
__owur STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL_CONNECTION *sc);
__owur int ssl_x509err2alert(int type);
@@ -2625,25 +2622,25 @@ __owur int ssl_setup_sigalgs(SSL_CTX *ctx);
int ssl_load_groups(SSL_CTX *ctx);
int ssl_load_sigalgs(SSL_CTX *ctx);
__owur int ssl_fill_hello_random(SSL_CONNECTION *s, int server,
- unsigned char *field, size_t len,
- DOWNGRADE dgrd);
+ unsigned char *field, size_t len,
+ DOWNGRADE dgrd);
__owur int ssl_generate_master_secret(SSL_CONNECTION *s, unsigned char *pms,
- size_t pmslen, int free_pms);
+ size_t pmslen, int free_pms);
__owur EVP_PKEY *ssl_generate_pkey(SSL_CONNECTION *s, EVP_PKEY *pm);
__owur int ssl_gensecret(SSL_CONNECTION *s, unsigned char *pms, size_t pmslen);
__owur int ssl_derive(SSL_CONNECTION *s, EVP_PKEY *privkey, EVP_PKEY *pubkey,
- int genmaster);
+ int genmaster);
__owur int ssl_decapsulate(SSL_CONNECTION *s, EVP_PKEY *privkey,
- const unsigned char *ct, size_t ctlen,
- int gensecret);
+ const unsigned char *ct, size_t ctlen,
+ int gensecret);
__owur int ssl_encapsulate(SSL_CONNECTION *s, EVP_PKEY *pubkey,
- unsigned char **ctp, size_t *ctlenp,
- int gensecret);
+ unsigned char **ctp, size_t *ctlenp,
+ int gensecret);
__owur EVP_PKEY *ssl_dh_to_pkey(DH *dh);
__owur int ssl_set_tmp_ecdh_groups(uint16_t **pext, size_t *pextlen,
- uint16_t **ksext, size_t *ksextlen,
- size_t **tplext, size_t *tplextlen,
- void *key);
+ uint16_t **ksext, size_t *ksextlen,
+ size_t **tplext, size_t *tplextlen,
+ void *key);
__owur unsigned int ssl_get_max_send_fragment(const SSL_CONNECTION *sc);
__owur unsigned int ssl_get_split_send_fragment(const SSL_CONNECTION *sc);
@@ -2651,7 +2648,7 @@ __owur const SSL_CIPHER *ssl3_get_cipher_by_id(uint32_t id);
__owur const SSL_CIPHER *ssl3_get_cipher_by_std_name(const char *stdname);
__owur const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p);
__owur int ssl3_put_cipher_by_char(const SSL_CIPHER *c, WPACKET *pkt,
- size_t *len);
+ size_t *len);
int ssl3_init_finished_mac(SSL_CONNECTION *s);
__owur int ssl3_setup_key_block(SSL_CONNECTION *s);
__owur int ssl3_change_cipher_state(SSL_CONNECTION *s, int which);
@@ -2659,26 +2656,26 @@ void ssl3_cleanup_key_block(SSL_CONNECTION *s);
__owur int ssl3_do_write(SSL_CONNECTION *s, uint8_t type);
int ssl3_send_alert(SSL_CONNECTION *s, int level, int desc);
__owur int ssl3_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
- unsigned char *p, size_t len,
- size_t *secret_size);
+ unsigned char *p, size_t len,
+ size_t *secret_size);
__owur int ssl3_get_req_cert_type(SSL_CONNECTION *s, WPACKET *pkt);
__owur int ssl3_num_ciphers(void);
__owur const SSL_CIPHER *ssl3_get_cipher(unsigned int u);
int ssl3_renegotiate(SSL *ssl);
int ssl3_renegotiate_check(SSL *ssl, int initok);
void ssl3_digest_master_key_set_params(const SSL_SESSION *session,
- OSSL_PARAM params[]);
+ OSSL_PARAM params[]);
__owur int ssl3_dispatch_alert(SSL *s);
__owur size_t ssl3_final_finish_mac(SSL_CONNECTION *s, const char *sender,
- size_t slen, unsigned char *p);
+ size_t slen, unsigned char *p);
__owur int ssl3_finish_mac(SSL_CONNECTION *s, const unsigned char *buf,
- size_t len);
+ size_t len);
void ssl3_free_digest_list(SSL_CONNECTION *s);
__owur unsigned long ssl3_output_cert_chain(SSL_CONNECTION *s, WPACKET *pkt,
- CERT_PKEY *cpk, int for_comp);
+ CERT_PKEY *cpk, int for_comp);
__owur const SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s,
- STACK_OF(SSL_CIPHER) *clnt,
- STACK_OF(SSL_CIPHER) *srvr);
+ STACK_OF(SSL_CIPHER) *clnt,
+ STACK_OF(SSL_CIPHER) *srvr);
__owur int ssl3_digest_cached_records(SSL_CONNECTION *s, int keep);
__owur int ssl3_new(SSL *s);
void ssl3_free(SSL *s);
@@ -2689,14 +2686,14 @@ __owur int ssl3_shutdown(SSL *s);
int ssl3_clear(SSL *s);
__owur long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg);
__owur long ssl3_ctx_ctrl(SSL_CTX *s, int cmd, long larg, void *parg);
-__owur long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void));
-__owur long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp) (void));
+__owur long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void));
+__owur long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void));
__owur int ssl3_do_change_cipher_spec(SSL_CONNECTION *s);
__owur OSSL_TIME ssl3_default_timeout(void);
__owur int ssl3_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt,
- int htype);
+ int htype);
__owur int tls_close_construct_packet(SSL_CONNECTION *s, WPACKET *pkt, int htype);
__owur int tls_setup_handshake(SSL_CONNECTION *s);
__owur int dtls1_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt, int htype);
@@ -2707,38 +2704,38 @@ __owur int ssl_allow_compression(SSL_CONNECTION *s);
__owur int ssl_version_cmp(const SSL_CONNECTION *s, int versiona, int versionb);
__owur int ssl_version_supported(const SSL_CONNECTION *s, int version,
- const SSL_METHOD **meth);
+ const SSL_METHOD **meth);
__owur int ssl_set_client_hello_version(SSL_CONNECTION *s);
__owur int ssl_check_version_downgrade(SSL_CONNECTION *s);
__owur int ssl_set_version_bound(int method_version, int version, int *bound);
__owur int ssl_choose_server_version(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello,
- DOWNGRADE *dgrd);
+ DOWNGRADE *dgrd);
__owur int ssl_choose_client_version(SSL_CONNECTION *s, int version,
- RAW_EXTENSION *extensions);
+ RAW_EXTENSION *extensions);
__owur int ssl_get_min_max_version(const SSL_CONNECTION *s, int *min_version,
- int *max_version, int *real_max);
+ int *max_version, int *real_max);
__owur OSSL_TIME tls1_default_timeout(void);
__owur int dtls1_do_write(SSL_CONNECTION *s, uint8_t type);
void dtls1_set_message_header(SSL_CONNECTION *s,
- unsigned char mt,
- size_t len,
- size_t frag_off, size_t frag_len);
+ unsigned char mt,
+ size_t len,
+ size_t frag_off, size_t frag_len);
int dtls1_write_app_data_bytes(SSL *s, uint8_t type, const void *buf_,
- size_t len, size_t *written);
+ size_t len, size_t *written);
__owur int dtls1_read_failed(SSL_CONNECTION *s, int code);
__owur int dtls1_buffer_message(SSL_CONNECTION *s, int ccs);
__owur int dtls1_retransmit_message(SSL_CONNECTION *s, unsigned short seq,
- int *found);
+ int *found);
__owur int dtls1_get_queue_priority(unsigned short seq, int is_ccs);
int dtls1_retransmit_buffered_messages(SSL_CONNECTION *s);
void dtls1_clear_received_buffer(SSL_CONNECTION *s);
void dtls1_clear_sent_buffer(SSL_CONNECTION *s);
void dtls1_get_message_header(const unsigned char *data,
- struct hm_header_st *msg_hdr);
+ struct hm_header_st *msg_hdr);
__owur OSSL_TIME dtls1_default_timeout(void);
__owur int dtls1_get_timeout(const SSL_CONNECTION *s, OSSL_TIME *timeleft);
__owur int dtls1_check_timeout_num(SSL_CONNECTION *s);
@@ -2747,7 +2744,7 @@ void dtls1_start_timer(SSL_CONNECTION *s);
void dtls1_stop_timer(SSL_CONNECTION *s);
__owur int dtls1_is_timer_expired(SSL_CONNECTION *s);
__owur int dtls_raw_hello_verify_request(WPACKET *pkt, unsigned char *cookie,
- size_t cookie_len);
+ size_t cookie_len);
__owur size_t dtls1_min_mtu(SSL_CONNECTION *s);
void dtls1_hm_fragment_free(hm_fragment *frag);
__owur int dtls1_query_mtu(SSL_CONNECTION *s);
@@ -2770,65 +2767,65 @@ int ssl_free_wbio_buffer(SSL_CONNECTION *s);
__owur int tls1_change_cipher_state(SSL_CONNECTION *s, int which);
__owur int tls1_setup_key_block(SSL_CONNECTION *s);
__owur size_t tls1_final_finish_mac(SSL_CONNECTION *s, const char *str,
- size_t slen, unsigned char *p);
+ size_t slen, unsigned char *p);
__owur int tls1_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
- unsigned char *p, size_t len,
- size_t *secret_size);
+ unsigned char *p, size_t len,
+ size_t *secret_size);
__owur int tls13_setup_key_block(SSL_CONNECTION *s);
__owur size_t tls13_final_finish_mac(SSL_CONNECTION *s, const char *str, size_t slen,
- unsigned char *p);
+ unsigned char *p);
__owur int tls13_store_handshake_traffic_hash(SSL_CONNECTION *s);
__owur int tls13_store_server_finished_hash(SSL_CONNECTION *s);
__owur int tls13_change_cipher_state(SSL_CONNECTION *s, int which);
__owur int tls13_update_key(SSL_CONNECTION *s, int send);
__owur int tls13_hkdf_expand(SSL_CONNECTION *s,
- const EVP_MD *md,
- const unsigned char *secret,
- const unsigned char *label, size_t labellen,
- const unsigned char *data, size_t datalen,
- unsigned char *out, size_t outlen, int fatal);
+ const EVP_MD *md,
+ const unsigned char *secret,
+ const unsigned char *label, size_t labellen,
+ const unsigned char *data, size_t datalen,
+ unsigned char *out, size_t outlen, int fatal);
__owur int tls13_hkdf_expand_ex(OSSL_LIB_CTX *libctx, const char *propq,
- const EVP_MD *md,
- const unsigned char *secret,
- const unsigned char *label, size_t labellen,
- const unsigned char *data, size_t datalen,
- unsigned char *out, size_t outlen,
- int raise_error);
+ const EVP_MD *md,
+ const unsigned char *secret,
+ const unsigned char *label, size_t labellen,
+ const unsigned char *data, size_t datalen,
+ unsigned char *out, size_t outlen,
+ int raise_error);
__owur int tls13_derive_key(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret, unsigned char *key,
- size_t keylen);
+ const unsigned char *secret, unsigned char *key,
+ size_t keylen);
__owur int tls13_derive_iv(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret, unsigned char *iv,
- size_t ivlen);
+ const unsigned char *secret, unsigned char *iv,
+ size_t ivlen);
__owur int tls13_derive_finishedkey(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret,
- unsigned char *fin, size_t finlen);
+ const unsigned char *secret,
+ unsigned char *fin, size_t finlen);
int tls13_generate_secret(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *prevsecret,
- const unsigned char *insecret,
- size_t insecretlen,
- unsigned char *outsecret);
+ const unsigned char *prevsecret,
+ const unsigned char *insecret,
+ size_t insecretlen,
+ unsigned char *outsecret);
__owur int tls13_generate_handshake_secret(SSL_CONNECTION *s,
- const unsigned char *insecret,
- size_t insecretlen);
+ const unsigned char *insecret,
+ size_t insecretlen);
__owur int tls13_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
- unsigned char *prev, size_t prevlen,
- size_t *secret_size);
+ unsigned char *prev, size_t prevlen,
+ size_t *secret_size);
__owur int tls1_export_keying_material(SSL_CONNECTION *s,
- unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *p, size_t plen,
- int use_context);
+ unsigned char *out, size_t olen,
+ const char *label, size_t llen,
+ const unsigned char *p, size_t plen,
+ int use_context);
__owur int tls13_export_keying_material(SSL_CONNECTION *s,
- unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *context,
- size_t contextlen, int use_context);
+ unsigned char *out, size_t olen,
+ const char *label, size_t llen,
+ const unsigned char *context,
+ size_t contextlen, int use_context);
__owur int tls13_export_keying_material_early(SSL_CONNECTION *s,
- unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *context,
- size_t contextlen);
+ unsigned char *out, size_t olen,
+ const char *label, size_t llen,
+ const unsigned char *context,
+ size_t contextlen);
__owur int tls1_alert_code(int code);
__owur int tls13_alert_code(int code);
__owur int ssl3_alert_code(int code);
@@ -2842,48 +2839,48 @@ __owur const char *tls1_group_id2name(SSL_CTX *ctx, uint16_t group_id);
__owur int tls1_group_id2nid(uint16_t group_id, int include_unknown);
__owur uint16_t tls1_nid2group_id(int nid);
__owur int tls1_check_group_id(SSL_CONNECTION *s, uint16_t group_id,
- int check_own_curves);
+ int check_own_curves);
__owur int tls1_get0_implemented_groups(int min_proto_version,
- int max_proto_version,
- TLS_GROUP_INFO *grps,
- size_t num, long all,
- STACK_OF(OPENSSL_CSTRING) *out);
+ int max_proto_version,
+ TLS_GROUP_INFO *grps,
+ size_t num, long all,
+ STACK_OF(OPENSSL_CSTRING) *out);
__owur uint16_t tls1_shared_group(SSL_CONNECTION *s, int nmatch);
__owur int tls1_set_groups(uint16_t **grpext, size_t *grpextlen,
- uint16_t **ksext, size_t *ksextlen,
- size_t **tplext, size_t *tplextlen,
- int *curves, size_t ncurves);
+ uint16_t **ksext, size_t *ksextlen,
+ size_t **tplext, size_t *tplextlen,
+ int *curves, size_t ncurves);
__owur int tls1_set_groups_list(SSL_CTX *ctx,
- uint16_t **grpext, size_t *grpextlen,
- uint16_t **ksext, size_t *ksextlen,
- size_t **tplext, size_t *tplextlen,
- const char *str);
+ uint16_t **grpext, size_t *grpextlen,
+ uint16_t **ksext, size_t *ksextlen,
+ size_t **tplext, size_t *tplextlen,
+ const char *str);
__owur EVP_PKEY *ssl_generate_pkey_group(SSL_CONNECTION *s, uint16_t id);
__owur int tls_valid_group(SSL_CONNECTION *s, uint16_t group_id, int minversion,
- int maxversion, int isec, int *okfortls13);
+ int maxversion, int isec, int *okfortls13);
__owur EVP_PKEY *ssl_generate_param_group(SSL_CONNECTION *s, uint16_t id);
void tls1_get_formatlist(SSL_CONNECTION *s, const unsigned char **pformats,
- size_t *num_formats);
+ size_t *num_formats);
__owur int tls1_check_ec_tmp_key(SSL_CONNECTION *s, unsigned long id);
__owur int tls_group_allowed(SSL_CONNECTION *s, uint16_t curve, int op);
void tls1_get_supported_groups(SSL_CONNECTION *s, const uint16_t **pgroups,
- size_t *pgroupslen);
+ size_t *pgroupslen);
void tls1_get_requested_keyshare_groups(SSL_CONNECTION *s, const uint16_t **pgroups,
- size_t *pgroupslen);
+ size_t *pgroupslen);
void tls1_get_group_tuples(SSL_CONNECTION *s, const size_t **ptuples,
- size_t *ptupleslen);
+ size_t *ptupleslen);
__owur int tls1_set_server_sigalgs(SSL_CONNECTION *s);
__owur SSL_TICKET_STATUS tls_get_ticket_from_client(SSL_CONNECTION *s,
- CLIENTHELLO_MSG *hello,
- SSL_SESSION **ret);
+ CLIENTHELLO_MSG *hello,
+ SSL_SESSION **ret);
__owur SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
- const unsigned char *etick,
- size_t eticklen,
- const unsigned char *sess_id,
- size_t sesslen, SSL_SESSION **psess);
+ const unsigned char *etick,
+ size_t eticklen,
+ const unsigned char *sess_id,
+ size_t sesslen, SSL_SESSION **psess);
__owur int tls_use_ticket(SSL_CONNECTION *s);
@@ -2891,53 +2888,53 @@ void ssl_set_sig_mask(uint32_t *pmask_a, SSL_CONNECTION *s, int op);
__owur int tls1_set_sigalgs_list(SSL_CTX *ctx, CERT *c, const char *str, int client);
__owur int tls1_set_raw_sigalgs(CERT *c, const uint16_t *psigs, size_t salglen,
- int client);
+ int client);
__owur int tls1_set_sigalgs(CERT *c, const int *salg, size_t salglen,
- int client);
+ int client);
int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
- STACK_OF(X509) *chain, int idx);
+ STACK_OF(X509) *chain, int idx);
void tls1_set_cert_validity(SSL_CONNECTION *s);
-# ifndef OPENSSL_NO_CT
+#ifndef OPENSSL_NO_CT
__owur int ssl_validate_ct(SSL_CONNECTION *s);
-# endif
+#endif
__owur EVP_PKEY *ssl_get_auto_dh(SSL_CONNECTION *s);
__owur int ssl_security_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x, int vfy,
- int is_ee);
+ int is_ee);
__owur int ssl_security_cert_chain(SSL_CONNECTION *s, STACK_OF(X509) *sk,
- X509 *ex, int vfy);
+ X509 *ex, int vfy);
int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs);
__owur long ssl_get_algorithm2(SSL_CONNECTION *s);
__owur int tls12_copy_sigalgs(SSL_CONNECTION *s, WPACKET *pkt,
- const uint16_t *psig, size_t psiglen);
+ const uint16_t *psig, size_t psiglen);
__owur int tls1_save_u16(PACKET *pkt, uint16_t **pdest, size_t *pdestlen);
__owur int tls1_save_sigalgs(SSL_CONNECTION *s, PACKET *pkt, int cert);
__owur int tls1_process_sigalgs(SSL_CONNECTION *s);
__owur int tls1_set_peer_legacy_sigalg(SSL_CONNECTION *s, const EVP_PKEY *pkey);
__owur int tls1_lookup_md(SSL_CTX *ctx, const SIGALG_LOOKUP *lu,
- const EVP_MD **pmd);
+ const EVP_MD **pmd);
__owur size_t tls12_get_psigalgs(SSL_CONNECTION *s, int sent,
- const uint16_t **psigs);
+ const uint16_t **psigs);
__owur int tls_check_sigalg_curve(const SSL_CONNECTION *s, int curve);
__owur int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t, EVP_PKEY *pkey);
__owur int ssl_set_client_disabled(SSL_CONNECTION *s);
__owur int ssl_cipher_disabled(const SSL_CONNECTION *s, const SSL_CIPHER *c,
- int op, int echde);
+ int op, int echde);
__owur int ssl_handshake_hash(SSL_CONNECTION *s,
- unsigned char *out, size_t outlen,
- size_t *hashlen);
+ unsigned char *out, size_t outlen,
+ size_t *hashlen);
__owur const EVP_MD *ssl_md(SSL_CTX *ctx, int idx);
int ssl_get_md_idx(int md_nid);
__owur const EVP_MD *ssl_handshake_md(SSL_CONNECTION *s);
__owur const EVP_MD *ssl_prf_md(SSL_CONNECTION *s);
__owur int ossl_adjust_domain_flags(uint64_t domain_flags,
- uint64_t *p_domain_flags);
+ uint64_t *p_domain_flags);
/*
* ssl_log_rsa_client_key_exchange logs |premaster| to the SSL_CTX associated
@@ -2946,10 +2943,10 @@ __owur int ossl_adjust_domain_flags(uint64_t domain_flags,
* |encrypted_premaster|.
*/
__owur int ssl_log_rsa_client_key_exchange(SSL_CONNECTION *s,
- const uint8_t *encrypted_premaster,
- size_t encrypted_premaster_len,
- const uint8_t *premaster,
- size_t premaster_len);
+ const uint8_t *encrypted_premaster,
+ size_t encrypted_premaster_len,
+ const uint8_t *premaster,
+ size_t premaster_len);
/*
* ssl_log_secret logs |secret| to the SSL_CTX associated with |ssl|, if
@@ -2957,7 +2954,7 @@ __owur int ssl_log_rsa_client_key_exchange(SSL_CONNECTION *s,
* the entry with |label|.
*/
__owur int ssl_log_secret(SSL_CONNECTION *s, const char *label,
- const uint8_t *secret, size_t secret_len);
+ const uint8_t *secret, size_t secret_len);
#define MASTER_SECRET_LABEL "CLIENT_RANDOM"
#define CLIENT_EARLY_LABEL "CLIENT_EARLY_TRAFFIC_SECRET"
@@ -2981,45 +2978,45 @@ __owur int send_certificate_request(SSL_CONNECTION *s);
/* statem/extensions_cust.c */
custom_ext_method *custom_ext_find(const custom_ext_methods *exts,
- ENDPOINT role, unsigned int ext_type,
- size_t *idx);
+ ENDPOINT role, unsigned int ext_type,
+ size_t *idx);
void custom_ext_init(custom_ext_methods *meths);
int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods *exts,
- ENDPOINT role, unsigned int ext_type,
- unsigned int context,
- SSL_custom_ext_add_cb_ex add_cb,
- SSL_custom_ext_free_cb_ex free_cb,
- void *add_arg,
- SSL_custom_ext_parse_cb_ex parse_cb,
- void *parse_arg);
+ ENDPOINT role, unsigned int ext_type,
+ unsigned int context,
+ SSL_custom_ext_add_cb_ex add_cb,
+ SSL_custom_ext_free_cb_ex free_cb,
+ void *add_arg,
+ SSL_custom_ext_parse_cb_ex parse_cb,
+ void *parse_arg);
__owur int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,
- unsigned int ext_type,
- const unsigned char *ext_data, size_t ext_size,
- X509 *x, size_t chainidx);
+ unsigned int ext_type,
+ const unsigned char *ext_data, size_t ext_size,
+ X509 *x, size_t chainidx);
__owur int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509 *x,
- size_t chainidx, int maxversion);
+ size_t chainidx, int maxversion);
__owur int custom_exts_copy(custom_ext_methods *dst,
- const custom_ext_methods *src);
+ const custom_ext_methods *src);
__owur int custom_exts_copy_conn(custom_ext_methods *dst,
- const custom_ext_methods *src);
+ const custom_ext_methods *src);
__owur int custom_exts_copy_flags(custom_ext_methods *dst,
- const custom_ext_methods *src);
+ const custom_ext_methods *src);
void custom_exts_free(custom_ext_methods *exts);
/* ssl_mcnf.c */
int ssl_ctx_system_config(SSL_CTX *ctx);
const EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,
- int nid,
- const char *properties);
+ int nid,
+ const char *properties);
int ssl_evp_cipher_up_ref(const EVP_CIPHER *cipher);
void ssl_evp_cipher_free(const EVP_CIPHER *cipher);
const EVP_MD *ssl_evp_md_fetch(OSSL_LIB_CTX *libctx,
- int nid,
- const char *properties);
+ int nid,
+ const char *properties);
int ssl_evp_md_up_ref(const EVP_MD *md);
void ssl_evp_md_free(const EVP_MD *md);
@@ -3027,7 +3024,7 @@ void tls_engine_finish(ENGINE *e);
const EVP_CIPHER *tls_get_cipher_from_engine(int nid);
const EVP_MD *tls_get_digest_from_engine(int nid);
int tls_engine_load_ssl_client_cert(SSL_CONNECTION *s, X509 **px509,
- EVP_PKEY **ppkey);
+ EVP_PKEY **ppkey);
int ssl_hmac_old_new(SSL_HMAC *ret);
void ssl_hmac_old_free(SSL_HMAC *ctx);
int ssl_hmac_old_init(SSL_HMAC *ctx, void *key, size_t len, char *md);
@@ -3045,11 +3042,11 @@ int ssl_srp_server_param_with_username_intern(SSL_CONNECTION *s, int *ad);
void ssl_session_calculate_timeout(SSL_SESSION *ss);
-# else /* OPENSSL_UNIT_TEST */
+#else /* OPENSSL_UNIT_TEST */
-# define ssl_init_wbio_buffer SSL_test_functions()->p_ssl_init_wbio_buffer
+#define ssl_init_wbio_buffer SSL_test_functions()->p_ssl_init_wbio_buffer
-# endif
+#endif
/* Some helper routines to support TSAN operations safely */
static ossl_unused ossl_inline int ssl_tsan_lock(const SSL_CTX *ctx)
@@ -3069,7 +3066,7 @@ static ossl_unused ossl_inline void ssl_tsan_unlock(const SSL_CTX *ctx)
}
static ossl_unused ossl_inline void ssl_tsan_counter(const SSL_CTX *ctx,
- TSAN_QUALIFIER int *stat)
+ TSAN_QUALIFIER int *stat)
{
if (ssl_tsan_lock(ctx)) {
tsan_counter(stat);
@@ -3081,8 +3078,8 @@ int ossl_comp_has_alg(int a);
size_t ossl_calculate_comp_expansion(int alg, size_t length);
void ossl_ssl_set_custom_record_layer(SSL_CONNECTION *s,
- const OSSL_RECORD_METHOD *meth,
- void *rlarg);
+ const OSSL_RECORD_METHOD *meth,
+ void *rlarg);
long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic);
@@ -3090,81 +3087,34 @@ long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int no_quic);
* Options which no longer have any effect, but which can be implemented
* as no-ops for QUIC.
*/
-#define OSSL_LEGACY_SSL_OPTIONS \
- (SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG | \
- SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER | \
- SSL_OP_SSLEAY_080_CLIENT_DH_BUG | \
- SSL_OP_TLS_D5_BUG | \
- SSL_OP_TLS_BLOCK_PADDING_BUG | \
- SSL_OP_MSIE_SSLV2_RSA_PADDING | \
- SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG | \
- SSL_OP_MICROSOFT_SESS_ID_BUG | \
- SSL_OP_NETSCAPE_CHALLENGE_BUG | \
- SSL_OP_PKCS1_CHECK_1 | \
- SSL_OP_PKCS1_CHECK_2 | \
- SSL_OP_SINGLE_DH_USE | \
- SSL_OP_SINGLE_ECDH_USE | \
- SSL_OP_EPHEMERAL_RSA )
+#define OSSL_LEGACY_SSL_OPTIONS \
+ (SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG | SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER | SSL_OP_SSLEAY_080_CLIENT_DH_BUG | SSL_OP_TLS_D5_BUG | SSL_OP_TLS_BLOCK_PADDING_BUG | SSL_OP_MSIE_SSLV2_RSA_PADDING | SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG | SSL_OP_MICROSOFT_SESS_ID_BUG | SSL_OP_NETSCAPE_CHALLENGE_BUG | SSL_OP_PKCS1_CHECK_1 | SSL_OP_PKCS1_CHECK_2 | SSL_OP_SINGLE_DH_USE | SSL_OP_SINGLE_ECDH_USE | SSL_OP_EPHEMERAL_RSA)
/* This option is undefined in public headers with no-dtls1-method. */
#ifndef SSL_OP_CISCO_ANYCONNECT
-# define SSL_OP_CISCO_ANYCONNECT 0
+#define SSL_OP_CISCO_ANYCONNECT 0
#endif
/*
* Options which are no-ops under QUIC or TLSv1.3 and which are therefore
* allowed but ignored under QUIC.
*/
-#define OSSL_TLS1_2_OPTIONS \
- (SSL_OP_CRYPTOPRO_TLSEXT_BUG | \
- SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS | \
- SSL_OP_ALLOW_CLIENT_RENEGOTIATION | \
- SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION | \
- SSL_OP_NO_COMPRESSION | \
- SSL_OP_NO_SSLv3 | \
- SSL_OP_NO_TLSv1 | \
- SSL_OP_NO_TLSv1_1 | \
- SSL_OP_NO_TLSv1_2 | \
- SSL_OP_NO_DTLSv1 | \
- SSL_OP_NO_DTLSv1_2 | \
- SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION | \
- SSL_OP_CISCO_ANYCONNECT | \
- SSL_OP_NO_RENEGOTIATION | \
- SSL_OP_NO_EXTENDED_MASTER_SECRET | \
- SSL_OP_NO_ENCRYPT_THEN_MAC | \
- SSL_OP_COOKIE_EXCHANGE | \
- SSL_OP_LEGACY_SERVER_CONNECT | \
- SSL_OP_IGNORE_UNEXPECTED_EOF )
+#define OSSL_TLS1_2_OPTIONS \
+ (SSL_OP_CRYPTOPRO_TLSEXT_BUG | SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS | SSL_OP_ALLOW_CLIENT_RENEGOTIATION | SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION | SSL_OP_NO_COMPRESSION | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_DTLSv1 | SSL_OP_NO_DTLSv1_2 | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION | SSL_OP_CISCO_ANYCONNECT | SSL_OP_NO_RENEGOTIATION | SSL_OP_NO_EXTENDED_MASTER_SECRET | SSL_OP_NO_ENCRYPT_THEN_MAC | SSL_OP_COOKIE_EXCHANGE | SSL_OP_LEGACY_SERVER_CONNECT | SSL_OP_IGNORE_UNEXPECTED_EOF)
/* Total mask of connection-level options permitted or ignored under QUIC. */
-#define OSSL_QUIC_PERMITTED_OPTIONS_CONN \
- (OSSL_LEGACY_SSL_OPTIONS | \
- OSSL_TLS1_2_OPTIONS | \
- SSL_OP_CIPHER_SERVER_PREFERENCE | \
- SSL_OP_DISABLE_TLSEXT_CA_NAMES | \
- SSL_OP_NO_TX_CERTIFICATE_COMPRESSION | \
- SSL_OP_NO_RX_CERTIFICATE_COMPRESSION | \
- SSL_OP_PRIORITIZE_CHACHA | \
- SSL_OP_NO_QUERY_MTU | \
- SSL_OP_NO_TICKET | \
- SSL_OP_NO_ANTI_REPLAY )
+#define OSSL_QUIC_PERMITTED_OPTIONS_CONN \
+ (OSSL_LEGACY_SSL_OPTIONS | OSSL_TLS1_2_OPTIONS | SSL_OP_CIPHER_SERVER_PREFERENCE | SSL_OP_DISABLE_TLSEXT_CA_NAMES | SSL_OP_NO_TX_CERTIFICATE_COMPRESSION | SSL_OP_NO_RX_CERTIFICATE_COMPRESSION | SSL_OP_PRIORITIZE_CHACHA | SSL_OP_NO_QUERY_MTU | SSL_OP_NO_TICKET | SSL_OP_NO_ANTI_REPLAY)
/* Total mask of stream-level options permitted or ignored under QUIC. */
-#define OSSL_QUIC_PERMITTED_OPTIONS_STREAM \
- (OSSL_LEGACY_SSL_OPTIONS | \
- OSSL_TLS1_2_OPTIONS | \
- SSL_OP_CLEANSE_PLAINTEXT )
+#define OSSL_QUIC_PERMITTED_OPTIONS_STREAM \
+ (OSSL_LEGACY_SSL_OPTIONS | OSSL_TLS1_2_OPTIONS | SSL_OP_CLEANSE_PLAINTEXT)
/* Total mask of options permitted on either connections or streams. */
-#define OSSL_QUIC_PERMITTED_OPTIONS \
- (OSSL_QUIC_PERMITTED_OPTIONS_CONN | \
- OSSL_QUIC_PERMITTED_OPTIONS_STREAM)
+#define OSSL_QUIC_PERMITTED_OPTIONS \
+ (OSSL_QUIC_PERMITTED_OPTIONS_CONN | OSSL_QUIC_PERMITTED_OPTIONS_STREAM)
/* Total mask of domain flags supported on a QUIC SSL_CTX. */
-#define OSSL_QUIC_SUPPORTED_DOMAIN_FLAGS \
- (SSL_DOMAIN_FLAG_SINGLE_THREAD | \
- SSL_DOMAIN_FLAG_MULTI_THREAD | \
- SSL_DOMAIN_FLAG_THREAD_ASSISTED | \
- SSL_DOMAIN_FLAG_BLOCKING | \
- SSL_DOMAIN_FLAG_LEGACY_BLOCKING)
+#define OSSL_QUIC_SUPPORTED_DOMAIN_FLAGS \
+ (SSL_DOMAIN_FLAG_SINGLE_THREAD | SSL_DOMAIN_FLAG_MULTI_THREAD | SSL_DOMAIN_FLAG_THREAD_ASSISTED | SSL_DOMAIN_FLAG_BLOCKING | SSL_DOMAIN_FLAG_LEGACY_BLOCKING)
#endif
diff --git a/crypto/openssl/ssl/ssl_mcnf.c b/crypto/openssl/ssl/ssl_mcnf.c
index 06a23344b27d..14e1f9f5d7b4 100644
--- a/crypto/openssl/ssl/ssl_mcnf.c
+++ b/crypto/openssl/ssl/ssl_mcnf.c
@@ -42,7 +42,7 @@ static int ssl_do_config(SSL *s, SSL_CTX *ctx, const char *name, int system)
if (!conf_ssl_name_find(name, &idx)) {
if (!system)
ERR_raise_data(ERR_LIB_SSL, SSL_R_INVALID_CONFIGURATION_NAME,
- "name=%s", name);
+ "name=%s", name);
goto err;
}
cmds = conf_ssl_get(idx, &name, &cmd_count);
@@ -85,7 +85,7 @@ static int ssl_do_config(SSL *s, SSL_CTX *ctx, const char *name, int system)
}
if (!SSL_CONF_CTX_finish(cctx))
++err;
- err:
+err:
OSSL_LIB_CTX_set0_default(prev_libctx);
SSL_CONF_CTX_free(cctx);
return err == 0 || (system && !conf_diagnostics);
diff --git a/crypto/openssl/ssl/ssl_rsa.c b/crypto/openssl/ssl/ssl_rsa.c
index f4731a87af90..17ccb5462fb4 100644
--- a/crypto/openssl/ssl/ssl_rsa.c
+++ b/crypto/openssl/ssl/ssl_rsa.c
@@ -21,10 +21,10 @@
static int ssl_set_cert(CERT *c, X509 *x509, SSL_CTX *ctx);
static int ssl_set_pkey(CERT *c, EVP_PKEY *pkey, SSL_CTX *ctx);
-#define SYNTHV1CONTEXT (SSL_EXT_TLS1_2_AND_BELOW_ONLY \
- | SSL_EXT_CLIENT_HELLO \
- | SSL_EXT_TLS1_2_SERVER_HELLO \
- | SSL_EXT_IGNORE_ON_RESUMPTION)
+#define SYNTHV1CONTEXT (SSL_EXT_TLS1_2_AND_BELOW_ONLY \
+ | SSL_EXT_CLIENT_HELLO \
+ | SSL_EXT_TLS1_2_SERVER_HELLO \
+ | SSL_EXT_IGNORE_ON_RESUMPTION)
#define NAME_PREFIX1 "SERVERINFO FOR "
#define NAME_PREFIX2 "SERVERINFOV2 FOR "
@@ -90,7 +90,7 @@ int SSL_use_certificate_file(SSL *ssl, const char *file, int type)
j = ERR_R_PEM_LIB;
cert = PEM_read_bio_X509(in, &x, sc->default_passwd_callback,
- sc->default_passwd_callback_userdata);
+ sc->default_passwd_callback_userdata);
} else {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_SSL_FILETYPE);
goto end;
@@ -102,7 +102,7 @@ int SSL_use_certificate_file(SSL *ssl, const char *file, int type)
}
ret = SSL_use_certificate(ssl, x);
- end:
+end:
X509_free(x);
BIO_free(in);
return ret;
@@ -119,7 +119,7 @@ int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len)
return 0;
}
- if (d2i_X509(&x, &d, (long)len)== NULL) {
+ if (d2i_X509(&x, &d, (long)len) == NULL) {
X509_free(x);
ERR_raise(ERR_LIB_SSL, ERR_R_ASN1_LIB);
return 0;
@@ -140,7 +140,7 @@ static int ssl_set_pkey(CERT *c, EVP_PKEY *pkey, SSL_CTX *ctx)
}
if (c->pkeys[i].x509 != NULL
- && !X509_check_private_key(c->pkeys[i].x509, pkey))
+ && !X509_check_private_key(c->pkeys[i].x509, pkey))
return 0;
if (!EVP_PKEY_up_ref(pkey))
return 0;
@@ -196,14 +196,14 @@ int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type)
j = ERR_R_PEM_LIB;
pkey = PEM_read_bio_PrivateKey_ex(in, NULL,
- sc->default_passwd_callback,
- sc->default_passwd_callback_userdata,
- ssl->ctx->libctx,
- ssl->ctx->propq);
+ sc->default_passwd_callback,
+ sc->default_passwd_callback_userdata,
+ ssl->ctx->libctx,
+ ssl->ctx->propq);
} else if (type == SSL_FILETYPE_ASN1) {
j = ERR_R_ASN1_LIB;
pkey = d2i_PrivateKey_ex_bio(in, NULL, ssl->ctx->libctx,
- ssl->ctx->propq);
+ ssl->ctx->propq);
} else {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_SSL_FILETYPE);
goto end;
@@ -214,13 +214,13 @@ int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type)
}
ret = SSL_use_PrivateKey(ssl, pkey);
EVP_PKEY_free(pkey);
- end:
+end:
BIO_free(in);
return ret;
}
int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const unsigned char *d,
- long len)
+ long len)
{
int ret;
const unsigned char *p;
@@ -228,7 +228,8 @@ int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const unsigned char *d,
p = d;
if ((pkey = d2i_PrivateKey_ex(type, NULL, &p, (long)len, ssl->ctx->libctx,
- ssl->ctx->propq)) == NULL) {
+ ssl->ctx->propq))
+ == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_ASN1_LIB);
return 0;
}
@@ -341,7 +342,7 @@ int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type)
} else if (type == SSL_FILETYPE_PEM) {
j = ERR_R_PEM_LIB;
cert = PEM_read_bio_X509(in, &x, ctx->default_passwd_callback,
- ctx->default_passwd_callback_userdata);
+ ctx->default_passwd_callback_userdata);
} else {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_SSL_FILETYPE);
goto end;
@@ -352,7 +353,7 @@ int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type)
}
ret = SSL_CTX_use_certificate(ctx, x);
- end:
+end:
X509_free(x);
BIO_free(in);
return ret;
@@ -413,9 +414,9 @@ int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type)
if (type == SSL_FILETYPE_PEM) {
j = ERR_R_PEM_LIB;
pkey = PEM_read_bio_PrivateKey_ex(in, NULL,
- ctx->default_passwd_callback,
- ctx->default_passwd_callback_userdata,
- ctx->libctx, ctx->propq);
+ ctx->default_passwd_callback,
+ ctx->default_passwd_callback_userdata,
+ ctx->libctx, ctx->propq);
} else if (type == SSL_FILETYPE_ASN1) {
j = ERR_R_ASN1_LIB;
pkey = d2i_PrivateKey_ex_bio(in, NULL, ctx->libctx, ctx->propq);
@@ -429,13 +430,13 @@ int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type)
}
ret = SSL_CTX_use_PrivateKey(ctx, pkey);
EVP_PKEY_free(pkey);
- end:
+end:
BIO_free(in);
return ret;
}
int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx,
- const unsigned char *d, long len)
+ const unsigned char *d, long len)
{
int ret;
const unsigned char *p;
@@ -443,7 +444,8 @@ int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx,
p = d;
if ((pkey = d2i_PrivateKey_ex(type, NULL, &p, (long)len, ctx->libctx,
- ctx->propq)) == NULL) {
+ ctx->propq))
+ == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_ASN1_LIB);
return 0;
}
@@ -470,8 +472,8 @@ static int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
if (ctx == NULL && ssl == NULL)
return 0;
- ERR_clear_error(); /* clear error stack for
- * SSL_CTX_use_certificate() */
+ ERR_clear_error(); /* clear error stack for
+ * SSL_CTX_use_certificate() */
if (ctx != NULL) {
passwd_callback = ctx->default_passwd_callback;
@@ -508,7 +510,8 @@ static int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
goto end;
}
if (PEM_read_bio_X509_AUX(in, &x, passwd_callback,
- passwd_callback_userdata) == NULL) {
+ passwd_callback_userdata)
+ == NULL) {
ERR_raise(ERR_LIB_SSL, ERR_R_PEM_LIB);
goto end;
}
@@ -519,8 +522,8 @@ static int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
ret = SSL_use_certificate(ssl, x);
if (ERR_peek_error() != 0)
- ret = 0; /* Key/certificate mismatch doesn't imply
- * ret==0 ... */
+ ret = 0; /* Key/certificate mismatch doesn't imply
+ * ret==0 ... */
if (ret) {
/*
* If we could set up our certificate, now proceed to the CA
@@ -547,7 +550,8 @@ static int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
goto end;
}
if (PEM_read_bio_X509(in, &ca, passwd_callback,
- passwd_callback_userdata) != NULL) {
+ passwd_callback_userdata)
+ != NULL) {
if (ctx)
r = SSL_CTX_add0_chain_cert(ctx, ca);
else
@@ -573,10 +577,10 @@ static int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
&& ERR_GET_REASON(err) == PEM_R_NO_START_LINE)
ERR_clear_error();
else
- ret = 0; /* some real error */
+ ret = 0; /* some real error */
}
- end:
+end:
X509_free(x);
BIO_free(in);
return ret;
@@ -593,10 +597,10 @@ int SSL_use_certificate_chain_file(SSL *ssl, const char *file)
}
static int serverinfo_find_extension(const unsigned char *serverinfo,
- size_t serverinfo_length,
- unsigned int extension_type,
- const unsigned char **extension_data,
- size_t *extension_length)
+ size_t serverinfo_length,
+ unsigned int extension_type,
+ const unsigned char **extension_data,
+ size_t *extension_length)
{
PACKET pkt, data;
@@ -614,27 +618,27 @@ static int serverinfo_find_extension(const unsigned char *serverinfo,
/* end of serverinfo */
if (PACKET_remaining(&pkt) == 0)
- return 0; /* Extension not found */
+ return 0; /* Extension not found */
if (!PACKET_get_net_4(&pkt, &context)
- || !PACKET_get_net_2(&pkt, &type)
- || !PACKET_get_length_prefixed_2(&pkt, &data))
+ || !PACKET_get_net_2(&pkt, &type)
+ || !PACKET_get_length_prefixed_2(&pkt, &data))
return -1;
if (type == extension_type) {
*extension_data = PACKET_data(&data);
*extension_length = PACKET_remaining(&data);
- return 1; /* Success */
+ return 1; /* Success */
}
}
/* Unreachable */
}
static int serverinfoex_srv_parse_cb(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char *in,
- size_t inlen, X509 *x, size_t chainidx,
- int *al, void *arg)
+ unsigned int context,
+ const unsigned char *in,
+ size_t inlen, X509 *x, size_t chainidx,
+ int *al, void *arg)
{
if (inlen != 0) {
@@ -646,18 +650,18 @@ static int serverinfoex_srv_parse_cb(SSL *s, unsigned int ext_type,
}
static int serverinfo_srv_parse_cb(SSL *s, unsigned int ext_type,
- const unsigned char *in,
- size_t inlen, int *al, void *arg)
+ const unsigned char *in,
+ size_t inlen, int *al, void *arg)
{
return serverinfoex_srv_parse_cb(s, ext_type, 0, in, inlen, NULL, 0, al,
- arg);
+ arg);
}
static int serverinfoex_srv_add_cb(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char **out,
- size_t *outlen, X509 *x, size_t chainidx,
- int *al, void *arg)
+ unsigned int context,
+ const unsigned char **out,
+ size_t *outlen, X509 *x, size_t chainidx,
+ int *al, void *arg)
{
const unsigned char *serverinfo = NULL;
size_t serverinfo_length = 0;
@@ -674,28 +678,29 @@ static int serverinfoex_srv_add_cb(SSL *s, unsigned int ext_type,
/* Is there serverinfo data for the chosen server cert? */
if ((ssl_get_server_cert_serverinfo(sc, &serverinfo,
- &serverinfo_length)) != 0) {
+ &serverinfo_length))
+ != 0) {
/* Find the relevant extension from the serverinfo */
int retval = serverinfo_find_extension(serverinfo, serverinfo_length,
- ext_type, out, outlen);
+ ext_type, out, outlen);
if (retval == -1) {
*al = SSL_AD_INTERNAL_ERROR;
- return -1; /* Error */
+ return -1; /* Error */
}
if (retval == 0)
- return 0; /* No extension found, don't send extension */
- return 1; /* Send extension */
+ return 0; /* No extension found, don't send extension */
+ return 1; /* Send extension */
}
- return 0; /* No serverinfo data found, don't send
- * extension */
+ return 0; /* No serverinfo data found, don't send
+ * extension */
}
static int serverinfo_srv_add_cb(SSL *s, unsigned int ext_type,
- const unsigned char **out, size_t *outlen,
- int *al, void *arg)
+ const unsigned char **out, size_t *outlen,
+ int *al, void *arg)
{
return serverinfoex_srv_add_cb(s, ext_type, 0, out, outlen, NULL, 0, al,
- arg);
+ arg);
}
/*
@@ -704,8 +709,8 @@ static int serverinfo_srv_add_cb(SSL *s, unsigned int ext_type,
* the included extensions.
*/
static int serverinfo_process_buffer(unsigned int version,
- const unsigned char *serverinfo,
- size_t serverinfo_length, SSL_CTX *ctx)
+ const unsigned char *serverinfo,
+ size_t serverinfo_length, SSL_CTX *ctx)
{
PACKET pkt;
@@ -724,8 +729,8 @@ static int serverinfo_process_buffer(unsigned int version,
PACKET data;
if ((version == SSL_SERVERINFOV2 && !PACKET_get_net_4(&pkt, &context))
- || !PACKET_get_net_2(&pkt, &ext_type)
- || !PACKET_get_length_prefixed_2(&pkt, &data))
+ || !PACKET_get_net_2(&pkt, &ext_type)
+ || !PACKET_get_length_prefixed_2(&pkt, &data))
return 0;
if (ctx == NULL)
@@ -744,17 +749,17 @@ static int serverinfo_process_buffer(unsigned int version,
*/
if (version == SSL_SERVERINFOV1 || context == SYNTHV1CONTEXT) {
if (!SSL_CTX_add_server_custom_ext(ctx, ext_type,
- serverinfo_srv_add_cb,
- NULL, NULL,
- serverinfo_srv_parse_cb,
- NULL))
+ serverinfo_srv_add_cb,
+ NULL, NULL,
+ serverinfo_srv_parse_cb,
+ NULL))
return 0;
} else {
if (!SSL_CTX_add_custom_ext(ctx, ext_type, context,
- serverinfoex_srv_add_cb,
- NULL, NULL,
- serverinfoex_srv_parse_cb,
- NULL))
+ serverinfoex_srv_add_cb,
+ NULL, NULL,
+ serverinfoex_srv_parse_cb,
+ NULL))
return 0;
}
}
@@ -773,9 +778,9 @@ static size_t extension_append_length(unsigned int version, size_t extension_len
}
static void extension_append(unsigned int version,
- const unsigned char *extension,
- const size_t extension_length,
- unsigned char *serverinfo)
+ const unsigned char *extension,
+ const size_t extension_length,
+ unsigned char *serverinfo)
{
const size_t contextoff = extension_contextoff(version);
@@ -791,8 +796,8 @@ static void extension_append(unsigned int version,
}
int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
- const unsigned char *serverinfo,
- size_t serverinfo_length)
+ const unsigned char *serverinfo,
+ size_t serverinfo_length)
{
unsigned char *new_serverinfo = NULL;
@@ -806,7 +811,7 @@ int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
* over the converted serverinfo.
*/
const size_t sinfo_length = extension_append_length(SSL_SERVERINFOV1,
- serverinfo_length);
+ serverinfo_length);
unsigned char *sinfo;
int ret;
@@ -817,13 +822,13 @@ int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
extension_append(SSL_SERVERINFOV1, serverinfo, serverinfo_length, sinfo);
ret = SSL_CTX_use_serverinfo_ex(ctx, SSL_SERVERINFOV2, sinfo,
- sinfo_length);
+ sinfo_length);
OPENSSL_free(sinfo);
return ret;
}
if (!serverinfo_process_buffer(version, serverinfo, serverinfo_length,
- NULL)) {
+ NULL)) {
ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_SERVERINFO_DATA);
return 0;
}
@@ -832,7 +837,7 @@ int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
return 0;
}
new_serverinfo = OPENSSL_realloc(ctx->cert->key->serverinfo,
- serverinfo_length);
+ serverinfo_length);
if (new_serverinfo == NULL)
return 0;
ctx->cert->key->serverinfo = new_serverinfo;
@@ -844,7 +849,7 @@ int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
* register callbacks.
*/
if (!serverinfo_process_buffer(version, serverinfo, serverinfo_length,
- ctx)) {
+ ctx)) {
ERR_raise(ERR_LIB_SSL, SSL_R_INVALID_SERVERINFO_DATA);
return 0;
}
@@ -852,10 +857,10 @@ int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
}
int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
- size_t serverinfo_length)
+ size_t serverinfo_length)
{
return SSL_CTX_use_serverinfo_ex(ctx, SSL_SERVERINFOV1, serverinfo,
- serverinfo_length);
+ serverinfo_length);
}
int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
@@ -899,7 +904,7 @@ int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
if (num_extensions == 0) {
ERR_raise(ERR_LIB_SSL, SSL_R_NO_PEM_EXTENSIONS);
goto end;
- } else /* End of file, we're done */
+ } else /* End of file, we're done */
break;
}
/* Check that PEM name starts with "BEGIN SERVERINFO FOR " */
@@ -927,16 +932,16 @@ int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
if (version == SSL_SERVERINFOV1) {
/* 4 byte header: 2 bytes type, 2 bytes len */
if (extension_length < 4
- || (extension[2] << 8) + extension[3]
- != extension_length - 4) {
+ || (extension[2] << 8) + extension[3]
+ != extension_length - 4) {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_DATA);
goto end;
}
} else {
/* 8 byte header: 4 bytes context, 2 bytes type, 2 bytes len */
if (extension_length < 8
- || (extension[6] << 8) + extension[7]
- != extension_length - 8) {
+ || (extension[6] << 8) + extension[7]
+ != extension_length - 8) {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_DATA);
goto end;
}
@@ -948,7 +953,7 @@ int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
goto end;
serverinfo = tmp;
extension_append(version, extension, extension_length,
- serverinfo + serverinfo_length);
+ serverinfo + serverinfo_length);
serverinfo_length += append_length;
OPENSSL_free(name);
@@ -960,8 +965,8 @@ int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
}
ret = SSL_CTX_use_serverinfo_ex(ctx, SSL_SERVERINFOV2, serverinfo,
- serverinfo_length);
- end:
+ serverinfo_length);
+end:
/* SSL_CTX_use_serverinfo makes a local copy of the serverinfo. */
OPENSSL_free(name);
OPENSSL_free(header);
@@ -972,7 +977,7 @@ int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
}
static int ssl_set_cert_and_key(SSL *ssl, SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey,
- STACK_OF(X509) *chain, int override)
+ STACK_OF(X509) *chain, int override)
{
int ret = 0;
size_t i;
@@ -983,8 +988,7 @@ static int ssl_set_cert_and_key(SSL *ssl, SSL_CTX *ctx, X509 *x509, EVP_PKEY *pr
EVP_PKEY *pubkey = NULL;
SSL_CONNECTION *sc = NULL;
- if (ctx == NULL &&
- (sc = SSL_CONNECTION_FROM_SSL(ssl)) == NULL)
+ if (ctx == NULL && (sc = SSL_CONNECTION_FROM_SSL(ssl)) == NULL)
return 0;
c = sc != NULL ? sc->cert : ctx->cert;
@@ -1040,9 +1044,7 @@ static int ssl_set_cert_and_key(SSL *ssl, SSL_CTX *ctx, X509 *x509, EVP_PKEY *pr
goto out;
}
- if (!override && (c->pkeys[i].x509 != NULL
- || c->pkeys[i].privatekey != NULL
- || c->pkeys[i].chain != NULL)) {
+ if (!override && (c->pkeys[i].x509 != NULL || c->pkeys[i].privatekey != NULL || c->pkeys[i].chain != NULL)) {
/* No override, and something already there */
ERR_raise(ERR_LIB_SSL, SSL_R_NOT_REPLACING_CERTIFICATE);
goto out;
@@ -1079,19 +1081,19 @@ static int ssl_set_cert_and_key(SSL *ssl, SSL_CTX *ctx, X509 *x509, EVP_PKEY *pr
c->key = &(c->pkeys[i]);
ret = 1;
- out:
+out:
EVP_PKEY_free(pubkey);
return ret;
}
int SSL_use_cert_and_key(SSL *ssl, X509 *x509, EVP_PKEY *privatekey,
- STACK_OF(X509) *chain, int override)
+ STACK_OF(X509) *chain, int override)
{
return ssl_set_cert_and_key(ssl, NULL, x509, privatekey, chain, override);
}
int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey,
- STACK_OF(X509) *chain, int override)
+ STACK_OF(X509) *chain, int override)
{
return ssl_set_cert_and_key(NULL, ctx, x509, privatekey, chain, override);
}
diff --git a/crypto/openssl/ssl/ssl_rsa_legacy.c b/crypto/openssl/ssl/ssl_rsa_legacy.c
index ce03fcd9907e..ed95be5af825 100644
--- a/crypto/openssl/ssl/ssl_rsa_legacy.c
+++ b/crypto/openssl/ssl/ssl_rsa_legacy.c
@@ -71,8 +71,8 @@ int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type)
} else if (type == SSL_FILETYPE_PEM) {
j = ERR_R_PEM_LIB;
rsa = PEM_read_bio_RSAPrivateKey(in, NULL,
- SSL_get_default_passwd_cb(ssl),
- SSL_get_default_passwd_cb_userdata(ssl));
+ SSL_get_default_passwd_cb(ssl),
+ SSL_get_default_passwd_cb_userdata(ssl));
} else {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_SSL_FILETYPE);
goto end;
@@ -83,7 +83,7 @@ int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type)
}
ret = SSL_use_RSAPrivateKey(ssl, rsa);
RSA_free(rsa);
- end:
+end:
BIO_free(in);
return ret;
}
@@ -162,8 +162,8 @@ int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type)
} else if (type == SSL_FILETYPE_PEM) {
j = ERR_R_PEM_LIB;
rsa = PEM_read_bio_RSAPrivateKey(in, NULL,
- SSL_CTX_get_default_passwd_cb(ctx),
- SSL_CTX_get_default_passwd_cb_userdata(ctx));
+ SSL_CTX_get_default_passwd_cb(ctx),
+ SSL_CTX_get_default_passwd_cb_userdata(ctx));
} else {
ERR_raise(ERR_LIB_SSL, SSL_R_BAD_SSL_FILETYPE);
goto end;
@@ -174,13 +174,13 @@ int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type)
}
ret = SSL_CTX_use_RSAPrivateKey(ctx, rsa);
RSA_free(rsa);
- end:
+end:
BIO_free(in);
return ret;
}
int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d,
- long len)
+ long len)
{
int ret;
const unsigned char *p;
diff --git a/crypto/openssl/ssl/ssl_sess.c b/crypto/openssl/ssl/ssl_sess.c
index a50f7ce96b64..04cbfa5cfa94 100644
--- a/crypto/openssl/ssl/ssl_sess.c
+++ b/crypto/openssl/ssl/ssl_sess.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2005 Nokia. All rights reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -9,8 +9,8 @@
*/
#if defined(__TANDEM) && defined(_SPT_MODEL_)
-# include <spthread.h>
-# include <spt_extensions.h> /* timeval */
+#include <spthread.h>
+#include <spt_extensions.h> /* timeval */
#endif
#include <stdio.h>
#include <openssl/rand.h>
@@ -111,8 +111,8 @@ SSL_SESSION *SSL_SESSION_new(void)
return NULL;
ss->ext.max_fragment_len_mode = TLSEXT_max_fragment_length_UNSPECIFIED;
- ss->verify_result = 1; /* avoid 0 (= X509_V_OK) just in case */
- /* 5 minute timeout by default */
+ ss->verify_result = 1; /* avoid 0 (= X509_V_OK) just in case */
+ /* 5 minute timeout by default */
ss->timeout = ossl_seconds2time(60 * 5 + 4);
ss->time = ossl_time_now();
ssl_session_calculate_timeout(ss);
@@ -218,7 +218,7 @@ static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
#endif
if (!CRYPTO_dup_ex_data(CRYPTO_EX_INDEX_SSL_SESSION,
- &dest->ex_data, &src->ex_data)) {
+ &dest->ex_data, &src->ex_data)) {
ERR_raise(ERR_LIB_SSL, ERR_R_CRYPTO_LIB);
goto err;
}
@@ -230,8 +230,7 @@ static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
}
if (ticket != 0 && src->ext.tick != NULL) {
- dest->ext.tick =
- OPENSSL_memdup(src->ext.tick, src->ext.ticklen);
+ dest->ext.tick = OPENSSL_memdup(src->ext.tick, src->ext.ticklen);
if (dest->ext.tick == NULL)
goto err;
} else {
@@ -241,7 +240,7 @@ static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
if (src->ext.alpn_selected != NULL) {
dest->ext.alpn_selected = OPENSSL_memdup(src->ext.alpn_selected,
- src->ext.alpn_selected_len);
+ src->ext.alpn_selected_len);
if (dest->ext.alpn_selected == NULL)
goto err;
}
@@ -255,14 +254,13 @@ static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
#endif
if (src->ticket_appdata != NULL) {
- dest->ticket_appdata =
- OPENSSL_memdup(src->ticket_appdata, src->ticket_appdata_len);
+ dest->ticket_appdata = OPENSSL_memdup(src->ticket_appdata, src->ticket_appdata_len);
if (dest->ticket_appdata == NULL)
goto err;
}
return dest;
- err:
+err:
SSL_SESSION_free(dest);
return NULL;
}
@@ -296,7 +294,7 @@ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
}
const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s,
- unsigned int *len)
+ unsigned int *len)
{
if (len != NULL)
*len = (unsigned int)s->sid_ctx_length;
@@ -321,7 +319,7 @@ unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s)
#define MAX_SESS_ID_ATTEMPTS 10
static int def_generate_session_id(SSL *ssl, unsigned char *id,
- unsigned int *id_len)
+ unsigned int *id_len)
{
unsigned int retry = 0;
do {
@@ -332,8 +330,7 @@ static int def_generate_session_id(SSL *ssl, unsigned char *id,
id[0]++;
}
#endif
- } while (SSL_has_matching_session_id(ssl, id, *id_len) &&
- (++retry < MAX_SESS_ID_ATTEMPTS)) ;
+ } while (SSL_has_matching_session_id(ssl, id, *id_len) && (++retry < MAX_SESS_ID_ATTEMPTS));
if (retry < MAX_SESS_ID_ATTEMPTS)
return 1;
/* else - woops a session_id match */
@@ -396,7 +393,7 @@ int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss)
if (!CRYPTO_THREAD_read_lock(s->session_ctx->lock)) {
CRYPTO_THREAD_unlock(ssl->lock);
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED);
+ SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED);
return 0;
}
if (s->generate_session_id)
@@ -411,7 +408,7 @@ int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss)
if (!cb(ssl, ss->session_id, &tmp)) {
/* The callback failed */
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_SSL_SESSION_ID_CALLBACK_FAILED);
+ SSL_R_SSL_SESSION_ID_CALLBACK_FAILED);
return 0;
}
/*
@@ -421,13 +418,13 @@ int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss)
if (tmp == 0 || tmp > ss->session_id_length) {
/* The callback set an illegal length */
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH);
+ SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH);
return 0;
}
ss->session_id_length = tmp;
/* Finally, check for a conflict */
if (SSL_has_matching_session_id(ssl, ss->session_id,
- (unsigned int)ss->session_id_length)) {
+ (unsigned int)ss->session_id_length)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_SSL_SESSION_ID_CONFLICT);
return 0;
}
@@ -492,13 +489,14 @@ int ssl_get_new_session(SSL_CONNECTION *s, int session)
}
SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
- const unsigned char *sess_id,
- size_t sess_id_len)
+ const unsigned char *sess_id,
+ size_t sess_id_len)
{
SSL_SESSION *ret = NULL;
if ((s->session_ctx->session_cache_mode
- & SSL_SESS_CACHE_NO_INTERNAL_LOOKUP) == 0) {
+ & SSL_SESS_CACHE_NO_INTERNAL_LOOKUP)
+ == 0) {
SSL_SESSION data;
data.ssl_version = s->version;
@@ -527,7 +525,7 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
int copy = 1;
ret = s->session_ctx->get_session_cb(SSL_CONNECTION_GET_USER_SSL(s),
- sess_id, sess_id_len, &copy);
+ sess_id, sess_id_len, &copy);
if (ret != NULL) {
if (ret->not_resumable) {
@@ -537,7 +535,7 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
return NULL;
}
ssl_tsan_counter(s->session_ctx,
- &s->session_ctx->stats.sess_cb_hit);
+ &s->session_ctx->stats.sess_cb_hit);
/*
* Increment reference count now if the session callback asks us
@@ -553,8 +551,7 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
* Add the externally cached session to the internal cache as
* well if and only if we are supposed to.
*/
- if ((s->session_ctx->session_cache_mode &
- SSL_SESS_CACHE_NO_INTERNAL_STORE) == 0) {
+ if ((s->session_ctx->session_cache_mode & SSL_SESS_CACHE_NO_INTERNAL_STORE) == 0) {
/*
* Either return value of SSL_CTX_add_session should not
* interrupt the session resumption process. The return
@@ -603,10 +600,10 @@ int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
*/
s->ext.ticket_expected = 1;
if (!tls_parse_extension(s, TLSEXT_IDX_psk_kex_modes,
- SSL_EXT_CLIENT_HELLO, hello->pre_proc_exts,
- NULL, 0)
- || !tls_parse_extension(s, TLSEXT_IDX_psk, SSL_EXT_CLIENT_HELLO,
- hello->pre_proc_exts, NULL, 0))
+ SSL_EXT_CLIENT_HELLO, hello->pre_proc_exts,
+ NULL, 0)
+ || !tls_parse_extension(s, TLSEXT_IDX_psk, SSL_EXT_CLIENT_HELLO,
+ hello->pre_proc_exts, NULL, 0))
return -1;
/* If we resumed, s->session will now be set */
@@ -625,7 +622,7 @@ int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
if (hello->session_id_len > 0) {
try_session_cache = 1;
ret = lookup_sess_in_cache(s, hello->session_id,
- hello->session_id_len);
+ hello->session_id_len);
}
break;
case SSL_TICKET_NO_DECRYPT:
@@ -650,7 +647,7 @@ int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
* We have the session requested by the client, but we don't want to
* use it in this context.
*/
- goto err; /* treat like cache miss */
+ goto err; /* treat like cache miss */
}
if ((s->verify_mode & SSL_VERIFY_PEER) && s->sid_ctx_length == 0) {
@@ -665,7 +662,7 @@ int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
*/
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED);
+ SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED);
fatal = 1;
goto err;
}
@@ -683,7 +680,7 @@ int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
if (ret->flags & SSL_SESS_FLAG_EXTMS) {
/* If old session includes extms, but new does not: abort handshake */
if (!(s->s3.flags & TLS1_FLAGS_RECEIVED_EXTMS)) {
- SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_INCONSISTENT_EXTMS);
+ SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_INCONSISTENT_EXTMS);
fatal = 1;
goto err;
}
@@ -702,7 +699,7 @@ int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
s->verify_result = s->session->verify_result;
return 1;
- err:
+err:
if (ret != NULL) {
SSL_SESSION_free(ret);
/* In TLSv1.3 s->session was already set to ret, so we NULL it out */
@@ -761,8 +758,7 @@ int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
* obtain the same session from an external cache)
*/
s = NULL;
- } else if (s == NULL &&
- lh_SSL_SESSION_retrieve(ctx->sessions, c) == NULL) {
+ } else if (s == NULL && lh_SSL_SESSION_retrieve(ctx->sessions, c) == NULL) {
/* s == NULL can also mean OOM error in lh_SSL_SESSION_insert ... */
/*
@@ -794,9 +790,9 @@ int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
ssl_tsan_counter(ctx, &ctx->stats.sess_cache_full);
}
}
- }
- SSL_SESSION_list_add(ctx, c);
+ SSL_SESSION_list_add(ctx, c);
+ }
if (s != NULL) {
/*
@@ -804,7 +800,7 @@ int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
* count because it already takes into account the cache
*/
- SSL_SESSION_free(s); /* s == c */
+ SSL_SESSION_free(s); /* s == c */
ret = 0;
}
CRYPTO_THREAD_unlock(ctx->lock);
@@ -919,11 +915,11 @@ int SSL_set_session(SSL *s, SSL_SESSION *session)
}
int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,
- unsigned int sid_len)
+ unsigned int sid_len)
{
if (sid_len > SSL_MAX_SSL_SESSION_ID_LENGTH) {
- ERR_raise(ERR_LIB_SSL, SSL_R_SSL_SESSION_ID_TOO_LONG);
- return 0;
+ ERR_raise(ERR_LIB_SSL, SSL_R_SSL_SESSION_ID_TOO_LONG);
+ return 0;
}
s->session_id_length = sid_len;
if (sid != s->session_id && sid_len > 0)
@@ -962,7 +958,7 @@ long SSL_SESSION_get_timeout(const SSL_SESSION *s)
#ifndef OPENSSL_NO_DEPRECATED_3_4
long SSL_SESSION_get_time(const SSL_SESSION *s)
{
- return (long) SSL_SESSION_get_time_ex(s);
+ return (long)SSL_SESSION_get_time_ex(s);
}
#endif
@@ -996,7 +992,7 @@ time_t SSL_SESSION_set_time_ex(SSL_SESSION *s, time_t t)
#ifndef OPENSSL_NO_DEPRECATED_3_4
long SSL_SESSION_set_time(SSL_SESSION *s, long t)
{
- return (long) SSL_SESSION_set_time_ex(s, (time_t) t);
+ return (long)SSL_SESSION_set_time_ex(s, (time_t)t);
}
#endif
@@ -1050,7 +1046,7 @@ unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s)
}
void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick,
- size_t *len)
+ size_t *len)
{
*len = s->ext.ticklen;
if (tick != NULL)
@@ -1070,15 +1066,15 @@ int SSL_SESSION_set_max_early_data(SSL_SESSION *s, uint32_t max_early_data)
}
void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s,
- const unsigned char **alpn,
- size_t *len)
+ const unsigned char **alpn,
+ size_t *len)
{
*alpn = s->ext.alpn_selected;
*len = s->ext.alpn_selected_len;
}
int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s, const unsigned char *alpn,
- size_t len)
+ size_t len)
{
OPENSSL_free(s->ext.alpn_selected);
if (alpn == NULL || len == 0) {
@@ -1107,7 +1103,7 @@ EVP_PKEY *SSL_SESSION_get0_peer_rpk(SSL_SESSION *s)
}
int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx,
- unsigned int sid_ctx_len)
+ unsigned int sid_ctx_len)
{
if (sid_ctx_len > SSL_MAX_SID_CTX_LENGTH) {
ERR_raise(ERR_LIB_SSL, SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG);
@@ -1127,7 +1123,7 @@ int SSL_SESSION_is_resumable(const SSL_SESSION *s)
* session ID.
*/
return !s->not_resumable
- && (s->session_id_length > 0 || s->ext.ticklen > 0);
+ && (s->session_id_length > 0 || s->ext.ticklen > 0);
}
long SSL_CTX_set_timeout(SSL_CTX *s, long t)
@@ -1149,8 +1145,8 @@ long SSL_CTX_get_timeout(const SSL_CTX *s)
}
int SSL_set_session_secret_cb(SSL *s,
- tls_session_secret_cb_fn tls_session_secret_cb,
- void *arg)
+ tls_session_secret_cb_fn tls_session_secret_cb,
+ void *arg)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -1163,7 +1159,7 @@ int SSL_set_session_secret_cb(SSL *s,
}
int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb,
- void *arg)
+ void *arg)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -1185,8 +1181,7 @@ int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len)
if (sc->version >= TLS1_VERSION) {
OPENSSL_free(sc->ext.session_ticket);
sc->ext.session_ticket = NULL;
- sc->ext.session_ticket =
- OPENSSL_malloc(sizeof(TLS_SESSION_TICKET_EXT) + ext_len);
+ sc->ext.session_ticket = OPENSSL_malloc(sizeof(TLS_SESSION_TICKET_EXT) + ext_len);
if (sc->ext.session_ticket == NULL)
return 0;
@@ -1208,7 +1203,7 @@ int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len)
#ifndef OPENSSL_NO_DEPRECATED_3_4
void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
{
- SSL_CTX_flush_sessions_ex(s, (time_t) t);
+ SSL_CTX_flush_sessions_ex(s, (time_t)t);
}
#endif
@@ -1263,10 +1258,7 @@ void SSL_CTX_flush_sessions_ex(SSL_CTX *s, time_t t)
int ssl_clear_bad_session(SSL_CONNECTION *s)
{
- if ((s->session != NULL) &&
- !(s->shutdown & SSL_SENT_SHUTDOWN) &&
- !(SSL_in_init(SSL_CONNECTION_GET_SSL(s))
- || SSL_in_before(SSL_CONNECTION_GET_SSL(s)))) {
+ if ((s->session != NULL) && !(s->shutdown & SSL_SENT_SHUTDOWN) && !(SSL_in_init(SSL_CONNECTION_GET_SSL(s)) || SSL_in_before(SSL_CONNECTION_GET_SSL(s)))) {
SSL_CTX_remove_session(s->session_ctx, s->session);
return 1;
} else
@@ -1338,7 +1330,7 @@ static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s)
* one session in the cache it will be caught above
*/
next = ctx->session_cache_head->next;
- while (next != (SSL_SESSION*)&(ctx->session_cache_tail)) {
+ while (next != (SSL_SESSION *)&(ctx->session_cache_tail)) {
if (timeoutcmp(s, next) >= 0) {
s->next = next;
s->prev = next->prev;
@@ -1354,76 +1346,82 @@ static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s)
}
void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,
- int (*cb) (struct ssl_st *ssl, SSL_SESSION *sess))
+ int (*cb)(struct ssl_st *ssl, SSL_SESSION *sess))
{
ctx->new_session_cb = cb;
}
-int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (SSL *ssl, SSL_SESSION *sess) {
+int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(SSL *ssl, SSL_SESSION *sess)
+{
return ctx->new_session_cb;
}
void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,
- void (*cb) (SSL_CTX *ctx, SSL_SESSION *sess))
+ void (*cb)(SSL_CTX *ctx, SSL_SESSION *sess))
{
ctx->remove_session_cb = cb;
}
-void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (SSL_CTX *ctx,
- SSL_SESSION *sess) {
+void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(SSL_CTX *ctx,
+ SSL_SESSION *sess)
+{
return ctx->remove_session_cb;
}
void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,
- SSL_SESSION *(*cb) (SSL *ssl,
- const unsigned char *data,
- int len, int *copy))
+ SSL_SESSION *(*cb)(SSL *ssl,
+ const unsigned char *data,
+ int len, int *copy))
{
ctx->get_session_cb = cb;
}
-SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (SSL *ssl,
- const unsigned char
- *data, int len,
- int *copy) {
+SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(SSL *ssl,
+ const unsigned char
+ *data,
+ int len,
+ int *copy)
+{
return ctx->get_session_cb;
}
void SSL_CTX_set_info_callback(SSL_CTX *ctx,
- void (*cb) (const SSL *ssl, int type, int val))
+ void (*cb)(const SSL *ssl, int type, int val))
{
ctx->info_callback = cb;
}
-void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type,
- int val) {
+void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl, int type,
+ int val)
+{
return ctx->info_callback;
}
void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx,
- int (*cb) (SSL *ssl, X509 **x509,
- EVP_PKEY **pkey))
+ int (*cb)(SSL *ssl, X509 **x509,
+ EVP_PKEY **pkey))
{
ctx->client_cert_cb = cb;
}
-int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,
- EVP_PKEY **pkey) {
+int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509,
+ EVP_PKEY **pkey)
+{
return ctx->client_cert_cb;
}
void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,
- int (*cb) (SSL *ssl,
- unsigned char *cookie,
- unsigned int *cookie_len))
+ int (*cb)(SSL *ssl,
+ unsigned char *cookie,
+ unsigned int *cookie_len))
{
ctx->app_gen_cookie_cb = cb;
}
void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
- int (*cb) (SSL *ssl,
- const unsigned char *cookie,
- unsigned int cookie_len))
+ int (*cb)(SSL *ssl,
+ const unsigned char *cookie,
+ unsigned int cookie_len))
{
ctx->app_verify_cookie_cb = cb;
}
@@ -1453,18 +1451,18 @@ int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len)
void SSL_CTX_set_stateless_cookie_generate_cb(
SSL_CTX *ctx,
- int (*cb) (SSL *ssl,
- unsigned char *cookie,
- size_t *cookie_len))
+ int (*cb)(SSL *ssl,
+ unsigned char *cookie,
+ size_t *cookie_len))
{
ctx->gen_stateless_cookie_cb = cb;
}
void SSL_CTX_set_stateless_cookie_verify_cb(
SSL_CTX *ctx,
- int (*cb) (SSL *ssl,
- const unsigned char *cookie,
- size_t cookie_len))
+ int (*cb)(SSL *ssl,
+ const unsigned char *cookie,
+ size_t cookie_len))
{
ctx->verify_stateless_cookie_cb = cb;
}
diff --git a/crypto/openssl/ssl/ssl_txt.c b/crypto/openssl/ssl/ssl_txt.c
index d928cb9bbd6f..aeb03bfeb2bd 100644
--- a/crypto/openssl/ssl/ssl_txt.c
+++ b/crypto/openssl/ssl/ssl_txt.c
@@ -49,17 +49,20 @@ int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
if (x->cipher == NULL) {
if (((x->cipher_id) & 0xff000000) == 0x02000000) {
if (BIO_printf(bp, " Cipher : %06lX\n",
- x->cipher_id & 0xffffff) <= 0)
+ x->cipher_id & 0xffffff)
+ <= 0)
goto err;
} else {
if (BIO_printf(bp, " Cipher : %04lX\n",
- x->cipher_id & 0xffff) <= 0)
+ x->cipher_id & 0xffff)
+ <= 0)
goto err;
}
} else {
if (BIO_printf(bp, " Cipher : %s\n",
- ((x->cipher->name == NULL) ? "unknown"
- : x->cipher->name)) <= 0)
+ ((x->cipher->name == NULL) ? "unknown"
+ : x->cipher->name))
+ <= 0)
goto err;
}
if (BIO_puts(bp, " Session-ID: ") <= 0)
@@ -90,8 +93,7 @@ int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
goto err;
if (BIO_puts(bp, "\n PSK identity hint: ") <= 0)
goto err;
- if (BIO_printf
- (bp, "%s", x->psk_identity_hint ? x->psk_identity_hint : "None") <= 0)
+ if (BIO_printf(bp, "%s", x->psk_identity_hint ? x->psk_identity_hint : "None") <= 0)
goto err;
#endif
#ifndef OPENSSL_NO_SRP
@@ -102,15 +104,15 @@ int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
#endif
if (x->ext.tick_lifetime_hint) {
if (BIO_printf(bp,
- "\n TLS session ticket lifetime hint: %ld (seconds)",
- x->ext.tick_lifetime_hint) <= 0)
+ "\n TLS session ticket lifetime hint: %ld (seconds)",
+ x->ext.tick_lifetime_hint)
+ <= 0)
goto err;
}
if (x->ext.tick) {
if (BIO_puts(bp, "\n TLS session ticket:\n") <= 0)
goto err;
- if (BIO_dump_indent
- (bp, (const char *)x->ext.tick, (int)x->ext.ticklen, 4)
+ if (BIO_dump_indent(bp, (const char *)x->ext.tick, (int)x->ext.ticklen, 4)
<= 0)
goto err;
}
@@ -125,19 +127,22 @@ int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
goto err;
} else {
if (BIO_printf(bp, "\n Compression: %d (%s)", comp->id,
- comp->name) <= 0)
+ comp->name)
+ <= 0)
goto err;
}
}
#endif
if (!ossl_time_is_zero(x->time)) {
if (BIO_printf(bp, "\n Start Time: %lld",
- (long long)ossl_time_to_time_t(x->time)) <= 0)
+ (long long)ossl_time_to_time_t(x->time))
+ <= 0)
goto err;
}
if (!ossl_time_is_zero(x->timeout)) {
if (BIO_printf(bp, "\n Timeout : %lld (sec)",
- (long long)ossl_time2seconds(x->timeout)) <= 0)
+ (long long)ossl_time2seconds(x->timeout))
+ <= 0)
goto err;
}
if (BIO_puts(bp, "\n") <= 0)
@@ -146,21 +151,24 @@ int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
if (BIO_puts(bp, " Verify return code: ") <= 0)
goto err;
if (BIO_printf(bp, "%ld (%s)\n", x->verify_result,
- X509_verify_cert_error_string(x->verify_result)) <= 0)
+ X509_verify_cert_error_string(x->verify_result))
+ <= 0)
goto err;
if (BIO_printf(bp, " Extended master secret: %s\n",
- x->flags & SSL_SESS_FLAG_EXTMS ? "yes" : "no") <= 0)
+ x->flags & SSL_SESS_FLAG_EXTMS ? "yes" : "no")
+ <= 0)
goto err;
if (istls13) {
if (BIO_printf(bp, " Max Early Data: %u\n",
- (unsigned int)x->ext.max_early_data) <= 0)
+ (unsigned int)x->ext.max_early_data)
+ <= 0)
goto err;
}
return 1;
- err:
+err:
return 0;
}
@@ -201,6 +209,6 @@ int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x)
goto err;
return 1;
- err:
+err:
return 0;
}
diff --git a/crypto/openssl/ssl/statem/extensions.c b/crypto/openssl/ssl/statem/extensions.c
index 9811e5c94b93..2de540f828f0 100644
--- a/crypto/openssl/ssl/statem/extensions.c
+++ b/crypto/openssl/ssl/statem/extensions.c
@@ -8,8 +8,8 @@
*/
#if defined(__TANDEM) && defined(_SPT_MODEL_)
-# include <spthread.h>
-# include <spt_extensions.h> /* timeval */
+#include <spthread.h>
+#include <spt_extensions.h> /* timeval */
#endif
#include <string.h>
@@ -23,7 +23,7 @@ static int final_renegotiate(SSL_CONNECTION *s, unsigned int context, int sent);
static int init_server_name(SSL_CONNECTION *s, unsigned int context);
static int final_server_name(SSL_CONNECTION *s, unsigned int context, int sent);
static int final_ec_pt_formats(SSL_CONNECTION *s, unsigned int context,
- int sent);
+ int sent);
static int init_session_ticket(SSL_CONNECTION *s, unsigned int context);
#ifndef OPENSSL_NO_OCSP
static int init_status_request(SSL_CONNECTION *s, unsigned int context);
@@ -38,15 +38,15 @@ static int init_sig_algs(SSL_CONNECTION *s, unsigned int context);
static int init_server_cert_type(SSL_CONNECTION *sc, unsigned int context);
static int init_client_cert_type(SSL_CONNECTION *sc, unsigned int context);
static int init_certificate_authorities(SSL_CONNECTION *s,
- unsigned int context);
+ unsigned int context);
static EXT_RETURN tls_construct_certificate_authorities(SSL_CONNECTION *s,
- WPACKET *pkt,
- unsigned int context,
- X509 *x,
- size_t chainidx);
+ WPACKET *pkt,
+ unsigned int context,
+ X509 *x,
+ size_t chainidx);
static int tls_parse_certificate_authorities(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#ifndef OPENSSL_NO_SRP
static int init_srp(SSL_CONNECTION *s, unsigned int context);
#endif
@@ -61,19 +61,19 @@ static int init_srtp(SSL_CONNECTION *s, unsigned int context);
#endif
static int final_sig_algs(SSL_CONNECTION *s, unsigned int context, int sent);
static int final_supported_versions(SSL_CONNECTION *s, unsigned int context,
- int sent);
+ int sent);
static int final_early_data(SSL_CONNECTION *s, unsigned int context, int sent);
static int final_maxfragmentlen(SSL_CONNECTION *s, unsigned int context,
- int sent);
+ int sent);
static int init_post_handshake_auth(SSL_CONNECTION *s, unsigned int context);
static int final_psk(SSL_CONNECTION *s, unsigned int context, int sent);
static int tls_init_compress_certificate(SSL_CONNECTION *sc, unsigned int context);
static EXT_RETURN tls_construct_compress_certificate(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
static int tls_parse_compress_certificate(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
/* Structure to define a built-in extension */
typedef struct extensions_definition_st {
@@ -91,18 +91,18 @@ typedef struct extensions_definition_st {
int (*init)(SSL_CONNECTION *s, unsigned int context);
/* Parse extension sent from client to server */
int (*parse_ctos)(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
/* Parse extension send from server to client */
int (*parse_stoc)(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
/* Construct extension sent from server to client */
EXT_RETURN (*construct_stoc)(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
/* Construct extension sent from client to server */
EXT_RETURN (*construct_ctos)(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
/*
* Finalise extension after parsing. Always called where an extensions was
* initialised even if the extension was not present. |sent| is set to 1 if
@@ -140,296 +140,246 @@ typedef struct extensions_definition_st {
*/
#define INVALID_EXTENSION { TLSEXT_TYPE_invalid, 0, NULL, NULL, NULL, NULL, NULL, NULL }
static const EXTENSION_DEFINITION ext_defs[] = {
- {
- TLSEXT_TYPE_renegotiate,
+ { TLSEXT_TYPE_renegotiate,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_SSL3_ALLOWED | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ | SSL_EXT_SSL3_ALLOWED | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
NULL, tls_parse_ctos_renegotiate, tls_parse_stoc_renegotiate,
tls_construct_stoc_renegotiate, tls_construct_ctos_renegotiate,
- final_renegotiate
- },
- {
- TLSEXT_TYPE_server_name,
+ final_renegotiate },
+ { TLSEXT_TYPE_server_name,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
+ | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
init_server_name,
tls_parse_ctos_server_name, tls_parse_stoc_server_name,
tls_construct_stoc_server_name, tls_construct_ctos_server_name,
- final_server_name
- },
- {
- TLSEXT_TYPE_max_fragment_length,
+ final_server_name },
+ { TLSEXT_TYPE_max_fragment_length,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
+ | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
NULL, tls_parse_ctos_maxfragmentlen, tls_parse_stoc_maxfragmentlen,
tls_construct_stoc_maxfragmentlen, tls_construct_ctos_maxfragmentlen,
- final_maxfragmentlen
- },
+ final_maxfragmentlen },
#ifndef OPENSSL_NO_SRP
- {
- TLSEXT_TYPE_srp,
+ { TLSEXT_TYPE_srp,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
- init_srp, tls_parse_ctos_srp, NULL, NULL, tls_construct_ctos_srp, NULL
- },
+ init_srp, tls_parse_ctos_srp, NULL, NULL, tls_construct_ctos_srp, NULL },
#else
INVALID_EXTENSION,
#endif
- {
- TLSEXT_TYPE_ec_point_formats,
+ { TLSEXT_TYPE_ec_point_formats,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
init_ec_point_formats, tls_parse_ctos_ec_pt_formats, tls_parse_stoc_ec_pt_formats,
tls_construct_stoc_ec_pt_formats, tls_construct_ctos_ec_pt_formats,
- final_ec_pt_formats
- },
- {
- /*
- * "supported_groups" is spread across several specifications.
- * It was originally specified as "elliptic_curves" in RFC 4492,
- * and broadened to include named FFDH groups by RFC 7919.
- * Both RFCs 4492 and 7919 do not include a provision for the server
- * to indicate to the client the complete list of groups supported
- * by the server, with the server instead just indicating the
- * selected group for this connection in the ServerKeyExchange
- * message. TLS 1.3 adds a scheme for the server to indicate
- * to the client its list of supported groups in the
- * EncryptedExtensions message, but none of the relevant
- * specifications permit sending supported_groups in the ServerHello.
- * Nonetheless (possibly due to the close proximity to the
- * "ec_point_formats" extension, which is allowed in the ServerHello),
- * there are several servers that send this extension in the
- * ServerHello anyway. Up to and including the 1.1.0 release,
- * we did not check for the presence of nonpermitted extensions,
- * so to avoid a regression, we must permit this extension in the
- * TLS 1.2 ServerHello as well.
- *
- * Note that there is no tls_parse_stoc_supported_groups function,
- * so we do not perform any additional parsing, validation, or
- * processing on the server's group list -- this is just a minimal
- * change to preserve compatibility with these misbehaving servers.
- */
+ final_ec_pt_formats },
+ { /*
+ * "supported_groups" is spread across several specifications.
+ * It was originally specified as "elliptic_curves" in RFC 4492,
+ * and broadened to include named FFDH groups by RFC 7919.
+ * Both RFCs 4492 and 7919 do not include a provision for the server
+ * to indicate to the client the complete list of groups supported
+ * by the server, with the server instead just indicating the
+ * selected group for this connection in the ServerKeyExchange
+ * message. TLS 1.3 adds a scheme for the server to indicate
+ * to the client its list of supported groups in the
+ * EncryptedExtensions message, but none of the relevant
+ * specifications permit sending supported_groups in the ServerHello.
+ * Nonetheless (possibly due to the close proximity to the
+ * "ec_point_formats" extension, which is allowed in the ServerHello),
+ * there are several servers that send this extension in the
+ * ServerHello anyway. Up to and including the 1.1.0 release,
+ * we did not check for the presence of nonpermitted extensions,
+ * so to avoid a regression, we must permit this extension in the
+ * TLS 1.2 ServerHello as well.
+ *
+ * Note that there is no tls_parse_stoc_supported_groups function,
+ * so we do not perform any additional parsing, validation, or
+ * processing on the server's group list -- this is just a minimal
+ * change to preserve compatibility with these misbehaving servers.
+ */
TLSEXT_TYPE_supported_groups,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS
- | SSL_EXT_TLS1_2_SERVER_HELLO,
+ | SSL_EXT_TLS1_2_SERVER_HELLO,
NULL, tls_parse_ctos_supported_groups, NULL,
tls_construct_stoc_supported_groups,
- tls_construct_ctos_supported_groups, NULL
- },
- {
- TLSEXT_TYPE_session_ticket,
+ tls_construct_ctos_supported_groups, NULL },
+ { TLSEXT_TYPE_session_ticket,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
init_session_ticket, tls_parse_ctos_session_ticket,
tls_parse_stoc_session_ticket, tls_construct_stoc_session_ticket,
- tls_construct_ctos_session_ticket, NULL
- },
+ tls_construct_ctos_session_ticket, NULL },
#ifndef OPENSSL_NO_OCSP
- {
- TLSEXT_TYPE_status_request,
+ { TLSEXT_TYPE_status_request,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_CERTIFICATE | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
+ | SSL_EXT_TLS1_3_CERTIFICATE | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
init_status_request, tls_parse_ctos_status_request,
tls_parse_stoc_status_request, tls_construct_stoc_status_request,
- tls_construct_ctos_status_request, NULL
- },
+ tls_construct_ctos_status_request, NULL },
#else
INVALID_EXTENSION,
#endif
#ifndef OPENSSL_NO_NEXTPROTONEG
- {
- TLSEXT_TYPE_next_proto_neg,
+ { TLSEXT_TYPE_next_proto_neg,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
init_npn, tls_parse_ctos_npn, tls_parse_stoc_npn,
- tls_construct_stoc_next_proto_neg, tls_construct_ctos_npn, NULL
- },
+ tls_construct_stoc_next_proto_neg, tls_construct_ctos_npn, NULL },
#else
INVALID_EXTENSION,
#endif
- {
- /*
- * Must appear in this list after server_name so that finalisation
- * happens after server_name callbacks
- */
+ { /*
+ * Must appear in this list after server_name so that finalisation
+ * happens after server_name callbacks
+ */
TLSEXT_TYPE_application_layer_protocol_negotiation,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
+ | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
init_alpn, tls_parse_ctos_alpn, tls_parse_stoc_alpn,
- tls_construct_stoc_alpn, tls_construct_ctos_alpn, final_alpn
- },
+ tls_construct_stoc_alpn, tls_construct_ctos_alpn, final_alpn },
#ifndef OPENSSL_NO_SRTP
- {
- TLSEXT_TYPE_use_srtp,
+ { TLSEXT_TYPE_use_srtp,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS | SSL_EXT_DTLS_ONLY,
+ | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS | SSL_EXT_DTLS_ONLY,
init_srtp, tls_parse_ctos_use_srtp, tls_parse_stoc_use_srtp,
- tls_construct_stoc_use_srtp, tls_construct_ctos_use_srtp, NULL
- },
+ tls_construct_stoc_use_srtp, tls_construct_ctos_use_srtp, NULL },
#else
INVALID_EXTENSION,
#endif
- {
- TLSEXT_TYPE_encrypt_then_mac,
+ { TLSEXT_TYPE_encrypt_then_mac,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
init_etm, tls_parse_ctos_etm, tls_parse_stoc_etm,
- tls_construct_stoc_etm, tls_construct_ctos_etm, NULL
- },
+ tls_construct_stoc_etm, tls_construct_ctos_etm, NULL },
#ifndef OPENSSL_NO_CT
- {
- TLSEXT_TYPE_signed_certificate_timestamp,
+ { TLSEXT_TYPE_signed_certificate_timestamp,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_CERTIFICATE | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
+ | SSL_EXT_TLS1_3_CERTIFICATE | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
NULL,
/*
* No server side support for this, but can be provided by a custom
* extension. This is an exception to the rule that custom extensions
* cannot override built in ones.
*/
- NULL, tls_parse_stoc_sct, NULL, tls_construct_ctos_sct, NULL
- },
+ NULL, tls_parse_stoc_sct, NULL, tls_construct_ctos_sct, NULL },
#else
INVALID_EXTENSION,
#endif
- {
- TLSEXT_TYPE_extended_master_secret,
+ { TLSEXT_TYPE_extended_master_secret,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
init_ems, tls_parse_ctos_ems, tls_parse_stoc_ems,
- tls_construct_stoc_ems, tls_construct_ctos_ems, final_ems
- },
- {
- TLSEXT_TYPE_signature_algorithms_cert,
+ tls_construct_stoc_ems, tls_construct_ctos_ems, final_ems },
+ { TLSEXT_TYPE_signature_algorithms_cert,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
init_sig_algs_cert, tls_parse_ctos_sig_algs_cert,
tls_parse_ctos_sig_algs_cert,
/* We do not generate signature_algorithms_cert at present. */
- NULL, NULL, NULL
- },
+ NULL, NULL, NULL },
{
TLSEXT_TYPE_post_handshake_auth,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_ONLY,
init_post_handshake_auth,
- tls_parse_ctos_post_handshake_auth, NULL,
- NULL, tls_construct_ctos_post_handshake_auth,
+ tls_parse_ctos_post_handshake_auth,
+ NULL,
+ NULL,
+ tls_construct_ctos_post_handshake_auth,
NULL,
},
- {
- TLSEXT_TYPE_client_cert_type,
+ { TLSEXT_TYPE_client_cert_type,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS
- | SSL_EXT_TLS1_2_SERVER_HELLO,
+ | SSL_EXT_TLS1_2_SERVER_HELLO,
init_client_cert_type,
tls_parse_ctos_client_cert_type, tls_parse_stoc_client_cert_type,
tls_construct_stoc_client_cert_type, tls_construct_ctos_client_cert_type,
- NULL
- },
- {
- TLSEXT_TYPE_server_cert_type,
+ NULL },
+ { TLSEXT_TYPE_server_cert_type,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS
- | SSL_EXT_TLS1_2_SERVER_HELLO,
+ | SSL_EXT_TLS1_2_SERVER_HELLO,
init_server_cert_type,
tls_parse_ctos_server_cert_type, tls_parse_stoc_server_cert_type,
tls_construct_stoc_server_cert_type, tls_construct_ctos_server_cert_type,
- NULL
- },
- {
- TLSEXT_TYPE_signature_algorithms,
+ NULL },
+ { TLSEXT_TYPE_signature_algorithms,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
init_sig_algs, tls_parse_ctos_sig_algs,
tls_parse_ctos_sig_algs, tls_construct_ctos_sig_algs,
- tls_construct_ctos_sig_algs, final_sig_algs
- },
- {
- TLSEXT_TYPE_supported_versions,
+ tls_construct_ctos_sig_algs, final_sig_algs },
+ { TLSEXT_TYPE_supported_versions,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_SERVER_HELLO
- | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST | SSL_EXT_TLS_IMPLEMENTATION_ONLY,
+ | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST | SSL_EXT_TLS_IMPLEMENTATION_ONLY,
NULL,
/* Processed inline as part of version selection */
NULL, tls_parse_stoc_supported_versions,
tls_construct_stoc_supported_versions,
- tls_construct_ctos_supported_versions, final_supported_versions
- },
- {
- TLSEXT_TYPE_psk_kex_modes,
+ tls_construct_ctos_supported_versions, final_supported_versions },
+ { TLSEXT_TYPE_psk_kex_modes,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS_IMPLEMENTATION_ONLY
- | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS1_3_ONLY,
init_psk_kex_modes, tls_parse_ctos_psk_kex_modes, NULL, NULL,
- tls_construct_ctos_psk_kex_modes, NULL
- },
- {
- /*
- * Must be in this list after supported_groups. We need that to have
- * been parsed before we do this one.
- */
+ tls_construct_ctos_psk_kex_modes, NULL },
+ { /*
+ * Must be in this list after supported_groups. We need that to have
+ * been parsed before we do this one.
+ */
TLSEXT_TYPE_key_share,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_SERVER_HELLO
- | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST | SSL_EXT_TLS_IMPLEMENTATION_ONLY
- | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST | SSL_EXT_TLS_IMPLEMENTATION_ONLY
+ | SSL_EXT_TLS1_3_ONLY,
NULL, tls_parse_ctos_key_share, tls_parse_stoc_key_share,
tls_construct_stoc_key_share, tls_construct_ctos_key_share,
- final_key_share
- },
- {
- /* Must be after key_share */
+ final_key_share },
+ { /* Must be after key_share */
TLSEXT_TYPE_cookie,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST
- | SSL_EXT_TLS_IMPLEMENTATION_ONLY | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS_IMPLEMENTATION_ONLY | SSL_EXT_TLS1_3_ONLY,
NULL, tls_parse_ctos_cookie, tls_parse_stoc_cookie,
- tls_construct_stoc_cookie, tls_construct_ctos_cookie, NULL
- },
- {
- /*
- * Special unsolicited ServerHello extension only used when
- * SSL_OP_CRYPTOPRO_TLSEXT_BUG is set. We allow it in a ClientHello but
- * ignore it.
- */
+ tls_construct_stoc_cookie, tls_construct_ctos_cookie, NULL },
+ { /*
+ * Special unsolicited ServerHello extension only used when
+ * SSL_OP_CRYPTOPRO_TLSEXT_BUG is set. We allow it in a ClientHello but
+ * ignore it.
+ */
TLSEXT_TYPE_cryptopro_bug,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
- NULL, NULL, NULL, tls_construct_stoc_cryptopro_bug, NULL, NULL
- },
- {
- TLSEXT_TYPE_compress_certificate,
+ | SSL_EXT_TLS1_2_AND_BELOW_ONLY,
+ NULL, NULL, NULL, tls_construct_stoc_cryptopro_bug, NULL, NULL },
+ { TLSEXT_TYPE_compress_certificate,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST
- | SSL_EXT_TLS_IMPLEMENTATION_ONLY | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS_IMPLEMENTATION_ONLY | SSL_EXT_TLS1_3_ONLY,
tls_init_compress_certificate,
tls_parse_compress_certificate, tls_parse_compress_certificate,
tls_construct_compress_certificate, tls_construct_compress_certificate,
- NULL
- },
- {
- TLSEXT_TYPE_early_data,
+ NULL },
+ { TLSEXT_TYPE_early_data,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS
- | SSL_EXT_TLS1_3_NEW_SESSION_TICKET | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS1_3_NEW_SESSION_TICKET | SSL_EXT_TLS1_3_ONLY,
NULL, tls_parse_ctos_early_data, tls_parse_stoc_early_data,
tls_construct_stoc_early_data, tls_construct_ctos_early_data,
- final_early_data
- },
+ final_early_data },
{
TLSEXT_TYPE_certificate_authorities,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST
- | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS1_3_ONLY,
init_certificate_authorities,
- tls_parse_certificate_authorities, tls_parse_certificate_authorities,
+ tls_parse_certificate_authorities,
+ tls_parse_certificate_authorities,
+ tls_construct_certificate_authorities,
tls_construct_certificate_authorities,
- tls_construct_certificate_authorities, NULL,
+ NULL,
},
- {
- /* Must be immediately before pre_shared_key */
+ { /* Must be immediately before pre_shared_key */
TLSEXT_TYPE_padding,
SSL_EXT_CLIENT_HELLO,
NULL,
/* We send this, but don't read it */
- NULL, NULL, NULL, tls_construct_ctos_padding, NULL
- },
- {
- /* Required by the TLSv1.3 spec to always be the last extension */
+ NULL, NULL, NULL, tls_construct_ctos_padding, NULL },
+ { /* Required by the TLSv1.3 spec to always be the last extension */
TLSEXT_TYPE_psk,
SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_SERVER_HELLO
- | SSL_EXT_TLS_IMPLEMENTATION_ONLY | SSL_EXT_TLS1_3_ONLY,
+ | SSL_EXT_TLS_IMPLEMENTATION_ONLY | SSL_EXT_TLS1_3_ONLY,
NULL, tls_parse_ctos_psk, tls_parse_stoc_psk, tls_construct_stoc_psk,
- tls_construct_ctos_psk, final_psk
- }
+ tls_construct_ctos_psk, final_psk }
};
/* Returns a TLSEXT_TYPE for the given index */
@@ -445,7 +395,7 @@ unsigned int ossl_get_extension_type(size_t idx)
/* Check whether an extension's context matches the current context */
static int validate_context(SSL_CONNECTION *s, unsigned int extctx,
- unsigned int thisctx)
+ unsigned int thisctx)
{
/* Check we're allowed to use this extension in this context */
if ((thisctx & extctx) == 0)
@@ -462,7 +412,7 @@ static int validate_context(SSL_CONNECTION *s, unsigned int extctx,
}
int tls_validate_all_contexts(SSL_CONNECTION *s, unsigned int thisctx,
- RAW_EXTENSION *exts)
+ RAW_EXTENSION *exts)
{
size_t i, num_exts, builtin_num = OSSL_NELEM(ext_defs), offset;
RAW_EXTENSION *thisext;
@@ -487,7 +437,7 @@ int tls_validate_all_contexts(SSL_CONNECTION *s, unsigned int thisctx,
custom_ext_method *meth = NULL;
meth = custom_ext_find(&s->cert->custext, role, thisext->type,
- &offset);
+ &offset);
if (!ossl_assert(meth != NULL))
return 0;
context = meth->context;
@@ -507,8 +457,8 @@ int tls_validate_all_contexts(SSL_CONNECTION *s, unsigned int thisctx,
* the definition for the extension we found.
*/
static int verify_extension(SSL_CONNECTION *s, unsigned int context,
- unsigned int type, custom_ext_methods *meths,
- RAW_EXTENSION *rawexlist, RAW_EXTENSION **found)
+ unsigned int type, custom_ext_methods *meths,
+ RAW_EXTENSION *rawexlist, RAW_EXTENSION **found)
{
size_t i;
size_t builtin_num = OSSL_NELEM(ext_defs);
@@ -555,7 +505,7 @@ static int verify_extension(SSL_CONNECTION *s, unsigned int context,
* 1 if the extension is relevant for this context, and 0 otherwise
*/
int extension_is_relevant(SSL_CONNECTION *s, unsigned int extctx,
- unsigned int thisctx)
+ unsigned int thisctx)
{
int is_tls13;
@@ -569,22 +519,22 @@ int extension_is_relevant(SSL_CONNECTION *s, unsigned int extctx,
is_tls13 = SSL_CONNECTION_IS_TLS13(s);
if ((SSL_CONNECTION_IS_DTLS(s)
- && (extctx & SSL_EXT_TLS_IMPLEMENTATION_ONLY) != 0)
- || (s->version == SSL3_VERSION
- && (extctx & SSL_EXT_SSL3_ALLOWED) == 0)
- /*
- * Note that SSL_IS_TLS13() means "TLS 1.3 has been negotiated",
- * which is never true when generating the ClientHello.
- * However, version negotiation *has* occurred by the time the
- * ClientHello extensions are being parsed.
- * Be careful to allow TLS 1.3-only extensions when generating
- * the ClientHello.
- */
- || (is_tls13 && (extctx & SSL_EXT_TLS1_2_AND_BELOW_ONLY) != 0)
- || (!is_tls13 && (extctx & SSL_EXT_TLS1_3_ONLY) != 0
- && (thisctx & SSL_EXT_CLIENT_HELLO) == 0)
- || (s->server && !is_tls13 && (extctx & SSL_EXT_TLS1_3_ONLY) != 0)
- || (s->hit && (extctx & SSL_EXT_IGNORE_ON_RESUMPTION) != 0))
+ && (extctx & SSL_EXT_TLS_IMPLEMENTATION_ONLY) != 0)
+ || (s->version == SSL3_VERSION
+ && (extctx & SSL_EXT_SSL3_ALLOWED) == 0)
+ /*
+ * Note that SSL_IS_TLS13() means "TLS 1.3 has been negotiated",
+ * which is never true when generating the ClientHello.
+ * However, version negotiation *has* occurred by the time the
+ * ClientHello extensions are being parsed.
+ * Be careful to allow TLS 1.3-only extensions when generating
+ * the ClientHello.
+ */
+ || (is_tls13 && (extctx & SSL_EXT_TLS1_2_AND_BELOW_ONLY) != 0)
+ || (!is_tls13 && (extctx & SSL_EXT_TLS1_3_ONLY) != 0
+ && (thisctx & SSL_EXT_CLIENT_HELLO) == 0)
+ || (s->server && !is_tls13 && (extctx & SSL_EXT_TLS1_3_ONLY) != 0)
+ || (s->hit && (extctx & SSL_EXT_IGNORE_ON_RESUMPTION) != 0))
return 0;
return 1;
}
@@ -606,8 +556,8 @@ int extension_is_relevant(SSL_CONNECTION *s, unsigned int extctx,
* extensions that we know about. We ignore others.
*/
int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
- unsigned int context,
- RAW_EXTENSION **res, size_t *len, int init)
+ unsigned int context,
+ RAW_EXTENSION **res, size_t *len, int init)
{
PACKET extensions = *packet;
size_t i = 0;
@@ -638,8 +588,7 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
PACKET extension;
RAW_EXTENSION *thisex;
- if (!PACKET_get_net_2(&extensions, &type) ||
- !PACKET_get_length_prefixed_2(&extensions, &extension)) {
+ if (!PACKET_get_net_2(&extensions, &type) || !PACKET_get_length_prefixed_2(&extensions, &extension)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
goto err;
}
@@ -649,10 +598,10 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
* PSK extension, which must be the last one in the ClientHello.
*/
if (!verify_extension(s, context, type, exts, raw_extensions, &thisex)
- || (thisex != NULL && thisex->present == 1)
- || (type == TLSEXT_TYPE_psk
- && (context & SSL_EXT_CLIENT_HELLO) != 0
- && PACKET_remaining(&extensions) != 0)) {
+ || (thisex != NULL && thisex->present == 1)
+ || (type == TLSEXT_TYPE_psk
+ && (context & SSL_EXT_CLIENT_HELLO) != 0
+ && PACKET_remaining(&extensions) != 0)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_EXTENSION);
goto err;
}
@@ -672,20 +621,18 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
* itself handle unsolicited response checks.
*/
if (idx < OSSL_NELEM(ext_defs)
- && (context & (SSL_EXT_CLIENT_HELLO
- | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST
- | SSL_EXT_TLS1_3_NEW_SESSION_TICKET)) == 0
- && type != TLSEXT_TYPE_cookie
- && type != TLSEXT_TYPE_renegotiate
- && type != TLSEXT_TYPE_signed_certificate_timestamp
- && (s->ext.extflags[idx] & SSL_EXT_FLAG_SENT) == 0
+ && (context & (SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST | SSL_EXT_TLS1_3_NEW_SESSION_TICKET)) == 0
+ && type != TLSEXT_TYPE_cookie
+ && type != TLSEXT_TYPE_renegotiate
+ && type != TLSEXT_TYPE_signed_certificate_timestamp
+ && (s->ext.extflags[idx] & SSL_EXT_FLAG_SENT) == 0
#ifndef OPENSSL_NO_GOST
- && !((context & SSL_EXT_TLS1_2_SERVER_HELLO) != 0
- && type == TLSEXT_TYPE_cryptopro_bug)
+ && !((context & SSL_EXT_TLS1_2_SERVER_HELLO) != 0
+ && type == TLSEXT_TYPE_cryptopro_bug)
#endif
- ) {
+ ) {
SSLfatal(s, SSL_AD_UNSUPPORTED_EXTENSION,
- SSL_R_UNSOLICITED_EXTENSION);
+ SSL_R_UNSOLICITED_EXTENSION);
goto err;
}
if (thisex != NULL) {
@@ -695,9 +642,9 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
thisex->received_order = i++;
if (s->ext.debug_cb)
s->ext.debug_cb(SSL_CONNECTION_GET_USER_SSL(s), !s->server,
- thisex->type, PACKET_data(&thisex->data),
- PACKET_remaining(&thisex->data),
- s->ext.debug_arg);
+ thisex->type, PACKET_data(&thisex->data),
+ PACKET_remaining(&thisex->data),
+ s->ext.debug_arg);
}
}
@@ -707,7 +654,7 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
* whether we have found them or not
*/
for (thisexd = ext_defs, i = 0; i < OSSL_NELEM(ext_defs);
- i++, thisexd++) {
+ i++, thisexd++) {
if (thisexd->init != NULL && (thisexd->context & context) != 0
&& extension_is_relevant(s, thisexd->context, context)
&& !thisexd->init(s, context)) {
@@ -722,7 +669,7 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
*len = num_exts;
return 1;
- err:
+err:
OPENSSL_free(raw_extensions);
return 0;
}
@@ -738,11 +685,12 @@ int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
* present this counted as success.
*/
int tls_parse_extension(SSL_CONNECTION *s, TLSEXT_INDEX idx, int context,
- RAW_EXTENSION *exts, X509 *x, size_t chainidx)
+ RAW_EXTENSION *exts, X509 *x, size_t chainidx)
{
RAW_EXTENSION *currext = &exts[idx];
int (*parser)(SSL_CONNECTION *s, PACKET *pkt, unsigned int context, X509 *x,
- size_t chainidx) = NULL;
+ size_t chainidx)
+ = NULL;
/* Skip if the extension is not present */
if (!currext->present)
@@ -775,9 +723,9 @@ int tls_parse_extension(SSL_CONNECTION *s, TLSEXT_INDEX idx, int context,
/* Parse custom extensions */
return custom_ext_parse(s, context, currext->type,
- PACKET_data(&currext->data),
- PACKET_remaining(&currext->data),
- x, chainidx);
+ PACKET_data(&currext->data),
+ PACKET_remaining(&currext->data),
+ x, chainidx);
}
/*
@@ -788,8 +736,8 @@ int tls_parse_extension(SSL_CONNECTION *s, TLSEXT_INDEX idx, int context,
* its position in the |chainidx|, with 0 being the first certificate.
*/
int tls_parse_all_extensions(SSL_CONNECTION *s, int context,
- RAW_EXTENSION *exts, X509 *x,
- size_t chainidx, int fin)
+ RAW_EXTENSION *exts, X509 *x,
+ size_t chainidx, int fin)
{
size_t i, numexts = OSSL_NELEM(ext_defs);
const EXTENSION_DEFINITION *thisexd;
@@ -811,7 +759,7 @@ int tls_parse_all_extensions(SSL_CONNECTION *s, int context,
* whether we have found them or not
*/
for (i = 0, thisexd = ext_defs; i < OSSL_NELEM(ext_defs);
- i++, thisexd++) {
+ i++, thisexd++) {
if (thisexd->final != NULL && (thisexd->context & context) != 0
&& !thisexd->final(s, context, exts[i].present)) {
/* SSLfatal() already called */
@@ -824,7 +772,7 @@ int tls_parse_all_extensions(SSL_CONNECTION *s, int context,
}
int should_add_extension(SSL_CONNECTION *s, unsigned int extctx,
- unsigned int thisctx, int max_version)
+ unsigned int thisctx, int max_version)
{
/* Skip if not relevant for our context */
if ((extctx & thisctx) == 0)
@@ -832,9 +780,9 @@ int should_add_extension(SSL_CONNECTION *s, unsigned int extctx,
/* Check if this extension is defined for our protocol. If not, skip */
if (!extension_is_relevant(s, extctx, thisctx)
- || ((extctx & SSL_EXT_TLS1_3_ONLY) != 0
- && (thisctx & SSL_EXT_CLIENT_HELLO) != 0
- && (SSL_CONNECTION_IS_DTLS(s) || max_version < TLS1_3_VERSION)))
+ || ((extctx & SSL_EXT_TLS1_3_ONLY) != 0
+ && (thisctx & SSL_EXT_CLIENT_HELLO) != 0
+ && (SSL_CONNECTION_IS_DTLS(s) || max_version < TLS1_3_VERSION)))
return 0;
return 1;
@@ -849,8 +797,8 @@ int should_add_extension(SSL_CONNECTION *s, unsigned int extctx,
* failure construction stops at the first extension to fail to construct.
*/
int tls_construct_extensions(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
size_t i;
int min_version, max_version = 0, reason;
@@ -858,15 +806,14 @@ int tls_construct_extensions(SSL_CONNECTION *s, WPACKET *pkt,
int for_comp = (context & SSL_EXT_TLS1_3_CERTIFICATE_COMPRESSION) != 0;
if (!WPACKET_start_sub_packet_u16(pkt)
- /*
- * If extensions are of zero length then we don't even add the
- * extensions length bytes to a ClientHello/ServerHello
- * (for non-TLSv1.3).
- */
- || ((context &
- (SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO)) != 0
- && !WPACKET_set_flags(pkt,
- WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH))) {
+ /*
+ * If extensions are of zero length then we don't even add the
+ * extensions length bytes to a ClientHello/ServerHello
+ * (for non-TLSv1.3).
+ */
+ || ((context & (SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO)) != 0
+ && !WPACKET_set_flags(pkt,
+ WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH))) {
if (!for_comp)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -893,8 +840,8 @@ int tls_construct_extensions(SSL_CONNECTION *s, WPACKET *pkt,
for (i = 0, thisexd = ext_defs; i < OSSL_NELEM(ext_defs); i++, thisexd++) {
EXT_RETURN (*construct)(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN ret;
/* Skip if not relevant for our context */
@@ -913,9 +860,7 @@ int tls_construct_extensions(SSL_CONNECTION *s, WPACKET *pkt,
return 0;
}
if (ret == EXT_RETURN_SENT
- && (context & (SSL_EXT_CLIENT_HELLO
- | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST
- | SSL_EXT_TLS1_3_NEW_SESSION_TICKET)) != 0)
+ && (context & (SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST | SSL_EXT_TLS1_3_NEW_SESSION_TICKET)) != 0)
s->ext.extflags[i] |= SSL_EXT_FLAG_SENT;
}
@@ -943,10 +888,10 @@ static int final_renegotiate(SSL_CONNECTION *s, unsigned int context, int sent)
* renegotiation
*/
if (!(s->options & SSL_OP_LEGACY_SERVER_CONNECT)
- && !(s->options & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION)
- && !sent) {
+ && !(s->options & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION)
+ && !sent) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED);
+ SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED);
return 0;
}
@@ -955,19 +900,18 @@ static int final_renegotiate(SSL_CONNECTION *s, unsigned int context, int sent)
/* Need RI if renegotiating */
if (s->renegotiate
- && !(s->options & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION)
- && !sent) {
+ && !(s->options & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION)
+ && !sent) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED);
+ SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED);
return 0;
}
-
return 1;
}
static ossl_inline void ssl_tsan_decr(const SSL_CTX *ctx,
- TSAN_QUALIFIER int *stat)
+ TSAN_QUALIFIER int *stat)
{
if (ssl_tsan_lock(ctx)) {
tsan_decr(stat);
@@ -1003,10 +947,10 @@ static int final_server_name(SSL_CONNECTION *s, unsigned int context, int sent)
if (sctx->ext.servername_cb != NULL)
ret = sctx->ext.servername_cb(ussl, &altmp,
- sctx->ext.servername_arg);
+ sctx->ext.servername_arg);
else if (s->session_ctx->ext.servername_cb != NULL)
ret = s->session_ctx->ext.servername_cb(ussl, &altmp,
- s->session_ctx->ext.servername_arg);
+ s->session_ctx->ext.servername_arg);
/*
* For servers, propagate the SNI hostname from the temporary
@@ -1034,7 +978,7 @@ static int final_server_name(SSL_CONNECTION *s, unsigned int context, int sent)
* exceed sess_accept (zero) for the new context.
*/
if (SSL_IS_FIRST_HANDSHAKE(s) && sctx != s->session_ctx
- && s->hello_retry_request == SSL_HRR_NONE) {
+ && s->hello_retry_request == SSL_HRR_NONE) {
ssl_tsan_counter(sctx, &sctx->stats.sess_accept);
ssl_tsan_decr(s->session_ctx, &s->session_ctx->stats.sess_accept);
}
@@ -1045,10 +989,10 @@ static int final_server_name(SSL_CONNECTION *s, unsigned int context, int sent)
* Also, if this is not a resumption, create a new session ID
*/
if (ret == SSL_TLSEXT_ERR_OK && s->ext.ticket_expected
- && was_ticket && (SSL_get_options(ssl) & SSL_OP_NO_TICKET) != 0) {
+ && was_ticket && (SSL_get_options(ssl) & SSL_OP_NO_TICKET) != 0) {
s->ext.ticket_expected = 0;
if (!s->hit) {
- SSL_SESSION* ss = SSL_get_session(ssl);
+ SSL_SESSION *ss = SSL_get_session(ssl);
if (ss != NULL) {
OPENSSL_free(ss->ext.tick);
@@ -1089,7 +1033,7 @@ static int final_server_name(SSL_CONNECTION *s, unsigned int context, int sent)
}
static int final_ec_pt_formats(SSL_CONNECTION *s, unsigned int context,
- int sent)
+ int sent)
{
unsigned long alg_k, alg_a;
@@ -1105,10 +1049,10 @@ static int final_ec_pt_formats(SSL_CONNECTION *s, unsigned int context,
* must contain uncompressed.
*/
if (s->ext.ecpointformats != NULL
- && s->ext.ecpointformats_len > 0
- && s->ext.peer_ecpointformats != NULL
- && s->ext.peer_ecpointformats_len > 0
- && ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA))) {
+ && s->ext.ecpointformats_len > 0
+ && s->ext.peer_ecpointformats != NULL
+ && s->ext.peer_ecpointformats_len > 0
+ && ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA))) {
/* we are using an ECC cipher */
size_t i;
unsigned char *list = s->ext.peer_ecpointformats;
@@ -1119,7 +1063,7 @@ static int final_ec_pt_formats(SSL_CONNECTION *s, unsigned int context,
}
if (i == s->ext.peer_ecpointformats_len) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST);
+ SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST);
return 0;
}
}
@@ -1179,7 +1123,7 @@ static int init_alpn(SSL_CONNECTION *s, unsigned int context)
static int final_alpn(SSL_CONNECTION *s, unsigned int context, int sent)
{
if (!s->server && !sent && s->session->ext.alpn_selected != NULL)
- s->ext.early_data_ok = 0;
+ s->ext.early_data_ok = 0;
if (!s->server || !SSL_CONNECTION_IS_TLS13(s))
return 1;
@@ -1207,7 +1151,7 @@ static int init_sig_algs(SSL_CONNECTION *s, unsigned int context)
}
static int init_sig_algs_cert(SSL_CONNECTION *s,
- ossl_unused unsigned int context)
+ ossl_unused unsigned int context)
{
/* Clear any signature algorithms extension received */
OPENSSL_free(s->s3.tmp.peer_cert_sigalgs);
@@ -1269,8 +1213,7 @@ static int final_ems(SSL_CONNECTION *s, unsigned int context, int sent)
* Check extended master secret extension is consistent with
* original session.
*/
- if (!(s->s3.flags & TLS1_FLAGS_RECEIVED_EXTMS) !=
- !(s->session->flags & SSL_SESS_FLAG_EXTMS)) {
+ if (!(s->s3.flags & TLS1_FLAGS_RECEIVED_EXTMS) != !(s->session->flags & SSL_SESS_FLAG_EXTMS)) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_INCONSISTENT_EXTMS);
return 0;
}
@@ -1287,10 +1230,10 @@ static int init_certificate_authorities(SSL_CONNECTION *s, unsigned int context)
}
static EXT_RETURN tls_construct_certificate_authorities(SSL_CONNECTION *s,
- WPACKET *pkt,
- unsigned int context,
- X509 *x,
- size_t chainidx)
+ WPACKET *pkt,
+ unsigned int context,
+ X509 *x,
+ size_t chainidx)
{
const STACK_OF(X509_NAME) *ca_sk = get_ca_names(s);
@@ -1317,8 +1260,8 @@ static EXT_RETURN tls_construct_certificate_authorities(SSL_CONNECTION *s,
}
static int tls_parse_certificate_authorities(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (!parse_ca_names(s, pkt))
return 0;
@@ -1343,7 +1286,7 @@ static int final_sig_algs(SSL_CONNECTION *s, unsigned int context, int sent)
{
if (!sent && SSL_CONNECTION_IS_TLS13(s) && !s->hit) {
SSLfatal(s, TLS13_AD_MISSING_EXTENSION,
- SSL_R_MISSING_SIGALGS_EXTENSION);
+ SSL_R_MISSING_SIGALGS_EXTENSION);
return 0;
}
@@ -1351,11 +1294,11 @@ static int final_sig_algs(SSL_CONNECTION *s, unsigned int context, int sent)
}
static int final_supported_versions(SSL_CONNECTION *s, unsigned int context,
- int sent)
+ int sent)
{
if (!sent && context == SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST) {
SSLfatal(s, TLS13_AD_MISSING_EXTENSION,
- SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION);
+ SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION);
return 0;
}
@@ -1384,7 +1327,7 @@ static int final_key_share(SSL_CONNECTION *s, unsigned int context, int sent)
* fail;
*/
if (!s->server
- && !sent) {
+ && !sent) {
if ((s->ext.psk_kex_mode & TLSEXT_KEX_MODE_FLAG_KE) == 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_NO_SUITABLE_KEY_SHARE);
return 0;
@@ -1432,7 +1375,7 @@ static int final_key_share(SSL_CONNECTION *s, unsigned int context, int sent)
if (s->s3.peer_tmp != NULL) {
/* We have a suitable key_share */
if ((s->s3.flags & TLS1_FLAGS_STATELESS) != 0
- && !s->ext.cookieok) {
+ && !s->ext.cookieok) {
if (!ossl_assert(s->hello_retry_request == SSL_HRR_NONE)) {
/*
* If we are stateless then we wouldn't know about any
@@ -1448,8 +1391,8 @@ static int final_key_share(SSL_CONNECTION *s, unsigned int context, int sent)
} else {
/* No suitable key_share */
if (s->hello_retry_request == SSL_HRR_NONE && sent
- && (!s->hit
- || (s->ext.psk_kex_mode & TLSEXT_KEX_MODE_FLAG_KE_DHE) != 0)) {
+ && (!s->hit
+ || (s->ext.psk_kex_mode & TLSEXT_KEX_MODE_FLAG_KE_DHE) != 0)) {
/* Did we detect group overlap in tls_parse_ctos_key_share ? */
if (s->s3.group_id_candidate != 0) {
@@ -1460,16 +1403,15 @@ static int final_key_share(SSL_CONNECTION *s, unsigned int context, int sent)
}
}
if (!s->hit
- || (s->ext.psk_kex_mode & TLSEXT_KEX_MODE_FLAG_KE) == 0) {
+ || (s->ext.psk_kex_mode & TLSEXT_KEX_MODE_FLAG_KE) == 0) {
/* Nothing left we can do - just fail */
- SSLfatal(s, sent ? SSL_AD_HANDSHAKE_FAILURE
- : SSL_AD_MISSING_EXTENSION,
- SSL_R_NO_SUITABLE_KEY_SHARE);
+ SSLfatal(s, sent ? SSL_AD_HANDSHAKE_FAILURE : SSL_AD_MISSING_EXTENSION,
+ SSL_R_NO_SUITABLE_KEY_SHARE);
return 0;
}
if ((s->s3.flags & TLS1_FLAGS_STATELESS) != 0
- && !s->ext.cookieok) {
+ && !s->ext.cookieok) {
if (!ossl_assert(s->hello_retry_request == SSL_HRR_NONE)) {
/*
* If we are stateless then we wouldn't know about any
@@ -1512,10 +1454,10 @@ static int init_psk_kex_modes(SSL_CONNECTION *s, unsigned int context)
}
int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *msgstart,
- size_t binderoffset, const unsigned char *binderin,
- unsigned char *binderout, SSL_SESSION *sess, int sign,
- int external)
+ const unsigned char *msgstart,
+ size_t binderoffset, const unsigned char *binderin,
+ unsigned char *binderout, SSL_SESSION *sess, int sign,
+ int external)
{
EVP_PKEY *mackey = NULL;
EVP_MD_CTX *mctx = NULL;
@@ -1541,9 +1483,9 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
hashsize = (size_t)hashsizei;
if (external
- && s->early_data_state == SSL_EARLY_DATA_CONNECTING
- && s->session->ext.max_early_data == 0
- && sess->ext.max_early_data > 0)
+ && s->early_data_state == SSL_EARLY_DATA_CONNECTING
+ && s->session->ext.max_early_data == 0
+ && sess->ext.max_early_data > 0)
usepskfored = 1;
if (external) {
@@ -1568,7 +1510,7 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
early_secret = (unsigned char *)sess->early_secret;
if (!tls13_generate_secret(s, md, NULL, sess->master_key,
- sess->master_key_length, early_secret)) {
+ sess->master_key_length, early_secret)) {
/* SSLfatal() already called */
goto err;
}
@@ -1579,15 +1521,15 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
*/
mctx = EVP_MD_CTX_new();
if (mctx == NULL
- || EVP_DigestInit_ex(mctx, md, NULL) <= 0
- || EVP_DigestFinal_ex(mctx, hash, NULL) <= 0) {
+ || EVP_DigestInit_ex(mctx, md, NULL) <= 0
+ || EVP_DigestFinal_ex(mctx, hash, NULL) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
/* Generate the binder key */
if (!tls13_hkdf_expand(s, md, early_secret, label, labelsize, hash,
- hashsize, binderkey, hashsize, 1)) {
+ hashsize, binderkey, hashsize, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -1613,8 +1555,7 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
long hdatalen_l;
void *hdata;
- hdatalen = hdatalen_l =
- BIO_get_mem_data(s->s3.handshake_buffer, &hdata);
+ hdatalen = hdatalen_l = BIO_get_mem_data(s->s3.handshake_buffer, &hdata);
if (hdatalen_l <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_HANDSHAKE_LENGTH);
goto err;
@@ -1629,10 +1570,10 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
/* Find how many bytes are left after the first two messages */
if (!PACKET_buf_init(&hashprefix, hdata, hdatalen)
- || !PACKET_forward(&hashprefix, 1)
- || !PACKET_get_length_prefixed_3(&hashprefix, &msg)
- || !PACKET_forward(&hashprefix, 1)
- || !PACKET_get_length_prefixed_3(&hashprefix, &msg)) {
+ || !PACKET_forward(&hashprefix, 1)
+ || !PACKET_get_length_prefixed_3(&hashprefix, &msg)
+ || !PACKET_forward(&hashprefix, 1)
+ || !PACKET_get_length_prefixed_3(&hashprefix, &msg)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -1646,14 +1587,14 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
}
if (EVP_DigestUpdate(mctx, msgstart, binderoffset) <= 0
- || EVP_DigestFinal_ex(mctx, hash, NULL) <= 0) {
+ || EVP_DigestFinal_ex(mctx, hash, NULL) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
mackey = EVP_PKEY_new_raw_private_key_ex(sctx->libctx, "HMAC",
- sctx->propq, finishedkey,
- hashsize);
+ sctx->propq, finishedkey,
+ hashsize);
if (mackey == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -1664,10 +1605,11 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
bindersize = hashsize;
if (EVP_DigestSignInit_ex(mctx, NULL, EVP_MD_get0_name(md), sctx->libctx,
- sctx->propq, mackey, NULL) <= 0
- || EVP_DigestSignUpdate(mctx, hash, hashsize) <= 0
- || EVP_DigestSignFinal(mctx, binderout, &bindersize) <= 0
- || bindersize != hashsize) {
+ sctx->propq, mackey, NULL)
+ <= 0
+ || EVP_DigestSignUpdate(mctx, hash, hashsize) <= 0
+ || EVP_DigestSignFinal(mctx, binderout, &bindersize) <= 0
+ || bindersize != hashsize) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -1681,7 +1623,7 @@ int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
SSLfatal(s, SSL_AD_DECRYPT_ERROR, SSL_R_BINDER_DOES_NOT_VERIFY);
}
- err:
+err:
OPENSSL_cleanse(binderkey, sizeof(binderkey));
OPENSSL_cleanse(finishedkey, sizeof(finishedkey));
EVP_PKEY_free(mackey);
@@ -1697,8 +1639,8 @@ static int final_early_data(SSL_CONNECTION *s, unsigned int context, int sent)
if (!s->server) {
if (context == SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS
- && sent
- && !s->ext.early_data_ok) {
+ && sent
+ && !s->ext.early_data_ok) {
/*
* If we get here then the server accepted our early_data but we
* later realised that it shouldn't have done (e.g. inconsistent
@@ -1712,19 +1654,19 @@ static int final_early_data(SSL_CONNECTION *s, unsigned int context, int sent)
}
if (s->max_early_data == 0
- || !s->hit
- || s->early_data_state != SSL_EARLY_DATA_ACCEPTING
- || !s->ext.early_data_ok
- || s->hello_retry_request != SSL_HRR_NONE
- || (s->allow_early_data_cb != NULL
- && !s->allow_early_data_cb(SSL_CONNECTION_GET_USER_SSL(s),
- s->allow_early_data_cb_data))) {
+ || !s->hit
+ || s->early_data_state != SSL_EARLY_DATA_ACCEPTING
+ || !s->ext.early_data_ok
+ || s->hello_retry_request != SSL_HRR_NONE
+ || (s->allow_early_data_cb != NULL
+ && !s->allow_early_data_cb(SSL_CONNECTION_GET_USER_SSL(s),
+ s->allow_early_data_cb_data))) {
s->ext.early_data = SSL_EARLY_DATA_REJECTED;
} else {
s->ext.early_data = SSL_EARLY_DATA_ACCEPTED;
if (!tls13_change_cipher_state(s,
- SSL3_CC_EARLY | SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ SSL3_CC_EARLY | SSL3_CHANGE_CIPHER_SERVER_READ)) {
/* SSLfatal() already called */
return 0;
}
@@ -1734,7 +1676,7 @@ static int final_early_data(SSL_CONNECTION *s, unsigned int context, int sent)
}
static int final_maxfragmentlen(SSL_CONNECTION *s, unsigned int context,
- int sent)
+ int sent)
{
if (s->session == NULL)
return 1;
@@ -1745,16 +1687,16 @@ static int final_maxfragmentlen(SSL_CONNECTION *s, unsigned int context,
if (USE_MAX_FRAGMENT_LENGTH_EXT(s->session)) {
s->rlayer.rrlmethod->set_max_frag_len(s->rlayer.rrl,
- GET_MAX_FRAGMENT_LENGTH(s->session));
+ GET_MAX_FRAGMENT_LENGTH(s->session));
s->rlayer.wrlmethod->set_max_frag_len(s->rlayer.wrl,
- ssl_get_max_send_fragment(s));
+ ssl_get_max_send_fragment(s));
}
return 1;
}
static int init_post_handshake_auth(SSL_CONNECTION *s,
- ossl_unused unsigned int context)
+ ossl_unused unsigned int context)
{
s->post_handshake_auth = SSL_PHA_NONE;
@@ -1768,9 +1710,9 @@ static int init_post_handshake_auth(SSL_CONNECTION *s,
static int final_psk(SSL_CONNECTION *s, unsigned int context, int sent)
{
if (s->server && sent && s->clienthello != NULL
- && !s->clienthello->pre_proc_exts[TLSEXT_IDX_psk_kex_modes].present) {
+ && !s->clienthello->pre_proc_exts[TLSEXT_IDX_psk_kex_modes].present) {
SSLfatal(s, TLS13_AD_MISSING_EXTENSION,
- SSL_R_MISSING_PSK_KEX_MODES_EXTENSION);
+ SSL_R_MISSING_PSK_KEX_MODES_EXTENSION);
return 0;
}
@@ -1780,14 +1722,14 @@ static int final_psk(SSL_CONNECTION *s, unsigned int context, int sent)
static int tls_init_compress_certificate(SSL_CONNECTION *sc, unsigned int context)
{
memset(sc->ext.compress_certificate_from_peer, 0,
- sizeof(sc->ext.compress_certificate_from_peer));
+ sizeof(sc->ext.compress_certificate_from_peer));
return 1;
}
/* The order these are put into the packet imply a preference order: [brotli, zlib, zstd] */
static EXT_RETURN tls_construct_compress_certificate(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_COMP_ALG
int i;
@@ -1815,8 +1757,8 @@ static EXT_RETURN tls_construct_compress_certificate(SSL_CONNECTION *sc, WPACKET
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_compress_certificate)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u8(pkt))
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u8(pkt))
goto err;
for (i = 0; sc->cert_comp_prefs[i] != TLSEXT_comp_cert_none; i++) {
@@ -1828,7 +1770,7 @@ static EXT_RETURN tls_construct_compress_certificate(SSL_CONNECTION *sc, WPACKET
sc->ext.compress_certificate_sent = 1;
return EXT_RETURN_SENT;
- err:
+err:
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
#else
@@ -1859,7 +1801,7 @@ static int tls_comp_in_pref(SSL_CONNECTION *sc, int alg)
#endif
int tls_parse_compress_certificate(SSL_CONNECTION *sc, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_COMP_ALG
PACKET supported_comp_algs;
@@ -1882,7 +1824,7 @@ int tls_parse_compress_certificate(SSL_CONNECTION *sc, PACKET *pkt, unsigned int
return 1;
if (!PACKET_as_length_prefixed_1(pkt, &supported_comp_algs)
- || PACKET_remaining(&supported_comp_algs) == 0) {
+ || PACKET_remaining(&supported_comp_algs) == 0) {
SSLfatal(sc, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
diff --git a/crypto/openssl/ssl/statem/extensions_clnt.c b/crypto/openssl/ssl/statem/extensions_clnt.c
index d958373875a3..305ca4ab46c9 100644
--- a/crypto/openssl/ssl/statem/extensions_clnt.c
+++ b/crypto/openssl/ssl/statem/extensions_clnt.c
@@ -14,14 +14,14 @@
#include "statem_local.h"
EXT_RETURN tls_construct_ctos_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (!s->renegotiate) {
/* If not renegotiating, send an empty RI extension to indicate support */
#if DTLS_MAX_VERSION_INTERNAL != DTLS1_2_VERSION
-# error Internal DTLS version error
+#error Internal DTLS version error
#endif
if (!SSL_CONNECTION_IS_DTLS(s)
@@ -35,7 +35,6 @@ EXT_RETURN tls_construct_ctos_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
}
-
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_renegotiate)
|| !WPACKET_start_sub_packet_u16(pkt)
|| !WPACKET_put_bytes_u8(pkt, 0)
@@ -49,10 +48,10 @@ EXT_RETURN tls_construct_ctos_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
/* Add a complete RI extension if renegotiating */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_renegotiate)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u8(pkt, s->s3.previous_client_finished,
- s->s3.previous_client_finished_len)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u8(pkt, s->s3.previous_client_finished,
+ s->s3.previous_client_finished_len)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -61,23 +60,23 @@ EXT_RETURN tls_construct_ctos_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_server_name(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (s->ext.hostname == NULL)
return EXT_RETURN_NOT_SENT;
/* Add TLS extension servername to the Client Hello message */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_server_name)
- /* Sub-packet for server_name extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- /* Sub-packet for servername list (always 1 hostname)*/
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u8(pkt, TLSEXT_NAMETYPE_host_name)
- || !WPACKET_sub_memcpy_u16(pkt, s->ext.hostname,
- strlen(s->ext.hostname))
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ /* Sub-packet for server_name extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ /* Sub-packet for servername list (always 1 hostname)*/
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u8(pkt, TLSEXT_NAMETYPE_host_name)
+ || !WPACKET_sub_memcpy_u16(pkt, s->ext.hostname,
+ strlen(s->ext.hostname))
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -87,8 +86,8 @@ EXT_RETURN tls_construct_ctos_server_name(SSL_CONNECTION *s, WPACKET *pkt,
/* Push a Max Fragment Len extension into ClientHello */
EXT_RETURN tls_construct_ctos_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (s->ext.max_fragment_len_mode == TLSEXT_max_fragment_length_DISABLED)
return EXT_RETURN_NOT_SENT;
@@ -99,10 +98,10 @@ EXT_RETURN tls_construct_ctos_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
* 1 byte for the Max Fragment Length code value.
*/
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_max_fragment_length)
- /* Sub-packet for Max Fragment Length extension (1 byte) */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u8(pkt, s->ext.max_fragment_len_mode)
- || !WPACKET_close(pkt)) {
+ /* Sub-packet for Max Fragment Length extension (1 byte) */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u8(pkt, s->ext.max_fragment_len_mode)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -112,23 +111,23 @@ EXT_RETURN tls_construct_ctos_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
#ifndef OPENSSL_NO_SRP
EXT_RETURN tls_construct_ctos_srp(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
/* Add SRP username if there is one */
if (s->srp_ctx.login == NULL)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_srp)
- /* Sub-packet for SRP extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u8(pkt)
- /* login must not be zero...internal error if so */
- || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)
- || !WPACKET_memcpy(pkt, s->srp_ctx.login,
- strlen(s->srp_ctx.login))
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ /* Sub-packet for SRP extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u8(pkt)
+ /* login must not be zero...internal error if so */
+ || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)
+ || !WPACKET_memcpy(pkt, s->srp_ctx.login,
+ strlen(s->srp_ctx.login))
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -158,8 +157,8 @@ static int use_ecc(SSL_CONNECTION *s, int min_version, int max_version)
alg_k = c->algorithm_mkey;
alg_a = c->algorithm_auth;
if ((alg_k & (SSL_kECDHE | SSL_kECDHEPSK))
- || (alg_a & SSL_aECDSA)
- || c->min_tls >= TLS1_3_VERSION) {
+ || (alg_a & SSL_aECDSA)
+ || c->min_tls >= TLS1_3_VERSION) {
ret = 1;
break;
}
@@ -174,7 +173,7 @@ static int use_ecc(SSL_CONNECTION *s, int min_version, int max_version)
uint16_t ctmp = pgroups[j];
if (tls_valid_group(s, ctmp, min_version, max_version, 1, NULL)
- && tls_group_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED))
+ && tls_group_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED))
return 1;
}
@@ -182,8 +181,8 @@ static int use_ecc(SSL_CONNECTION *s, int min_version, int max_version)
}
EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
const unsigned char *pformats;
size_t num_formats;
@@ -201,10 +200,10 @@ EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
tls1_get_formatlist(s, &pformats, &num_formats);
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_ec_point_formats)
- /* Sub-packet for formats extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u8(pkt, pformats, num_formats)
- || !WPACKET_close(pkt)) {
+ /* Sub-packet for formats extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u8(pkt, pformats, num_formats)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -213,8 +212,8 @@ EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
const uint16_t *pgroups = NULL;
size_t num_groups = 0, i, tls13added = 0, added = 0;
@@ -231,7 +230,7 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
* if we don't have EC support then we don't send this extension.
*/
if (!use_ecc(s, min_version, max_version)
- && (SSL_CONNECTION_IS_DTLS(s) || max_version < TLS1_3_VERSION))
+ && (SSL_CONNECTION_IS_DTLS(s) || max_version < TLS1_3_VERSION))
return EXT_RETURN_NOT_SENT;
/*
@@ -240,10 +239,10 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
tls1_get_supported_groups(s, &pgroups, &num_groups);
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_supported_groups)
- /* Sub-packet for supported_groups extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)) {
+ /* Sub-packet for supported_groups extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -253,7 +252,7 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
int okfortls13;
if (tls_valid_group(s, ctmp, min_version, max_version, 0, &okfortls13)
- && tls_group_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) {
+ && tls_group_allowed(s, ctmp, SSL_SECOP_CURVE_SUPPORTED)) {
if (!WPACKET_put_bytes_u16(pkt, ctmp)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
@@ -266,7 +265,7 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
if (!WPACKET_close(pkt) || !WPACKET_close(pkt)) {
if (added == 0)
SSLfatal_data(s, SSL_AD_INTERNAL_ERROR, SSL_R_NO_SUITABLE_GROUPS,
- "No groups enabled for max supported SSL/TLS version");
+ "No groups enabled for max supported SSL/TLS version");
else
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
@@ -274,7 +273,7 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
if (tls13added == 0 && max_version == TLS1_3_VERSION) {
SSLfatal_data(s, SSL_AD_INTERNAL_ERROR, SSL_R_NO_SUITABLE_GROUPS,
- "No groups enabled for max supported SSL/TLS version");
+ "No groups enabled for max supported SSL/TLS version");
return EXT_RETURN_FAIL;
}
@@ -282,8 +281,8 @@ EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
size_t ticklen;
@@ -291,11 +290,11 @@ EXT_RETURN tls_construct_ctos_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!s->new_session && s->session != NULL
- && s->session->ext.tick != NULL
- && s->session->ssl_version != TLS1_3_VERSION) {
+ && s->session->ext.tick != NULL
+ && s->session->ssl_version != TLS1_3_VERSION) {
ticklen = s->session->ext.ticklen;
} else if (s->session && s->ext.session_ticket != NULL
- && s->ext.session_ticket->data != NULL) {
+ && s->ext.session_ticket->data != NULL) {
ticklen = s->ext.session_ticket->length;
s->session->ext.tick = OPENSSL_malloc(ticklen);
if (s->session->ext.tick == NULL) {
@@ -303,18 +302,17 @@ EXT_RETURN tls_construct_ctos_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_FAIL;
}
memcpy(s->session->ext.tick,
- s->ext.session_ticket->data, ticklen);
+ s->ext.session_ticket->data, ticklen);
s->session->ext.ticklen = ticklen;
} else {
ticklen = 0;
}
- if (ticklen == 0 && s->ext.session_ticket != NULL &&
- s->ext.session_ticket->data == NULL)
+ if (ticklen == 0 && s->ext.session_ticket != NULL && s->ext.session_ticket->data == NULL)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_session_ticket)
- || !WPACKET_sub_memcpy_u16(pkt, s->session->ext.tick, ticklen)) {
+ || !WPACKET_sub_memcpy_u16(pkt, s->session->ext.tick, ticklen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -323,8 +321,8 @@ EXT_RETURN tls_construct_ctos_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_sig_algs(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
size_t salglen;
const uint16_t *salg;
@@ -338,23 +336,23 @@ EXT_RETURN tls_construct_ctos_sig_algs(SSL_CONNECTION *s, WPACKET *pkt,
if (s->client_version < TLS1_2_VERSION
|| (s->ssl.method->version != TLS_ANY_VERSION
&& s->version < TLS1_2_VERSION))
- return EXT_RETURN_NOT_SENT;
+ return EXT_RETURN_NOT_SENT;
} else {
if (DTLS_VERSION_LT(s->client_version, DTLS1_2_VERSION)
|| (s->ssl.method->version != DTLS_ANY_VERSION
&& DTLS_VERSION_LT(s->version, DTLS1_2_VERSION)))
- return EXT_RETURN_NOT_SENT;
+ return EXT_RETURN_NOT_SENT;
}
salglen = tls12_get_psigalgs(s, 1, &salg);
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_signature_algorithms)
- /* Sub-packet for sig-algs extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- /* Sub-packet for the actual list */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !tls12_copy_sigalgs(s, pkt, salg, salglen)
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ /* Sub-packet for sig-algs extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ /* Sub-packet for the actual list */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !tls12_copy_sigalgs(s, pkt, salg, salglen)
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -364,8 +362,8 @@ EXT_RETURN tls_construct_ctos_sig_algs(SSL_CONNECTION *s, WPACKET *pkt,
#ifndef OPENSSL_NO_OCSP
EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
int i;
@@ -377,11 +375,11 @@ EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_status_request)
- /* Sub-packet for status request extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u8(pkt, TLSEXT_STATUSTYPE_ocsp)
- /* Sub-packet for the ids */
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ /* Sub-packet for status request extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u8(pkt, TLSEXT_STATUSTYPE_ocsp)
+ /* Sub-packet for the ids */
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -391,15 +389,15 @@ EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET *pkt,
int idlen = i2d_OCSP_RESPID(id, NULL);
if (idlen <= 0
- /* Sub-packet for an individual id */
- || !WPACKET_sub_allocate_bytes_u16(pkt, idlen, &idbytes)
- || i2d_OCSP_RESPID(id, &idbytes) != idlen) {
+ /* Sub-packet for an individual id */
+ || !WPACKET_sub_allocate_bytes_u16(pkt, idlen, &idbytes)
+ || i2d_OCSP_RESPID(id, &idbytes) != idlen) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
}
if (!WPACKET_close(pkt)
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -412,11 +410,11 @@ EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_FAIL;
}
if (!WPACKET_allocate_bytes(pkt, extlen, &extbytes)
- || i2d_X509_EXTENSIONS(s->ext.ocsp.exts, &extbytes)
- != extlen) {
+ || i2d_X509_EXTENSIONS(s->ext.ocsp.exts, &extbytes)
+ != extlen) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
- }
+ }
}
if (!WPACKET_close(pkt) || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -429,8 +427,8 @@ EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET *pkt,
#ifndef OPENSSL_NO_NEXTPROTONEG
EXT_RETURN tls_construct_ctos_npn(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (SSL_CONNECTION_GET_CTX(s)->ext.npn_select_cb == NULL
|| !SSL_IS_FIRST_HANDSHAKE(s))
@@ -441,7 +439,7 @@ EXT_RETURN tls_construct_ctos_npn(SSL_CONNECTION *s, WPACKET *pkt,
* for Next Protocol Negotiation
*/
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_next_proto_neg)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -451,8 +449,8 @@ EXT_RETURN tls_construct_ctos_npn(SSL_CONNECTION *s, WPACKET *pkt,
#endif
EXT_RETURN tls_construct_ctos_alpn(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
s->s3.alpn_sent = 0;
@@ -460,11 +458,11 @@ EXT_RETURN tls_construct_ctos_alpn(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt,
- TLSEXT_TYPE_application_layer_protocol_negotiation)
- /* Sub-packet ALPN extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u16(pkt, s->ext.alpn, s->ext.alpn_len)
- || !WPACKET_close(pkt)) {
+ TLSEXT_TYPE_application_layer_protocol_negotiation)
+ /* Sub-packet ALPN extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u16(pkt, s->ext.alpn, s->ext.alpn_len)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -473,11 +471,10 @@ EXT_RETURN tls_construct_ctos_alpn(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_SENT;
}
-
#ifndef OPENSSL_NO_SRTP
EXT_RETURN tls_construct_ctos_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
STACK_OF(SRTP_PROTECTION_PROFILE) *clnt = SSL_get_srtp_profiles(ssl);
@@ -487,18 +484,17 @@ EXT_RETURN tls_construct_ctos_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_use_srtp)
- /* Sub-packet for SRTP extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- /* Sub-packet for the protection profile list */
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ /* Sub-packet for SRTP extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ /* Sub-packet for the protection profile list */
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
end = sk_SRTP_PROTECTION_PROFILE_num(clnt);
for (i = 0; i < end; i++) {
- const SRTP_PROTECTION_PROFILE *prof =
- sk_SRTP_PROTECTION_PROFILE_value(clnt, i);
+ const SRTP_PROTECTION_PROFILE *prof = sk_SRTP_PROTECTION_PROFILE_value(clnt, i);
if (prof == NULL || !WPACKET_put_bytes_u16(pkt, prof->id)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -506,9 +502,9 @@ EXT_RETURN tls_construct_ctos_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
}
}
if (!WPACKET_close(pkt)
- /* Add an empty use_mki value */
- || !WPACKET_put_bytes_u8(pkt, 0)
- || !WPACKET_close(pkt)) {
+ /* Add an empty use_mki value */
+ || !WPACKET_put_bytes_u8(pkt, 0)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -518,14 +514,14 @@ EXT_RETURN tls_construct_ctos_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
#endif
EXT_RETURN tls_construct_ctos_etm(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (s->options & SSL_OP_NO_ENCRYPT_THEN_MAC)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_encrypt_then_mac)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -535,8 +531,8 @@ EXT_RETURN tls_construct_ctos_etm(SSL_CONNECTION *s, WPACKET *pkt,
#ifndef OPENSSL_NO_CT
EXT_RETURN tls_construct_ctos_sct(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (s->ct_validation_callback == NULL)
return EXT_RETURN_NOT_SENT;
@@ -546,7 +542,7 @@ EXT_RETURN tls_construct_ctos_sct(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_signed_certificate_timestamp)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -556,14 +552,14 @@ EXT_RETURN tls_construct_ctos_sct(SSL_CONNECTION *s, WPACKET *pkt,
#endif
EXT_RETURN tls_construct_ctos_ems(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (s->options & SSL_OP_NO_EXTENDED_MASTER_SECRET)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_extended_master_secret)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -572,8 +568,8 @@ EXT_RETURN tls_construct_ctos_ems(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_supported_versions(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
int currv, min_version, max_version, reason;
@@ -591,8 +587,8 @@ EXT_RETURN tls_construct_ctos_supported_versions(SSL_CONNECTION *s, WPACKET *pkt
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_supported_versions)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u8(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u8(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -615,19 +611,19 @@ EXT_RETURN tls_construct_ctos_supported_versions(SSL_CONNECTION *s, WPACKET *pkt
* Construct a psk_kex_modes extension.
*/
EXT_RETURN tls_construct_ctos_psk_kex_modes(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
int nodhe = s->options & SSL_OP_ALLOW_NO_DHE_KEX;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_psk_kex_modes)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u8(pkt)
- || !WPACKET_put_bytes_u8(pkt, TLSEXT_KEX_MODE_KE_DHE)
- || (nodhe && !WPACKET_put_bytes_u8(pkt, TLSEXT_KEX_MODE_KE))
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u8(pkt)
+ || !WPACKET_put_bytes_u8(pkt, TLSEXT_KEX_MODE_KE_DHE)
+ || (nodhe && !WPACKET_put_bytes_u8(pkt, TLSEXT_KEX_MODE_KE))
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -667,7 +663,7 @@ static int add_key_share(SSL_CONNECTION *s, WPACKET *pkt, unsigned int group_id,
/* Encode the public key. */
encodedlen = EVP_PKEY_get1_encoded_public_key(key_share_key,
- &encoded_pubkey);
+ &encoded_pubkey);
if (encodedlen == 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EC_LIB);
goto err;
@@ -675,7 +671,7 @@ static int add_key_share(SSL_CONNECTION *s, WPACKET *pkt, unsigned int group_id,
/* Create KeyShareEntry */
if (!WPACKET_put_bytes_u16(pkt, group_id)
- || !WPACKET_sub_memcpy_u16(pkt, encoded_pubkey, encodedlen)) {
+ || !WPACKET_sub_memcpy_u16(pkt, encoded_pubkey, encodedlen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -694,7 +690,7 @@ static int add_key_share(SSL_CONNECTION *s, WPACKET *pkt, unsigned int group_id,
OPENSSL_free(encoded_pubkey);
return 1;
- err:
+err:
if (key_share_key != s->s3.tmp.ks_pkey[loop_num])
EVP_PKEY_free(key_share_key);
OPENSSL_free(encoded_pubkey);
@@ -703,8 +699,8 @@ static int add_key_share(SSL_CONNECTION *s, WPACKET *pkt, unsigned int group_id,
#endif
EXT_RETURN tls_construct_ctos_key_share(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
size_t i, num_groups = 0;
@@ -715,10 +711,10 @@ EXT_RETURN tls_construct_ctos_key_share(SSL_CONNECTION *s, WPACKET *pkt,
/* key_share extension */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_key_share)
- /* Extension data sub-packet */
- || !WPACKET_start_sub_packet_u16(pkt)
- /* KeyShare list sub-packet */
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ /* Extension data sub-packet */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ /* KeyShare list sub-packet */
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -754,7 +750,7 @@ EXT_RETURN tls_construct_ctos_key_share(SSL_CONNECTION *s, WPACKET *pkt,
if (!tls_group_allowed(s, pgroups[i], SSL_SECOP_CURVE_SUPPORTED))
continue;
if (!tls_valid_group(s, pgroups[i], TLS1_3_VERSION, TLS1_3_VERSION,
- 0, NULL))
+ 0, NULL))
continue;
group_id = pgroups[i];
@@ -790,8 +786,8 @@ EXT_RETURN tls_construct_ctos_key_share(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_cookie(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
EXT_RETURN ret = EXT_RETURN_FAIL;
@@ -800,17 +796,17 @@ EXT_RETURN tls_construct_ctos_cookie(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_cookie)
- /* Extension data sub-packet */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u16(pkt, s->ext.tls13_cookie,
- s->ext.tls13_cookie_len)
- || !WPACKET_close(pkt)) {
+ /* Extension data sub-packet */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u16(pkt, s->ext.tls13_cookie,
+ s->ext.tls13_cookie_len)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto end;
}
ret = EXT_RETURN_SENT;
- end:
+end:
OPENSSL_free(s->ext.tls13_cookie);
s->ext.tls13_cookie = NULL;
s->ext.tls13_cookie_len = 0;
@@ -819,12 +815,12 @@ EXT_RETURN tls_construct_ctos_cookie(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
#ifndef OPENSSL_NO_PSK
char identity[PSK_MAX_IDENTITY_LEN + 1];
-#endif /* OPENSSL_NO_PSK */
+#endif /* OPENSSL_NO_PSK */
const unsigned char *id = NULL;
size_t idlen = 0;
SSL_SESSION *psksess = NULL;
@@ -836,9 +832,9 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
handmd = ssl_handshake_md(s);
if (s->psk_use_session_cb != NULL
- && (!s->psk_use_session_cb(ussl, handmd, &id, &idlen, &psksess)
- || (psksess != NULL
- && psksess->ssl_version != TLS1_3_VERSION))) {
+ && (!s->psk_use_session_cb(ussl, handmd, &id, &idlen, &psksess)
+ || (psksess != NULL
+ && psksess->ssl_version != TLS1_3_VERSION))) {
SSL_SESSION_free(psksess);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_PSK);
return EXT_RETURN_FAIL;
@@ -851,8 +847,8 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
memset(identity, 0, sizeof(identity));
psklen = s->psk_client_callback(ussl, NULL,
- identity, sizeof(identity) - 1,
- psk, sizeof(psk));
+ identity, sizeof(identity) - 1,
+ psk, sizeof(psk));
if (psklen > PSK_MAX_PSK_LEN) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, ERR_R_INTERNAL_ERROR);
@@ -873,7 +869,7 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
* the digest so we default to SHA256 as per the TLSv1.3 spec
*/
cipher = SSL_CIPHER_find(SSL_CONNECTION_GET_SSL(s),
- tls13_aes128gcmsha256_id);
+ tls13_aes128gcmsha256_id);
if (cipher == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
@@ -881,9 +877,9 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
psksess = SSL_SESSION_new();
if (psksess == NULL
- || !SSL_SESSION_set1_master_key(psksess, psk, psklen)
- || !SSL_SESSION_set_cipher(psksess, cipher)
- || !SSL_SESSION_set_protocol_version(psksess, TLS1_3_VERSION)) {
+ || !SSL_SESSION_set1_master_key(psksess, psk, psklen)
+ || !SSL_SESSION_set_cipher(psksess, cipher)
+ || !SSL_SESSION_set_protocol_version(psksess, TLS1_3_VERSION)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
OPENSSL_cleanse(psk, psklen);
return EXT_RETURN_FAIL;
@@ -891,7 +887,7 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
OPENSSL_cleanse(psk, psklen);
}
}
-#endif /* OPENSSL_NO_PSK */
+#endif /* OPENSSL_NO_PSK */
SSL_SESSION_free(s->psksession);
s->psksession = psksess;
@@ -907,8 +903,8 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
}
if (s->early_data_state != SSL_EARLY_DATA_CONNECTING
- || (s->session->ext.max_early_data == 0
- && (psksess == NULL || psksess->ext.max_early_data == 0))) {
+ || (s->session->ext.max_early_data == 0
+ && (psksess == NULL || psksess->ext.max_early_data == 0))) {
s->max_early_data = 0;
return EXT_RETURN_NOT_SENT;
}
@@ -917,10 +913,10 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
if (edsess->ext.hostname != NULL) {
if (s->ext.hostname == NULL
- || (s->ext.hostname != NULL
- && strcmp(s->ext.hostname, edsess->ext.hostname) != 0)) {
+ || (s->ext.hostname != NULL
+ && strcmp(s->ext.hostname, edsess->ext.hostname) != 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_INCONSISTENT_EARLY_DATA_SNI);
+ SSL_R_INCONSISTENT_EARLY_DATA_SNI);
return EXT_RETURN_FAIL;
}
}
@@ -944,21 +940,21 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
}
while (PACKET_get_length_prefixed_1(&prots, &alpnpkt)) {
if (PACKET_equal(&alpnpkt, edsess->ext.alpn_selected,
- edsess->ext.alpn_selected_len)) {
+ edsess->ext.alpn_selected_len)) {
found = 1;
break;
}
}
if (!found) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_INCONSISTENT_EARLY_DATA_ALPN);
+ SSL_R_INCONSISTENT_EARLY_DATA_ALPN);
return EXT_RETURN_FAIL;
}
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_early_data)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -973,8 +969,8 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_SENT;
}
-#define F5_WORKAROUND_MIN_MSG_LEN 0xff
-#define F5_WORKAROUND_MAX_MSG_LEN 0x200
+#define F5_WORKAROUND_MIN_MSG_LEN 0xff
+#define F5_WORKAROUND_MAX_MSG_LEN 0x200
/*
* PSK pre binder overhead =
@@ -991,8 +987,8 @@ EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
#define PSK_PRE_BINDER_OVERHEAD (2 + 2 + 2 + 2 + 4 + 2 + 1)
EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
unsigned char *padbytes;
size_t hlen;
@@ -1016,10 +1012,10 @@ EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,
* extension, so we need to calculate how long it is going to be.
*/
if (s->session->ssl_version == TLS1_3_VERSION
- && s->session->ext.ticklen != 0
- && s->session->cipher != NULL) {
+ && s->session->ext.ticklen != 0
+ && s->session->cipher != NULL) {
const EVP_MD *md = ssl_md(SSL_CONNECTION_GET_CTX(s),
- s->session->cipher->algorithm2);
+ s->session->cipher->algorithm2);
if (md != NULL) {
/*
@@ -1030,8 +1026,8 @@ EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,
if (md_size <= 0)
return EXT_RETURN_FAIL;
- hlen += PSK_PRE_BINDER_OVERHEAD + s->session->ext.ticklen
- + md_size;
+ hlen += PSK_PRE_BINDER_OVERHEAD + s->session->ext.ticklen
+ + md_size;
}
}
@@ -1051,7 +1047,7 @@ EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,
hlen = 1;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_padding)
- || !WPACKET_sub_allocate_bytes_u16(pkt, hlen, &padbytes)) {
+ || !WPACKET_sub_allocate_bytes_u16(pkt, hlen, &padbytes)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1065,8 +1061,8 @@ EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,
* Construct the pre_shared_key extension
*/
EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
uint32_t agesec, agems = 0;
@@ -1091,7 +1087,7 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
* so don't add this extension.
*/
if (s->session->ssl_version != TLS1_3_VERSION
- || (s->session->ext.ticklen == 0 && s->psksession == NULL))
+ || (s->session->ext.ticklen == 0 && s->psksession == NULL))
return EXT_RETURN_NOT_SENT;
if (s->hello_retry_request == SSL_HRR_PENDING)
@@ -1173,7 +1169,7 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
dores = 1;
}
- dopsksess:
+dopsksess:
if (!dores && s->psksession == NULL)
return EXT_RETURN_NOT_SENT;
@@ -1206,16 +1202,16 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
/* Create the extension, but skip over the binder for now */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_psk)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
if (dores) {
if (!WPACKET_sub_memcpy_u16(pkt, s->session->ext.tick,
- s->session->ext.ticklen)
- || !WPACKET_put_bytes_u32(pkt, agems)) {
+ s->session->ext.ticklen)
+ || !WPACKET_put_bytes_u32(pkt, agems)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1223,8 +1219,8 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
if (s->psksession != NULL) {
if (!WPACKET_sub_memcpy_u16(pkt, s->psksession_id,
- s->psksession_id_len)
- || !WPACKET_put_bytes_u32(pkt, 0)) {
+ s->psksession_id_len)
+ || !WPACKET_put_bytes_u32(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1232,20 +1228,20 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_close(pkt)
- || !WPACKET_get_total_written(pkt, &binderoffset)
- || !WPACKET_start_sub_packet_u16(pkt)
- || (dores
- && !WPACKET_sub_allocate_bytes_u8(pkt, reshashsize, &resbinder))
- || (s->psksession != NULL
- && !WPACKET_sub_allocate_bytes_u8(pkt, pskhashsize, &pskbinder))
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)
- || !WPACKET_get_total_written(pkt, &msglen)
- /*
- * We need to fill in all the sub-packet lengths now so we can
- * calculate the HMAC of the message up to the binders
- */
- || !WPACKET_fill_lengths(pkt)) {
+ || !WPACKET_get_total_written(pkt, &binderoffset)
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || (dores
+ && !WPACKET_sub_allocate_bytes_u8(pkt, reshashsize, &resbinder))
+ || (s->psksession != NULL
+ && !WPACKET_sub_allocate_bytes_u8(pkt, pskhashsize, &pskbinder))
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)
+ || !WPACKET_get_total_written(pkt, &msglen)
+ /*
+ * We need to fill in all the sub-packet lengths now so we can
+ * calculate the HMAC of the message up to the binders
+ */
+ || !WPACKET_fill_lengths(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1253,15 +1249,17 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
msgstart = WPACKET_get_curr(pkt) - msglen;
if (dores
- && tls_psk_do_binder(s, mdres, msgstart, binderoffset, NULL,
- resbinder, s->session, 1, 0) != 1) {
+ && tls_psk_do_binder(s, mdres, msgstart, binderoffset, NULL,
+ resbinder, s->session, 1, 0)
+ != 1) {
/* SSLfatal() already called */
return EXT_RETURN_FAIL;
}
if (s->psksession != NULL
- && tls_psk_do_binder(s, mdpsk, msgstart, binderoffset, NULL,
- pskbinder, s->psksession, 1, 1) != 1) {
+ && tls_psk_do_binder(s, mdpsk, msgstart, binderoffset, NULL,
+ pskbinder, s->psksession, 1, 1)
+ != 1) {
/* SSLfatal() already called */
return EXT_RETURN_FAIL;
}
@@ -1273,9 +1271,9 @@ EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_ctos_post_handshake_auth(SSL_CONNECTION *s, WPACKET *pkt,
- ossl_unused unsigned int context,
- ossl_unused X509 *x,
- ossl_unused size_t chainidx)
+ ossl_unused unsigned int context,
+ ossl_unused X509 *x,
+ ossl_unused size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
if (!s->pha_enabled)
@@ -1283,8 +1281,8 @@ EXT_RETURN tls_construct_ctos_post_handshake_auth(SSL_CONNECTION *s, WPACKET *pk
/* construct extension - 0 length, no contents */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_post_handshake_auth)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1297,13 +1295,12 @@ EXT_RETURN tls_construct_ctos_post_handshake_auth(SSL_CONNECTION *s, WPACKET *pk
#endif
}
-
/*
* Parse the server's renegotiation binding and abort if it's not right
*/
int tls_parse_stoc_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
size_t expected_len = s->s3.previous_client_finished_len
+ s->s3.previous_server_finished_len;
@@ -1312,9 +1309,9 @@ int tls_parse_stoc_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
/* Check for logic errors */
if (!ossl_assert(expected_len == 0
- || s->s3.previous_client_finished_len != 0)
+ || s->s3.previous_client_finished_len != 0)
|| !ossl_assert(expected_len == 0
- || s->s3.previous_server_finished_len != 0)) {
+ || s->s3.previous_server_finished_len != 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1339,14 +1336,16 @@ int tls_parse_stoc_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
if (!PACKET_get_bytes(pkt, &data, s->s3.previous_client_finished_len)
|| memcmp(data, s->s3.previous_client_finished,
- s->s3.previous_client_finished_len) != 0) {
+ s->s3.previous_client_finished_len)
+ != 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_RENEGOTIATION_MISMATCH);
return 0;
}
if (!PACKET_get_bytes(pkt, &data, s->s3.previous_server_finished_len)
|| memcmp(data, s->s3.previous_server_finished,
- s->s3.previous_server_finished_len) != 0) {
+ s->s3.previous_server_finished_len)
+ != 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_RENEGOTIATION_MISMATCH);
return 0;
}
@@ -1357,8 +1356,8 @@ int tls_parse_stoc_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
/* Parse the server's max fragment len extension packet */
int tls_parse_stoc_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
unsigned int value;
@@ -1370,7 +1369,7 @@ int tls_parse_stoc_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
/* |value| should contains a valid max-fragment-length code. */
if (!IS_MAX_FRAGMENT_LENGTH_EXT_VALID(value)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
+ SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
return 0;
}
@@ -1382,7 +1381,7 @@ int tls_parse_stoc_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
*/
if (value != s->ext.max_fragment_len_mode) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
+ SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
return 0;
}
@@ -1396,8 +1395,8 @@ int tls_parse_stoc_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_stoc_server_name(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (s->ext.hostname == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1425,8 +1424,8 @@ int tls_parse_stoc_server_name(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_stoc_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
size_t ecpointformats_len;
PACKET ecptformatlist;
@@ -1454,8 +1453,8 @@ int tls_parse_stoc_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
s->ext.peer_ecpointformats_len = ecpointformats_len;
if (!PACKET_copy_bytes(&ecptformatlist,
- s->ext.peer_ecpointformats,
- ecpointformats_len)) {
+ s->ext.peer_ecpointformats,
+ ecpointformats_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1465,15 +1464,12 @@ int tls_parse_stoc_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_stoc_session_ticket(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s);
- if (s->ext.session_ticket_cb != NULL &&
- !s->ext.session_ticket_cb(ssl, PACKET_data(pkt),
- PACKET_remaining(pkt),
- s->ext.session_ticket_cb_arg)) {
+ if (s->ext.session_ticket_cb != NULL && !s->ext.session_ticket_cb(ssl, PACKET_data(pkt), PACKET_remaining(pkt), s->ext.session_ticket_cb_arg)) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -1494,8 +1490,8 @@ int tls_parse_stoc_session_ticket(SSL_CONNECTION *s, PACKET *pkt,
#ifndef OPENSSL_NO_OCSP
int tls_parse_stoc_status_request(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (context == SSL_EXT_TLS1_3_CERTIFICATE_REQUEST) {
/* We ignore this if the server sends a CertificateRequest */
@@ -1533,10 +1529,9 @@ int tls_parse_stoc_status_request(SSL_CONNECTION *s, PACKET *pkt,
}
#endif
-
#ifndef OPENSSL_NO_CT
int tls_parse_stoc_sct(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
if (context == SSL_EXT_TLS1_3_CERTIFICATE_REQUEST) {
/* We ignore this if the server sends it in a CertificateRequest */
@@ -1570,23 +1565,25 @@ int tls_parse_stoc_sct(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
} else {
ENDPOINT role = (context & SSL_EXT_TLS1_2_SERVER_HELLO) != 0
- ? ENDPOINT_CLIENT : ENDPOINT_BOTH;
+ ? ENDPOINT_CLIENT
+ : ENDPOINT_BOTH;
/*
* If we didn't ask for it then there must be a custom extension,
* otherwise this is unsolicited.
*/
if (custom_ext_find(&s->cert->custext, role,
- TLSEXT_TYPE_signed_certificate_timestamp,
- NULL) == NULL) {
+ TLSEXT_TYPE_signed_certificate_timestamp,
+ NULL)
+ == NULL) {
SSLfatal(s, TLS1_AD_UNSUPPORTED_EXTENSION, SSL_R_BAD_EXTENSION);
return 0;
}
if (!custom_ext_parse(s, context,
- TLSEXT_TYPE_signed_certificate_timestamp,
- PACKET_data(pkt), PACKET_remaining(pkt),
- x, chainidx)) {
+ TLSEXT_TYPE_signed_certificate_timestamp,
+ PACKET_data(pkt), PACKET_remaining(pkt),
+ x, chainidx)) {
/* SSLfatal already called */
return 0;
}
@@ -1596,7 +1593,6 @@ int tls_parse_stoc_sct(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
#endif
-
#ifndef OPENSSL_NO_NEXTPROTONEG
/*
* ssl_next_proto_validate validates a Next Protocol Negotiation block. No
@@ -1619,7 +1615,7 @@ static int ssl_next_proto_validate(SSL_CONNECTION *s, PACKET *pkt)
}
int tls_parse_stoc_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
unsigned char *selected;
unsigned char selected_len;
@@ -1643,10 +1639,11 @@ int tls_parse_stoc_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
return 0;
}
if (sctx->ext.npn_select_cb(SSL_CONNECTION_GET_USER_SSL(s),
- &selected, &selected_len,
- PACKET_data(pkt), PACKET_remaining(pkt),
- sctx->ext.npn_select_cb_arg) != SSL_TLSEXT_ERR_OK
- || selected_len == 0) {
+ &selected, &selected_len,
+ PACKET_data(pkt), PACKET_remaining(pkt),
+ sctx->ext.npn_select_cb_arg)
+ != SSL_TLSEXT_ERR_OK
+ || selected_len == 0) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -1672,7 +1669,7 @@ int tls_parse_stoc_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
#endif
int tls_parse_stoc_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
size_t len;
PACKET confpkt, protpkt;
@@ -1731,9 +1728,9 @@ int tls_parse_stoc_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
s->s3.alpn_selected_len = len;
if (s->session->ext.alpn_selected == NULL
- || s->session->ext.alpn_selected_len != len
- || memcmp(s->session->ext.alpn_selected, s->s3.alpn_selected, len)
- != 0) {
+ || s->session->ext.alpn_selected_len != len
+ || memcmp(s->session->ext.alpn_selected, s->s3.alpn_selected, len)
+ != 0) {
/* ALPN not consistent with the old session so cannot use early_data */
s->ext.early_data_ok = 0;
}
@@ -1746,8 +1743,7 @@ int tls_parse_stoc_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
- s->session->ext.alpn_selected =
- OPENSSL_memdup(s->s3.alpn_selected, s->s3.alpn_selected_len);
+ s->session->ext.alpn_selected = OPENSSL_memdup(s->s3.alpn_selected, s->s3.alpn_selected_len);
if (s->session->ext.alpn_selected == NULL) {
s->session->ext.alpn_selected_len = 0;
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1761,7 +1757,7 @@ int tls_parse_stoc_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
#ifndef OPENSSL_NO_SRTP
int tls_parse_stoc_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx)
+ unsigned int context, X509 *x, size_t chainidx)
{
unsigned int id, ct, mki;
int i;
@@ -1769,11 +1765,11 @@ int tls_parse_stoc_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
SRTP_PROTECTION_PROFILE *prof;
if (!PACKET_get_net_2(pkt, &ct) || ct != 2
- || !PACKET_get_net_2(pkt, &id)
- || !PACKET_get_1(pkt, &mki)
- || PACKET_remaining(pkt) != 0) {
+ || !PACKET_get_net_2(pkt, &id)
+ || !PACKET_get_1(pkt, &mki)
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
+ SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
return 0;
}
@@ -1804,29 +1800,29 @@ int tls_parse_stoc_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
}
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
+ SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
return 0;
}
#endif
int tls_parse_stoc_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
/* Ignore if inappropriate ciphersuite */
if (!(s->options & SSL_OP_NO_ENCRYPT_THEN_MAC)
- && s->s3.tmp.new_cipher->algorithm_mac != SSL_AEAD
- && s->s3.tmp.new_cipher->algorithm_enc != SSL_RC4
- && s->s3.tmp.new_cipher->algorithm_enc != SSL_eGOST2814789CNT
- && s->s3.tmp.new_cipher->algorithm_enc != SSL_eGOST2814789CNT12
- && s->s3.tmp.new_cipher->algorithm_enc != SSL_MAGMA
- && s->s3.tmp.new_cipher->algorithm_enc != SSL_KUZNYECHIK)
+ && s->s3.tmp.new_cipher->algorithm_mac != SSL_AEAD
+ && s->s3.tmp.new_cipher->algorithm_enc != SSL_RC4
+ && s->s3.tmp.new_cipher->algorithm_enc != SSL_eGOST2814789CNT
+ && s->s3.tmp.new_cipher->algorithm_enc != SSL_eGOST2814789CNT12
+ && s->s3.tmp.new_cipher->algorithm_enc != SSL_MAGMA
+ && s->s3.tmp.new_cipher->algorithm_enc != SSL_KUZNYECHIK)
s->ext.use_etm = 1;
return 1;
}
int tls_parse_stoc_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
if (s->options & SSL_OP_NO_EXTENDED_MASTER_SECRET)
return 1;
@@ -1838,13 +1834,13 @@ int tls_parse_stoc_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
int tls_parse_stoc_supported_versions(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
unsigned int version;
if (!PACKET_get_net_2(pkt, &version)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
return 0;
}
@@ -1855,7 +1851,7 @@ int tls_parse_stoc_supported_versions(SSL_CONNECTION *s, PACKET *pkt,
*/
if (version != TLS1_3_VERSION) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_BAD_PROTOCOL_VERSION_NUMBER);
+ SSL_R_BAD_PROTOCOL_VERSION_NUMBER);
return 0;
}
@@ -1874,8 +1870,8 @@ int tls_parse_stoc_supported_versions(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
unsigned int group_id;
@@ -1924,9 +1920,9 @@ int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,
break;
}
if (i >= num_groups
- || !tls_group_allowed(s, group_id, SSL_SECOP_CURVE_SUPPORTED)
- || !tls_valid_group(s, group_id, TLS1_3_VERSION, TLS1_3_VERSION,
- 0, NULL)) {
+ || !tls_group_allowed(s, group_id, SSL_SECOP_CURVE_SUPPORTED)
+ || !tls_valid_group(s, group_id, TLS1_3_VERSION, TLS1_3_VERSION,
+ 0, NULL)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_KEY_SHARE);
return 0;
}
@@ -1992,13 +1988,14 @@ int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,
}
if ((ginf = tls1_group_id_lookup(SSL_CONNECTION_GET_CTX(s),
- group_id)) == NULL) {
+ group_id))
+ == NULL) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_KEY_SHARE);
return 0;
}
if (!PACKET_as_length_prefixed_2(pkt, &encoded_pt)
- || PACKET_remaining(&encoded_pt) == 0) {
+ || PACKET_remaining(&encoded_pt) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
return 0;
}
@@ -2013,7 +2010,8 @@ int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,
}
if (tls13_set_encoded_pub_key(skey, PACKET_data(&encoded_pt),
- PACKET_remaining(&encoded_pt)) <= 0) {
+ PACKET_remaining(&encoded_pt))
+ <= 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_ECPOINT);
EVP_PKEY_free(skey);
return 0;
@@ -2042,13 +2040,13 @@ int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_stoc_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
PACKET cookie;
if (!PACKET_as_length_prefixed_2(pkt, &cookie)
- || !PACKET_memdup(&cookie, &s->ext.tls13_cookie,
- &s->ext.tls13_cookie_len)) {
+ || !PACKET_memdup(&cookie, &s->ext.tls13_cookie,
+ &s->ext.tls13_cookie_len)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
return 0;
}
@@ -2057,14 +2055,14 @@ int tls_parse_stoc_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
int tls_parse_stoc_early_data(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (context == SSL_EXT_TLS1_3_NEW_SESSION_TICKET) {
unsigned long max_early_data;
if (!PACKET_get_net_4(pkt, &max_early_data)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_INVALID_MAX_EARLY_DATA);
return 0;
}
@@ -2096,7 +2094,7 @@ int tls_parse_stoc_early_data(SSL_CONNECTION *s, PACKET *pkt,
}
if (!s->ext.early_data_ok
- || !s->hit) {
+ || !s->hit) {
/*
* If we get here then we didn't send early data, or we didn't resume
* using the first identity, or the SNI/ALPN is not consistent so the
@@ -2112,8 +2110,8 @@ int tls_parse_stoc_early_data(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_stoc_psk(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
unsigned int identity;
@@ -2152,9 +2150,9 @@ int tls_parse_stoc_psk(SSL_CONNECTION *s, PACKET *pkt,
* early_secret across that we generated earlier.
*/
if ((s->early_data_state != SSL_EARLY_DATA_WRITE_RETRY
- && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING)
- || s->session->ext.max_early_data > 0
- || s->psksession->ext.max_early_data == 0)
+ && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING)
+ || s->session->ext.max_early_data > 0
+ || s->psksession->ext.max_early_data == 0)
memcpy(s->early_secret, s->psksession->early_secret, EVP_MAX_MD_SIZE);
SSL_SESSION_free(s->session);
@@ -2170,17 +2168,17 @@ int tls_parse_stoc_psk(SSL_CONNECTION *s, PACKET *pkt,
}
EXT_RETURN tls_construct_ctos_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
sc->ext.client_cert_type_ctos = OSSL_CERT_TYPE_CTOS_NONE;
if (sc->client_cert_type == NULL)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_client_cert_type)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u8(pkt, sc->client_cert_type, sc->client_cert_type_len)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u8(pkt, sc->client_cert_type, sc->client_cert_type_len)
+ || !WPACKET_close(pkt)) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2189,8 +2187,8 @@ EXT_RETURN tls_construct_ctos_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
}
int tls_parse_stoc_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
unsigned int type;
@@ -2222,17 +2220,17 @@ int tls_parse_stoc_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
}
EXT_RETURN tls_construct_ctos_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
sc->ext.server_cert_type_ctos = OSSL_CERT_TYPE_CTOS_NONE;
if (sc->server_cert_type == NULL)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_server_cert_type)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u8(pkt, sc->server_cert_type, sc->server_cert_type_len)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u8(pkt, sc->server_cert_type, sc->server_cert_type_len)
+ || !WPACKET_close(pkt)) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2241,8 +2239,8 @@ EXT_RETURN tls_construct_ctos_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
}
int tls_parse_stoc_server_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
unsigned int type;
diff --git a/crypto/openssl/ssl/statem/extensions_cust.c b/crypto/openssl/ssl/statem/extensions_cust.c
index aa352529c4cc..ce1c69bbdc1d 100644
--- a/crypto/openssl/ssl/statem/extensions_cust.c
+++ b/crypto/openssl/ssl/statem/extensions_cust.c
@@ -30,10 +30,10 @@ typedef struct {
* Provide thin wrapper callbacks which convert new style arguments to old style
*/
static int custom_ext_add_old_cb_wrap(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char **out,
- size_t *outlen, X509 *x, size_t chainidx,
- int *al, void *add_arg)
+ unsigned int context,
+ const unsigned char **out,
+ size_t *outlen, X509 *x, size_t chainidx,
+ int *al, void *add_arg)
{
custom_ext_add_cb_wrap *add_cb_wrap = (custom_ext_add_cb_wrap *)add_arg;
@@ -41,12 +41,12 @@ static int custom_ext_add_old_cb_wrap(SSL *s, unsigned int ext_type,
return 1;
return add_cb_wrap->add_cb(s, ext_type, out, outlen, al,
- add_cb_wrap->add_arg);
+ add_cb_wrap->add_arg);
}
static void custom_ext_free_old_cb_wrap(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char *out, void *add_arg)
+ unsigned int context,
+ const unsigned char *out, void *add_arg)
{
custom_ext_add_cb_wrap *add_cb_wrap = (custom_ext_add_cb_wrap *)add_arg;
@@ -57,19 +57,18 @@ static void custom_ext_free_old_cb_wrap(SSL *s, unsigned int ext_type,
}
static int custom_ext_parse_old_cb_wrap(SSL *s, unsigned int ext_type,
- unsigned int context,
- const unsigned char *in,
- size_t inlen, X509 *x, size_t chainidx,
- int *al, void *parse_arg)
+ unsigned int context,
+ const unsigned char *in,
+ size_t inlen, X509 *x, size_t chainidx,
+ int *al, void *parse_arg)
{
- custom_ext_parse_cb_wrap *parse_cb_wrap =
- (custom_ext_parse_cb_wrap *)parse_arg;
+ custom_ext_parse_cb_wrap *parse_cb_wrap = (custom_ext_parse_cb_wrap *)parse_arg;
if (parse_cb_wrap->parse_cb == NULL)
return 1;
return parse_cb_wrap->parse_cb(s, ext_type, in, inlen, al,
- parse_cb_wrap->parse_arg);
+ parse_cb_wrap->parse_arg);
}
/*
@@ -80,16 +79,16 @@ static int custom_ext_parse_old_cb_wrap(SSL *s, unsigned int ext_type,
* client, or ENDPOINT_BOTH for either
*/
custom_ext_method *custom_ext_find(const custom_ext_methods *exts,
- ENDPOINT role, unsigned int ext_type,
- size_t *idx)
+ ENDPOINT role, unsigned int ext_type,
+ size_t *idx)
{
size_t i;
custom_ext_method *meth = exts->meths;
for (i = 0; i < exts->meths_count; i++, meth++) {
if (ext_type == meth->ext_type
- && (role == ENDPOINT_BOTH || role == meth->role
- || meth->role == ENDPOINT_BOTH)) {
+ && (role == ENDPOINT_BOTH || role == meth->role
+ || meth->role == ENDPOINT_BOTH)) {
if (idx != NULL)
*idx = i;
return meth;
@@ -112,9 +111,9 @@ void custom_ext_init(custom_ext_methods *exts)
/* Pass received custom extension data to the application for parsing. */
int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,
- unsigned int ext_type,
- const unsigned char *ext_data, size_t ext_size, X509 *x,
- size_t chainidx)
+ unsigned int ext_type,
+ const unsigned char *ext_data, size_t ext_size, X509 *x,
+ size_t chainidx)
{
int al = 0;
custom_ext_methods *exts = &s->cert->custext;
@@ -133,9 +132,7 @@ int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,
if (!extension_is_relevant(s, meth->context, context))
return 1;
- if ((context & (SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_SERVER_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS)) != 0) {
+ if ((context & (SSL_EXT_TLS1_2_SERVER_HELLO | SSL_EXT_TLS1_3_SERVER_HELLO | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS)) != 0) {
/*
* If it's ServerHello or EncryptedExtensions we can't have any
* extensions not sent in ClientHello.
@@ -152,7 +149,7 @@ int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,
* extensions in the response messages
*/
if ((context & (SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_3_CERTIFICATE_REQUEST))
- != 0)
+ != 0)
meth->ext_flags |= SSL_EXT_FLAG_RECEIVED;
/* If no parse function set return success */
@@ -160,7 +157,8 @@ int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,
return 1;
if (meth->parse_cb(SSL_CONNECTION_GET_USER_SSL(s), ext_type, context, ext_data,
- ext_size, x, chainidx, &al, meth->parse_arg) <= 0) {
+ ext_size, x, chainidx, &al, meth->parse_arg)
+ <= 0) {
SSLfatal(s, al, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -173,7 +171,7 @@ int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,
* buffer.
*/
int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509 *x,
- size_t chainidx, int maxversion)
+ size_t chainidx, int maxversion)
{
custom_ext_methods *exts = &s->cert->custext;
custom_ext_method *meth;
@@ -190,12 +188,7 @@ int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509 *x,
if (!should_add_extension(s, meth->context, context, maxversion))
continue;
- if ((context & (SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_SERVER_HELLO
- | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS
- | SSL_EXT_TLS1_3_CERTIFICATE
- | SSL_EXT_TLS1_3_RAW_PUBLIC_KEY
- | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST)) != 0) {
+ if ((context & (SSL_EXT_TLS1_2_SERVER_HELLO | SSL_EXT_TLS1_3_SERVER_HELLO | SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS | SSL_EXT_TLS1_3_CERTIFICATE | SSL_EXT_TLS1_3_RAW_PUBLIC_KEY | SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST)) != 0) {
/* Only send extensions present in ClientHello/CertificateRequest */
if (!(meth->ext_flags & SSL_EXT_FLAG_RECEIVED))
continue;
@@ -209,26 +202,26 @@ int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509 *x,
if (meth->add_cb != NULL) {
int cb_retval = meth->add_cb(SSL_CONNECTION_GET_USER_SSL(s),
- meth->ext_type, context, &out,
- &outlen, x, chainidx, &al,
- meth->add_arg);
+ meth->ext_type, context, &out,
+ &outlen, x, chainidx, &al,
+ meth->add_arg);
if (cb_retval < 0) {
if (!for_comp)
SSLfatal(s, al, SSL_R_CALLBACK_FAILED);
- return 0; /* error */
+ return 0; /* error */
}
if (cb_retval == 0)
- continue; /* skip this extension */
+ continue; /* skip this extension */
}
if (!WPACKET_put_bytes_u16(pkt, meth->ext_type)
- || !WPACKET_start_sub_packet_u16(pkt)
- || (outlen > 0 && !WPACKET_memcpy(pkt, out, outlen))
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || (outlen > 0 && !WPACKET_memcpy(pkt, out, outlen))
+ || !WPACKET_close(pkt)) {
if (meth->free_cb != NULL)
meth->free_cb(SSL_CONNECTION_GET_USER_SSL(s), meth->ext_type,
- context, out, meth->add_arg);
+ context, out, meth->add_arg);
if (!for_comp)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -240,7 +233,7 @@ int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509 *x,
if (!ossl_assert((meth->ext_flags & SSL_EXT_FLAG_SENT) == 0)) {
if (meth->free_cb != NULL)
meth->free_cb(SSL_CONNECTION_GET_USER_SSL(s), meth->ext_type,
- context, out, meth->add_arg);
+ context, out, meth->add_arg);
if (!for_comp)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -254,21 +247,21 @@ int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509 *x,
}
if (meth->free_cb != NULL)
meth->free_cb(SSL_CONNECTION_GET_USER_SSL(s), meth->ext_type,
- context, out, meth->add_arg);
+ context, out, meth->add_arg);
}
return 1;
}
/* Copy the flags from src to dst for any extensions that exist in both */
int custom_exts_copy_flags(custom_ext_methods *dst,
- const custom_ext_methods *src)
+ const custom_ext_methods *src)
{
size_t i;
custom_ext_method *methsrc = src->meths;
for (i = 0; i < src->meths_count; i++, methsrc++) {
custom_ext_method *methdst = custom_ext_find(dst, methsrc->role,
- methsrc->ext_type, NULL);
+ methsrc->ext_type, NULL);
if (methdst == NULL)
continue;
@@ -281,8 +274,8 @@ int custom_exts_copy_flags(custom_ext_methods *dst,
/* Copy old style API wrapper arguments */
static void custom_ext_copy_old_cb(custom_ext_method *methdst,
- const custom_ext_method *methsrc,
- int *err)
+ const custom_ext_method *methsrc,
+ int *err)
{
if (methsrc->add_cb != custom_ext_add_old_cb_wrap)
return;
@@ -294,9 +287,9 @@ static void custom_ext_copy_old_cb(custom_ext_method *methdst,
}
methdst->add_arg = OPENSSL_memdup(methsrc->add_arg,
- sizeof(custom_ext_add_cb_wrap));
+ sizeof(custom_ext_add_cb_wrap));
methdst->parse_arg = OPENSSL_memdup(methsrc->parse_arg,
- sizeof(custom_ext_parse_cb_wrap));
+ sizeof(custom_ext_parse_cb_wrap));
if (methdst->add_arg == NULL || methdst->parse_arg == NULL)
*err = 1;
@@ -311,9 +304,8 @@ int custom_exts_copy(custom_ext_methods *dst, const custom_ext_methods *src)
int err = 0;
if (src->meths_count > 0) {
- dst->meths =
- OPENSSL_memdup(src->meths,
- sizeof(*src->meths) * src->meths_count);
+ dst->meths = OPENSSL_memdup(src->meths,
+ sizeof(*src->meths) * src->meths_count);
if (dst->meths == NULL)
return 0;
dst->meths_count = src->meths_count;
@@ -332,7 +324,7 @@ int custom_exts_copy(custom_ext_methods *dst, const custom_ext_methods *src)
/* Copy custom extensions that were set on connection */
int custom_exts_copy_conn(custom_ext_methods *dst,
- const custom_ext_methods *src)
+ const custom_ext_methods *src)
{
size_t i;
int err = 0;
@@ -345,10 +337,8 @@ int custom_exts_copy_conn(custom_ext_methods *dst,
meths_count++;
if (meths_count > 0) {
- custom_ext_method *methdst =
- OPENSSL_realloc(dst->meths,
- (dst->meths_count + meths_count) *
- sizeof(custom_ext_method));
+ custom_ext_method *methdst = OPENSSL_realloc(dst->meths,
+ (dst->meths_count + meths_count) * sizeof(custom_ext_method));
if (methdst == NULL)
return 0;
@@ -404,17 +394,18 @@ void custom_exts_free(custom_ext_methods *exts)
int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, unsigned int ext_type)
{
return custom_ext_find(&ctx->cert->custext, ENDPOINT_CLIENT, ext_type,
- NULL) != NULL;
+ NULL)
+ != NULL;
}
int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods *exts,
- ENDPOINT role, unsigned int ext_type,
- unsigned int context,
- SSL_custom_ext_add_cb_ex add_cb,
- SSL_custom_ext_free_cb_ex free_cb,
- void *add_arg,
- SSL_custom_ext_parse_cb_ex parse_cb,
- void *parse_arg)
+ ENDPOINT role, unsigned int ext_type,
+ unsigned int context,
+ SSL_custom_ext_add_cb_ex add_cb,
+ SSL_custom_ext_free_cb_ex free_cb,
+ void *add_arg,
+ SSL_custom_ext_parse_cb_ex parse_cb,
+ void *parse_arg)
{
custom_ext_method *meth, *tmp;
@@ -435,9 +426,9 @@ int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods *exts,
* these two things may not play well together.
*/
if (ext_type == TLSEXT_TYPE_signed_certificate_timestamp
- && (context & SSL_EXT_CLIENT_HELLO) != 0
- && ctx != NULL
- && SSL_CTX_ct_is_enabled(ctx))
+ && (context & SSL_EXT_CLIENT_HELLO) != 0
+ && ctx != NULL
+ && SSL_CTX_ct_is_enabled(ctx))
return 0;
#endif
@@ -446,7 +437,7 @@ int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods *exts,
* for extension types that previously were not supported, but now are.
*/
if (SSL_extension_supported(ext_type)
- && ext_type != TLSEXT_TYPE_signed_certificate_timestamp)
+ && ext_type != TLSEXT_TYPE_signed_certificate_timestamp)
return 0;
/* Extension type must fit in 16 bits */
@@ -456,7 +447,7 @@ int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods *exts,
if (custom_ext_find(exts, role, ext_type, NULL))
return 0;
tmp = OPENSSL_realloc(exts->meths,
- (exts->meths_count + 1) * sizeof(custom_ext_method));
+ (exts->meths_count + 1) * sizeof(custom_ext_method));
if (tmp == NULL)
return 0;
@@ -477,12 +468,12 @@ int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods *exts,
}
static int add_old_custom_ext(SSL_CTX *ctx, ENDPOINT role,
- unsigned int ext_type,
- unsigned int context,
- custom_ext_add_cb add_cb,
- custom_ext_free_cb free_cb,
- void *add_arg,
- custom_ext_parse_cb parse_cb, void *parse_arg)
+ unsigned int ext_type,
+ unsigned int context,
+ custom_ext_add_cb add_cb,
+ custom_ext_free_cb free_cb,
+ void *add_arg,
+ custom_ext_parse_cb parse_cb, void *parse_arg)
{
custom_ext_add_cb_wrap *add_cb_wrap
= OPENSSL_malloc(sizeof(*add_cb_wrap));
@@ -503,12 +494,12 @@ static int add_old_custom_ext(SSL_CTX *ctx, ENDPOINT role,
parse_cb_wrap->parse_cb = parse_cb;
ret = ossl_tls_add_custom_ext_intern(ctx, NULL, role, ext_type,
- context,
- custom_ext_add_old_cb_wrap,
- custom_ext_free_old_cb_wrap,
- add_cb_wrap,
- custom_ext_parse_old_cb_wrap,
- parse_cb_wrap);
+ context,
+ custom_ext_add_old_cb_wrap,
+ custom_ext_free_old_cb_wrap,
+ add_cb_wrap,
+ custom_ext_parse_old_cb_wrap,
+ parse_cb_wrap);
if (!ret) {
OPENSSL_free(add_cb_wrap);
@@ -520,43 +511,43 @@ static int add_old_custom_ext(SSL_CTX *ctx, ENDPOINT role,
/* Application level functions to add the old custom extension callbacks */
int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
- custom_ext_add_cb add_cb,
- custom_ext_free_cb free_cb,
- void *add_arg,
- custom_ext_parse_cb parse_cb, void *parse_arg)
+ custom_ext_add_cb add_cb,
+ custom_ext_free_cb free_cb,
+ void *add_arg,
+ custom_ext_parse_cb parse_cb, void *parse_arg)
{
return add_old_custom_ext(ctx, ENDPOINT_CLIENT, ext_type,
- SSL_EXT_TLS1_2_AND_BELOW_ONLY
- | SSL_EXT_CLIENT_HELLO
- | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_IGNORE_ON_RESUMPTION,
- add_cb, free_cb, add_arg, parse_cb, parse_arg);
+ SSL_EXT_TLS1_2_AND_BELOW_ONLY
+ | SSL_EXT_CLIENT_HELLO
+ | SSL_EXT_TLS1_2_SERVER_HELLO
+ | SSL_EXT_IGNORE_ON_RESUMPTION,
+ add_cb, free_cb, add_arg, parse_cb, parse_arg);
}
int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
- custom_ext_add_cb add_cb,
- custom_ext_free_cb free_cb,
- void *add_arg,
- custom_ext_parse_cb parse_cb, void *parse_arg)
+ custom_ext_add_cb add_cb,
+ custom_ext_free_cb free_cb,
+ void *add_arg,
+ custom_ext_parse_cb parse_cb, void *parse_arg)
{
return add_old_custom_ext(ctx, ENDPOINT_SERVER, ext_type,
- SSL_EXT_TLS1_2_AND_BELOW_ONLY
- | SSL_EXT_CLIENT_HELLO
- | SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_IGNORE_ON_RESUMPTION,
- add_cb, free_cb, add_arg, parse_cb, parse_arg);
+ SSL_EXT_TLS1_2_AND_BELOW_ONLY
+ | SSL_EXT_CLIENT_HELLO
+ | SSL_EXT_TLS1_2_SERVER_HELLO
+ | SSL_EXT_IGNORE_ON_RESUMPTION,
+ add_cb, free_cb, add_arg, parse_cb, parse_arg);
}
int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
- unsigned int context,
- SSL_custom_ext_add_cb_ex add_cb,
- SSL_custom_ext_free_cb_ex free_cb,
- void *add_arg,
- SSL_custom_ext_parse_cb_ex parse_cb, void *parse_arg)
+ unsigned int context,
+ SSL_custom_ext_add_cb_ex add_cb,
+ SSL_custom_ext_free_cb_ex free_cb,
+ void *add_arg,
+ SSL_custom_ext_parse_cb_ex parse_cb, void *parse_arg)
{
return ossl_tls_add_custom_ext_intern(ctx, NULL, ENDPOINT_BOTH, ext_type,
- context, add_cb, free_cb, add_arg,
- parse_cb, parse_arg);
+ context, add_cb, free_cb, add_arg,
+ parse_cb, parse_arg);
}
int SSL_extension_supported(unsigned int ext_type)
diff --git a/crypto/openssl/ssl/statem/extensions_srvr.c b/crypto/openssl/ssl/statem/extensions_srvr.c
index 1a09913ad63f..cdb914daedcf 100644
--- a/crypto/openssl/ssl/statem/extensions_srvr.c
+++ b/crypto/openssl/ssl/statem/extensions_srvr.c
@@ -13,7 +13,7 @@
#include "internal/cryptlib.h"
#include "internal/ssl_unwrap.h"
-#define COOKIE_STATE_FORMAT_VERSION 1
+#define COOKIE_STATE_FORMAT_VERSION 1
/*
* 2 bytes for packet length, 2 bytes for format version, 2 bytes for
@@ -23,7 +23,7 @@
* length bytes, SHA256_DIGEST_LENGTH bytes for the HMAC of the whole thing.
*/
#define MAX_COOKIE_SIZE (2 + 2 + 2 + 2 + 2 + 1 + 8 + 2 + EVP_MAX_MD_SIZE + 1 \
- + SSL_COOKIE_LENGTH + SHA256_DIGEST_LENGTH)
+ + SSL_COOKIE_LENGTH + SHA256_DIGEST_LENGTH)
/*
* Message header + 2 bytes for protocol version + number of random bytes +
@@ -32,16 +32,16 @@
* + 2 bytes for extension block length + 6 bytes for key_share extension
* + 4 bytes for cookie extension header + the number of bytes in the cookie
*/
-#define MAX_HRR_SIZE (SSL3_HM_HEADER_LENGTH + 2 + SSL3_RANDOM_SIZE + 1 \
- + SSL_MAX_SSL_SESSION_ID_LENGTH + 2 + 1 + 2 + 6 + 4 \
- + MAX_COOKIE_SIZE)
+#define MAX_HRR_SIZE (SSL3_HM_HEADER_LENGTH + 2 + SSL3_RANDOM_SIZE + 1 \
+ + SSL_MAX_SSL_SESSION_ID_LENGTH + 2 + 1 + 2 + 6 + 4 \
+ + MAX_COOKIE_SIZE)
/*
* Parse the client's renegotiation binding and abort if it's not right
*/
int tls_parse_ctos_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
unsigned int ilen;
const unsigned char *data;
@@ -61,7 +61,7 @@ int tls_parse_ctos_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
}
ok = memcmp(data, s->s3.previous_client_finished,
- s->s3.previous_client_finished_len);
+ s->s3.previous_client_finished_len);
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
if (ok) {
if ((data[0] ^ s->s3.previous_client_finished[0]) != 0xFF) {
@@ -103,7 +103,7 @@ int tls_parse_ctos_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
* - On session reconnect, the servername extension may be absent.
*/
int tls_parse_ctos_server_name(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx)
+ unsigned int context, X509 *x, size_t chainidx)
{
unsigned int servname_type;
PACKET sni, hostname;
@@ -168,15 +168,15 @@ int tls_parse_ctos_server_name(SSL_CONNECTION *s, PACKET *pkt,
*/
s->servername_done = (s->session->ext.hostname != NULL)
&& PACKET_equal(&hostname, s->session->ext.hostname,
- strlen(s->session->ext.hostname));
+ strlen(s->session->ext.hostname));
}
return 1;
}
int tls_parse_ctos_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
unsigned int value;
@@ -188,7 +188,7 @@ int tls_parse_ctos_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
/* Received |value| should be a valid max-fragment-length code. */
if (!IS_MAX_FRAGMENT_LENGTH_EXT_VALID(value)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
+ SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
return 0;
}
@@ -218,12 +218,12 @@ int tls_parse_ctos_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
#ifndef OPENSSL_NO_SRP
int tls_parse_ctos_srp(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
PACKET srp_I;
if (!PACKET_as_length_prefixed_1(pkt, &srp_I)
- || PACKET_contains_zero_byte(&srp_I)) {
+ || PACKET_contains_zero_byte(&srp_I)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -238,8 +238,8 @@ int tls_parse_ctos_srp(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
#endif
int tls_parse_ctos_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
PACKET ec_point_format_list;
@@ -251,8 +251,8 @@ int tls_parse_ctos_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
if (!s->hit) {
if (!PACKET_memdup(&ec_point_format_list,
- &s->ext.peer_ecpointformats,
- &s->ext.peer_ecpointformats_len)) {
+ &s->ext.peer_ecpointformats,
+ &s->ext.peer_ecpointformats_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -262,13 +262,10 @@ int tls_parse_ctos_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_ctos_session_ticket(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
- if (s->ext.session_ticket_cb &&
- !s->ext.session_ticket_cb(SSL_CONNECTION_GET_USER_SSL(s),
- PACKET_data(pkt), PACKET_remaining(pkt),
- s->ext.session_ticket_cb_arg)) {
+ if (s->ext.session_ticket_cb && !s->ext.session_ticket_cb(SSL_CONNECTION_GET_USER_SSL(s), PACKET_data(pkt), PACKET_remaining(pkt), s->ext.session_ticket_cb_arg)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -277,14 +274,14 @@ int tls_parse_ctos_session_ticket(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_ctos_sig_algs_cert(SSL_CONNECTION *s, PACKET *pkt,
- ossl_unused unsigned int context,
- ossl_unused X509 *x,
- ossl_unused size_t chainidx)
+ ossl_unused unsigned int context,
+ ossl_unused X509 *x,
+ ossl_unused size_t chainidx)
{
PACKET supported_sig_algs;
if (!PACKET_as_length_prefixed_2(pkt, &supported_sig_algs)
- || PACKET_remaining(&supported_sig_algs) == 0) {
+ || PACKET_remaining(&supported_sig_algs) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -295,7 +292,7 @@ int tls_parse_ctos_sig_algs_cert(SSL_CONNECTION *s, PACKET *pkt,
* of whether it was a resumption or not.
*/
if ((!s->server || (s->server && !s->hit))
- && !tls1_save_sigalgs(s, &supported_sig_algs, 1)) {
+ && !tls1_save_sigalgs(s, &supported_sig_algs, 1)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -304,12 +301,12 @@ int tls_parse_ctos_sig_algs_cert(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_ctos_sig_algs(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx)
+ unsigned int context, X509 *x, size_t chainidx)
{
PACKET supported_sig_algs;
if (!PACKET_as_length_prefixed_2(pkt, &supported_sig_algs)
- || PACKET_remaining(&supported_sig_algs) == 0) {
+ || PACKET_remaining(&supported_sig_algs) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -320,7 +317,7 @@ int tls_parse_ctos_sig_algs(SSL_CONNECTION *s, PACKET *pkt,
* of whether it was a resumption or not.
*/
if ((!s->server || (s->server && !s->hit))
- && !tls1_save_sigalgs(s, &supported_sig_algs, 0)) {
+ && !tls1_save_sigalgs(s, &supported_sig_algs, 0)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -330,8 +327,8 @@ int tls_parse_ctos_sig_algs(SSL_CONNECTION *s, PACKET *pkt,
#ifndef OPENSSL_NO_OCSP
int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
PACKET responder_id_list, exts;
@@ -356,7 +353,7 @@ int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,
return 1;
}
- if (!PACKET_get_length_prefixed_2 (pkt, &responder_id_list)) {
+ if (!PACKET_get_length_prefixed_2(pkt, &responder_id_list)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -382,14 +379,14 @@ int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,
const unsigned char *id_data;
if (!PACKET_get_length_prefixed_2(&responder_id_list, &responder_id)
- || PACKET_remaining(&responder_id) == 0) {
+ || PACKET_remaining(&responder_id) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
id_data = PACKET_data(&responder_id);
id = d2i_OCSP_RESPID(NULL, &id_data,
- (int)PACKET_remaining(&responder_id));
+ (int)PACKET_remaining(&responder_id));
if (id == NULL) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
@@ -420,9 +417,8 @@ int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,
const unsigned char *ext_data = PACKET_data(&exts);
sk_X509_EXTENSION_pop_free(s->ext.ocsp.exts,
- X509_EXTENSION_free);
- s->ext.ocsp.exts =
- d2i_X509_EXTENSIONS(NULL, &ext_data, (int)PACKET_remaining(&exts));
+ X509_EXTENSION_free);
+ s->ext.ocsp.exts = d2i_X509_EXTENSIONS(NULL, &ext_data, (int)PACKET_remaining(&exts));
if (s->ext.ocsp.exts == NULL || ext_data != PACKET_end(&exts)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
@@ -435,7 +431,7 @@ int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,
#ifndef OPENSSL_NO_NEXTPROTONEG
int tls_parse_ctos_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
/*
* We shouldn't accept this extension on a
@@ -453,7 +449,7 @@ int tls_parse_ctos_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
* extension, not including type and length. Returns: 1 on success, 0 on error.
*/
int tls_parse_ctos_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
PACKET protocol_list, save_protocol_list, protocol;
@@ -470,7 +466,7 @@ int tls_parse_ctos_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
do {
/* Protocol names can't be empty. */
if (!PACKET_get_length_prefixed_1(&protocol_list, &protocol)
- || PACKET_remaining(&protocol) == 0) {
+ || PACKET_remaining(&protocol) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -480,7 +476,7 @@ int tls_parse_ctos_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
s->s3.alpn_proposed = NULL;
s->s3.alpn_proposed_len = 0;
if (!PACKET_memdup(&save_protocol_list,
- &s->s3.alpn_proposed, &s->s3.alpn_proposed_len)) {
+ &s->s3.alpn_proposed, &s->s3.alpn_proposed_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -490,7 +486,7 @@ int tls_parse_ctos_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
#ifndef OPENSSL_NO_SRTP
int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx)
+ unsigned int context, X509 *x, size_t chainidx)
{
STACK_OF(SRTP_PROTECTION_PROFILE) *srvr;
unsigned int ct, mki_len, id;
@@ -504,9 +500,9 @@ int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
/* Pull off the length of the cipher suite list and check it is even */
if (!PACKET_get_net_2(pkt, &ct) || (ct & 1) != 0
- || !PACKET_get_sub_packet(pkt, &subpkt, ct)) {
+ || !PACKET_get_sub_packet(pkt, &subpkt, ct)) {
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
+ SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
return 0;
}
@@ -518,7 +514,7 @@ int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
while (PACKET_remaining(&subpkt)) {
if (!PACKET_get_net_2(&subpkt, &id)) {
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
+ SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
return 0;
}
@@ -529,8 +525,7 @@ int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
* does nothing.
*/
for (i = 0; i < srtp_pref; i++) {
- SRTP_PROTECTION_PROFILE *sprof =
- sk_SRTP_PROTECTION_PROFILE_value(srvr, i);
+ SRTP_PROTECTION_PROFILE *sprof = sk_SRTP_PROTECTION_PROFILE_value(srvr, i);
if (sprof->id == id) {
s->srtp_profile = sprof;
@@ -543,7 +538,7 @@ int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
/* Now extract the MKI value as a sanity check, but discard it for now */
if (!PACKET_get_1(pkt, &mki_len)) {
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
+ SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST);
return 0;
}
@@ -558,7 +553,7 @@ int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
#endif
int tls_parse_ctos_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
if (!(s->options & SSL_OP_NO_ENCRYPT_THEN_MAC))
s->ext.use_etm = 1;
@@ -571,15 +566,15 @@ int tls_parse_ctos_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
* the raw PACKET data for the extension. Returns 1 on success or 0 on failure.
*/
int tls_parse_ctos_psk_kex_modes(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
PACKET psk_kex_modes;
unsigned int mode;
if (!PACKET_as_length_prefixed_1(pkt, &psk_kex_modes)
- || PACKET_remaining(&psk_kex_modes) == 0) {
+ || PACKET_remaining(&psk_kex_modes) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -588,12 +583,12 @@ int tls_parse_ctos_psk_kex_modes(SSL_CONNECTION *s, PACKET *pkt,
if (mode == TLSEXT_KEX_MODE_KE_DHE)
s->ext.psk_kex_mode |= TLSEXT_KEX_MODE_FLAG_KE_DHE;
else if (mode == TLSEXT_KEX_MODE_KE
- && (s->options & SSL_OP_ALLOW_NO_DHE_KEX) != 0)
+ && (s->options & SSL_OP_ALLOW_NO_DHE_KEX) != 0)
s->ext.psk_kex_mode |= TLSEXT_KEX_MODE_FLAG_KE;
}
if (((s->ext.psk_kex_mode & TLSEXT_KEX_MODE_FLAG_KE) != 0)
- && (s->options & SSL_OP_PREFER_NO_DHE_KEX) != 0) {
+ && (s->options & SSL_OP_PREFER_NO_DHE_KEX) != 0) {
/*
* If NO_DHE is supported and preferred, then we only remember this
@@ -631,20 +626,21 @@ static int tls_accept_ksgroup(SSL_CONNECTION *s, uint16_t ksgroup, PACKET *encod
s->session->kex_group = ksgroup;
if ((s->s3.peer_tmp = ssl_generate_param_group(s, ksgroup)) == NULL) {
SSLfatal(s,
- SSL_AD_INTERNAL_ERROR,
- SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS);
+ SSL_AD_INTERNAL_ERROR,
+ SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS);
return 0;
}
if (tls13_set_encoded_pub_key(s->s3.peer_tmp,
- PACKET_data(encoded_pubkey),
- PACKET_remaining(encoded_pubkey)) <= 0) {
+ PACKET_data(encoded_pubkey),
+ PACKET_remaining(encoded_pubkey))
+ <= 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_ECPOINT);
return 0;
}
return 1;
}
-# define GROUPLIST_INCREMENT 32 /* Memory allocation chunk size (nominally 64 Bytes chunks) */
+#define GROUPLIST_INCREMENT 32 /* Memory allocation chunk size (nominally 64 Bytes chunks) */
typedef enum KS_EXTRACTION_RESULT {
EXTRACTION_FAILURE,
@@ -653,10 +649,10 @@ typedef enum KS_EXTRACTION_RESULT {
} KS_EXTRACTION_RESULT;
static KS_EXTRACTION_RESULT extract_keyshares(SSL_CONNECTION *s, PACKET *key_share_list,
- const uint16_t *clntgroups, size_t clnt_num_groups,
- const uint16_t *srvrgroups, size_t srvr_num_groups,
- uint16_t **keyshares_arr, PACKET **encoded_pubkey_arr,
- size_t *keyshares_cnt, size_t *keyshares_max)
+ const uint16_t *clntgroups, size_t clnt_num_groups,
+ const uint16_t *srvrgroups, size_t srvr_num_groups,
+ uint16_t **keyshares_arr, PACKET **encoded_pubkey_arr,
+ size_t *keyshares_cnt, size_t *keyshares_max)
{
PACKET encoded_pubkey;
size_t key_share_pos = 0;
@@ -678,8 +674,8 @@ static KS_EXTRACTION_RESULT extract_keyshares(SSL_CONNECTION *s, PACKET *key_sha
while (PACKET_remaining(key_share_list) > 0) {
/* Get the group_id for the current share and its encoded_pubkey */
if (!PACKET_get_net_2(key_share_list, &group_id)
- || !PACKET_get_length_prefixed_2(key_share_list, &encoded_pubkey)
- || PACKET_remaining(&encoded_pubkey) == 0) {
+ || !PACKET_get_length_prefixed_2(key_share_list, &encoded_pubkey)
+ || PACKET_remaining(&encoded_pubkey) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto failure;
}
@@ -689,8 +685,8 @@ static KS_EXTRACTION_RESULT extract_keyshares(SSL_CONNECTION *s, PACKET *key_sha
* we requested, and must be the only key_share sent.
*/
if (s->s3.group_id != 0
- && (group_id != s->s3.group_id
- || PACKET_remaining(key_share_list) != 0)) {
+ && (group_id != s->s3.group_id
+ || PACKET_remaining(key_share_list) != 0)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_KEY_SHARE);
goto failure;
}
@@ -731,9 +727,9 @@ static KS_EXTRACTION_RESULT extract_keyshares(SSL_CONNECTION *s, PACKET *key_sha
* suitable for TLSv1.3 or which is not supported by the server
*/
if (!check_in_list(s, group_id, srvrgroups, srvr_num_groups, 1, NULL)
- || !tls_group_allowed(s, group_id, SSL_SECOP_CURVE_SUPPORTED)
- || !tls_valid_group(s, group_id, TLS1_3_VERSION, TLS1_3_VERSION,
- 0, NULL)) {
+ || !tls_group_allowed(s, group_id, SSL_SECOP_CURVE_SUPPORTED)
+ || !tls_valid_group(s, group_id, TLS1_3_VERSION, TLS1_3_VERSION,
+ 0, NULL)) {
/* Share not suitable or not supported, check next share */
continue;
}
@@ -749,23 +745,25 @@ static KS_EXTRACTION_RESULT extract_keyshares(SSL_CONNECTION *s, PACKET *key_sha
*/
if (*keyshares_cnt == *keyshares_max) {
PACKET *tmp_pkt;
- uint16_t *tmp =
- OPENSSL_realloc(*keyshares_arr,
- (*keyshares_max + GROUPLIST_INCREMENT) * sizeof(**keyshares_arr));
+ uint16_t *tmp = OPENSSL_realloc(*keyshares_arr,
+ (*keyshares_max + GROUPLIST_INCREMENT) * sizeof(**keyshares_arr));
- if (tmp == NULL)
+ if (tmp == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto failure;
+ }
+
*keyshares_arr = tmp;
- tmp_pkt =
- OPENSSL_realloc(*encoded_pubkey_arr,
- (*keyshares_max + GROUPLIST_INCREMENT) *
- sizeof(**encoded_pubkey_arr));
- if (tmp_pkt == NULL)
+ tmp_pkt = OPENSSL_realloc(*encoded_pubkey_arr,
+ (*keyshares_max + GROUPLIST_INCREMENT) * sizeof(**encoded_pubkey_arr));
+ if (tmp_pkt == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto failure;
+ }
+
*encoded_pubkey_arr = tmp_pkt;
*keyshares_max += GROUPLIST_INCREMENT;
}
-
}
return EXTRACTION_SUCCESS;
@@ -786,10 +784,10 @@ failure:
*/
#ifndef OPENSSL_NO_TLS1_3
static void check_overlap(SSL_CONNECTION *s,
- const uint16_t *prio_groups, size_t prio_num_groups,
- const uint16_t *candidate_groups, size_t candidate_num_groups,
- int *prio_group_idx, int *candidate_group_idx,
- uint16_t *selected_group)
+ const uint16_t *prio_groups, size_t prio_num_groups,
+ const uint16_t *candidate_groups, size_t candidate_num_groups,
+ int *prio_group_idx, int *candidate_group_idx,
+ uint16_t *selected_group)
{
uint16_t current_group;
size_t group_idx = prio_num_groups;
@@ -801,11 +799,11 @@ static void check_overlap(SSL_CONNECTION *s,
for (current_group = 0; current_group < candidate_num_groups; current_group++) {
if (!check_in_list(s, candidate_groups[current_group], prio_groups,
- prio_num_groups, 1, &new_group_idx)
+ prio_num_groups, 1, &new_group_idx)
|| !tls_group_allowed(s, candidate_groups[current_group],
- SSL_SECOP_CURVE_SUPPORTED)
+ SSL_SECOP_CURVE_SUPPORTED)
|| !tls_valid_group(s, candidate_groups[current_group], TLS1_3_VERSION,
- TLS1_3_VERSION, 0, NULL))
+ TLS1_3_VERSION, 0, NULL))
/* No overlap or group not suitable, check next group */
continue;
@@ -824,7 +822,7 @@ static void check_overlap(SSL_CONNECTION *s,
#endif
int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx)
+ unsigned int context, X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
PACKET key_share_list;
@@ -870,7 +868,7 @@ int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
* extension.
*/
SSLfatal(s, SSL_AD_MISSING_EXTENSION,
- SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION);
+ SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION);
return 0;
}
@@ -886,11 +884,11 @@ int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
/* We parse the key share extension and memorize the entries (after some checks) */
ks_extraction_result = extract_keyshares(s,
- &key_share_list,
- clntgroups, clnt_num_groups,
- srvrgroups, srvr_num_groups,
- &keyshares_arr, &encoded_pubkey_arr,
- &keyshares_cnt, &keyshares_max);
+ &key_share_list,
+ clntgroups, clnt_num_groups,
+ srvrgroups, srvr_num_groups,
+ &keyshares_arr, &encoded_pubkey_arr,
+ &keyshares_cnt, &keyshares_max);
if (ks_extraction_result == EXTRACTION_FAILURE) /* Fatal error during tests */
return 0; /* Memory already freed and SSLfatal already called */
@@ -898,7 +896,7 @@ int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
goto end;
/*
- * We now have the folowing lists available to make a decision for
+ * We now have the following lists available to make a decision for
* which group the server should use for key exchange :
* From client: clntgroups[clnt_num_groups],
* keyshares_arr[keyshares_cnt], encoded_pubkey_arr[keyshares_cnt]
@@ -924,13 +922,13 @@ int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
/* Server preference */
/* Is there overlap with a key share group? */
check_overlap(s,
- first_group_in_tuple, number_of_groups_in_tuple,
- keyshares_arr, keyshares_cnt,
- &prio_group_idx, &candidate_group_idx,
- &group_id_candidate);
+ first_group_in_tuple, number_of_groups_in_tuple,
+ keyshares_arr, keyshares_cnt,
+ &prio_group_idx, &candidate_group_idx,
+ &group_id_candidate);
if (group_id_candidate > 0) { /* Overlap found -> accept the key share group */
if (!tls_accept_ksgroup(s, group_id_candidate,
- &encoded_pubkey_arr[candidate_group_idx]))
+ &encoded_pubkey_arr[candidate_group_idx]))
goto err; /* SSLfatal already called */
/* We have all info for a SH, hence we're done here */
goto end;
@@ -940,10 +938,10 @@ int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
* supported_group overlapping with the current tuple?
*/
check_overlap(s,
- first_group_in_tuple, number_of_groups_in_tuple,
- clntgroups, clnt_num_groups,
- &prio_group_idx, &candidate_group_idx,
- &group_id_candidate);
+ first_group_in_tuple, number_of_groups_in_tuple,
+ clntgroups, clnt_num_groups,
+ &prio_group_idx, &candidate_group_idx,
+ &group_id_candidate);
if (group_id_candidate > 0) {
/*
* We did not have a key share overlap, but at least the supported
@@ -964,20 +962,20 @@ int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
} else { /* We have client preference */
check_overlap(s,
- keyshares_arr, keyshares_cnt,
- first_group_in_tuple, number_of_groups_in_tuple,
- &prio_group_idx, &candidate_group_idx,
- &group_id_candidate);
+ keyshares_arr, keyshares_cnt,
+ first_group_in_tuple, number_of_groups_in_tuple,
+ &prio_group_idx, &candidate_group_idx,
+ &group_id_candidate);
if (group_id_candidate > 0) {
if (!tls_accept_ksgroup(s, group_id_candidate, &encoded_pubkey_arr[prio_group_idx]))
goto err;
goto end;
} else {
check_overlap(s,
- clntgroups, clnt_num_groups,
- first_group_in_tuple, number_of_groups_in_tuple,
- &prio_group_idx, &candidate_group_idx,
- &group_id_candidate);
+ clntgroups, clnt_num_groups,
+ first_group_in_tuple, number_of_groups_in_tuple,
+ &prio_group_idx, &candidate_group_idx,
+ &group_id_candidate);
if (group_id_candidate > 0) {
s->s3.group_id_candidate = group_id_candidate;
goto end;
@@ -1003,7 +1001,7 @@ err:
}
int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
unsigned int format, version, key_share, group_id;
@@ -1021,7 +1019,7 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
/* Ignore any cookie if we're not set up to verify it */
if (sctx->verify_stateless_cookie_cb == NULL
- || (s->s3.flags & TLS1_FLAGS_STATELESS) == 0)
+ || (s->s3.flags & TLS1_FLAGS_STATELESS) == 0)
return 1;
if (!PACKET_as_length_prefixed_2(pkt, &cookie)) {
@@ -1033,7 +1031,7 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
data = PACKET_data(&raw);
rawlen = PACKET_remaining(&raw);
if (rawlen < SHA256_DIGEST_LENGTH
- || !PACKET_forward(&raw, rawlen - SHA256_DIGEST_LENGTH)) {
+ || !PACKET_forward(&raw, rawlen - SHA256_DIGEST_LENGTH)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
return 0;
}
@@ -1042,9 +1040,9 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
/* Verify the HMAC of the cookie */
hctx = EVP_MD_CTX_create();
pkey = EVP_PKEY_new_raw_private_key_ex(sctx->libctx, "HMAC",
- sctx->propq,
- s->session_ctx->ext.cookie_hmac_key,
- sizeof(s->session_ctx->ext.cookie_hmac_key));
+ sctx->propq,
+ s->session_ctx->ext.cookie_hmac_key,
+ sizeof(s->session_ctx->ext.cookie_hmac_key));
if (hctx == NULL || pkey == NULL) {
EVP_MD_CTX_free(hctx);
EVP_PKEY_free(pkey);
@@ -1054,10 +1052,12 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
hmaclen = SHA256_DIGEST_LENGTH;
if (EVP_DigestSignInit_ex(hctx, NULL, "SHA2-256", sctx->libctx,
- sctx->propq, pkey, NULL) <= 0
- || EVP_DigestSign(hctx, hmac, &hmaclen, data,
- rawlen - SHA256_DIGEST_LENGTH) <= 0
- || hmaclen != SHA256_DIGEST_LENGTH) {
+ sctx->propq, pkey, NULL)
+ <= 0
+ || EVP_DigestSign(hctx, hmac, &hmaclen, data,
+ rawlen - SHA256_DIGEST_LENGTH)
+ <= 0
+ || hmaclen != SHA256_DIGEST_LENGTH) {
EVP_MD_CTX_free(hctx);
EVP_PKEY_free(pkey);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1092,7 +1092,7 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
if (version != TLS1_3_VERSION) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_BAD_PROTOCOL_VERSION_NUMBER);
+ SSL_R_BAD_PROTOCOL_VERSION_NUMBER);
return 0;
}
@@ -1107,8 +1107,8 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
return 0;
}
if (group_id != s->s3.group_id
- || s->s3.tmp.new_cipher
- != ssl_get_cipher_by_char(s, ciphdata, 0)) {
+ || s->s3.tmp.new_cipher
+ != ssl_get_cipher_by_char(s, ciphdata, 0)) {
/*
* We chose a different cipher or group id this time around to what is
* in the cookie. Something must have changed.
@@ -1118,10 +1118,10 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
if (!PACKET_get_1(&cookie, &key_share)
- || !PACKET_get_net_8(&cookie, &tm)
- || !PACKET_get_length_prefixed_2(&cookie, &chhash)
- || !PACKET_get_length_prefixed_1(&cookie, &appcookie)
- || PACKET_remaining(&cookie) != SHA256_DIGEST_LENGTH) {
+ || !PACKET_get_net_8(&cookie, &tm)
+ || !PACKET_get_length_prefixed_2(&cookie, &chhash)
+ || !PACKET_get_length_prefixed_1(&cookie, &appcookie)
+ || PACKET_remaining(&cookie) != SHA256_DIGEST_LENGTH) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
return 0;
}
@@ -1135,8 +1135,9 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
/* Verify the app cookie */
if (sctx->verify_stateless_cookie_cb(SSL_CONNECTION_GET_USER_SSL(s),
- PACKET_data(&appcookie),
- PACKET_remaining(&appcookie)) == 0) {
+ PACKET_data(&appcookie),
+ PACKET_remaining(&appcookie))
+ == 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_COOKIE_MISMATCH);
return 0;
}
@@ -1151,45 +1152,45 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
return 0;
}
if (!WPACKET_put_bytes_u8(&hrrpkt, SSL3_MT_SERVER_HELLO)
- || !WPACKET_start_sub_packet_u24(&hrrpkt)
- || !WPACKET_put_bytes_u16(&hrrpkt, TLS1_2_VERSION)
- || !WPACKET_memcpy(&hrrpkt, hrrrandom, SSL3_RANDOM_SIZE)
- || !WPACKET_sub_memcpy_u8(&hrrpkt, s->tmp_session_id,
- s->tmp_session_id_len)
- || !ssl->method->put_cipher_by_char(s->s3.tmp.new_cipher, &hrrpkt,
- &ciphlen)
- || !WPACKET_put_bytes_u8(&hrrpkt, 0)
- || !WPACKET_start_sub_packet_u16(&hrrpkt)) {
+ || !WPACKET_start_sub_packet_u24(&hrrpkt)
+ || !WPACKET_put_bytes_u16(&hrrpkt, TLS1_2_VERSION)
+ || !WPACKET_memcpy(&hrrpkt, hrrrandom, SSL3_RANDOM_SIZE)
+ || !WPACKET_sub_memcpy_u8(&hrrpkt, s->tmp_session_id,
+ s->tmp_session_id_len)
+ || !ssl->method->put_cipher_by_char(s->s3.tmp.new_cipher, &hrrpkt,
+ &ciphlen)
+ || !WPACKET_put_bytes_u8(&hrrpkt, 0)
+ || !WPACKET_start_sub_packet_u16(&hrrpkt)) {
WPACKET_cleanup(&hrrpkt);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
if (!WPACKET_put_bytes_u16(&hrrpkt, TLSEXT_TYPE_supported_versions)
- || !WPACKET_start_sub_packet_u16(&hrrpkt)
- || !WPACKET_put_bytes_u16(&hrrpkt, s->version)
- || !WPACKET_close(&hrrpkt)) {
+ || !WPACKET_start_sub_packet_u16(&hrrpkt)
+ || !WPACKET_put_bytes_u16(&hrrpkt, s->version)
+ || !WPACKET_close(&hrrpkt)) {
WPACKET_cleanup(&hrrpkt);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
if (key_share) {
if (!WPACKET_put_bytes_u16(&hrrpkt, TLSEXT_TYPE_key_share)
- || !WPACKET_start_sub_packet_u16(&hrrpkt)
- || !WPACKET_put_bytes_u16(&hrrpkt, s->s3.group_id)
- || !WPACKET_close(&hrrpkt)) {
+ || !WPACKET_start_sub_packet_u16(&hrrpkt)
+ || !WPACKET_put_bytes_u16(&hrrpkt, s->s3.group_id)
+ || !WPACKET_close(&hrrpkt)) {
WPACKET_cleanup(&hrrpkt);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
}
if (!WPACKET_put_bytes_u16(&hrrpkt, TLSEXT_TYPE_cookie)
- || !WPACKET_start_sub_packet_u16(&hrrpkt)
- || !WPACKET_sub_memcpy_u16(&hrrpkt, data, rawlen)
- || !WPACKET_close(&hrrpkt) /* cookie extension */
- || !WPACKET_close(&hrrpkt) /* extension block */
- || !WPACKET_close(&hrrpkt) /* message */
- || !WPACKET_get_total_written(&hrrpkt, &hrrlen)
- || !WPACKET_finish(&hrrpkt)) {
+ || !WPACKET_start_sub_packet_u16(&hrrpkt)
+ || !WPACKET_sub_memcpy_u16(&hrrpkt, data, rawlen)
+ || !WPACKET_close(&hrrpkt) /* cookie extension */
+ || !WPACKET_close(&hrrpkt) /* extension block */
+ || !WPACKET_close(&hrrpkt) /* message */
+ || !WPACKET_get_total_written(&hrrpkt, &hrrlen)
+ || !WPACKET_finish(&hrrpkt)) {
WPACKET_cleanup(&hrrpkt);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
@@ -1197,8 +1198,8 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
/* Reconstruct the transcript hash */
if (!create_synthetic_message_hash(s, PACKET_data(&chhash),
- PACKET_remaining(&chhash), hrr,
- hrrlen)) {
+ PACKET_remaining(&chhash), hrr,
+ hrrlen)) {
/* SSLfatal() already called */
return 0;
}
@@ -1213,15 +1214,15 @@ int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
int tls_parse_ctos_supported_groups(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
PACKET supported_groups_list;
/* Each group is 2 bytes and we must have at least 1. */
if (!PACKET_as_length_prefixed_2(pkt, &supported_groups_list)
- || PACKET_remaining(&supported_groups_list) == 0
- || (PACKET_remaining(&supported_groups_list) % 2) != 0) {
+ || PACKET_remaining(&supported_groups_list) == 0
+ || (PACKET_remaining(&supported_groups_list) % 2) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
@@ -1231,8 +1232,8 @@ int tls_parse_ctos_supported_groups(SSL_CONNECTION *s, PACKET *pkt,
s->ext.peer_supportedgroups = NULL;
s->ext.peer_supportedgroups_len = 0;
if (!tls1_save_u16(&supported_groups_list,
- &s->ext.peer_supportedgroups,
- &s->ext.peer_supportedgroups_len)) {
+ &s->ext.peer_supportedgroups,
+ &s->ext.peer_supportedgroups_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1242,7 +1243,7 @@ int tls_parse_ctos_supported_groups(SSL_CONNECTION *s, PACKET *pkt,
}
int tls_parse_ctos_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
/* The extension must always be empty */
if (PACKET_remaining(pkt) != 0) {
@@ -1258,9 +1259,8 @@ int tls_parse_ctos_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
return 1;
}
-
int tls_parse_ctos_early_data(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
if (PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
@@ -1276,25 +1276,25 @@ int tls_parse_ctos_early_data(SSL_CONNECTION *s, PACKET *pkt, unsigned int conte
}
static SSL_TICKET_STATUS tls_get_stateful_ticket(SSL_CONNECTION *s, PACKET *tick,
- SSL_SESSION **sess)
+ SSL_SESSION **sess)
{
SSL_SESSION *tmpsess = NULL;
s->ext.ticket_expected = 1;
switch (PACKET_remaining(tick)) {
- case 0:
- return SSL_TICKET_EMPTY;
+ case 0:
+ return SSL_TICKET_EMPTY;
- case SSL_MAX_SSL_SESSION_ID_LENGTH:
- break;
+ case SSL_MAX_SSL_SESSION_ID_LENGTH:
+ break;
- default:
- return SSL_TICKET_NO_DECRYPT;
+ default:
+ return SSL_TICKET_NO_DECRYPT;
}
tmpsess = lookup_sess_in_cache(s, PACKET_data(tick),
- SSL_MAX_SSL_SESSION_ID_LENGTH);
+ SSL_MAX_SSL_SESSION_ID_LENGTH);
if (tmpsess == NULL)
return SSL_TICKET_NO_DECRYPT;
@@ -1304,7 +1304,7 @@ static SSL_TICKET_STATUS tls_get_stateful_ticket(SSL_CONNECTION *s, PACKET *tick
}
int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
PACKET identities, binders, binder;
size_t binderoffset;
@@ -1320,7 +1320,8 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
* ignore this extension
*/
if ((s->ext.psk_kex_mode
- & (TLSEXT_KEX_MODE_FLAG_KE | TLSEXT_KEX_MODE_FLAG_KE_DHE)) == 0)
+ & (TLSEXT_KEX_MODE_FLAG_KE | TLSEXT_KEX_MODE_FLAG_KE_DHE))
+ == 0)
return 1;
if (!PACKET_get_length_prefixed_2(pkt, &identities)) {
@@ -1335,23 +1336,23 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
size_t idlen;
if (!PACKET_get_length_prefixed_2(&identities, &identity)
- || !PACKET_get_net_4(&identities, &ticket_agel)) {
+ || !PACKET_get_net_4(&identities, &ticket_agel)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
idlen = PACKET_remaining(&identity);
if (s->psk_find_session_cb != NULL
- && !s->psk_find_session_cb(ussl, PACKET_data(&identity), idlen,
- &sess)) {
+ && !s->psk_find_session_cb(ussl, PACKET_data(&identity), idlen,
+ &sess)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_EXTENSION);
return 0;
}
#ifndef OPENSSL_NO_PSK
if (sess == NULL
- && s->psk_server_callback != NULL
- && idlen <= PSK_MAX_IDENTITY_LEN) {
+ && s->psk_server_callback != NULL
+ && idlen <= PSK_MAX_IDENTITY_LEN) {
char *pskid = NULL;
unsigned char pskdata[PSK_MAX_PSK_LEN];
unsigned int pskdatalen;
@@ -1361,7 +1362,7 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
return 0;
}
pskdatalen = s->psk_server_callback(ussl, pskid, pskdata,
- sizeof(pskdata));
+ sizeof(pskdata));
OPENSSL_free(pskid);
if (pskdatalen > PSK_MAX_PSK_LEN) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1375,7 +1376,7 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
* the digest so we default to SHA256 as per the TLSv1.3 spec
*/
cipher = SSL_CIPHER_find(SSL_CONNECTION_GET_SSL(s),
- tls13_aes128gcmsha256_id);
+ tls13_aes128gcmsha256_id);
if (cipher == NULL) {
OPENSSL_cleanse(pskdata, pskdatalen);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1384,11 +1385,11 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
sess = SSL_SESSION_new();
if (sess == NULL
- || !SSL_SESSION_set1_master_key(sess, pskdata,
- pskdatalen)
- || !SSL_SESSION_set_cipher(sess, cipher)
- || !SSL_SESSION_set_protocol_version(sess,
- TLS1_3_VERSION)) {
+ || !SSL_SESSION_set1_master_key(sess, pskdata,
+ pskdatalen)
+ || !SSL_SESSION_set_cipher(sess, cipher)
+ || !SSL_SESSION_set_protocol_version(sess,
+ TLS1_3_VERSION)) {
OPENSSL_cleanse(pskdata, pskdatalen);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -1429,13 +1430,13 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
* is no point in using full stateless tickets.
*/
if ((s->options & SSL_OP_NO_TICKET) != 0
- || (s->max_early_data > 0
- && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0))
+ || (s->max_early_data > 0
+ && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0))
ret = tls_get_stateful_ticket(s, &identity, &sess);
else
ret = tls_decrypt_ticket(s, PACKET_data(&identity),
- PACKET_remaining(&identity), NULL, 0,
- &sess);
+ PACKET_remaining(&identity), NULL, 0,
+ &sess);
if (ret == SSL_TICKET_EMPTY) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
@@ -1443,7 +1444,7 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
if (ret == SSL_TICKET_FATAL_ERR_MALLOC
- || ret == SSL_TICKET_FATAL_ERR_OTHER) {
+ || ret == SSL_TICKET_FATAL_ERR_OTHER) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -1452,15 +1453,15 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
/* Check for replay */
if (s->max_early_data > 0
- && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0
- && !SSL_CTX_remove_session(s->session_ctx, sess)) {
+ && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0
+ && !SSL_CTX_remove_session(s->session_ctx, sess)) {
SSL_SESSION_free(sess);
sess = NULL;
continue;
}
age = ossl_time_subtract(ossl_ms2time(ticket_agel),
- ossl_ms2time(sess->ext.tick_age_add));
+ ossl_ms2time(sess->ext.tick_age_add));
t = ossl_time_subtract(ossl_time_now(), sess->time);
/*
@@ -1475,10 +1476,11 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
expire = ossl_time_add(t, ossl_ms2time(1000));
if (id == 0
- && ossl_time_compare(sess->timeout, t) >= 0
- && ossl_time_compare(age, expire) <= 0
- && ossl_time_compare(ossl_time_add(age, TICKET_AGE_ALLOWANCE),
- expire) >= 0) {
+ && ossl_time_compare(sess->timeout, t) >= 0
+ && ossl_time_compare(age, expire) <= 0
+ && ossl_time_compare(ossl_time_add(age, TICKET_AGE_ALLOWANCE),
+ expire)
+ >= 0) {
/*
* Ticket age is within tolerance and not expired. We allow it
* for early data
@@ -1494,7 +1496,7 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
if (!EVP_MD_is_a(md,
EVP_MD_get0_name(ssl_md(sctx,
- s->s3.tmp.new_cipher->algorithm2)))) {
+ s->s3.tmp.new_cipher->algorithm2)))) {
/* The ciphersuite is not compatible with this session. */
SSL_SESSION_free(sess);
sess = NULL;
@@ -1530,8 +1532,9 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
goto err;
}
if (tls_psk_do_binder(s, md, (const unsigned char *)s->init_buf->data,
- binderoffset, PACKET_data(&binder), NULL, sess, 0,
- ext) != 1) {
+ binderoffset, PACKET_data(&binder), NULL, sess, 0,
+ ext)
+ != 1) {
/* SSLfatal() already called */
goto err;
}
@@ -1547,13 +1550,13 @@ err:
}
int tls_parse_ctos_post_handshake_auth(SSL_CONNECTION *s, PACKET *pkt,
- ossl_unused unsigned int context,
- ossl_unused X509 *x,
- ossl_unused size_t chainidx)
+ ossl_unused unsigned int context,
+ ossl_unused X509 *x,
+ ossl_unused size_t chainidx)
{
if (PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR,
- SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR);
+ SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR);
return 0;
}
@@ -1566,22 +1569,22 @@ int tls_parse_ctos_post_handshake_auth(SSL_CONNECTION *s, PACKET *pkt,
* Add the server's renegotiation binding
*/
EXT_RETURN tls_construct_stoc_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (!s->s3.send_connection_binding)
return EXT_RETURN_NOT_SENT;
/* Still add this even if SSL_OP_NO_RENEGOTIATION is set */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_renegotiate)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u8(pkt)
- || !WPACKET_memcpy(pkt, s->s3.previous_client_finished,
- s->s3.previous_client_finished_len)
- || !WPACKET_memcpy(pkt, s->s3.previous_server_finished,
- s->s3.previous_server_finished_len)
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u8(pkt)
+ || !WPACKET_memcpy(pkt, s->s3.previous_client_finished,
+ s->s3.previous_client_finished_len)
+ || !WPACKET_memcpy(pkt, s->s3.previous_server_finished,
+ s->s3.previous_server_finished_len)
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1590,8 +1593,8 @@ EXT_RETURN tls_construct_stoc_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_server_name(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (s->servername_done != 1)
return EXT_RETURN_NOT_SENT;
@@ -1604,7 +1607,7 @@ EXT_RETURN tls_construct_stoc_server_name(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_server_name)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1614,8 +1617,8 @@ EXT_RETURN tls_construct_stoc_server_name(SSL_CONNECTION *s, WPACKET *pkt,
/* Add/include the server's max fragment len extension into ServerHello */
EXT_RETURN tls_construct_stoc_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (!USE_MAX_FRAGMENT_LENGTH_EXT(s->session))
return EXT_RETURN_NOT_SENT;
@@ -1636,13 +1639,13 @@ EXT_RETURN tls_construct_stoc_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
unsigned long alg_k = s->s3.tmp.new_cipher->algorithm_mkey;
unsigned long alg_a = s->s3.tmp.new_cipher->algorithm_auth;
int using_ecc = ((alg_k & SSL_kECDHE) || (alg_a & SSL_aECDSA))
- && (s->ext.peer_ecpointformats != NULL);
+ && (s->ext.peer_ecpointformats != NULL);
const unsigned char *plist;
size_t plistlen;
@@ -1651,9 +1654,9 @@ EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
tls1_get_formatlist(s, &plist, &plistlen);
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_ec_point_formats)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u8(pkt, plist, plistlen)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u8(pkt, plist, plistlen)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1662,8 +1665,8 @@ EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
const uint16_t *groups;
size_t numgroups, i, first = 1;
@@ -1686,7 +1689,7 @@ EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
uint16_t group = groups[i];
if (tls_valid_group(s, group, version, version, 0, NULL)
- && tls_group_allowed(s, group, SSL_SECOP_CURVE_SUPPORTED)) {
+ && tls_group_allowed(s, group, SSL_SECOP_CURVE_SUPPORTED)) {
if (first) {
/*
* Check if the client is already using our preferred group. If
@@ -1697,9 +1700,9 @@ EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
/* Add extension header */
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_supported_groups)
- /* Sub-packet for supported_groups extension */
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ /* Sub-packet for supported_groups extension */
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1707,9 +1710,9 @@ EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
first = 0;
}
if (!WPACKET_put_bytes_u16(pkt, group)) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- return EXT_RETURN_FAIL;
- }
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ return EXT_RETURN_FAIL;
+ }
}
}
@@ -1722,8 +1725,8 @@ EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (!s->ext.ticket_expected || !tls_use_ticket(s)) {
s->ext.ticket_expected = 0;
@@ -1731,7 +1734,7 @@ EXT_RETURN tls_construct_stoc_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_session_ticket)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1741,8 +1744,8 @@ EXT_RETURN tls_construct_stoc_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
#ifndef OPENSSL_NO_OCSP
EXT_RETURN tls_construct_stoc_status_request(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
/* We don't currently support this extension inside a CertificateRequest */
if (context == SSL_EXT_TLS1_3_CERTIFICATE_REQUEST)
@@ -1755,7 +1758,7 @@ EXT_RETURN tls_construct_stoc_status_request(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_status_request)
- || !WPACKET_start_sub_packet_u16(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1766,8 +1769,8 @@ EXT_RETURN tls_construct_stoc_status_request(SSL_CONNECTION *s, WPACKET *pkt,
* separate message
*/
if (SSL_CONNECTION_IS_TLS13(s) && !tls_construct_cert_status_body(s, pkt)) {
- /* SSLfatal() already called */
- return EXT_RETURN_FAIL;
+ /* SSLfatal() already called */
+ return EXT_RETURN_FAIL;
}
if (!WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1780,8 +1783,8 @@ EXT_RETURN tls_construct_stoc_status_request(SSL_CONNECTION *s, WPACKET *pkt,
#ifndef OPENSSL_NO_NEXTPROTONEG
EXT_RETURN tls_construct_stoc_next_proto_neg(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
const unsigned char *npa;
unsigned int npalen;
@@ -1794,10 +1797,10 @@ EXT_RETURN tls_construct_stoc_next_proto_neg(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
ret = sctx->ext.npn_advertised_cb(SSL_CONNECTION_GET_USER_SSL(s), &npa,
- &npalen, sctx->ext.npn_advertised_cb_arg);
+ &npalen, sctx->ext.npn_advertised_cb_arg);
if (ret == SSL_TLSEXT_ERR_OK) {
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_next_proto_neg)
- || !WPACKET_sub_memcpy_u16(pkt, npa, npalen)) {
+ || !WPACKET_sub_memcpy_u16(pkt, npa, npalen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1810,19 +1813,19 @@ EXT_RETURN tls_construct_stoc_next_proto_neg(SSL_CONNECTION *s, WPACKET *pkt,
#endif
EXT_RETURN tls_construct_stoc_alpn(SSL_CONNECTION *s, WPACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx)
+ X509 *x, size_t chainidx)
{
if (s->s3.alpn_selected == NULL)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt,
- TLSEXT_TYPE_application_layer_protocol_negotiation)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_sub_memcpy_u8(pkt, s->s3.alpn_selected,
- s->s3.alpn_selected_len)
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ TLSEXT_TYPE_application_layer_protocol_negotiation)
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_sub_memcpy_u8(pkt, s->s3.alpn_selected,
+ s->s3.alpn_selected_len)
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1832,18 +1835,18 @@ EXT_RETURN tls_construct_stoc_alpn(SSL_CONNECTION *s, WPACKET *pkt, unsigned int
#ifndef OPENSSL_NO_SRTP
EXT_RETURN tls_construct_stoc_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (s->srtp_profile == NULL)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_use_srtp)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u16(pkt, 2)
- || !WPACKET_put_bytes_u16(pkt, s->srtp_profile->id)
- || !WPACKET_put_bytes_u8(pkt, 0)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u16(pkt, 2)
+ || !WPACKET_put_bytes_u16(pkt, s->srtp_profile->id)
+ || !WPACKET_put_bytes_u8(pkt, 0)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1853,8 +1856,8 @@ EXT_RETURN tls_construct_stoc_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
#endif
EXT_RETURN tls_construct_stoc_etm(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (!s->ext.use_etm)
return EXT_RETURN_NOT_SENT;
@@ -1874,7 +1877,7 @@ EXT_RETURN tls_construct_stoc_etm(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_encrypt_then_mac)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1883,14 +1886,14 @@ EXT_RETURN tls_construct_stoc_etm(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_ems(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if ((s->s3.flags & TLS1_FLAGS_RECEIVED_EXTMS) == 0)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_extended_master_secret)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1899,8 +1902,8 @@ EXT_RETURN tls_construct_stoc_ems(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_supported_versions(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (!ossl_assert(SSL_CONNECTION_IS_TLS13(s))) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1908,9 +1911,9 @@ EXT_RETURN tls_construct_stoc_supported_versions(SSL_CONNECTION *s, WPACKET *pkt
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_supported_versions)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u16(pkt, s->version)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u16(pkt, s->version)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1919,8 +1922,8 @@ EXT_RETURN tls_construct_stoc_supported_versions(SSL_CONNECTION *s, WPACKET *pkt
}
EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
unsigned char *encoded_pubkey;
@@ -1934,9 +1937,9 @@ EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_key_share)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u16(pkt, s->s3.group_id)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u16(pkt, s->s3.group_id)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1964,14 +1967,15 @@ EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_key_share)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u16(pkt, s->s3.group_id)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u16(pkt, s->s3.group_id)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
if ((ginf = tls1_group_id_lookup(SSL_CONNECTION_GET_CTX(s),
- s->s3.group_id)) == NULL) {
+ s->s3.group_id))
+ == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -1993,7 +1997,7 @@ EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_sub_memcpy_u16(pkt, encoded_pubkey, encoded_pubkey_len)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
EVP_PKEY_free(skey);
OPENSSL_free(encoded_pubkey);
@@ -2032,7 +2036,7 @@ EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_sub_memcpy_u16(pkt, ct, ctlen)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
OPENSSL_free(ct);
return EXT_RETURN_FAIL;
@@ -2055,8 +2059,8 @@ EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
#ifndef OPENSSL_NO_TLS1_3
unsigned char *hashval1, *hashval2, *appcookie1, *appcookie2, *cookie;
@@ -2078,20 +2082,20 @@ EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_cookie)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_get_total_written(pkt, &startlen)
- || !WPACKET_reserve_bytes(pkt, MAX_COOKIE_SIZE, &cookie)
- || !WPACKET_put_bytes_u16(pkt, COOKIE_STATE_FORMAT_VERSION)
- || !WPACKET_put_bytes_u16(pkt, TLS1_3_VERSION)
- || !WPACKET_put_bytes_u16(pkt, s->s3.group_id)
- || !ssl->method->put_cipher_by_char(s->s3.tmp.new_cipher, pkt,
- &ciphlen)
- /* Is there a key_share extension present in this HRR? */
- || !WPACKET_put_bytes_u8(pkt, s->s3.peer_tmp == NULL)
- || !WPACKET_put_bytes_u64(pkt, time(NULL))
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_reserve_bytes(pkt, EVP_MAX_MD_SIZE, &hashval1)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_get_total_written(pkt, &startlen)
+ || !WPACKET_reserve_bytes(pkt, MAX_COOKIE_SIZE, &cookie)
+ || !WPACKET_put_bytes_u16(pkt, COOKIE_STATE_FORMAT_VERSION)
+ || !WPACKET_put_bytes_u16(pkt, TLS1_3_VERSION)
+ || !WPACKET_put_bytes_u16(pkt, s->s3.group_id)
+ || !ssl->method->put_cipher_by_char(s->s3.tmp.new_cipher, pkt,
+ &ciphlen)
+ /* Is there a key_share extension present in this HRR? */
+ || !WPACKET_put_bytes_u8(pkt, s->s3.peer_tmp == NULL)
+ || !WPACKET_put_bytes_u64(pkt, time(NULL))
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_reserve_bytes(pkt, EVP_MAX_MD_SIZE, &hashval1)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2102,32 +2106,33 @@ EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
* subsequently allocate them (below)
*/
if (!ssl3_digest_cached_records(s, 0)
- || !ssl_handshake_hash(s, hashval1, EVP_MAX_MD_SIZE, &hashlen)) {
+ || !ssl_handshake_hash(s, hashval1, EVP_MAX_MD_SIZE, &hashlen)) {
/* SSLfatal() already called */
return EXT_RETURN_FAIL;
}
if (!WPACKET_allocate_bytes(pkt, hashlen, &hashval2)
- || !ossl_assert(hashval1 == hashval2)
- || !WPACKET_close(pkt)
- || !WPACKET_start_sub_packet_u8(pkt)
- || !WPACKET_reserve_bytes(pkt, SSL_COOKIE_LENGTH, &appcookie1)) {
+ || !ossl_assert(hashval1 == hashval2)
+ || !WPACKET_close(pkt)
+ || !WPACKET_start_sub_packet_u8(pkt)
+ || !WPACKET_reserve_bytes(pkt, SSL_COOKIE_LENGTH, &appcookie1)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
/* Generate the application cookie */
if (sctx->gen_stateless_cookie_cb(ussl, appcookie1,
- &appcookielen) == 0) {
+ &appcookielen)
+ == 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_COOKIE_GEN_CALLBACK_FAILURE);
return EXT_RETURN_FAIL;
}
if (!WPACKET_allocate_bytes(pkt, appcookielen, &appcookie2)
- || !ossl_assert(appcookie1 == appcookie2)
- || !WPACKET_close(pkt)
- || !WPACKET_get_total_written(pkt, &totcookielen)
- || !WPACKET_reserve_bytes(pkt, SHA256_DIGEST_LENGTH, &hmac)) {
+ || !ossl_assert(appcookie1 == appcookie2)
+ || !WPACKET_close(pkt)
+ || !WPACKET_get_total_written(pkt, &totcookielen)
+ || !WPACKET_reserve_bytes(pkt, SHA256_DIGEST_LENGTH, &hmac)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2142,18 +2147,20 @@ EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
/* HMAC the cookie */
hctx = EVP_MD_CTX_create();
pkey = EVP_PKEY_new_raw_private_key_ex(sctx->libctx, "HMAC",
- sctx->propq,
- s->session_ctx->ext.cookie_hmac_key,
- sizeof(s->session_ctx->ext.cookie_hmac_key));
+ sctx->propq,
+ s->session_ctx->ext.cookie_hmac_key,
+ sizeof(s->session_ctx->ext.cookie_hmac_key));
if (hctx == NULL || pkey == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
if (EVP_DigestSignInit_ex(hctx, NULL, "SHA2-256", sctx->libctx,
- sctx->propq, pkey, NULL) <= 0
- || EVP_DigestSign(hctx, hmac, &hmaclen, cookie,
- totcookielen) <= 0) {
+ sctx->propq, pkey, NULL)
+ <= 0
+ || EVP_DigestSign(hctx, hmac, &hmaclen, cookie,
+ totcookielen)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2164,17 +2171,17 @@ EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_allocate_bytes(pkt, hmaclen, &hmac2)
- || !ossl_assert(hmac == hmac2)
- || !ossl_assert(cookie == hmac - totcookielen)
- || !WPACKET_close(pkt)
- || !WPACKET_close(pkt)) {
+ || !ossl_assert(hmac == hmac2)
+ || !ossl_assert(cookie == hmac - totcookielen)
+ || !WPACKET_close(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
ret = EXT_RETURN_SENT;
- err:
+err:
EVP_MD_CTX_free(hctx);
EVP_PKEY_free(pkey);
return ret;
@@ -2184,12 +2191,12 @@ EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_cryptopro_bug(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
const unsigned char cryptopro_ext[36] = {
- 0xfd, 0xe8, /* 65000 */
- 0x00, 0x20, /* 32 bytes length */
+ 0xfd, 0xe8, /* 65000 */
+ 0x00, 0x20, /* 32 bytes length */
0x30, 0x1e, 0x30, 0x08, 0x06, 0x06, 0x2a, 0x85,
0x03, 0x02, 0x02, 0x09, 0x30, 0x08, 0x06, 0x06,
0x2a, 0x85, 0x03, 0x02, 0x02, 0x16, 0x30, 0x08,
@@ -2197,9 +2204,10 @@ EXT_RETURN tls_construct_stoc_cryptopro_bug(SSL_CONNECTION *s, WPACKET *pkt,
};
if (((s->s3.tmp.new_cipher->id & 0xFFFF) != 0x80
- && (s->s3.tmp.new_cipher->id & 0xFFFF) != 0x81)
- || (SSL_get_options(SSL_CONNECTION_GET_SSL(s))
- & SSL_OP_CRYPTOPRO_TLSEXT_BUG) == 0)
+ && (s->s3.tmp.new_cipher->id & 0xFFFF) != 0x81)
+ || (SSL_get_options(SSL_CONNECTION_GET_SSL(s))
+ & SSL_OP_CRYPTOPRO_TLSEXT_BUG)
+ == 0)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_memcpy(pkt, cryptopro_ext, sizeof(cryptopro_ext))) {
@@ -2211,17 +2219,17 @@ EXT_RETURN tls_construct_stoc_cryptopro_bug(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_early_data(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx)
+ unsigned int context, X509 *x,
+ size_t chainidx)
{
if (context == SSL_EXT_TLS1_3_NEW_SESSION_TICKET) {
if (s->max_early_data == 0)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_early_data)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u32(pkt, s->max_early_data)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u32(pkt, s->max_early_data)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2233,8 +2241,8 @@ EXT_RETURN tls_construct_stoc_early_data(SSL_CONNECTION *s, WPACKET *pkt,
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_early_data)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2243,16 +2251,16 @@ EXT_RETURN tls_construct_stoc_early_data(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_psk(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (!s->hit)
return EXT_RETURN_NOT_SENT;
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_psk)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u16(pkt, s->ext.tick_identity)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u16(pkt, s->ext.tick_identity)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2261,8 +2269,8 @@ EXT_RETURN tls_construct_stoc_psk(SSL_CONNECTION *s, WPACKET *pkt,
}
EXT_RETURN tls_construct_stoc_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (sc->ext.client_cert_type_ctos == OSSL_CERT_TYPE_CTOS_ERROR
&& (send_certificate_request(sc)
@@ -2282,8 +2290,8 @@ EXT_RETURN tls_construct_stoc_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
* but TLSv1.3 could do a PHA request if the client supports it
*/
if ((!send_certificate_request(sc) && sc->post_handshake_auth != SSL_PHA_EXT_RECEIVED)
- || sc->ext.client_cert_type_ctos != OSSL_CERT_TYPE_CTOS_GOOD
- || sc->client_cert_type == NULL) {
+ || sc->ext.client_cert_type_ctos != OSSL_CERT_TYPE_CTOS_GOOD
+ || sc->client_cert_type == NULL) {
/* if we don't send it, reset to TLSEXT_cert_type_x509 */
sc->ext.client_cert_type_ctos = OSSL_CERT_TYPE_CTOS_NONE;
sc->ext.client_cert_type = TLSEXT_cert_type_x509;
@@ -2291,9 +2299,9 @@ EXT_RETURN tls_construct_stoc_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_client_cert_type)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u8(pkt, sc->ext.client_cert_type)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u8(pkt, sc->ext.client_cert_type)
+ || !WPACKET_close(pkt)) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2302,8 +2310,8 @@ EXT_RETURN tls_construct_stoc_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
/* One of |pref|, |other| is configured and the values are sanitized */
static int reconcile_cert_type(const unsigned char *pref, size_t pref_len,
- const unsigned char *other, size_t other_len,
- uint8_t *chosen_cert_type)
+ const unsigned char *other, size_t other_len,
+ uint8_t *chosen_cert_type)
{
size_t i;
@@ -2317,8 +2325,8 @@ static int reconcile_cert_type(const unsigned char *pref, size_t pref_len,
}
int tls_parse_ctos_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
PACKET supported_cert_types;
const unsigned char *data;
@@ -2348,23 +2356,23 @@ int tls_parse_ctos_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
}
/* client_cert_type: client (peer) has priority */
sc->ext.client_cert_type_ctos = reconcile_cert_type(data, len,
- sc->client_cert_type, sc->client_cert_type_len,
- &sc->ext.client_cert_type);
+ sc->client_cert_type, sc->client_cert_type_len,
+ &sc->ext.client_cert_type);
/* Ignore the error until sending - so we can check cert auth*/
return 1;
}
EXT_RETURN tls_construct_stoc_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
if (sc->ext.server_cert_type == TLSEXT_cert_type_x509) {
sc->ext.server_cert_type_ctos = OSSL_CERT_TYPE_CTOS_NONE;
return EXT_RETURN_NOT_SENT;
}
if (sc->ext.server_cert_type_ctos != OSSL_CERT_TYPE_CTOS_GOOD
- || sc->server_cert_type == NULL) {
+ || sc->server_cert_type == NULL) {
/* if we don't send it, reset to TLSEXT_cert_type_x509 */
sc->ext.server_cert_type_ctos = OSSL_CERT_TYPE_CTOS_NONE;
sc->ext.server_cert_type = TLSEXT_cert_type_x509;
@@ -2372,9 +2380,9 @@ EXT_RETURN tls_construct_stoc_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
}
if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_server_cert_type)
- || !WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_put_bytes_u8(pkt, sc->ext.server_cert_type)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_start_sub_packet_u16(pkt)
+ || !WPACKET_put_bytes_u8(pkt, sc->ext.server_cert_type)
+ || !WPACKET_close(pkt)) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return EXT_RETURN_FAIL;
}
@@ -2382,8 +2390,8 @@ EXT_RETURN tls_construct_stoc_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
}
int tls_parse_ctos_server_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx)
+ unsigned int context,
+ X509 *x, size_t chainidx)
{
PACKET supported_cert_types;
const unsigned char *data;
@@ -2411,8 +2419,8 @@ int tls_parse_ctos_server_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
}
/* server_cert_type: server (this) has priority */
sc->ext.server_cert_type_ctos = reconcile_cert_type(sc->server_cert_type, sc->server_cert_type_len,
- data, len,
- &sc->ext.server_cert_type);
+ data, len,
+ &sc->ext.server_cert_type);
if (sc->ext.server_cert_type_ctos == OSSL_CERT_TYPE_CTOS_GOOD)
return 1;
diff --git a/crypto/openssl/ssl/statem/statem.c b/crypto/openssl/ssl/statem/statem.c
index 05b491c3956a..3342cb06d208 100644
--- a/crypto/openssl/ssl/statem/statem.c
+++ b/crypto/openssl/ssl/statem/statem.c
@@ -10,8 +10,8 @@
#include "internal/e_os.h"
#if defined(__TANDEM) && defined(_SPT_MODEL_)
-# include <spthread.h>
-# include <spt_extensions.h> /* timeval */
+#include <spthread.h>
+#include <spt_extensions.h> /* timeval */
#endif
#include "internal/cryptlib.h"
@@ -148,7 +148,7 @@ void ossl_statem_send_fatal(SSL_CONNECTION *s, int al)
{
/* We shouldn't call SSLfatal() twice. Once is enough */
if (s->statem.in_init && s->statem.state == MSG_FLOW_ERROR)
- return;
+ return;
ossl_statem_set_in_init(s, 1);
s->statem.state = MSG_FLOW_ERROR;
if (al != SSL_AD_NO_ALERT)
@@ -162,7 +162,7 @@ void ossl_statem_send_fatal(SSL_CONNECTION *s, int al)
* This is a permanent error for the current connection.
*/
void ossl_statem_fatal(SSL_CONNECTION *s, int al, int reason,
- const char *fmt, ...)
+ const char *fmt, ...)
{
va_list args;
@@ -178,10 +178,10 @@ void ossl_statem_fatal(SSL_CONNECTION *s, int al, int reason,
* a fatal error state. We verify that we are, and set it if not (this would
* indicate a bug).
*/
-#define check_fatal(s) \
- do { \
- if (!ossl_assert((s)->statem.in_init \
- && (s)->statem.state == MSG_FLOW_ERROR)) \
+#define check_fatal(s) \
+ do { \
+ if (!ossl_assert((s)->statem.in_init \
+ && (s)->statem.state == MSG_FLOW_ERROR)) \
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_MISSING_FATAL); \
} while (0)
@@ -227,8 +227,8 @@ int ossl_statem_skip_early_data(SSL_CONNECTION *s)
return 0;
if (!s->server
- || s->statem.hand_state != TLS_ST_EARLY_DATA
- || s->hello_retry_request == SSL_HRR_COMPLETE)
+ || s->statem.hand_state != TLS_ST_EARLY_DATA
+ || s->hello_retry_request == SSL_HRR_COMPLETE)
return 0;
return 1;
@@ -246,7 +246,7 @@ int ossl_statem_check_finish_init(SSL_CONNECTION *s, int sending)
{
if (sending == -1) {
if (s->statem.hand_state == TLS_ST_PENDING_EARLY_DATA_END
- || s->statem.hand_state == TLS_ST_EARLY_DATA) {
+ || s->statem.hand_state == TLS_ST_EARLY_DATA) {
ossl_statem_set_in_init(s, 1);
if (s->early_data_state == SSL_EARLY_DATA_WRITE_RETRY) {
/*
@@ -257,10 +257,9 @@ int ossl_statem_check_finish_init(SSL_CONNECTION *s, int sending)
}
}
} else if (!s->server) {
- if ((sending && (s->statem.hand_state == TLS_ST_PENDING_EARLY_DATA_END
- || s->statem.hand_state == TLS_ST_EARLY_DATA)
- && s->early_data_state != SSL_EARLY_DATA_WRITING)
- || (!sending && s->statem.hand_state == TLS_ST_EARLY_DATA)) {
+ if ((sending && (s->statem.hand_state == TLS_ST_PENDING_EARLY_DATA_END || s->statem.hand_state == TLS_ST_EARLY_DATA)
+ && s->early_data_state != SSL_EARLY_DATA_WRITING)
+ || (!sending && s->statem.hand_state == TLS_ST_EARLY_DATA)) {
ossl_statem_set_in_init(s, 1);
/*
* SSL_write() has been called directly. We don't allow any more
@@ -271,7 +270,7 @@ int ossl_statem_check_finish_init(SSL_CONNECTION *s, int sending)
}
} else {
if (s->early_data_state == SSL_EARLY_DATA_FINISHED_READING
- && s->statem.hand_state == TLS_ST_EARLY_DATA)
+ && s->statem.hand_state == TLS_ST_EARLY_DATA)
ossl_statem_set_in_init(s, 1);
}
return 1;
@@ -311,7 +310,7 @@ int ossl_statem_accept(SSL *s)
return state_machine(sc, 1);
}
-typedef void (*info_cb) (const SSL *, int, int);
+typedef void (*info_cb)(const SSL *, int, int);
static info_cb get_callback(SSL_CONNECTION *s)
{
@@ -356,7 +355,7 @@ static info_cb get_callback(SSL_CONNECTION *s)
static int state_machine(SSL_CONNECTION *s, int server)
{
BUF_MEM *buf = NULL;
- void (*cb) (const SSL *ssl, int type, int val) = NULL;
+ void (*cb)(const SSL *ssl, int type, int val) = NULL;
OSSL_STATEM *st = &s->statem;
int ret = -1;
int ssret;
@@ -389,13 +388,13 @@ static int state_machine(SSL_CONNECTION *s, int server)
* identifier other than 0.
*/
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE,
- st->in_handshake, NULL);
+ st->in_handshake, NULL);
}
#endif
/* Initialise state machine */
if (st->state == MSG_FLOW_UNINITED
- || st->state == MSG_FLOW_FINISHED) {
+ || st->state == MSG_FLOW_FINISHED) {
if (st->state == MSG_FLOW_UNINITED) {
st->hand_state = TLS_ST_BEFORE;
st->request_state = TLS_ST_BEFORE;
@@ -414,8 +413,7 @@ static int state_machine(SSL_CONNECTION *s, int server)
*/
if (SSL_CONNECTION_IS_DTLS(s)) {
- if ((s->version & 0xff00) != (DTLS1_VERSION & 0xff00) &&
- (server || (s->version & 0xff00) != (DTLS1_BAD_VER & 0xff00))) {
+ if ((s->version & 0xff00) != (DTLS1_VERSION & 0xff00) && (server || (s->version & 0xff00) != (DTLS1_BAD_VER & 0xff00))) {
SSLfatal(s, SSL_AD_NO_ALERT, ERR_R_INTERNAL_ERROR);
goto end;
}
@@ -464,7 +462,7 @@ static int state_machine(SSL_CONNECTION *s, int server)
}
if ((SSL_in_before(ssl))
- || s->renegotiate) {
+ || s->renegotiate) {
if (!tls_setup_handshake(s)) {
/* SSLfatal() already called */
goto end;
@@ -509,7 +507,7 @@ static int state_machine(SSL_CONNECTION *s, int server)
ret = 1;
- end:
+end:
st->in_handshake--;
#ifndef OPENSSL_NO_SCTP
@@ -519,7 +517,7 @@ static int state_machine(SSL_CONNECTION *s, int server)
* identifier other than 0.
*/
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE,
- st->in_handshake, NULL);
+ st->in_handshake, NULL);
}
#endif
@@ -543,7 +541,8 @@ static void init_read_state_machine(SSL_CONNECTION *s)
st->read_state = READ_STATE_HEADER;
}
-static int grow_init_buf(SSL_CONNECTION *s, size_t size) {
+static int grow_init_buf(SSL_CONNECTION *s, size_t size)
+{
size_t msg_offset = (char *)s->init_msg - s->init_buf->data;
@@ -589,12 +588,12 @@ static SUB_STATE_RETURN read_state_machine(SSL_CONNECTION *s)
OSSL_STATEM *st = &s->statem;
int ret, mt;
size_t len = 0;
- int (*transition) (SSL_CONNECTION *s, int mt);
+ int (*transition)(SSL_CONNECTION *s, int mt);
PACKET pkt;
- MSG_PROCESS_RETURN(*process_message) (SSL_CONNECTION *s, PACKET *pkt);
- WORK_STATE(*post_process_message) (SSL_CONNECTION *s, WORK_STATE wst);
- size_t (*max_message_size) (SSL_CONNECTION *s);
- void (*cb) (const SSL *ssl, int type, int val) = NULL;
+ MSG_PROCESS_RETURN (*process_message)(SSL_CONNECTION *s, PACKET *pkt);
+ WORK_STATE (*post_process_message)(SSL_CONNECTION *s, WORK_STATE wst);
+ size_t (*max_message_size)(SSL_CONNECTION *s);
+ void (*cb)(const SSL *ssl, int type, int val) = NULL;
SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s);
cb = get_callback(s);
@@ -650,15 +649,14 @@ static SUB_STATE_RETURN read_state_machine(SSL_CONNECTION *s)
if (s->s3.tmp.message_size > max_message_size(s)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_EXCESSIVE_MESSAGE_SIZE);
+ SSL_R_EXCESSIVE_MESSAGE_SIZE);
return SUB_STATE_ERROR;
}
/* dtls_get_message already did this */
if (!SSL_CONNECTION_IS_DTLS(s)
- && s->s3.tmp.message_size > 0
- && !grow_init_buf(s, s->s3.tmp.message_size
- + SSL3_HM_HEADER_LENGTH)) {
+ && s->s3.tmp.message_size > 0
+ && !grow_init_buf(s, s->s3.tmp.message_size + SSL3_HM_HEADER_LENGTH)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BUF_LIB);
return SUB_STATE_ERROR;
}
@@ -808,15 +806,15 @@ static SUB_STATE_RETURN write_state_machine(SSL_CONNECTION *s)
{
OSSL_STATEM *st = &s->statem;
int ret;
- WRITE_TRAN(*transition) (SSL_CONNECTION *s);
- WORK_STATE(*pre_work) (SSL_CONNECTION *s, WORK_STATE wst);
- WORK_STATE(*post_work) (SSL_CONNECTION *s, WORK_STATE wst);
- int (*get_construct_message_f) (SSL_CONNECTION *s,
- CON_FUNC_RETURN (**confunc) (SSL_CONNECTION *s,
- WPACKET *pkt),
- int *mt);
- void (*cb) (const SSL *ssl, int type, int val) = NULL;
- CON_FUNC_RETURN (*confunc) (SSL_CONNECTION *s, WPACKET *pkt);
+ WRITE_TRAN (*transition)(SSL_CONNECTION *s);
+ WORK_STATE (*pre_work)(SSL_CONNECTION *s, WORK_STATE wst);
+ WORK_STATE (*post_work)(SSL_CONNECTION *s, WORK_STATE wst);
+ int (*get_construct_message_f)(SSL_CONNECTION *s,
+ CON_FUNC_RETURN (**confunc)(SSL_CONNECTION *s,
+ WPACKET *pkt),
+ int *mt);
+ void (*cb)(const SSL *ssl, int type, int val) = NULL;
+ CON_FUNC_RETURN (*confunc)(SSL_CONNECTION *s, WPACKET *pkt);
int mt;
WPACKET pkt;
SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s);
@@ -891,7 +889,7 @@ static SUB_STATE_RETURN write_state_machine(SSL_CONNECTION *s)
break;
}
if (!WPACKET_init(&pkt, s->init_buf)
- || !ssl_set_handshake_header(s, &pkt, mt)) {
+ || !ssl_set_handshake_header(s, &pkt, mt)) {
WPACKET_cleanup(&pkt);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return SUB_STATE_ERROR;
@@ -916,7 +914,7 @@ static SUB_STATE_RETURN write_state_machine(SSL_CONNECTION *s)
} /* else success */
}
if (!ssl_close_construct_packet(s, &pkt, mt)
- || !WPACKET_finish(&pkt)) {
+ || !WPACKET_finish(&pkt)) {
WPACKET_cleanup(&pkt);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return SUB_STATE_ERROR;
@@ -1024,7 +1022,7 @@ int ossl_statem_app_data_allowed(SSL_CONNECTION *s)
int ossl_statem_export_allowed(SSL_CONNECTION *s)
{
return s->s3.previous_server_finished_len != 0
- && s->statem.hand_state != TLS_ST_SW_FINISHED;
+ && s->statem.hand_state != TLS_ST_SW_FINISHED;
}
/*
@@ -1039,5 +1037,5 @@ int ossl_statem_export_early_allowed(SSL_CONNECTION *s)
* as we have sent early_data.
*/
return s->ext.early_data == SSL_EARLY_DATA_ACCEPTED
- || (!s->server && s->ext.early_data != SSL_EARLY_DATA_NOT_SENT);
+ || (!s->server && s->ext.early_data != SSL_EARLY_DATA_NOT_SENT);
}
diff --git a/crypto/openssl/ssl/statem/statem_clnt.c b/crypto/openssl/ssl/statem/statem_clnt.c
index ba4500dd6597..0619fbd6f13a 100644
--- a/crypto/openssl/ssl/statem/statem_clnt.c
+++ b/crypto/openssl/ssl/statem/statem_clnt.c
@@ -31,14 +31,14 @@
#include "internal/ssl_unwrap.h"
static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
static MSG_PROCESS_RETURN tls_process_encrypted_extensions(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
static ossl_inline int cert_req_allowed(SSL_CONNECTION *s);
static int key_exchange_expected(SSL_CONNECTION *s);
static int ssl_cipher_list_to_bytes(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *sk,
- WPACKET *pkt);
+ WPACKET *pkt);
static ossl_inline int received_server_cert(SSL_CONNECTION *sc)
{
@@ -56,7 +56,7 @@ static ossl_inline int cert_req_allowed(SSL_CONNECTION *s)
{
/* TLS does not like anon-DH with client cert */
if ((s->version > SSL3_VERSION
- && (s->s3.tmp.new_cipher->algorithm_auth & SSL_aNULL))
+ && (s->s3.tmp.new_cipher->algorithm_auth & SSL_aNULL))
|| (s->s3.tmp.new_cipher->algorithm_auth & (SSL_aSRP | SSL_aPSK)))
return 0;
@@ -78,8 +78,7 @@ static int key_exchange_expected(SSL_CONNECTION *s)
* Can't skip server key exchange if this is an ephemeral
* ciphersuite or for SRP
*/
- if (alg_k & (SSL_kDHE | SSL_kECDHE | SSL_kDHEPSK | SSL_kECDHEPSK
- | SSL_kSRP)) {
+ if (alg_k & (SSL_kDHE | SSL_kECDHE | SSL_kDHEPSK | SSL_kECDHEPSK | SSL_kSRP)) {
return 1;
}
@@ -144,7 +143,7 @@ static int ossl_statem_client13_read_transition(SSL_CONNECTION *s, int mt)
}
#ifndef OPENSSL_NO_COMP_ALG
if (mt == SSL3_MT_COMPRESSED_CERTIFICATE
- && s->ext.compress_certificate_sent) {
+ && s->ext.compress_certificate_sent) {
st->hand_state = TLS_ST_CR_COMP_CERT;
return 1;
}
@@ -159,7 +158,7 @@ static int ossl_statem_client13_read_transition(SSL_CONNECTION *s, int mt)
}
#ifndef OPENSSL_NO_COMP_ALG
if (mt == SSL3_MT_COMPRESSED_CERTIFICATE
- && s->ext.compress_certificate_sent) {
+ && s->ext.compress_certificate_sent) {
st->hand_state = TLS_ST_CR_COMP_CERT;
return 1;
}
@@ -193,7 +192,7 @@ static int ossl_statem_client13_read_transition(SSL_CONNECTION *s, int mt)
if (mt == SSL3_MT_CERTIFICATE_REQUEST) {
#if DTLS_MAX_VERSION_INTERNAL != DTLS1_2_VERSION
/* Restore digest for PHA before adding message.*/
-# error Internal DTLS version error
+#error Internal DTLS version error
#endif
if (!SSL_CONNECTION_IS_DTLS(s)
&& s->post_handshake_auth == SSL_PHA_EXT_SENT) {
@@ -290,9 +289,9 @@ int ossl_statem_client_read_transition(SSL_CONNECTION *s, int mt)
st->hand_state = DTLS_ST_CR_HELLO_VERIFY_REQUEST;
return 1;
} else if (s->version >= TLS1_VERSION
- && s->ext.session_secret_cb != NULL
- && s->session->ext.tick != NULL
- && mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
+ && s->ext.session_secret_cb != NULL
+ && s->session->ext.tick != NULL
+ && mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
/*
* Normally, we can tell if the server is resuming the session
* from the session ID. EAP-FAST (RFC 4851), however, relies on
@@ -303,7 +302,7 @@ int ossl_statem_client_read_transition(SSL_CONNECTION *s, int mt)
st->hand_state = TLS_ST_CR_CHANGE;
return 1;
} else if (!(s->s3.tmp.new_cipher->algorithm_auth
- & (SSL_aNULL | SSL_aSRP | SSL_aPSK))) {
+ & (SSL_aNULL | SSL_aSRP | SSL_aPSK))) {
if (mt == SSL3_MT_CERTIFICATE) {
st->hand_state = TLS_ST_CR_CERT;
return 1;
@@ -319,7 +318,7 @@ int ossl_statem_client_read_transition(SSL_CONNECTION *s, int mt)
return 1;
}
} else if (mt == SSL3_MT_CERTIFICATE_REQUEST
- && cert_req_allowed(s)) {
+ && cert_req_allowed(s)) {
st->hand_state = TLS_ST_CR_CERT_REQ;
return 1;
} else if (mt == SSL3_MT_SERVER_DONE) {
@@ -345,8 +344,7 @@ int ossl_statem_client_read_transition(SSL_CONNECTION *s, int mt)
case TLS_ST_CR_CERT_STATUS:
ske_expected = key_exchange_expected(s);
/* SKE is optional for some PSK ciphersuites */
- if (ske_expected || ((s->s3.tmp.new_cipher->algorithm_mkey & SSL_PSK)
- && mt == SSL3_MT_SERVER_KEY_EXCHANGE)) {
+ if (ske_expected || ((s->s3.tmp.new_cipher->algorithm_mkey & SSL_PSK) && mt == SSL3_MT_SERVER_KEY_EXCHANGE)) {
if (mt == SSL3_MT_SERVER_KEY_EXCHANGE) {
st->hand_state = TLS_ST_CR_KEY_EXCH;
return 1;
@@ -406,7 +404,7 @@ int ossl_statem_client_read_transition(SSL_CONNECTION *s, int mt)
break;
}
- err:
+err:
/* No valid transition found */
if (SSL_CONNECTION_IS_DTLS(s) && mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
BIO *rbio;
@@ -475,10 +473,10 @@ static WRITE_TRAN ossl_statem_client13_write_transition(SSL_CONNECTION *s)
case TLS_ST_CR_FINISHED:
if (s->early_data_state == SSL_EARLY_DATA_WRITE_RETRY
- || s->early_data_state == SSL_EARLY_DATA_FINISHED_WRITING)
+ || s->early_data_state == SSL_EARLY_DATA_FINISHED_WRITING)
st->hand_state = TLS_ST_PENDING_EARLY_DATA_END;
else if ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0
- && s->hello_retry_request == SSL_HRR_NONE)
+ && s->hello_retry_request == SSL_HRR_NONE)
st->hand_state = TLS_ST_CW_CHANGE;
else if (s->s3.tmp.cert_req == 0)
st->hand_state = TLS_ST_CW_FINISHED;
@@ -511,7 +509,7 @@ static WRITE_TRAN ossl_statem_client13_write_transition(SSL_CONNECTION *s)
case TLS_ST_CW_CERT:
/* If a non-empty Certificate we also send CertificateVerify */
st->hand_state = (s->s3.tmp.cert_req == 1) ? TLS_ST_CW_CERT_VRFY
- : TLS_ST_CW_FINISHED;
+ : TLS_ST_CW_FINISHED;
return WRITE_TRAN_CONTINUE;
case TLS_ST_CW_CERT_VRFY:
@@ -574,7 +572,7 @@ WRITE_TRAN ossl_statem_client_write_transition(SSL_CONNECTION *s)
case TLS_ST_CW_CLNT_HELLO:
if (s->early_data_state == SSL_EARLY_DATA_CONNECTING
- && !SSL_IS_QUIC_HANDSHAKE(s)) {
+ && !SSL_IS_QUIC_HANDSHAKE(s)) {
/*
* We are assuming this is a TLSv1.3 connection, although we haven't
* actually selected a version yet.
@@ -599,7 +597,7 @@ WRITE_TRAN ossl_statem_client_write_transition(SSL_CONNECTION *s)
* because we did early data.
*/
if ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0
- && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING)
+ && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING)
st->hand_state = TLS_ST_CW_CHANGE;
else
st->hand_state = TLS_ST_CW_CLNT_HELLO;
@@ -737,12 +735,12 @@ WORK_STATE ossl_statem_client_pre_work(SSL_CONNECTION *s, WORK_STATE wst)
* write record layer in order to write in plaintext again.
*/
if (!ssl_set_new_record_layer(s,
- TLS_ANY_VERSION,
- OSSL_RECORD_DIRECTION_WRITE,
- OSSL_RECORD_PROTECTION_LEVEL_NONE,
- NULL, 0, NULL, 0, NULL, 0, NULL, 0,
- NULL, 0, NID_undef, NULL, NULL,
- NULL)) {
+ TLS_ANY_VERSION,
+ OSSL_RECORD_DIRECTION_WRITE,
+ OSSL_RECORD_PROTECTION_LEVEL_NONE,
+ NULL, 0, NULL, 0, NULL, 0, NULL, 0,
+ NULL, 0, NID_undef, NULL, NULL,
+ NULL)) {
/* SSLfatal already called */
return WORK_ERROR;
}
@@ -774,7 +772,7 @@ WORK_STATE ossl_statem_client_pre_work(SSL_CONNECTION *s, WORK_STATE wst)
* on with the handshake. Otherwise we pause here.
*/
if (s->early_data_state == SSL_EARLY_DATA_FINISHED_WRITING
- || s->early_data_state == SSL_EARLY_DATA_NONE)
+ || s->early_data_state == SSL_EARLY_DATA_NONE)
return WORK_FINISHED_CONTINUE;
/* Fall through */
@@ -807,7 +805,7 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
case TLS_ST_CW_CLNT_HELLO:
if (s->early_data_state == SSL_EARLY_DATA_CONNECTING
- && s->max_early_data > 0) {
+ && s->max_early_data > 0) {
/*
* We haven't selected TLSv1.3 yet so we don't call the change
* cipher state function associated with the SSL_METHOD. Instead
@@ -815,7 +813,7 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
*/
if ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) == 0) {
if (!tls13_change_cipher_state(s,
- SSL3_CC_EARLY | SSL3_CHANGE_CIPHER_CLIENT_WRITE)) {
+ SSL3_CC_EARLY | SSL3_CHANGE_CIPHER_CLIENT_WRITE)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
@@ -843,14 +841,14 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
|| s->hello_retry_request == SSL_HRR_PENDING)
break;
if (s->early_data_state == SSL_EARLY_DATA_CONNECTING
- && s->max_early_data > 0) {
+ && s->max_early_data > 0) {
/*
* We haven't selected TLSv1.3 yet so we don't call the change
* cipher state function associated with the SSL_METHOD. Instead
* we call tls13_change_cipher_state() directly.
*/
if (!tls13_change_cipher_state(s,
- SSL3_CC_EARLY | SSL3_CHANGE_CIPHER_CLIENT_WRITE))
+ SSL3_CC_EARLY | SSL3_CHANGE_CIPHER_CLIENT_WRITE))
return WORK_ERROR;
break;
}
@@ -869,7 +867,7 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
}
if (!ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CHANGE_CIPHER_CLIENT_WRITE)) {
+ SSL3_CHANGE_CIPHER_CLIENT_WRITE)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
@@ -877,11 +875,11 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
#ifndef OPENSSL_NO_SCTP
if (SSL_CONNECTION_IS_DTLS(s) && s->hit) {
/*
- * Change to new shared key of SCTP-Auth, will be ignored if
- * no SCTP used.
- */
+ * Change to new shared key of SCTP-Auth, will be ignored if
+ * no SCTP used.
+ */
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY,
- 0, NULL);
+ 0, NULL);
}
#endif
break;
@@ -894,7 +892,7 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* no SCTP used.
*/
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY,
- 0, NULL);
+ 0, NULL);
}
#endif
if (statem_flush(s) != 1)
@@ -917,8 +915,8 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* keys.
*/
if (SSL_IS_QUIC_HANDSHAKE(s)
- && !ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_CLIENT_READ)) {
+ && !ssl->method->ssl3_enc->change_cipher_state(s,
+ SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_CLIENT_READ)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
@@ -948,7 +946,7 @@ WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* 0: Error
*/
int ossl_statem_client_construct_message(SSL_CONNECTION *s,
- confunc_f *confunc, int *mt)
+ confunc_f *confunc, int *mt)
{
OSSL_STATEM *st = &s->statem;
@@ -1090,7 +1088,7 @@ size_t ossl_statem_client_max_message_size(SSL_CONNECTION *s)
* Process a message that the client has received from the server.
*/
MSG_PROCESS_RETURN ossl_statem_client_process_message(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
OSSL_STATEM *st = &s->statem;
@@ -1154,7 +1152,7 @@ MSG_PROCESS_RETURN ossl_statem_client_process_message(SSL_CONNECTION *s,
* from the server
*/
WORK_STATE ossl_statem_client_post_process_message(SSL_CONNECTION *s,
- WORK_STATE wst)
+ WORK_STATE wst)
{
OSSL_STATEM *st = &s->statem;
@@ -1194,10 +1192,10 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
}
if (sess == NULL
- || !ssl_version_supported(s, sess->ssl_version, NULL)
- || !SSL_SESSION_is_resumable(sess)) {
+ || !ssl_version_supported(s, sess->ssl_version, NULL)
+ || !SSL_SESSION_is_resumable(sess)) {
if (s->hello_retry_request == SSL_HRR_NONE
- && !ssl_get_new_session(s, 0)) {
+ && !ssl_get_new_session(s, 0)) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -1223,8 +1221,7 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
i = (s->hello_retry_request == SSL_HRR_NONE);
}
- if (i && ssl_fill_hello_random(s, 0, p, sizeof(s->s3.client_random),
- DOWNGRADE_NONE) <= 0) {
+ if (i && ssl_fill_hello_random(s, 0, p, sizeof(s->s3.client_random), DOWNGRADE_NONE) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -1263,7 +1260,7 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
* supported_versions extension for the real supported versions.
*/
if (!WPACKET_put_bytes_u16(pkt, s->client_version)
- || !WPACKET_memcpy(pkt, s->s3.client_random, SSL3_RANDOM_SIZE)) {
+ || !WPACKET_memcpy(pkt, s->s3.client_random, SSL3_RANDOM_SIZE)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -1272,13 +1269,14 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
session_id = s->session->session_id;
if (s->new_session || s->session->ssl_version == TLS1_3_VERSION) {
if (s->version == TLS1_3_VERSION
- && (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0) {
+ && (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0) {
sess_id_len = sizeof(s->tmp_session_id);
s->tmp_session_id_len = sess_id_len;
session_id = s->tmp_session_id;
if (s->hello_retry_request == SSL_HRR_NONE
- && RAND_bytes_ex(sctx->libctx, s->tmp_session_id,
- sess_id_len, 0) <= 0) {
+ && RAND_bytes_ex(sctx->libctx, s->tmp_session_id,
+ sess_id_len, 0)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -1294,9 +1292,8 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
}
}
if (!WPACKET_start_sub_packet_u8(pkt)
- || (sess_id_len != 0 && !WPACKET_memcpy(pkt, session_id,
- sess_id_len))
- || !WPACKET_close(pkt)) {
+ || (sess_id_len != 0 && !WPACKET_memcpy(pkt, session_id, sess_id_len))
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -1304,8 +1301,8 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
/* cookie stuff for DTLS */
if (SSL_CONNECTION_IS_DTLS(s)) {
if (s->d1->cookie_len > sizeof(s->d1->cookie)
- || !WPACKET_sub_memcpy_u8(pkt, s->d1->cookie,
- s->d1->cookie_len)) {
+ || !WPACKET_sub_memcpy_u8(pkt, s->d1->cookie,
+ s->d1->cookie_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -1318,7 +1315,7 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
}
if (!ssl_cipher_list_to_bytes(s, SSL_get_ciphers(SSL_CONNECTION_GET_SSL(s)),
- pkt)) {
+ pkt)) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -1334,9 +1331,9 @@ CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET *pkt)
}
#ifndef OPENSSL_NO_COMP
if (ssl_allow_compression(s)
- && sctx->comp_methods
- && (SSL_CONNECTION_IS_DTLS(s)
- || s->s3.tmp.max_ver < TLS1_3_VERSION)) {
+ && sctx->comp_methods
+ && (SSL_CONNECTION_IS_DTLS(s)
+ || s->s3.tmp.max_ver < TLS1_3_VERSION)) {
int compnum = sk_SSL_COMP_num(sctx->comp_methods);
for (i = 0; i < compnum; i++) {
comp = sk_SSL_COMP_value(sctx->comp_methods, i);
@@ -1389,7 +1386,7 @@ MSG_PROCESS_RETURN dtls_process_hello_verify(SSL_CONNECTION *s, PACKET *pkt)
}
static int set_client_ciphersuite(SSL_CONNECTION *s,
- const unsigned char *cipherchars)
+ const unsigned char *cipherchars)
{
STACK_OF(SSL_CIPHER) *sk;
const SSL_CIPHER *c;
@@ -1420,7 +1417,7 @@ static int set_client_ciphersuite(SSL_CONNECTION *s,
}
if (SSL_CONNECTION_IS_TLS13(s) && s->s3.tmp.new_cipher != NULL
- && s->s3.tmp.new_cipher->id != c->id) {
+ && s->s3.tmp.new_cipher->id != c->id) {
/* ServerHello selected a different ciphersuite to that in the HRR */
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_WRONG_CIPHER_RETURNED);
return 0;
@@ -1446,9 +1443,9 @@ static int set_client_ciphersuite(SSL_CONNECTION *s,
* ciphersuite as long as the hash is the same.
*/
if (md == NULL
- || md != ssl_md(sctx, s->session->cipher->algorithm2)) {
+ || md != ssl_md(sctx, s->session->cipher->algorithm2)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_CIPHERSUITE_DIGEST_HAS_CHANGED);
+ SSL_R_CIPHERSUITE_DIGEST_HAS_CHANGED);
return 0;
}
} else {
@@ -1457,7 +1454,7 @@ static int set_client_ciphersuite(SSL_CONNECTION *s,
* ciphersuite.
*/
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED);
+ SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED);
return 0;
}
}
@@ -1489,9 +1486,9 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
/* load the server random */
if (s->version == TLS1_3_VERSION
- && sversion == TLS1_2_VERSION
- && PACKET_remaining(pkt) >= SSL3_RANDOM_SIZE
- && memcmp(hrrrandom, PACKET_data(pkt), SSL3_RANDOM_SIZE) == 0) {
+ && sversion == TLS1_2_VERSION
+ && PACKET_remaining(pkt) >= SSL3_RANDOM_SIZE
+ && memcmp(hrrrandom, PACKET_data(pkt), SSL3_RANDOM_SIZE) == 0) {
if (s->hello_retry_request != SSL_HRR_NONE) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_MESSAGE);
goto err;
@@ -1540,16 +1537,16 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
if (PACKET_remaining(pkt) == 0 && !hrr) {
PACKET_null_init(&extpkt);
} else if (!PACKET_as_length_prefixed_2(pkt, &extpkt)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_LENGTH);
goto err;
}
if (!hrr) {
if (!tls_collect_extensions(s, &extpkt,
- SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_SERVER_HELLO,
- &extensions, NULL, 1)) {
+ SSL_EXT_TLS1_2_SERVER_HELLO
+ | SSL_EXT_TLS1_3_SERVER_HELLO,
+ &extensions, NULL, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -1563,13 +1560,14 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
if (SSL_CONNECTION_IS_TLS13(s) || hrr) {
if (compression != 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_INVALID_COMPRESSION_ALGORITHM);
+ SSL_R_INVALID_COMPRESSION_ALGORITHM);
goto err;
}
if (session_id_len != s->tmp_session_id_len
- || memcmp(PACKET_data(&session_id), s->tmp_session_id,
- session_id_len) != 0) {
+ || memcmp(PACKET_data(&session_id), s->tmp_session_id,
+ session_id_len)
+ != 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_INVALID_SESSION_ID);
goto err;
}
@@ -1604,14 +1602,14 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
*/
if (RECORD_LAYER_processed_read_pending(&s->rlayer)) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_NOT_ON_RECORD_BOUNDARY);
+ SSL_R_NOT_ON_RECORD_BOUNDARY);
goto err;
}
/* This will set s->hit if we are resuming */
if (!tls_parse_extension(s, TLSEXT_IDX_psk,
- SSL_EXT_TLS1_3_SERVER_HELLO,
- extensions, NULL, 0)) {
+ SSL_EXT_TLS1_3_SERVER_HELLO,
+ extensions, NULL, 0)) {
/* SSLfatal() already called */
goto err;
}
@@ -1629,7 +1627,7 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
* message to see if the server wants to resume.
*/
if (s->version >= TLS1_VERSION
- && s->ext.session_secret_cb != NULL && s->session->ext.tick) {
+ && s->ext.session_secret_cb != NULL && s->session->ext.tick) {
const SSL_CIPHER *pref_cipher = NULL;
/*
* s->session->master_key_length is a size_t, but this is an int for
@@ -1639,13 +1637,12 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
master_key_length = sizeof(s->session->master_key);
if (s->ext.session_secret_cb(ussl, s->session->master_key,
- &master_key_length,
- NULL, &pref_cipher,
- s->ext.session_secret_cb_arg)
- && master_key_length > 0) {
+ &master_key_length,
+ NULL, &pref_cipher,
+ s->ext.session_secret_cb_arg)
+ && master_key_length > 0) {
s->session->master_key_length = master_key_length;
- s->session->cipher = pref_cipher ?
- pref_cipher : ssl_get_cipher_by_char(s, cipherchars, 0);
+ s->session->cipher = pref_cipher ? pref_cipher : ssl_get_cipher_by_char(s, cipherchars, 0);
} else {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -1653,18 +1650,19 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
}
if (session_id_len != 0
- && session_id_len == s->session->session_id_length
- && memcmp(PACKET_data(&session_id), s->session->session_id,
- session_id_len) == 0)
+ && session_id_len == s->session->session_id_length
+ && memcmp(PACKET_data(&session_id), s->session->session_id,
+ session_id_len)
+ == 0)
s->hit = 1;
}
if (s->hit) {
if (s->sid_ctx_length != s->session->sid_ctx_length
- || memcmp(s->session->sid_ctx, s->sid_ctx, s->sid_ctx_length)) {
+ || memcmp(s->session->sid_ctx, s->sid_ctx, s->sid_ctx_length)) {
/* actually a client application bug */
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
+ SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
goto err;
}
} else {
@@ -1695,14 +1693,14 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
/* session_id_len could be 0 */
if (session_id_len > 0)
memcpy(s->session->session_id, PACKET_data(&session_id),
- session_id_len);
+ session_id_len);
}
}
/* Session version and negotiated protocol version should match */
if (s->version != s->session->ssl_version) {
SSLfatal(s, SSL_AD_PROTOCOL_VERSION,
- SSL_R_SSL_SESSION_VERSION_MISMATCH);
+ SSL_R_SSL_SESSION_VERSION_MISMATCH);
goto err;
}
/*
@@ -1720,7 +1718,7 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
#ifdef OPENSSL_NO_COMP
if (compression != 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM);
+ SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM);
goto err;
}
/*
@@ -1734,7 +1732,7 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
#else
if (s->hit && compression != s->session->compress_meth) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED);
+ SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED);
goto err;
}
if (compression == 0)
@@ -1744,12 +1742,12 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
goto err;
} else {
comp = ssl3_comp_find(SSL_CONNECTION_GET_CTX(s)->comp_methods,
- compression);
+ compression);
}
if (compression != 0 && comp == NULL) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM);
+ SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM);
goto err;
} else {
s->s3.tmp.new_compression = comp;
@@ -1772,7 +1770,7 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
* no SCTP used.
*/
memcpy(labelbuffer, DTLS1_SCTP_AUTH_LABEL,
- sizeof(DTLS1_SCTP_AUTH_LABEL));
+ sizeof(DTLS1_SCTP_AUTH_LABEL));
/* Don't include the terminating zero. */
labellen = sizeof(labelbuffer) - 1;
@@ -1780,16 +1778,17 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
labellen += 1;
if (SSL_export_keying_material(ssl, sctpauthkey,
- sizeof(sctpauthkey),
- labelbuffer,
- labellen, NULL, 0, 0) <= 0) {
+ sizeof(sctpauthkey),
+ labelbuffer,
+ labellen, NULL, 0, 0)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
BIO_ctrl(SSL_get_wbio(ssl),
- BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
- sizeof(sctpauthkey), sctpauthkey);
+ BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
+ sizeof(sctpauthkey), sctpauthkey);
}
#endif
@@ -1799,7 +1798,7 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
*/
if (SSL_CONNECTION_IS_TLS13(s)) {
if (!ssl->method->ssl3_enc->setup_key_block(s)
- || !tls13_store_handshake_traffic_hash(s)) {
+ || !tls13_store_handshake_traffic_hash(s)) {
/* SSLfatal() already called */
goto err;
}
@@ -1813,16 +1812,16 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
* compat this doesn't cause a problem.
*/
if (SSL_IS_QUIC_HANDSHAKE(s)
- || (s->early_data_state == SSL_EARLY_DATA_NONE
- && (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) == 0)) {
+ || (s->early_data_state == SSL_EARLY_DATA_NONE
+ && (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) == 0)) {
if (!ssl->method->ssl3_enc->change_cipher_state(s,
SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE)) {
/* SSLfatal() already called */
goto err;
- }
+ }
}
if (!ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_READ)) {
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_READ)) {
/* SSLfatal() already called */
goto err;
}
@@ -1830,13 +1829,13 @@ MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET *pkt)
OPENSSL_free(extensions);
return MSG_PROCESS_CONTINUE_READING;
- err:
+err:
OPENSSL_free(extensions);
return MSG_PROCESS_ERROR;
}
static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL_CONNECTION *s,
- PACKET *extpkt)
+ PACKET *extpkt)
{
RAW_EXTENSION *extensions = NULL;
@@ -1845,12 +1844,12 @@ static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL_CONNECTION *s,
* the old wrlmethod.
*/
if (s->early_data_state == SSL_EARLY_DATA_FINISHED_WRITING
- && !ssl_set_new_record_layer(s,
- TLS_ANY_VERSION,
- OSSL_RECORD_DIRECTION_WRITE,
- OSSL_RECORD_PROTECTION_LEVEL_NONE,
- NULL, 0, NULL, 0, NULL, 0, NULL, 0,
- NULL, 0, NID_undef, NULL, NULL, NULL)) {
+ && !ssl_set_new_record_layer(s,
+ TLS_ANY_VERSION,
+ OSSL_RECORD_DIRECTION_WRITE,
+ OSSL_RECORD_PROTECTION_LEVEL_NONE,
+ NULL, 0, NULL, 0, NULL, 0, NULL, 0,
+ NULL, 0, NID_undef, NULL, NULL, NULL)) {
/* SSLfatal already called */
goto err;
}
@@ -1858,9 +1857,9 @@ static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL_CONNECTION *s,
s->rlayer.wrlmethod->set_protocol_version(s->rlayer.wrl, TLS1_3_VERSION);
if (!tls_collect_extensions(s, extpkt, SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST,
- &extensions, NULL, 1)
- || !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST,
- extensions, NULL, 0, 1)) {
+ &extensions, NULL, 1)
+ || !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST,
+ extensions, NULL, 0, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -1893,13 +1892,13 @@ static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL_CONNECTION *s,
* for HRR messages.
*/
if (!ssl3_finish_mac(s, (unsigned char *)s->init_buf->data,
- s->init_num + SSL3_HM_HEADER_LENGTH)) {
+ s->init_num + SSL3_HM_HEADER_LENGTH)) {
/* SSLfatal() already called */
goto err;
}
return MSG_PROCESS_FINISHED_READING;
- err:
+err:
OPENSSL_free(extensions);
return MSG_PROCESS_ERROR;
}
@@ -1925,7 +1924,7 @@ MSG_PROCESS_RETURN tls_process_server_rpk(SSL_CONNECTION *sc, PACKET *pkt)
}
static WORK_STATE tls_post_process_server_rpk(SSL_CONNECTION *sc,
- WORK_STATE wst)
+ WORK_STATE wst)
{
size_t certidx;
const SSL_CERT_LOOKUP *clu;
@@ -1933,7 +1932,7 @@ static WORK_STATE tls_post_process_server_rpk(SSL_CONNECTION *sc,
if (sc->session->peer_rpk == NULL) {
SSLfatal(sc, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_INVALID_RAW_PUBLIC_KEY);
+ SSL_R_INVALID_RAW_PUBLIC_KEY);
return WORK_ERROR;
}
@@ -1945,16 +1944,17 @@ static WORK_STATE tls_post_process_server_rpk(SSL_CONNECTION *sc,
if (v_ok <= 0 && sc->verify_mode != SSL_VERIFY_NONE) {
ERR_clear_last_mark();
SSLfatal(sc, ssl_x509err2alert(sc->verify_result),
- SSL_R_CERTIFICATE_VERIFY_FAILED);
+ SSL_R_CERTIFICATE_VERIFY_FAILED);
return WORK_ERROR;
}
- ERR_pop_to_mark(); /* but we keep s->verify_result */
+ ERR_pop_to_mark(); /* but we keep s->verify_result */
if (v_ok > 0 && sc->rwstate == SSL_RETRY_VERIFY) {
return WORK_MORE_A;
}
if ((clu = ssl_cert_lookup_by_pkey(sc->session->peer_rpk, &certidx,
- SSL_CONNECTION_GET_CTX(sc))) == NULL) {
+ SSL_CONNECTION_GET_CTX(sc)))
+ == NULL) {
SSLfatal(sc, SSL_AD_ILLEGAL_PARAMETER, SSL_R_UNKNOWN_CERTIFICATE_TYPE);
return WORK_ERROR;
}
@@ -1980,9 +1980,9 @@ static WORK_STATE tls_post_process_server_rpk(SSL_CONNECTION *sc,
/* Save the current hash state for when we receive the CertificateVerify */
if (SSL_CONNECTION_IS_TLS13(sc)
- && !ssl_handshake_hash(sc, sc->cert_verify_hash,
- sizeof(sc->cert_verify_hash),
- &sc->cert_verify_hash_len)) {
+ && !ssl_handshake_hash(sc, sc->cert_verify_hash,
+ sizeof(sc->cert_verify_hash),
+ &sc->cert_verify_hash_len)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
@@ -1992,7 +1992,7 @@ static WORK_STATE tls_post_process_server_rpk(SSL_CONNECTION *sc,
/* prepare server cert verification by setting s->session->peer_chain from pkt */
MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
unsigned long cert_list_len, cert_len;
X509 *x = NULL;
@@ -2005,7 +2005,7 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
return tls_process_server_rpk(s, pkt);
if (s->ext.server_cert_type != TLSEXT_cert_type_x509) {
SSLfatal(s, SSL_AD_UNSUPPORTED_CERTIFICATE,
- SSL_R_UNKNOWN_CERTIFICATE_TYPE);
+ SSL_R_UNKNOWN_CERTIFICATE_TYPE);
goto err;
}
@@ -2015,10 +2015,10 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
}
if ((SSL_CONNECTION_IS_TLS13(s) && !PACKET_get_1(pkt, &context))
- || context != 0
- || !PACKET_get_net_3(pkt, &cert_list_len)
- || PACKET_remaining(pkt) != cert_list_len
- || PACKET_remaining(pkt) == 0) {
+ || context != 0
+ || !PACKET_get_net_3(pkt, &cert_list_len)
+ || PACKET_remaining(pkt) != cert_list_len
+ || PACKET_remaining(pkt) == 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
@@ -2036,7 +2036,8 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
goto err;
}
if (d2i_X509(&x, (const unsigned char **)&certbytes,
- cert_len) == NULL) {
+ cert_len)
+ == NULL) {
SSLfatal(s, SSL_AD_BAD_CERTIFICATE, ERR_R_ASN1_LIB);
goto err;
}
@@ -2055,11 +2056,11 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
goto err;
}
if (!tls_collect_extensions(s, &extensions,
- SSL_EXT_TLS1_3_CERTIFICATE, &rawexts,
- NULL, chainidx == 0)
+ SSL_EXT_TLS1_3_CERTIFICATE, &rawexts,
+ NULL, chainidx == 0)
|| !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_CERTIFICATE,
- rawexts, x, chainidx,
- PACKET_remaining(pkt) == 0)) {
+ rawexts, x, chainidx,
+ PACKET_remaining(pkt) == 0)) {
OPENSSL_free(rawexts);
/* SSLfatal already called */
goto err;
@@ -2075,7 +2076,7 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
}
return MSG_PROCESS_CONTINUE_PROCESSING;
- err:
+err:
X509_free(x);
OSSL_STACK_OF_X509_free(s->session->peer_chain);
s->session->peer_chain = NULL;
@@ -2088,7 +2089,7 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
* Else the peer certificate verification callback may request retry.
*/
WORK_STATE tls_post_process_server_certificate(SSL_CONNECTION *s,
- WORK_STATE wst)
+ WORK_STATE wst)
{
X509 *x;
EVP_PKEY *pkey = NULL;
@@ -2121,10 +2122,10 @@ WORK_STATE tls_post_process_server_certificate(SSL_CONNECTION *s,
if (i <= 0 && s->verify_mode != SSL_VERIFY_NONE) {
ERR_clear_last_mark();
SSLfatal(s, ssl_x509err2alert(s->verify_result),
- SSL_R_CERTIFICATE_VERIFY_FAILED);
+ SSL_R_CERTIFICATE_VERIFY_FAILED);
return WORK_ERROR;
}
- ERR_pop_to_mark(); /* but we keep s->verify_result */
+ ERR_pop_to_mark(); /* but we keep s->verify_result */
if (i > 0 && s->rwstate == SSL_RETRY_VERIFY)
return WORK_MORE_A;
@@ -2138,12 +2139,13 @@ WORK_STATE tls_post_process_server_certificate(SSL_CONNECTION *s,
if (pkey == NULL || EVP_PKEY_missing_parameters(pkey)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS);
+ SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS);
return WORK_ERROR;
}
if ((clu = ssl_cert_lookup_by_pkey(pkey, &certidx,
- SSL_CONNECTION_GET_CTX(s))) == NULL) {
+ SSL_CONNECTION_GET_CTX(s)))
+ == NULL) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_UNKNOWN_CERTIFICATE_TYPE);
return WORK_ERROR;
}
@@ -2173,9 +2175,9 @@ WORK_STATE tls_post_process_server_certificate(SSL_CONNECTION *s,
/* Save the current hash state for when we receive the CertificateVerify */
if (SSL_CONNECTION_IS_TLS13(s)
- && !ssl_handshake_hash(s, s->cert_verify_hash,
- sizeof(s->cert_verify_hash),
- &s->cert_verify_hash_len)) {
+ && !ssl_handshake_hash(s, s->cert_verify_hash,
+ sizeof(s->cert_verify_hash),
+ &s->cert_verify_hash_len)) {
/* SSLfatal() already called */;
return WORK_ERROR;
}
@@ -2224,7 +2226,7 @@ static int tls_process_ske_psk_preamble(SSL_CONNECTION *s, PACKET *pkt)
OPENSSL_free(s->session->psk_identity_hint);
s->session->psk_identity_hint = NULL;
} else if (!PACKET_strndup(&psk_identity_hint,
- &s->session->psk_identity_hint)) {
+ &s->session->psk_identity_hint)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -2249,18 +2251,18 @@ static int tls_process_ske_srp(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
return 0;
}
- if ((s->srp_ctx.N =
- BN_bin2bn(PACKET_data(&prime),
- (int)PACKET_remaining(&prime), NULL)) == NULL
- || (s->srp_ctx.g =
- BN_bin2bn(PACKET_data(&generator),
- (int)PACKET_remaining(&generator), NULL)) == NULL
- || (s->srp_ctx.s =
- BN_bin2bn(PACKET_data(&salt),
- (int)PACKET_remaining(&salt), NULL)) == NULL
- || (s->srp_ctx.B =
- BN_bin2bn(PACKET_data(&server_pub),
- (int)PACKET_remaining(&server_pub), NULL)) == NULL) {
+ if ((s->srp_ctx.N = BN_bin2bn(PACKET_data(&prime),
+ (int)PACKET_remaining(&prime), NULL))
+ == NULL
+ || (s->srp_ctx.g = BN_bin2bn(PACKET_data(&generator),
+ (int)PACKET_remaining(&generator), NULL))
+ == NULL
+ || (s->srp_ctx.s = BN_bin2bn(PACKET_data(&salt),
+ (int)PACKET_remaining(&salt), NULL))
+ == NULL
+ || (s->srp_ctx.B = BN_bin2bn(PACKET_data(&server_pub),
+ (int)PACKET_remaining(&server_pub), NULL))
+ == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BN_LIB);
return 0;
}
@@ -2301,9 +2303,9 @@ static int tls_process_ske_dhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
p = BN_bin2bn(PACKET_data(&prime), (int)PACKET_remaining(&prime), NULL);
g = BN_bin2bn(PACKET_data(&generator), (int)PACKET_remaining(&generator),
- NULL);
+ NULL);
bnpub_key = BN_bin2bn(PACKET_data(&pub_key),
- (int)PACKET_remaining(&pub_key), NULL);
+ (int)PACKET_remaining(&pub_key), NULL);
if (p == NULL || g == NULL || bnpub_key == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BN_LIB);
goto err;
@@ -2311,11 +2313,11 @@ static int tls_process_ske_dhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
tmpl = OSSL_PARAM_BLD_new();
if (tmpl == NULL
- || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_P, p)
- || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_G, g)
- || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_PUB_KEY,
- bnpub_key)
- || (params = OSSL_PARAM_BLD_to_param(tmpl)) == NULL) {
+ || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_P, p)
+ || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_G, g)
+ || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_PUB_KEY,
+ bnpub_key)
+ || (params = OSSL_PARAM_BLD_to_param(tmpl)) == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2326,7 +2328,7 @@ static int tls_process_ske_dhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
goto err;
}
if (EVP_PKEY_fromdata_init(pctx) <= 0
- || EVP_PKEY_fromdata(pctx, &peer_tmp, EVP_PKEY_KEYPAIR, params) <= 0) {
+ || EVP_PKEY_fromdata(pctx, &peer_tmp, EVP_PKEY_KEYPAIR, params) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_DH_VALUE);
goto err;
}
@@ -2334,21 +2336,21 @@ static int tls_process_ske_dhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
EVP_PKEY_CTX_free(pctx);
pctx = EVP_PKEY_CTX_new_from_pkey(sctx->libctx, peer_tmp, sctx->propq);
if (pctx == NULL
- /*
- * EVP_PKEY_param_check() will verify that the DH params are using
- * a safe prime. In this context, because we're using ephemeral DH,
- * we're ok with it not being a safe prime.
- * EVP_PKEY_param_check_quick() skips the safe prime check.
- */
- || EVP_PKEY_param_check_quick(pctx) != 1
- || EVP_PKEY_public_check(pctx) != 1) {
+ /*
+ * EVP_PKEY_param_check() will verify that the DH params are using
+ * a safe prime. In this context, because we're using ephemeral DH,
+ * we're ok with it not being a safe prime.
+ * EVP_PKEY_param_check_quick() skips the safe prime check.
+ */
+ || EVP_PKEY_param_check_quick(pctx) != 1
+ || EVP_PKEY_public_check(pctx) != 1) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_DH_VALUE);
goto err;
}
if (!ssl_security(s, SSL_SECOP_TMP_DH,
- EVP_PKEY_get_security_bits(peer_tmp),
- 0, peer_tmp)) {
+ EVP_PKEY_get_security_bits(peer_tmp),
+ 0, peer_tmp)) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_DH_KEY_TOO_SMALL);
goto err;
}
@@ -2366,7 +2368,7 @@ static int tls_process_ske_dhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
ret = 1;
- err:
+err:
OSSL_PARAM_BLD_free(tmpl);
OSSL_PARAM_free(params);
EVP_PKEY_free(peer_tmp);
@@ -2397,14 +2399,14 @@ static int tls_process_ske_ecdhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey
* server has sent an invalid curve.
*/
if (curve_type != NAMED_CURVE_TYPE
- || !tls1_check_group_id(s, curve_id, 1)) {
+ || !tls1_check_group_id(s, curve_id, 1)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_WRONG_CURVE);
return 0;
}
if ((s->s3.peer_tmp = ssl_generate_param_group(s, curve_id)) == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS);
+ SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS);
return 0;
}
@@ -2414,8 +2416,9 @@ static int tls_process_ske_ecdhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey
}
if (EVP_PKEY_set1_encoded_public_key(s->s3.peer_tmp,
- PACKET_data(&encoded_pt),
- PACKET_remaining(&encoded_pt)) <= 0) {
+ PACKET_data(&encoded_pt),
+ PACKET_remaining(&encoded_pt))
+ <= 0) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_ECPOINT);
return 0;
}
@@ -2494,8 +2497,7 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL_CONNECTION *s, PACKET *pkt)
* equals the length of the parameters.
*/
if (!PACKET_get_sub_packet(&save_param_start, &params,
- PACKET_remaining(&save_param_start) -
- PACKET_remaining(pkt))) {
+ PACKET_remaining(&save_param_start) - PACKET_remaining(pkt))) {
SSLfatal(s, SSL_AD_DECODE_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2507,24 +2509,24 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL_CONNECTION *s, PACKET *pkt)
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_TOO_SHORT);
goto err;
}
- if (tls12_check_peer_sigalg(s, sigalg, pkey) <=0) {
+ if (tls12_check_peer_sigalg(s, sigalg, pkey) <= 0) {
/* SSLfatal() already called */
goto err;
}
} else if (!tls1_set_peer_legacy_sigalg(s, pkey)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED);
+ SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED);
goto err;
}
if (!tls1_lookup_md(sctx, s->s3.tmp.peer_sigalg, &md)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_NO_SUITABLE_DIGEST_ALGORITHM);
+ SSL_R_NO_SUITABLE_DIGEST_ALGORITHM);
goto err;
}
if (SSL_USE_SIGALGS(s))
OSSL_TRACE1(TLS, "USING TLSv1.2 HASH %s\n",
- md == NULL ? "n/a" : EVP_MD_get0_name(md));
+ md == NULL ? "n/a" : EVP_MD_get0_name(md));
if (!PACKET_get_length_prefixed_2(pkt, &signature)
|| PACKET_remaining(pkt) != 0) {
@@ -2539,29 +2541,31 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL_CONNECTION *s, PACKET *pkt)
}
if (EVP_DigestVerifyInit_ex(md_ctx, &pctx,
- md == NULL ? NULL : EVP_MD_get0_name(md),
- sctx->libctx, sctx->propq, pkey,
- NULL) <= 0) {
+ md == NULL ? NULL : EVP_MD_get0_name(md),
+ sctx->libctx, sctx->propq, pkey,
+ NULL)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
if (SSL_USE_PSS(s)) {
if (EVP_PKEY_CTX_set_rsa_padding(pctx, RSA_PKCS1_PSS_PADDING) <= 0
|| EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx,
- RSA_PSS_SALTLEN_DIGEST) <= 0) {
+ RSA_PSS_SALTLEN_DIGEST)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
}
tbslen = construct_key_exchange_tbs(s, &tbs, PACKET_data(&params),
- PACKET_remaining(&params));
+ PACKET_remaining(&params));
if (tbslen == 0) {
/* SSLfatal() already called */
goto err;
}
rv = EVP_DigestVerify(md_ctx, PACKET_data(&signature),
- PACKET_remaining(&signature), tbs, tbslen);
+ PACKET_remaining(&signature), tbs, tbslen);
OPENSSL_free(tbs);
if (rv <= 0) {
SSLfatal(s, SSL_AD_DECRYPT_ERROR, SSL_R_BAD_SIGNATURE);
@@ -2588,13 +2592,13 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL_CONNECTION *s, PACKET *pkt)
}
return MSG_PROCESS_CONTINUE_READING;
- err:
+err:
EVP_MD_CTX_free(md_ctx);
return MSG_PROCESS_ERROR;
}
MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
/* Clear certificate validity flags */
if (s->s3.tmp.valid_flags != NULL)
@@ -2627,8 +2631,7 @@ MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
s->pha_context = NULL;
s->pha_context_len = 0;
- if (!PACKET_get_length_prefixed_1(pkt, &reqctx) ||
- !PACKET_memdup(&reqctx, &s->pha_context, &s->pha_context_len)) {
+ if (!PACKET_get_length_prefixed_1(pkt, &reqctx) || !PACKET_memdup(&reqctx, &s->pha_context, &s->pha_context_len)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
return MSG_PROCESS_ERROR;
}
@@ -2638,10 +2641,10 @@ MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
return MSG_PROCESS_ERROR;
}
if (!tls_collect_extensions(s, &extensions,
- SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
- &rawexts, NULL, 1)
+ SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
+ &rawexts, NULL, 1)
|| !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_CERTIFICATE_REQUEST,
- rawexts, NULL, 0, 1)) {
+ rawexts, NULL, 0, 1)) {
/* SSLfatal() already called */
OPENSSL_free(rawexts);
return MSG_PROCESS_ERROR;
@@ -2679,7 +2682,7 @@ MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
*/
if (!tls1_save_sigalgs(s, &sigalgs, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_SIGNATURE_ALGORITHMS_ERROR);
+ SSL_R_SIGNATURE_ALGORITHMS_ERROR);
return MSG_PROCESS_ERROR;
}
if (!tls1_process_sigalgs(s)) {
@@ -2719,7 +2722,7 @@ MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
}
MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
unsigned int ticklen;
unsigned long ticket_lifetime_hint, age_add = 0;
@@ -2737,7 +2740,7 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
|| !PACKET_get_length_prefixed_1(pkt, &nonce)))
|| !PACKET_get_net_2(pkt, &ticklen)
|| (SSL_CONNECTION_IS_TLS13(s) ? (ticklen == 0
- || PACKET_remaining(pkt) < ticklen)
+ || PACKET_remaining(pkt) < ticklen)
: PACKET_remaining(pkt) != ticklen)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
@@ -2772,7 +2775,7 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
}
if ((s->session_ctx->session_cache_mode & SSL_SESS_CACHE_CLIENT) != 0
- && !SSL_CONNECTION_IS_TLS13(s)) {
+ && !SSL_CONNECTION_IS_TLS13(s)) {
/*
* In TLSv1.2 and below the arrival of a new tickets signals that
* any old ticket we were using is now out of date, so we remove the
@@ -2810,17 +2813,17 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
PACKET extpkt;
if (!PACKET_as_length_prefixed_2(pkt, &extpkt)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
if (!tls_collect_extensions(s, &extpkt,
- SSL_EXT_TLS1_3_NEW_SESSION_TICKET, &exts,
- NULL, 1)
- || !tls_parse_all_extensions(s,
- SSL_EXT_TLS1_3_NEW_SESSION_TICKET,
- exts, NULL, 0, 1)) {
+ SSL_EXT_TLS1_3_NEW_SESSION_TICKET, &exts,
+ NULL, 1)
+ || !tls_parse_all_extensions(s,
+ SSL_EXT_TLS1_3_NEW_SESSION_TICKET,
+ exts, NULL, 0, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -2848,8 +2851,8 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
* but s->session->session_id_length is a size_t
*/
if (!EVP_Digest(s->session->ext.tick, ticklen,
- s->session->session_id, &sess_len,
- sha256, NULL)) {
+ s->session->session_id, &sess_len,
+ sha256, NULL)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -2863,7 +2866,9 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
const EVP_MD *md = ssl_handshake_md(s);
int hashleni = EVP_MD_get_size(md);
size_t hashlen;
- static const unsigned char nonce_label[] = "resumption";
+ /* ASCII: "resumption", in hex for EBCDIC compatibility */
+ static const unsigned char nonce_label[] = { 0x72, 0x65, 0x73, 0x75, 0x6D,
+ 0x70, 0x74, 0x69, 0x6F, 0x6E };
/* Ensure cast to size_t is safe */
if (!ossl_assert(hashleni > 0)) {
@@ -2873,12 +2878,12 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
hashlen = (size_t)hashleni;
if (!tls13_hkdf_expand(s, md, s->resumption_master_secret,
- nonce_label,
- sizeof(nonce_label) - 1,
- PACKET_data(&nonce),
- PACKET_remaining(&nonce),
- s->session->master_key,
- hashlen, 1)) {
+ nonce_label,
+ sizeof(nonce_label),
+ PACKET_data(&nonce),
+ PACKET_remaining(&nonce),
+ s->session->master_key,
+ hashlen, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -2890,7 +2895,7 @@ MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
}
return MSG_PROCESS_CONTINUE_READING;
- err:
+err:
EVP_MD_free(sha256);
OPENSSL_free(exts);
return MSG_PROCESS_ERROR;
@@ -2930,7 +2935,6 @@ int tls_process_cert_status_body(SSL_CONNECTION *s, PACKET *pkt)
return 1;
}
-
MSG_PROCESS_RETURN tls_process_cert_status(SSL_CONNECTION *s, PACKET *pkt)
{
if (!tls_process_cert_status_body(s, pkt)) {
@@ -2966,18 +2970,18 @@ int tls_process_initial_server_flight(SSL_CONNECTION *s)
* message, or NULL and -1 otherwise
*/
if (s->ext.status_type != TLSEXT_STATUSTYPE_nothing
- && sctx->ext.status_cb != NULL) {
+ && sctx->ext.status_cb != NULL) {
int ret = sctx->ext.status_cb(SSL_CONNECTION_GET_USER_SSL(s),
- sctx->ext.status_arg);
+ sctx->ext.status_arg);
if (ret == 0) {
SSLfatal(s, SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE,
- SSL_R_INVALID_STATUS_RESPONSE);
+ SSL_R_INVALID_STATUS_RESPONSE);
return 0;
}
if (ret < 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_OCSP_CALLBACK_FAILURE);
+ SSL_R_OCSP_CALLBACK_FAILURE);
return 0;
}
}
@@ -3042,13 +3046,13 @@ static int tls_construct_cke_psk_preamble(SSL_CONNECTION *s, WPACKET *pkt)
memset(identity, 0, sizeof(identity));
psklen = s->psk_client_callback(SSL_CONNECTION_GET_USER_SSL(s),
- s->session->psk_identity_hint,
- identity, sizeof(identity) - 1,
- psk, sizeof(psk));
+ s->session->psk_identity_hint,
+ identity, sizeof(identity) - 1,
+ psk, sizeof(psk));
if (psklen > PSK_MAX_PSK_LEN) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, ERR_R_INTERNAL_ERROR);
- psklen = PSK_MAX_PSK_LEN; /* Avoid overrunning the array on cleanse */
+ psklen = PSK_MAX_PSK_LEN; /* Avoid overrunning the array on cleanse */
goto err;
} else if (psklen == 0) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_PSK_IDENTITY_NOT_FOUND);
@@ -3076,14 +3080,14 @@ static int tls_construct_cke_psk_preamble(SSL_CONNECTION *s, WPACKET *pkt)
s->session->psk_identity = tmpidentity;
tmpidentity = NULL;
- if (!WPACKET_sub_memcpy_u16(pkt, identity, identitylen)) {
+ if (!WPACKET_sub_memcpy_u16(pkt, identity, identitylen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
ret = 1;
- err:
+err:
OPENSSL_cleanse(psk, psklen);
OPENSSL_cleanse(identity, sizeof(identity));
OPENSSL_clear_free(tmppsk, psklen);
@@ -3151,7 +3155,7 @@ static int tls_construct_cke_rsa(SSL_CONNECTION *s, WPACKET *pkt)
goto err;
}
if (!WPACKET_allocate_bytes(pkt, enclen, &encdata)
- || EVP_PKEY_encrypt(pctx, encdata, &enclen, pms, pmslen) <= 0) {
+ || EVP_PKEY_encrypt(pctx, encdata, &enclen, pms, pmslen) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_RSA_ENCRYPT);
goto err;
}
@@ -3174,7 +3178,7 @@ static int tls_construct_cke_rsa(SSL_CONNECTION *s, WPACKET *pkt)
s->s3.tmp.pmslen = pmslen;
return 1;
- err:
+err:
OPENSSL_clear_free(pms, pmslen);
EVP_PKEY_CTX_free(pctx);
@@ -3238,7 +3242,7 @@ static int tls_construct_cke_dhe(SSL_CONNECTION *s, WPACKET *pkt)
}
ret = 1;
- err:
+err:
OPENSSL_free(encoded_pub);
EVP_PKEY_free(ckey);
return ret;
@@ -3282,7 +3286,7 @@ static int tls_construct_cke_ecdhe(SSL_CONNECTION *s, WPACKET *pkt)
}
ret = 1;
- err:
+err:
OPENSSL_free(encodedPoint);
EVP_PKEY_free(ckey);
return ret;
@@ -3311,13 +3315,13 @@ static int tls_construct_cke_gost(SSL_CONNECTION *s, WPACKET *pkt)
*/
if ((pkey = tls_get_peer_pkey(s)) == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER);
+ SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER);
return 0;
}
pkey_ctx = EVP_PKEY_CTX_new_from_pkey(sctx->libctx,
- pkey,
- sctx->propq);
+ pkey,
+ sctx->propq);
if (pkey_ctx == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
return 0;
@@ -3351,9 +3355,11 @@ static int tls_construct_cke_gost(SSL_CONNECTION *s, WPACKET *pkt)
if (ukm_hash == NULL
|| EVP_DigestInit(ukm_hash, EVP_get_digestbynid(dgst_nid)) <= 0
|| EVP_DigestUpdate(ukm_hash, s->s3.client_random,
- SSL3_RANDOM_SIZE) <= 0
+ SSL3_RANDOM_SIZE)
+ <= 0
|| EVP_DigestUpdate(ukm_hash, s->s3.server_random,
- SSL3_RANDOM_SIZE) <= 0
+ SSL3_RANDOM_SIZE)
+ <= 0
|| EVP_DigestFinal_ex(ukm_hash, shared_ukm, &md_len) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -3361,7 +3367,8 @@ static int tls_construct_cke_gost(SSL_CONNECTION *s, WPACKET *pkt)
EVP_MD_CTX_free(ukm_hash);
ukm_hash = NULL;
if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, EVP_PKEY_OP_ENCRYPT,
- EVP_PKEY_CTRL_SET_IV, 8, shared_ukm) <= 0) {
+ EVP_PKEY_CTRL_SET_IV, 8, shared_ukm)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_LIBRARY_BUG);
goto err;
}
@@ -3376,8 +3383,8 @@ static int tls_construct_cke_gost(SSL_CONNECTION *s, WPACKET *pkt)
}
if (!WPACKET_put_bytes_u8(pkt, V_ASN1_SEQUENCE | V_ASN1_CONSTRUCTED)
- || (msglen >= 0x80 && !WPACKET_put_bytes_u8(pkt, 0x81))
- || !WPACKET_sub_memcpy_u8(pkt, tmp, msglen)) {
+ || (msglen >= 0x80 && !WPACKET_put_bytes_u8(pkt, 0x81))
+ || !WPACKET_sub_memcpy_u8(pkt, tmp, msglen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -3387,7 +3394,7 @@ static int tls_construct_cke_gost(SSL_CONNECTION *s, WPACKET *pkt)
s->s3.tmp.pmslen = pmslen;
return 1;
- err:
+err:
EVP_PKEY_CTX_free(pkey_ctx);
OPENSSL_clear_free(pms, pmslen);
EVP_MD_CTX_free(ukm_hash);
@@ -3415,7 +3422,7 @@ int ossl_gost_ukm(const SSL_CONNECTION *s, unsigned char *dgst_buf)
unsigned int md_len;
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
const EVP_MD *md = ssl_evp_md_fetch(sctx->libctx, NID_id_GostR3411_2012_256,
- sctx->propq);
+ sctx->propq);
if (md == NULL)
return 0;
@@ -3473,16 +3480,16 @@ static int tls_construct_cke_gost18(SSL_CONNECTION *s, WPACKET *pkt)
goto err;
}
- /* Get server certificate PKEY and create ctx from it */
+ /* Get server certificate PKEY and create ctx from it */
if ((pkey = tls_get_peer_pkey(s)) == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER);
+ SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER);
goto err;
}
pkey_ctx = EVP_PKEY_CTX_new_from_pkey(sctx->libctx,
- pkey,
- sctx->propq);
+ pkey,
+ sctx->propq);
if (pkey_ctx == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
@@ -3495,13 +3502,15 @@ static int tls_construct_cke_gost18(SSL_CONNECTION *s, WPACKET *pkt)
/* Reuse EVP_PKEY_CTRL_SET_IV, make choice in engine code */
if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, EVP_PKEY_OP_ENCRYPT,
- EVP_PKEY_CTRL_SET_IV, 32, rnd_dgst) <= 0) {
+ EVP_PKEY_CTRL_SET_IV, 32, rnd_dgst)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_LIBRARY_BUG);
goto err;
}
if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, EVP_PKEY_OP_ENCRYPT,
- EVP_PKEY_CTRL_CIPHER, cipher_nid, NULL) <= 0) {
+ EVP_PKEY_CTRL_CIPHER, cipher_nid, NULL)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_LIBRARY_BUG);
goto err;
}
@@ -3512,7 +3521,7 @@ static int tls_construct_cke_gost18(SSL_CONNECTION *s, WPACKET *pkt)
}
if (!WPACKET_allocate_bytes(pkt, msglen, &encdata)
- || EVP_PKEY_encrypt(pkey_ctx, encdata, &msglen, pms, pmslen) <= 0) {
+ || EVP_PKEY_encrypt(pkey_ctx, encdata, &msglen, pms, pmslen) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -3523,7 +3532,7 @@ static int tls_construct_cke_gost18(SSL_CONNECTION *s, WPACKET *pkt)
s->s3.tmp.pmslen = pmslen;
return 1;
- err:
+err:
EVP_PKEY_CTX_free(pkey_ctx);
OPENSSL_clear_free(pms, pmslen);
return 0;
@@ -3539,8 +3548,8 @@ static int tls_construct_cke_srp(SSL_CONNECTION *s, WPACKET *pkt)
unsigned char *abytes = NULL;
if (s->srp_ctx.A == NULL
- || !WPACKET_sub_allocate_bytes_u16(pkt, BN_num_bytes(s->srp_ctx.A),
- &abytes)) {
+ || !WPACKET_sub_allocate_bytes_u16(pkt, BN_num_bytes(s->srp_ctx.A),
+ &abytes)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -3561,7 +3570,7 @@ static int tls_construct_cke_srp(SSL_CONNECTION *s, WPACKET *pkt)
}
CON_FUNC_RETURN tls_construct_client_key_exchange(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
unsigned long alg_k;
@@ -3599,7 +3608,7 @@ CON_FUNC_RETURN tls_construct_client_key_exchange(SSL_CONNECTION *s,
}
return CON_FUNC_SUCCESS;
- err:
+err:
OPENSSL_clear_free(s->s3.tmp.pms, s->s3.tmp.pmslen);
s->s3.tmp.pms = NULL;
s->s3.tmp.pmslen = 0;
@@ -3656,7 +3665,7 @@ int tls_client_key_exchange_post_work(SSL_CONNECTION *s)
* used.
*/
memcpy(labelbuffer, DTLS1_SCTP_AUTH_LABEL,
- sizeof(DTLS1_SCTP_AUTH_LABEL));
+ sizeof(DTLS1_SCTP_AUTH_LABEL));
/* Don't include the terminating zero. */
labellen = sizeof(labelbuffer) - 1;
@@ -3664,19 +3673,20 @@ int tls_client_key_exchange_post_work(SSL_CONNECTION *s)
labellen += 1;
if (SSL_export_keying_material(ssl, sctpauthkey,
- sizeof(sctpauthkey), labelbuffer,
- labellen, NULL, 0, 0) <= 0) {
+ sizeof(sctpauthkey), labelbuffer,
+ labellen, NULL, 0, 0)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
- sizeof(sctpauthkey), sctpauthkey);
+ sizeof(sctpauthkey), sctpauthkey);
}
#endif
return 1;
- err:
+err:
OPENSSL_clear_free(pms, pmslen);
s->s3.tmp.pms = NULL;
s->s3.tmp.pmslen = 0;
@@ -3697,8 +3707,7 @@ static int ssl3_check_client_certificate(SSL_CONNECTION *s)
* If strict mode check suitability of chain before using it. This also
* adjusts suite B digest if necessary.
*/
- if (s->cert->cert_flags & SSL_CERT_FLAGS_CHECK_TLS_STRICT &&
- !tls1_check_chain(s, NULL, NULL, NULL, -2))
+ if (s->cert->cert_flags & SSL_CERT_FLAGS_CHECK_TLS_STRICT && !tls1_check_chain(s, NULL, NULL, NULL, -2))
return 0;
return 1;
}
@@ -3776,7 +3785,7 @@ WORK_STATE tls_prepare_client_certificate(SSL_CONNECTION *s, WORK_STATE wst)
}
if (!SSL_CONNECTION_IS_TLS13(s)
- || (s->options & SSL_OP_NO_TX_CERTIFICATE_COMPRESSION) != 0)
+ || (s->options & SSL_OP_NO_TX_CERTIFICATE_COMPRESSION) != 0)
s->ext.compress_certificate_from_peer[0] = TLSEXT_comp_cert_none;
if (s->post_handshake_auth == SSL_PHA_REQUESTED)
@@ -3790,7 +3799,7 @@ WORK_STATE tls_prepare_client_certificate(SSL_CONNECTION *s, WORK_STATE wst)
}
CON_FUNC_RETURN tls_construct_client_certificate(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
CERT_PKEY *cpk = NULL;
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
@@ -3833,12 +3842,12 @@ CON_FUNC_RETURN tls_construct_client_certificate(SSL_CONNECTION *s,
* moment. We need to do it now.
*/
if (SSL_CONNECTION_IS_TLS13(s)
- && !SSL_IS_QUIC_HANDSHAKE(s)
- && SSL_IS_FIRST_HANDSHAKE(s)
- && (s->early_data_state != SSL_EARLY_DATA_NONE
- || (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0)
- && (!ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE))) {
+ && !SSL_IS_QUIC_HANDSHAKE(s)
+ && SSL_IS_FIRST_HANDSHAKE(s)
+ && (s->early_data_state != SSL_EARLY_DATA_NONE
+ || (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0)
+ && (!ssl->method->ssl3_enc->change_cipher_state(s,
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE))) {
/*
* This is a fatal error, which leaves enc_write_ctx in an inconsistent
* state and thus ssl3_send_alert may crash.
@@ -3852,7 +3861,7 @@ CON_FUNC_RETURN tls_construct_client_certificate(SSL_CONNECTION *s,
#ifndef OPENSSL_NO_COMP_ALG
CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION *sc,
- WPACKET *pkt)
+ WPACKET *pkt)
{
SSL *ssl = SSL_CONNECTION_GET_SSL(sc);
WPACKET tmppkt;
@@ -3885,8 +3894,8 @@ CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION *sc,
/* continue with the real |pkt| */
if (!WPACKET_put_bytes_u16(pkt, alg)
- || !WPACKET_get_total_written(&tmppkt, &length)
- || !WPACKET_put_bytes_u24(pkt, length))
+ || !WPACKET_get_total_written(&tmppkt, &length)
+ || !WPACKET_put_bytes_u24(pkt, length))
goto err;
switch (alg) {
@@ -3905,17 +3914,17 @@ CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION *sc,
max_length = ossl_calculate_comp_expansion(alg, length);
if ((comp = COMP_CTX_new(method)) == NULL
- || !WPACKET_start_sub_packet_u24(pkt)
- || !WPACKET_reserve_bytes(pkt, max_length, NULL))
+ || !WPACKET_start_sub_packet_u24(pkt)
+ || !WPACKET_reserve_bytes(pkt, max_length, NULL))
goto err;
comp_len = COMP_compress_block(comp, WPACKET_get_curr(pkt), max_length,
- (unsigned char *)buf->data, length);
+ (unsigned char *)buf->data, length);
if (comp_len <= 0)
goto err;
if (!WPACKET_allocate_bytes(pkt, comp_len, NULL)
- || !WPACKET_close(pkt))
+ || !WPACKET_close(pkt))
goto err;
/*
@@ -3924,11 +3933,11 @@ CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION *sc,
* moment. We need to do it now.
*/
if (SSL_IS_FIRST_HANDSHAKE(sc)
- && !SSL_IS_QUIC_HANDSHAKE(sc)
- && (sc->early_data_state != SSL_EARLY_DATA_NONE
- || (sc->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0)
- && (!ssl->method->ssl3_enc->change_cipher_state(sc,
- SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE))) {
+ && !SSL_IS_QUIC_HANDSHAKE(sc)
+ && (sc->early_data_state != SSL_EARLY_DATA_NONE
+ || (sc->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0)
+ && (!ssl->method->ssl3_enc->change_cipher_state(sc,
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE))) {
/*
* This is a fatal error, which leaves sc->enc_write_ctx in an
* inconsistent state and thus ssl3_send_alert may crash.
@@ -3939,9 +3948,9 @@ CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION *sc,
ret = 1;
goto out;
- err:
+err:
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- out:
+out:
if (buf != NULL) {
/* If |buf| is NULL, then |tmppkt| could not have been initialized */
WPACKET_cleanup(&tmppkt);
@@ -3978,7 +3987,7 @@ int ssl3_check_cert_and_algorithm(SSL_CONNECTION *s)
if (alg_k & (SSL_kRSA | SSL_kRSAPSK) && idx != SSL_PKEY_RSA) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_MISSING_RSA_ENCRYPTING_CERT);
+ SSL_R_MISSING_RSA_ENCRYPTING_CERT);
return 0;
}
@@ -4011,7 +4020,7 @@ CON_FUNC_RETURN tls_construct_next_proto(SSL_CONNECTION *s, WPACKET *pkt)
padding_len = 32 - ((len + 2) % 32);
if (!WPACKET_sub_memcpy_u8(pkt, s->ext.npn, len)
- || !WPACKET_sub_allocate_bytes_u8(pkt, padding_len, &padding)) {
+ || !WPACKET_sub_allocate_bytes_u8(pkt, padding_len, &padding)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -4053,22 +4062,22 @@ MSG_PROCESS_RETURN tls_process_hello_req(SSL_CONNECTION *s, PACKET *pkt)
}
static MSG_PROCESS_RETURN tls_process_encrypted_extensions(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
PACKET extensions;
RAW_EXTENSION *rawexts = NULL;
if (!PACKET_as_length_prefixed_2(pkt, &extensions)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
if (!tls_collect_extensions(s, &extensions,
- SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS, &rawexts,
- NULL, 1)
- || !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
- rawexts, NULL, 0, 1)) {
+ SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS, &rawexts,
+ NULL, 1)
+ || !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
+ rawexts, NULL, 0, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -4076,7 +4085,7 @@ static MSG_PROCESS_RETURN tls_process_encrypted_extensions(SSL_CONNECTION *s,
OPENSSL_free(rawexts);
return MSG_PROCESS_CONTINUE_READING;
- err:
+err:
OPENSSL_free(rawexts);
return MSG_PROCESS_ERROR;
}
@@ -4099,14 +4108,14 @@ int ssl_do_client_cert_cb(SSL_CONNECTION *s, X509 **px509, EVP_PKEY **ppkey)
}
int ssl_cipher_list_to_bytes(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *sk,
- WPACKET *pkt)
+ WPACKET *pkt)
{
int i;
size_t totlen = 0, len, maxlen, maxverok = 0;
int empty_reneg_info_scsv = !s->renegotiate
- && !SSL_CONNECTION_IS_DTLS(s)
- && ssl_security(s, SSL_SECOP_VERSION, 0, TLS1_VERSION, NULL)
- && s->min_proto_version <= TLS1_VERSION;
+ && !SSL_CONNECTION_IS_DTLS(s)
+ && ssl_security(s, SSL_SECOP_VERSION, 0, TLS1_VERSION, NULL)
+ && s->min_proto_version <= TLS1_VERSION;
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
/* Set disabled masks for this session */
@@ -4121,9 +4130,9 @@ int ssl_cipher_list_to_bytes(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *sk,
}
#ifdef OPENSSL_MAX_TLS1_2_CIPHER_LENGTH
-# if OPENSSL_MAX_TLS1_2_CIPHER_LENGTH < 6
-# error Max cipher length too short
-# endif
+#if OPENSSL_MAX_TLS1_2_CIPHER_LENGTH < 6
+#error Max cipher length too short
+#endif
/*
* Some servers hang if client hello > 256 bytes as hack workaround
* chop number of supported ciphers to keep it well below this if we
@@ -4160,7 +4169,7 @@ int ssl_cipher_list_to_bytes(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *sk,
int maxproto = SSL_CONNECTION_IS_DTLS(s) ? c->max_dtls : c->max_tls;
if (ssl_version_cmp(s, maxproto, s->s3.tmp.max_ver) >= 0
- && ssl_version_cmp(s, minproto, s->s3.tmp.max_ver) <= 0)
+ && ssl_version_cmp(s, minproto, s->s3.tmp.max_ver) <= 0)
maxverok = 1;
}
@@ -4168,13 +4177,12 @@ int ssl_cipher_list_to_bytes(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *sk,
}
if (totlen == 0 || !maxverok) {
- const char *maxvertext =
- !maxverok
+ const char *maxvertext = !maxverok
? "No ciphers enabled for max supported SSL/TLS version"
: NULL;
SSLfatal_data(s, SSL_AD_INTERNAL_ERROR, SSL_R_NO_CIPHERS_AVAILABLE,
- maxvertext);
+ maxvertext);
return 0;
}
@@ -4205,7 +4213,7 @@ int ssl_cipher_list_to_bytes(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER) *sk,
CON_FUNC_RETURN tls_construct_end_of_early_data(SSL_CONNECTION *s, WPACKET *pkt)
{
if (s->early_data_state != SSL_EARLY_DATA_WRITE_RETRY
- && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING) {
+ && s->early_data_state != SSL_EARLY_DATA_FINISHED_WRITING) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
return CON_FUNC_ERROR;
}
diff --git a/crypto/openssl/ssl/statem/statem_dtls.c b/crypto/openssl/ssl/statem/statem_dtls.c
index 78baeed90319..f62b757721fc 100644
--- a/crypto/openssl/ssl/statem/statem_dtls.c
+++ b/crypto/openssl/ssl/statem/statem_dtls.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2005-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2005-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -19,23 +19,34 @@
#define RSMBLY_BITMASK_SIZE(msg_len) (((msg_len) + 7) / 8)
-#define RSMBLY_BITMASK_MARK(bitmask, start, end) { \
- if ((end) - (start) <= 8) { \
- long ii; \
- for (ii = (start); ii < (end); ii++) bitmask[((ii) >> 3)] |= (1 << ((ii) & 7)); \
- } else { \
- long ii; \
- bitmask[((start) >> 3)] |= bitmask_start_values[((start) & 7)]; \
- for (ii = (((start) >> 3) + 1); ii < ((((end) - 1)) >> 3); ii++) bitmask[ii] = 0xff; \
- bitmask[(((end) - 1) >> 3)] |= bitmask_end_values[((end) & 7)]; \
- } }
+#define RSMBLY_BITMASK_MARK(bitmask, start, end) \
+ { \
+ if ((end) - (start) <= 8) { \
+ long ii; \
+ for (ii = (start); ii < (end); ii++) \
+ bitmask[((ii) >> 3)] |= (1 << ((ii) & 7)); \
+ } else { \
+ long ii; \
+ bitmask[((start) >> 3)] |= bitmask_start_values[((start) & 7)]; \
+ for (ii = (((start) >> 3) + 1); ii < ((((end) - 1)) >> 3); ii++) \
+ bitmask[ii] = 0xff; \
+ bitmask[(((end) - 1) >> 3)] |= bitmask_end_values[((end) & 7)]; \
+ } \
+ }
-#define RSMBLY_BITMASK_IS_COMPLETE(bitmask, msg_len, is_complete) { \
- long ii; \
- is_complete = 1; \
- if (bitmask[(((msg_len) - 1) >> 3)] != bitmask_end_values[((msg_len) & 7)]) is_complete = 0; \
- if (is_complete) for (ii = (((msg_len) - 1) >> 3) - 1; ii >= 0 ; ii--) \
- if (bitmask[ii] != 0xff) { is_complete = 0; break; } }
+#define RSMBLY_BITMASK_IS_COMPLETE(bitmask, msg_len, is_complete) \
+ { \
+ long ii; \
+ is_complete = 1; \
+ if (bitmask[(((msg_len) - 1) >> 3)] != bitmask_end_values[((msg_len) & 7)]) \
+ is_complete = 0; \
+ if (is_complete) \
+ for (ii = (((msg_len) - 1) >> 3) - 1; ii >= 0; ii--) \
+ if (bitmask[ii] != 0xff) { \
+ is_complete = 0; \
+ break; \
+ } \
+ }
static const unsigned char bitmask_start_values[] = {
0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80
@@ -45,16 +56,16 @@ static const unsigned char bitmask_end_values[] = {
};
static void dtls1_fix_message_header(SSL_CONNECTION *s, size_t frag_off,
- size_t frag_len);
+ size_t frag_len);
static unsigned char *dtls1_write_message_header(SSL_CONNECTION *s,
- unsigned char *p);
+ unsigned char *p);
static void dtls1_set_message_header_int(SSL_CONNECTION *s, unsigned char mt,
- size_t len,
- unsigned short seq_num,
- size_t frag_off,
- size_t frag_len);
+ size_t len,
+ unsigned short seq_num,
+ size_t frag_off,
+ size_t frag_len);
static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
- size_t *len);
+ size_t *len);
static hm_fragment *dtls1_hm_fragment_new(size_t frag_len, int reassembly)
{
@@ -123,8 +134,7 @@ int dtls1_do_write(SSL_CONNECTION *s, uint8_t type)
return -1;
if (s->init_off == 0 && type == SSL3_RT_HANDSHAKE) {
- if (!ossl_assert(s->init_num ==
- s->d1->w_msg_hdr.msg_len + DTLS1_HM_HEADER_LENGTH))
+ if (!ossl_assert(s->init_num == s->d1->w_msg_hdr.msg_len + DTLS1_HM_HEADER_LENGTH))
return -1;
}
@@ -223,19 +233,18 @@ int dtls1_do_write(SSL_CONNECTION *s, uint8_t type)
*/
if (s->msg_callback && s->init_off != 0)
memcpy(saved_payload, &s->init_buf->data[s->init_off],
- sizeof(saved_payload));
+ sizeof(saved_payload));
dtls1_write_message_header(s,
- (unsigned char *)&s->init_buf->
- data[s->init_off]);
+ (unsigned char *)&s->init_buf->data[s->init_off]);
}
ret = dtls1_write_bytes(s, type, &s->init_buf->data[s->init_off], len,
- &written);
+ &written);
if (type == SSL3_RT_HANDSHAKE && s->msg_callback && s->init_off != 0)
memcpy(&s->init_buf->data[s->init_off], saved_payload,
- sizeof(saved_payload));
+ sizeof(saved_payload));
if (ret <= 0) {
/*
@@ -244,8 +253,7 @@ int dtls1_do_write(SSL_CONNECTION *s, uint8_t type)
* retransmit anything. continue as if everything is fine and
* wait for an alert to handle the retransmit
*/
- if (retry && BIO_ctrl(SSL_get_wbio(ssl),
- BIO_CTRL_DGRAM_MTU_EXCEEDED, 0, NULL) > 0) {
+ if (retry && BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_MTU_EXCEEDED, 0, NULL) > 0) {
if (!(SSL_get_options(ssl) & SSL_OP_NO_QUERY_MTU)) {
if (!dtls1_query_mtu(s))
return -1;
@@ -273,15 +281,14 @@ int dtls1_do_write(SSL_CONNECTION *s, uint8_t type)
* then the best thing to do is probably carry on regardless.
*/
assert(s->s3.tmp.new_compression != NULL
- || BIO_wpending(s->wbio) <= (int)s->d1->mtu);
+ || BIO_wpending(s->wbio) <= (int)s->d1->mtu);
if (type == SSL3_RT_HANDSHAKE && !s->d1->retransmitting) {
/*
* should not be done for 'Hello Request's, but in that case
* we'll ignore the result anyway
*/
- unsigned char *p =
- (unsigned char *)&s->init_buf->data[s->init_off];
+ unsigned char *p = (unsigned char *)&s->init_buf->data[s->init_off];
const struct hm_header_st *msg_hdr = &s->d1->w_msg_hdr;
size_t xlen;
@@ -309,8 +316,8 @@ int dtls1_do_write(SSL_CONNECTION *s, uint8_t type)
if (written == s->init_num) {
if (s->msg_callback)
s->msg_callback(1, s->version, type, s->init_buf->data,
- s->init_off + s->init_num, ussl,
- s->msg_callback_arg);
+ s->init_off + s->init_num, ussl,
+ s->msg_callback_arg);
s->init_off = 0; /* done writing this message */
s->init_num = 0;
@@ -345,10 +352,10 @@ int dtls_get_message(SSL_CONNECTION *s, int *mt)
msg_hdr = &s->d1->r_msg_hdr;
memset(msg_hdr, 0, sizeof(*msg_hdr));
- again:
+again:
if (!dtls_get_reassembled_message(s, &errtype, &tmplen)) {
if (errtype == DTLS1_HM_BAD_FRAGMENT
- || errtype == DTLS1_HM_FRAGMENT_RETRY) {
+ || errtype == DTLS1_HM_FRAGMENT_RETRY) {
/* bad fragment received */
goto again;
}
@@ -362,8 +369,8 @@ int dtls_get_message(SSL_CONNECTION *s, int *mt)
if (*mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
if (s->msg_callback) {
s->msg_callback(0, s->version, SSL3_RT_CHANGE_CIPHER_SPEC,
- p, 1, SSL_CONNECTION_GET_USER_SSL(s),
- s->msg_callback_arg);
+ p, 1, SSL_CONNECTION_GET_USER_SSL(s),
+ s->msg_callback_arg);
}
/*
* This isn't a real handshake message so skip the processing below.
@@ -422,10 +429,10 @@ int dtls_get_message_body(SSL_CONNECTION *s, size_t *len)
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
- s->init_buf->data, s->init_num + DTLS1_HM_HEADER_LENGTH,
- SSL_CONNECTION_GET_USER_SSL(s), s->msg_callback_arg);
+ s->init_buf->data, s->init_num + DTLS1_HM_HEADER_LENGTH,
+ SSL_CONNECTION_GET_USER_SSL(s), s->msg_callback_arg);
- end:
+end:
*len = s->init_num;
return 1;
}
@@ -444,7 +451,7 @@ static size_t dtls1_max_handshake_message_len(const SSL_CONNECTION *s)
}
static int dtls1_preprocess_fragment(SSL_CONNECTION *s,
- struct hm_header_st *msg_hdr)
+ struct hm_header_st *msg_hdr)
{
size_t frag_off, frag_len, msg_len;
@@ -454,7 +461,7 @@ static int dtls1_preprocess_fragment(SSL_CONNECTION *s,
/* sanity checking */
if ((frag_off + frag_len) > msg_len
- || msg_len > dtls1_max_handshake_message_len(s)) {
+ || msg_len > dtls1_max_handshake_message_len(s)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_EXCESSIVE_MESSAGE_SIZE);
return 0;
}
@@ -517,9 +524,9 @@ static int dtls1_retrieve_buffered_fragment(SSL_CONNECTION *s, size_t *len)
hm_fragment *nextfrag;
if (!s->server
- || frag->msg_header.seq != 0
- || s->d1->handshake_read_seq != 1
- || s->statem.hand_state != DTLS_ST_SW_HELLO_VERIFY_REQUEST) {
+ || frag->msg_header.seq != 0
+ || s->d1->handshake_read_seq != 1
+ || s->statem.hand_state != DTLS_ST_SW_HELLO_VERIFY_REQUEST) {
/*
* This is a stale message that has been buffered so clear it.
* It is safe to pop this message from the queue even though
@@ -542,9 +549,9 @@ static int dtls1_retrieve_buffered_fragment(SSL_CONNECTION *s, size_t *len)
nextfrag = (hm_fragment *)next->data;
if (nextfrag->msg_header.seq == s->d1->handshake_read_seq) {
/*
- * We have fragments for both a ClientHello without
- * cookie and one with. Ditch the one without.
- */
+ * We have fragments for both a ClientHello without
+ * cookie and one with. Ditch the one without.
+ */
pqueue_pop(s->d1->buffered_messages);
dtls1_hm_fragment_free(frag);
pitem_free(item);
@@ -572,10 +579,9 @@ static int dtls1_retrieve_buffered_fragment(SSL_CONNECTION *s, size_t *len)
ret = dtls1_preprocess_fragment(s, &frag->msg_header);
if (ret && frag->msg_header.frag_len > 0) {
- unsigned char *p =
- (unsigned char *)s->init_buf->data + DTLS1_HM_HEADER_LENGTH;
+ unsigned char *p = (unsigned char *)s->init_buf->data + DTLS1_HM_HEADER_LENGTH;
memcpy(&p[frag->msg_header.frag_off], frag->fragment,
- frag->msg_header.frag_len);
+ frag->msg_header.frag_len);
}
dtls1_hm_fragment_free(frag);
@@ -605,7 +611,7 @@ static int dtls1_retrieve_buffered_fragment(SSL_CONNECTION *s, size_t *len)
}
static int dtls1_reassemble_fragment(SSL_CONNECTION *s,
- const struct hm_header_st *msg_hdr)
+ const struct hm_header_st *msg_hdr)
{
hm_fragment *frag = NULL;
pitem *item = NULL;
@@ -615,8 +621,7 @@ static int dtls1_reassemble_fragment(SSL_CONNECTION *s,
size_t readbytes;
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
- if ((msg_hdr->frag_off + frag_len) > msg_hdr->msg_len ||
- msg_hdr->msg_len > dtls1_max_handshake_message_len(s))
+ if ((msg_hdr->frag_off + frag_len) > msg_hdr->msg_len || msg_hdr->msg_len > dtls1_max_handshake_message_len(s))
goto err;
if (frag_len == 0) {
@@ -655,10 +660,8 @@ static int dtls1_reassemble_fragment(SSL_CONNECTION *s,
while (frag_len) {
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- devnull,
- frag_len >
- sizeof(devnull) ? sizeof(devnull) :
- frag_len, 0, &readbytes);
+ devnull,
+ frag_len > sizeof(devnull) ? sizeof(devnull) : frag_len, 0, &readbytes);
if (i <= 0)
goto err;
frag_len -= readbytes;
@@ -668,20 +671,20 @@ static int dtls1_reassemble_fragment(SSL_CONNECTION *s,
/* read the body of the fragment (header has already been read */
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- frag->fragment + msg_hdr->frag_off,
- frag_len, 0, &readbytes);
+ frag->fragment + msg_hdr->frag_off,
+ frag_len, 0, &readbytes);
if (i <= 0 || readbytes != frag_len)
i = -1;
if (i <= 0)
goto err;
RSMBLY_BITMASK_MARK(frag->reassembly, (long)msg_hdr->frag_off,
- (long)(msg_hdr->frag_off + frag_len));
+ (long)(msg_hdr->frag_off + frag_len));
if (!ossl_assert(msg_hdr->msg_len > 0))
goto err;
RSMBLY_BITMASK_IS_COMPLETE(frag->reassembly, (long)msg_hdr->msg_len,
- is_complete);
+ is_complete);
if (is_complete) {
OPENSSL_free(frag->reassembly);
@@ -708,14 +711,14 @@ static int dtls1_reassemble_fragment(SSL_CONNECTION *s,
return DTLS1_HM_FRAGMENT_RETRY;
- err:
+err:
if (item == NULL)
dtls1_hm_fragment_free(frag);
return -1;
}
static int dtls1_process_out_of_seq_message(SSL_CONNECTION *s,
- const struct hm_header_st *msg_hdr)
+ const struct hm_header_st *msg_hdr)
{
int i = -1;
hm_fragment *frag = NULL;
@@ -746,17 +749,13 @@ static int dtls1_process_out_of_seq_message(SSL_CONNECTION *s,
* in the future, already in the queue or if we received a FINISHED
* before the SERVER_HELLO, which then must be a stale retransmit.
*/
- if (msg_hdr->seq <= s->d1->handshake_read_seq ||
- msg_hdr->seq > s->d1->handshake_read_seq + 10 || item != NULL ||
- (s->d1->handshake_read_seq == 0 && msg_hdr->type == SSL3_MT_FINISHED)) {
+ if (msg_hdr->seq <= s->d1->handshake_read_seq || msg_hdr->seq > s->d1->handshake_read_seq + 10 || item != NULL || (s->d1->handshake_read_seq == 0 && msg_hdr->type == SSL3_MT_FINISHED)) {
unsigned char devnull[256];
while (frag_len) {
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- devnull,
- frag_len >
- sizeof(devnull) ? sizeof(devnull) :
- frag_len, 0, &readbytes);
+ devnull,
+ frag_len > sizeof(devnull) ? sizeof(devnull) : frag_len, 0, &readbytes);
if (i <= 0)
goto err;
frag_len -= readbytes;
@@ -780,9 +779,9 @@ static int dtls1_process_out_of_seq_message(SSL_CONNECTION *s,
* read the body of the fragment (header has already been read
*/
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- frag->fragment, frag_len, 0,
- &readbytes);
- if (i<=0 || readbytes != frag_len)
+ frag->fragment, frag_len, 0,
+ &readbytes);
+ if (i <= 0 || readbytes != frag_len)
i = -1;
if (i <= 0)
goto err;
@@ -807,14 +806,14 @@ static int dtls1_process_out_of_seq_message(SSL_CONNECTION *s,
return DTLS1_HM_FRAGMENT_RETRY;
- err:
+err:
if (item == NULL)
dtls1_hm_fragment_free(frag);
return 0;
}
static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
- size_t *len)
+ size_t *len)
{
size_t mlen, frag_off, frag_len;
int i, ret;
@@ -830,7 +829,7 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
p = (unsigned char *)s->init_buf->data;
- redo:
+redo:
/* see if we have the required fragment already */
ret = dtls1_retrieve_buffered_fragment(s, &frag_len);
if (ret < 0) {
@@ -845,8 +844,8 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
/* read handshake message header */
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, &recvd_type, p,
- DTLS1_HM_HEADER_LENGTH, 0, &readbytes);
- if (i <= 0) { /* nbio, or an error */
+ DTLS1_HM_HEADER_LENGTH, 0, &readbytes);
+ if (i <= 0) { /* nbio, or an error */
s->rwstate = SSL_READING;
*len = 0;
return 0;
@@ -854,7 +853,7 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
if (recvd_type == SSL3_RT_CHANGE_CIPHER_SPEC) {
if (p[0] != SSL3_MT_CCS) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_BAD_CHANGE_CIPHER_SPEC);
+ SSL_R_BAD_CHANGE_CIPHER_SPEC);
goto f_err;
}
@@ -896,10 +895,10 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
*/
if (msg_hdr.seq != s->d1->handshake_read_seq) {
if (!s->server
- || msg_hdr.seq != 0
- || s->d1->handshake_read_seq != 1
- || p[0] != SSL3_MT_CLIENT_HELLO
- || s->statem.hand_state != DTLS_ST_SW_HELLO_VERIFY_REQUEST) {
+ || msg_hdr.seq != 0
+ || s->d1->handshake_read_seq != 1
+ || p[0] != SSL3_MT_CLIENT_HELLO
+ || s->statem.hand_state != DTLS_ST_SW_HELLO_VERIFY_REQUEST) {
*errtype = dtls1_process_out_of_seq_message(s, &msg_hdr);
return 0;
}
@@ -917,9 +916,9 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
}
if (!s->server
- && s->d1->r_msg_hdr.frag_off == 0
- && s->statem.hand_state != TLS_ST_OK
- && p[0] == SSL3_MT_HELLO_REQUEST) {
+ && s->d1->r_msg_hdr.frag_off == 0
+ && s->statem.hand_state != TLS_ST_OK
+ && p[0] == SSL3_MT_HELLO_REQUEST) {
/*
* The server may always send 'Hello Request' messages -- we are
* doing a handshake anyway now, so ignore them if their format is
@@ -928,12 +927,12 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
if (p[1] == 0 && p[2] == 0 && p[3] == 0) {
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
- p, DTLS1_HM_HEADER_LENGTH, ussl,
- s->msg_callback_arg);
+ p, DTLS1_HM_HEADER_LENGTH, ussl,
+ s->msg_callback_arg);
s->init_num = 0;
goto redo;
- } else { /* Incorrectly formatted Hello request */
+ } else { /* Incorrectly formatted Hello request */
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_MESSAGE);
goto f_err;
@@ -946,10 +945,11 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
}
if (frag_len > 0) {
- p += DTLS1_HM_HEADER_LENGTH;
+ /* dtls1_preprocess_fragment() above could reallocate init_buf */
+ p = (unsigned char *)s->init_buf->data + DTLS1_HM_HEADER_LENGTH;
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- &p[frag_off], frag_len, 0, &readbytes);
+ &p[frag_off], frag_len, 0, &readbytes);
/*
* This shouldn't ever fail due to NBIO because we already checked
@@ -993,7 +993,7 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
*len = s->init_num = frag_len;
return 1;
- f_err:
+f_err:
s->init_num = 0;
*len = 0;
return 0;
@@ -1006,7 +1006,7 @@ static int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,
* ssl->session->read_hash assign
*/
CON_FUNC_RETURN dtls_construct_change_cipher_spec(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
if (s->version == DTLS1_BAD_VER) {
s->d1->next_handshake_write_seq++;
@@ -1113,10 +1113,7 @@ int dtls1_retransmit_buffered_messages(SSL_CONNECTION *s)
for (item = pqueue_next(&iter); item != NULL; item = pqueue_next(&iter)) {
frag = (hm_fragment *)item->data;
- if (dtls1_retransmit_message(s, (unsigned short)
- dtls1_get_queue_priority
- (frag->msg_header.seq,
- frag->msg_header.is_ccs), &found) <= 0)
+ if (dtls1_retransmit_message(s, (unsigned short)dtls1_get_queue_priority(frag->msg_header.seq, frag->msg_header.is_ccs), &found) <= 0)
return -1;
}
@@ -1144,16 +1141,13 @@ int dtls1_buffer_message(SSL_CONNECTION *s, int is_ccs)
if (is_ccs) {
/* For DTLS1_BAD_VER the header length is non-standard */
- if (!ossl_assert(s->d1->w_msg_hdr.msg_len +
- ((s->version ==
- DTLS1_BAD_VER) ? 3 : DTLS1_CCS_HEADER_LENGTH)
- == (unsigned int)s->init_num)) {
+ if (!ossl_assert(s->d1->w_msg_hdr.msg_len + ((s->version == DTLS1_BAD_VER) ? 3 : DTLS1_CCS_HEADER_LENGTH)
+ == (unsigned int)s->init_num)) {
dtls1_hm_fragment_free(frag);
return 0;
}
} else {
- if (!ossl_assert(s->d1->w_msg_hdr.msg_len +
- DTLS1_HM_HEADER_LENGTH == (unsigned int)s->init_num)) {
+ if (!ossl_assert(s->d1->w_msg_hdr.msg_len + DTLS1_HM_HEADER_LENGTH == (unsigned int)s->init_num)) {
dtls1_hm_fragment_free(frag);
return 0;
}
@@ -1170,16 +1164,12 @@ int dtls1_buffer_message(SSL_CONNECTION *s, int is_ccs)
frag->msg_header.saved_retransmit_state.wrlmethod = s->rlayer.wrlmethod;
frag->msg_header.saved_retransmit_state.wrl = s->rlayer.wrl;
-
memset(seq64be, 0, sizeof(seq64be));
- seq64be[6] =
- (unsigned
- char)(dtls1_get_queue_priority(frag->msg_header.seq,
- frag->msg_header.is_ccs) >> 8);
- seq64be[7] =
- (unsigned
- char)(dtls1_get_queue_priority(frag->msg_header.seq,
- frag->msg_header.is_ccs));
+ seq64be[6] = (unsigned char)(dtls1_get_queue_priority(frag->msg_header.seq,
+ frag->msg_header.is_ccs)
+ >> 8);
+ seq64be[7] = (unsigned char)(dtls1_get_queue_priority(frag->msg_header.seq,
+ frag->msg_header.is_ccs));
item = pitem_new(seq64be, frag);
if (item == NULL) {
@@ -1187,7 +1177,11 @@ int dtls1_buffer_message(SSL_CONNECTION *s, int is_ccs)
return 0;
}
- pqueue_insert(s->d1->sent_messages, item);
+ if (pqueue_insert(s->d1->sent_messages, item) == NULL) {
+ dtls1_hm_fragment_free(frag);
+ pitem_free(item);
+ return 0;
+ }
return 1;
}
@@ -1222,13 +1216,13 @@ int dtls1_retransmit_message(SSL_CONNECTION *s, unsigned short seq, int *found)
header_length = DTLS1_HM_HEADER_LENGTH;
memcpy(s->init_buf->data, frag->fragment,
- frag->msg_header.msg_len + header_length);
+ frag->msg_header.msg_len + header_length);
s->init_num = frag->msg_header.msg_len + header_length;
dtls1_set_message_header_int(s, frag->msg_header.type,
- frag->msg_header.msg_len,
- frag->msg_header.seq, 0,
- frag->msg_header.frag_len);
+ frag->msg_header.msg_len,
+ frag->msg_header.seq, 0,
+ frag->msg_header.frag_len);
/* save current state */
saved_state.wrlmethod = s->rlayer.wrlmethod;
@@ -1246,8 +1240,7 @@ int dtls1_retransmit_message(SSL_CONNECTION *s, unsigned short seq, int *found)
*/
s->rlayer.wrlmethod->set1_bio(s->rlayer.wrl, s->wbio);
- ret = dtls1_do_write(s, frag->msg_header.is_ccs ?
- SSL3_RT_CHANGE_CIPHER_SPEC : SSL3_RT_HANDSHAKE);
+ ret = dtls1_do_write(s, frag->msg_header.is_ccs ? SSL3_RT_CHANGE_CIPHER_SPEC : SSL3_RT_HANDSHAKE);
/* restore current state */
s->rlayer.wrlmethod = saved_state.wrlmethod;
@@ -1260,8 +1253,8 @@ int dtls1_retransmit_message(SSL_CONNECTION *s, unsigned short seq, int *found)
}
void dtls1_set_message_header(SSL_CONNECTION *s,
- unsigned char mt, size_t len,
- size_t frag_off, size_t frag_len)
+ unsigned char mt, size_t len,
+ size_t frag_off, size_t frag_len)
{
if (frag_off == 0) {
s->d1->handshake_write_seq = s->d1->next_handshake_write_seq;
@@ -1269,14 +1262,14 @@ void dtls1_set_message_header(SSL_CONNECTION *s,
}
dtls1_set_message_header_int(s, mt, len, s->d1->handshake_write_seq,
- frag_off, frag_len);
+ frag_off, frag_len);
}
/* don't actually do the writing, wait till the MTU has been retrieved */
static void
dtls1_set_message_header_int(SSL_CONNECTION *s, unsigned char mt,
- size_t len, unsigned short seq_num,
- size_t frag_off, size_t frag_len)
+ size_t len, unsigned short seq_num,
+ size_t frag_off, size_t frag_len)
{
struct hm_header_st *msg_hdr = &s->d1->w_msg_hdr;
@@ -1297,7 +1290,7 @@ dtls1_fix_message_header(SSL_CONNECTION *s, size_t frag_off, size_t frag_len)
}
static unsigned char *dtls1_write_message_header(SSL_CONNECTION *s,
- unsigned char *p)
+ unsigned char *p)
{
struct hm_header_st *msg_hdr = &s->d1->w_msg_hdr;
@@ -1311,8 +1304,7 @@ static unsigned char *dtls1_write_message_header(SSL_CONNECTION *s,
return p;
}
-void dtls1_get_message_header(const unsigned char *data, struct
- hm_header_st *msg_hdr)
+void dtls1_get_message_header(const unsigned char *data, struct hm_header_st *msg_hdr)
{
memset(msg_hdr, 0, sizeof(*msg_hdr));
msg_hdr->type = *(data++);
@@ -1330,7 +1322,7 @@ int dtls1_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt, int htype)
if (htype == SSL3_MT_CHANGE_CIPHER_SPEC) {
s->d1->handshake_write_seq = s->d1->next_handshake_write_seq;
dtls1_set_message_header_int(s, SSL3_MT_CCS, 0,
- s->d1->handshake_write_seq, 0, 0);
+ s->d1->handshake_write_seq, 0, 0);
if (!WPACKET_put_bytes_u8(pkt, SSL3_MT_CCS))
return 0;
} else {
@@ -1340,7 +1332,7 @@ int dtls1_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt, int htype)
* filled in later
*/
if (!WPACKET_allocate_bytes(pkt, DTLS1_HM_HEADER_LENGTH, &header)
- || !WPACKET_start_sub_packet(pkt))
+ || !WPACKET_start_sub_packet(pkt))
return 0;
}
@@ -1352,8 +1344,8 @@ int dtls1_close_construct_packet(SSL_CONNECTION *s, WPACKET *pkt, int htype)
size_t msglen;
if ((htype != SSL3_MT_CHANGE_CIPHER_SPEC && !WPACKET_close(pkt))
- || !WPACKET_get_length(pkt, &msglen)
- || msglen > INT_MAX)
+ || !WPACKET_get_length(pkt, &msglen)
+ || msglen > INT_MAX)
return 0;
if (htype != SSL3_MT_CHANGE_CIPHER_SPEC) {
@@ -1365,8 +1357,7 @@ int dtls1_close_construct_packet(SSL_CONNECTION *s, WPACKET *pkt, int htype)
if (htype != DTLS1_MT_HELLO_VERIFY_REQUEST) {
/* Buffer the message to handle re-xmits */
- if (!dtls1_buffer_message(s, htype == SSL3_MT_CHANGE_CIPHER_SPEC
- ? 1 : 0))
+ if (!dtls1_buffer_message(s, htype == SSL3_MT_CHANGE_CIPHER_SPEC ? 1 : 0))
return 0;
}
diff --git a/crypto/openssl/ssl/statem/statem_lib.c b/crypto/openssl/ssl/statem/statem_lib.c
index 13f1af7e9fd0..aa9d196780eb 100644
--- a/crypto/openssl/ssl/statem/statem_lib.c
+++ b/crypto/openssl/ssl/statem/statem_lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -39,9 +39,9 @@ const unsigned char hrrrandom[] = {
};
int ossl_statem_set_mutator(SSL *s,
- ossl_statem_mutate_handshake_cb mutate_handshake_cb,
- ossl_statem_finish_mutate_handshake_cb finish_mutate_handshake_cb,
- void *mutatearg)
+ ossl_statem_mutate_handshake_cb mutate_handshake_cb,
+ ossl_statem_finish_mutate_handshake_cb finish_mutate_handshake_cb,
+ void *mutatearg)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -71,19 +71,19 @@ int ssl3_do_write(SSL_CONNECTION *s, uint8_t type)
* we've been asked to write. Does not happen in normal operation.
*/
if (s->statem.mutate_handshake_cb != NULL
- && !s->statem.write_in_progress
- && type == SSL3_RT_HANDSHAKE
- && s->init_num >= SSL3_HM_HEADER_LENGTH) {
+ && !s->statem.write_in_progress
+ && type == SSL3_RT_HANDSHAKE
+ && s->init_num >= SSL3_HM_HEADER_LENGTH) {
unsigned char *msg;
size_t msglen;
if (!s->statem.mutate_handshake_cb((unsigned char *)s->init_buf->data,
- s->init_num,
- &msg, &msglen,
- s->statem.mutatearg))
+ s->init_num,
+ &msg, &msglen,
+ s->statem.mutatearg))
return -1;
if (msglen < SSL3_HM_HEADER_LENGTH
- || !BUF_MEM_grow(s->init_buf, msglen))
+ || !BUF_MEM_grow(s->init_buf, msglen))
return -1;
memcpy(s->init_buf->data, msg, msglen);
s->init_num = msglen;
@@ -93,7 +93,7 @@ int ssl3_do_write(SSL_CONNECTION *s, uint8_t type)
}
ret = ssl3_write_bytes(ssl, type, &s->init_buf->data[s->init_off],
- s->init_num, &written);
+ s->init_num, &written);
if (ret <= 0)
return -1;
if (type == SSL3_RT_HANDSHAKE)
@@ -104,18 +104,18 @@ int ssl3_do_write(SSL_CONNECTION *s, uint8_t type)
*/
if (!SSL_CONNECTION_IS_TLS13(s)
|| (s->statem.hand_state != TLS_ST_SW_SESSION_TICKET
- && s->statem.hand_state != TLS_ST_CW_KEY_UPDATE
- && s->statem.hand_state != TLS_ST_SW_KEY_UPDATE))
+ && s->statem.hand_state != TLS_ST_CW_KEY_UPDATE
+ && s->statem.hand_state != TLS_ST_SW_KEY_UPDATE))
if (!ssl3_finish_mac(s,
- (unsigned char *)&s->init_buf->data[s->init_off],
- written))
+ (unsigned char *)&s->init_buf->data[s->init_off],
+ written))
return -1;
if (written == s->init_num) {
s->statem.write_in_progress = 0;
if (s->msg_callback)
s->msg_callback(1, s->version, type, s->init_buf->data,
- (size_t)(s->init_off + s->init_num), ussl,
- s->msg_callback_arg);
+ (size_t)(s->init_off + s->init_num), ussl,
+ s->msg_callback_arg);
return 1;
}
s->init_off += written;
@@ -128,8 +128,8 @@ int tls_close_construct_packet(SSL_CONNECTION *s, WPACKET *pkt, int htype)
size_t msglen;
if ((htype != SSL3_MT_CHANGE_CIPHER_SPEC && !WPACKET_close(pkt))
- || !WPACKET_get_length(pkt, &msglen)
- || msglen > INT_MAX)
+ || !WPACKET_get_length(pkt, &msglen)
+ || msglen > INT_MAX)
return 0;
s->init_num = (int)msglen;
s->init_off = 0;
@@ -160,26 +160,26 @@ int tls_setup_handshake(SSL_CONNECTION *s)
if (sctx->ssl_digest_methods[SSL_MD_MD5_SHA1_IDX] == NULL) {
int negotiated_minversion;
int md5sha1_needed_maxversion = SSL_CONNECTION_IS_DTLS(s)
- ? DTLS1_VERSION : TLS1_1_VERSION;
+ ? DTLS1_VERSION
+ : TLS1_1_VERSION;
/* We don't have MD5-SHA1 - do we need it? */
if (ssl_version_cmp(s, ver_max, md5sha1_needed_maxversion) <= 0) {
SSLfatal_data(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SUITABLE_DIGEST_ALGORITHM,
- "The max supported SSL/TLS version needs the"
- " MD5-SHA1 digest but it is not available"
- " in the loaded providers. Use (D)TLSv1.2 or"
- " above, or load different providers");
+ SSL_R_NO_SUITABLE_DIGEST_ALGORITHM,
+ "The max supported SSL/TLS version needs the"
+ " MD5-SHA1 digest but it is not available"
+ " in the loaded providers. Use (D)TLSv1.2 or"
+ " above, or load different providers");
return 0;
}
ok = 1;
/* Don't allow TLSv1.1 or below to be negotiated */
- negotiated_minversion = SSL_CONNECTION_IS_DTLS(s) ?
- DTLS1_2_VERSION : TLS1_2_VERSION;
+ negotiated_minversion = SSL_CONNECTION_IS_DTLS(s) ? DTLS1_2_VERSION : TLS1_2_VERSION;
if (ssl_version_cmp(s, ver_min, negotiated_minversion) < 0)
- ok = SSL_set_min_proto_version(ssl, negotiated_minversion);
+ ok = SSL_set_min_proto_version(ssl, negotiated_minversion);
if (!ok) {
/* Shouldn't happen */
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, ERR_R_INTERNAL_ERROR);
@@ -200,21 +200,23 @@ int tls_setup_handshake(SSL_CONNECTION *s)
for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) {
const SSL_CIPHER *c = sk_SSL_CIPHER_value(ciphers, i);
int cipher_minprotover = SSL_CONNECTION_IS_DTLS(s)
- ? c->min_dtls : c->min_tls;
+ ? c->min_dtls
+ : c->min_tls;
int cipher_maxprotover = SSL_CONNECTION_IS_DTLS(s)
- ? c->max_dtls : c->max_tls;
+ ? c->max_dtls
+ : c->max_tls;
if (ssl_version_cmp(s, ver_max, cipher_minprotover) >= 0
- && ssl_version_cmp(s, ver_max, cipher_maxprotover) <= 0) {
+ && ssl_version_cmp(s, ver_max, cipher_maxprotover) <= 0) {
ok = 1;
break;
}
}
if (!ok) {
SSLfatal_data(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_CIPHERS_AVAILABLE,
- "No ciphers enabled for max supported "
- "SSL/TLS version");
+ SSL_R_NO_CIPHERS_AVAILABLE,
+ "No ciphers enabled for max supported "
+ "SSL/TLS version");
return 0;
}
if (SSL_IS_FIRST_HANDSHAKE(s)) {
@@ -231,7 +233,7 @@ int tls_setup_handshake(SSL_CONNECTION *s)
ssl_tsan_counter(s->session_ctx, &s->session_ctx->stats.sess_connect);
else
ssl_tsan_counter(s->session_ctx,
- &s->session_ctx->stats.sess_connect_renegotiate);
+ &s->session_ctx->stats.sess_connect_renegotiate);
/* mark client_random uninitialized */
memset(s->s3.client_random, 0, sizeof(s->s3.client_random));
@@ -250,18 +252,18 @@ int tls_setup_handshake(SSL_CONNECTION *s)
* Size of the to-be-signed TLS13 data, without the hash size itself:
* 64 bytes of value 32, 33 context bytes, 1 byte separator
*/
-#define TLS13_TBS_START_SIZE 64
-#define TLS13_TBS_PREAMBLE_SIZE (TLS13_TBS_START_SIZE + 33 + 1)
+#define TLS13_TBS_START_SIZE 64
+#define TLS13_TBS_PREAMBLE_SIZE (TLS13_TBS_START_SIZE + 33 + 1)
static int get_cert_verify_tbs_data(SSL_CONNECTION *s, unsigned char *tls13tbs,
- void **hdata, size_t *hdatalen)
+ void **hdata, size_t *hdatalen)
{
/* ASCII: "TLS 1.3, server CertificateVerify", in hex for EBCDIC compatibility */
static const char servercontext[] = "\x54\x4c\x53\x20\x31\x2e\x33\x2c\x20\x73\x65\x72"
- "\x76\x65\x72\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x56\x65\x72\x69\x66\x79";
+ "\x76\x65\x72\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x56\x65\x72\x69\x66\x79";
/* ASCII: "TLS 1.3, client CertificateVerify", in hex for EBCDIC compatibility */
static const char clientcontext[] = "\x54\x4c\x53\x20\x31\x2e\x33\x2c\x20\x63\x6c\x69"
- "\x65\x6e\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x56\x65\x72\x69\x66\x79";
+ "\x65\x6e\x74\x20\x43\x65\x72\x74\x69\x66\x69\x63\x61\x74\x65\x56\x65\x72\x69\x66\x79";
if (SSL_CONNECTION_IS_TLS13(s)) {
size_t hashlen;
@@ -270,7 +272,7 @@ static int get_cert_verify_tbs_data(SSL_CONNECTION *s, unsigned char *tls13tbs,
memset(tls13tbs, 32, TLS13_TBS_START_SIZE);
/* This copies the 33 bytes of context plus the 0 separator byte */
if (s->statem.hand_state == TLS_ST_CR_CERT_VRFY
- || s->statem.hand_state == TLS_ST_SW_CERT_VRFY)
+ || s->statem.hand_state == TLS_ST_SW_CERT_VRFY)
strcpy((char *)tls13tbs + TLS13_TBS_START_SIZE, servercontext);
else
strcpy((char *)tls13tbs + TLS13_TBS_START_SIZE, clientcontext);
@@ -281,12 +283,12 @@ static int get_cert_verify_tbs_data(SSL_CONNECTION *s, unsigned char *tls13tbs,
* that includes the CertVerify itself.
*/
if (s->statem.hand_state == TLS_ST_CR_CERT_VRFY
- || s->statem.hand_state == TLS_ST_SR_CERT_VRFY) {
+ || s->statem.hand_state == TLS_ST_SR_CERT_VRFY) {
memcpy(tls13tbs + TLS13_TBS_PREAMBLE_SIZE, s->cert_verify_hash,
- s->cert_verify_hash_len);
+ s->cert_verify_hash_len);
hashlen = s->cert_verify_hash_len;
} else if (!ssl_handshake_hash(s, tls13tbs + TLS13_TBS_PREAMBLE_SIZE,
- EVP_MAX_MD_SIZE, &hashlen)) {
+ EVP_MAX_MD_SIZE, &hashlen)) {
/* SSLfatal() already called */
return 0;
}
@@ -350,9 +352,10 @@ CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET *pkt)
}
if (EVP_DigestSignInit_ex(mctx, &pctx,
- md == NULL ? NULL : EVP_MD_get0_name(md),
- sctx->libctx, sctx->propq, pkey,
- NULL) <= 0) {
+ md == NULL ? NULL : EVP_MD_get0_name(md),
+ sctx->libctx, sctx->propq, pkey,
+ NULL)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -360,7 +363,8 @@ CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET *pkt)
if (lu->sig == EVP_PKEY_RSA_PSS) {
if (EVP_PKEY_CTX_set_rsa_padding(pctx, RSA_PKCS1_PSS_PADDING) <= 0
|| EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx,
- RSA_PSS_SALTLEN_DIGEST) <= 0) {
+ RSA_PSS_SALTLEN_DIGEST)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -372,8 +376,9 @@ CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET *pkt)
*/
if (EVP_DigestSignUpdate(mctx, hdata, hdatalen) <= 0
|| EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET,
- (int)s->session->master_key_length,
- s->session->master_key) <= 0
+ (int)s->session->master_key_length,
+ s->session->master_key)
+ <= 0
|| EVP_DigestSignFinal(mctx, NULL, &siglen) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
@@ -381,7 +386,7 @@ CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET *pkt)
}
sig = OPENSSL_malloc(siglen);
if (sig == NULL
- || EVP_DigestSignFinal(mctx, sig, &siglen) <= 0) {
+ || EVP_DigestSignFinal(mctx, sig, &siglen) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -396,7 +401,7 @@ CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET *pkt)
}
sig = OPENSSL_malloc(siglen);
if (sig == NULL
- || EVP_DigestSign(mctx, sig, &siglen, hdata, hdatalen) <= 0) {
+ || EVP_DigestSign(mctx, sig, &siglen, hdata, hdatalen) <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -427,7 +432,7 @@ CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET *pkt)
OPENSSL_free(sig);
EVP_MD_CTX_free(mctx);
return CON_FUNC_SUCCESS;
- err:
+err:
OPENSSL_free(sig);
EVP_MD_CTX_free(mctx);
return CON_FUNC_ERROR;
@@ -464,7 +469,7 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
if (ssl_cert_lookup_by_pkey(pkey, NULL, sctx) == NULL) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE);
+ SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE);
goto err;
}
@@ -480,9 +485,9 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
goto err;
}
} else if (!tls1_set_peer_legacy_sigalg(s, pkey)) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED);
- goto err;
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR,
+ SSL_R_LEGACY_SIGALG_DISALLOWED_OR_UNSUPPORTED);
+ goto err;
}
if (!tls1_lookup_md(sctx, s->s3.tmp.peer_sigalg, &md)) {
@@ -492,7 +497,7 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
if (SSL_USE_SIGALGS(s))
OSSL_TRACE1(TLS, "USING TLSv1.2 HASH %s\n",
- md == NULL ? "n/a" : EVP_MD_get0_name(md));
+ md == NULL ? "n/a" : EVP_MD_get0_name(md));
/* Check for broken implementations of GOST ciphersuites */
/*
@@ -502,14 +507,14 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
#ifndef OPENSSL_NO_GOST
if (!SSL_USE_SIGALGS(s)
&& ((PACKET_remaining(pkt) == 64
- && (EVP_PKEY_get_id(pkey) == NID_id_GostR3410_2001
- || EVP_PKEY_get_id(pkey) == NID_id_GostR3410_2012_256))
+ && (EVP_PKEY_get_id(pkey) == NID_id_GostR3410_2001
+ || EVP_PKEY_get_id(pkey) == NID_id_GostR3410_2012_256))
|| (PACKET_remaining(pkt) == 128
&& EVP_PKEY_get_id(pkey) == NID_id_GostR3410_2012_512))) {
len = PACKET_remaining(pkt);
} else
#endif
- if (!PACKET_get_net_2(pkt, &len)) {
+ if (!PACKET_get_net_2(pkt, &len)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
@@ -529,12 +534,13 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
}
OSSL_TRACE1(TLS, "Using client verify alg %s\n",
- md == NULL ? "n/a" : EVP_MD_get0_name(md));
+ md == NULL ? "n/a" : EVP_MD_get0_name(md));
if (EVP_DigestVerifyInit_ex(mctx, &pctx,
- md == NULL ? NULL : EVP_MD_get0_name(md),
- sctx->libctx, sctx->propq, pkey,
- NULL) <= 0) {
+ md == NULL ? NULL : EVP_MD_get0_name(md),
+ sctx->libctx, sctx->propq, pkey,
+ NULL)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -555,16 +561,18 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
if (SSL_USE_PSS(s)) {
if (EVP_PKEY_CTX_set_rsa_padding(pctx, RSA_PKCS1_PSS_PADDING) <= 0
|| EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx,
- RSA_PSS_SALTLEN_DIGEST) <= 0) {
+ RSA_PSS_SALTLEN_DIGEST)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
}
if (s->version == SSL3_VERSION) {
if (EVP_DigestVerifyUpdate(mctx, hdata, hdatalen) <= 0
- || EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET,
- (int)s->session->master_key_length,
- s->session->master_key) <= 0) {
+ || EVP_MD_CTX_ctrl(mctx, EVP_CTRL_SSL3_MASTER_SECRET,
+ (int)s->session->master_key_length,
+ s->session->master_key)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EVP_LIB);
goto err;
}
@@ -597,7 +605,7 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET *pkt)
ret = MSG_PROCESS_CONTINUE_PROCESSING;
else
ret = MSG_PROCESS_CONTINUE_READING;
- err:
+err:
BIO_free(s->s3.handshake_buffer);
s->s3.handshake_buffer = NULL;
EVP_MD_CTX_free(mctx);
@@ -625,13 +633,14 @@ CON_FUNC_RETURN tls_construct_finished(SSL_CONNECTION *s, WPACKET *pkt)
* then we need to do it now.
*/
if (SSL_CONNECTION_IS_TLS13(s)
- && !s->server
- && !SSL_IS_QUIC_HANDSHAKE(s)
- && (s->early_data_state != SSL_EARLY_DATA_NONE
- || (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0)
- && s->s3.tmp.cert_req == 0
- && (!ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE))) {;
+ && !s->server
+ && !SSL_IS_QUIC_HANDSHAKE(s)
+ && (s->early_data_state != SSL_EARLY_DATA_NONE
+ || (s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0)
+ && s->s3.tmp.cert_req == 0
+ && (!ssl->method->ssl3_enc->change_cipher_state(s,
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_CLIENT_WRITE))) {
+ ;
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -645,8 +654,8 @@ CON_FUNC_RETURN tls_construct_finished(SSL_CONNECTION *s, WPACKET *pkt)
}
finish_md_len = ssl->method->ssl3_enc->final_finish_mac(s,
- sender, slen,
- s->s3.tmp.finish_md);
+ sender, slen,
+ s->s3.tmp.finish_md);
if (finish_md_len == 0) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
@@ -665,7 +674,7 @@ CON_FUNC_RETURN tls_construct_finished(SSL_CONNECTION *s, WPACKET *pkt)
*/
if (!SSL_CONNECTION_IS_TLS13(s)
&& !ssl_log_secret(s, MASTER_SECRET_LABEL, s->session->master_key,
- s->session->master_key_length)) {
+ s->session->master_key_length)) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -679,11 +688,11 @@ CON_FUNC_RETURN tls_construct_finished(SSL_CONNECTION *s, WPACKET *pkt)
}
if (!s->server) {
memcpy(s->s3.previous_client_finished, s->s3.tmp.finish_md,
- finish_md_len);
+ finish_md_len);
s->s3.previous_client_finished_len = finish_md_len;
} else {
memcpy(s->s3.previous_server_finished, s->s3.tmp.finish_md,
- finish_md_len);
+ finish_md_len);
s->s3.previous_server_finished_len = finish_md_len;
}
@@ -715,7 +724,7 @@ MSG_PROCESS_RETURN tls_process_key_update(SSL_CONNECTION *s, PACKET *pkt)
}
if (!PACKET_get_1(pkt, &updatetype)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_KEY_UPDATE);
return MSG_PROCESS_ERROR;
}
@@ -725,7 +734,7 @@ MSG_PROCESS_RETURN tls_process_key_update(SSL_CONNECTION *s, PACKET *pkt)
* didn't recognise.
*/
if (updatetype != SSL_KEY_UPDATE_NOT_REQUESTED
- && updatetype != SSL_KEY_UPDATE_REQUESTED) {
+ && updatetype != SSL_KEY_UPDATE_REQUESTED) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_BAD_KEY_UPDATE);
return MSG_PROCESS_ERROR;
}
@@ -764,9 +773,8 @@ int ssl3_take_mac(SSL_CONNECTION *s)
slen = ssl->method->ssl3_enc->client_finished_label_len;
}
- s->s3.tmp.peer_finish_md_len =
- ssl->method->ssl3_enc->final_finish_mac(s, sender, slen,
- s->s3.tmp.peer_finish_md);
+ s->s3.tmp.peer_finish_md_len = ssl->method->ssl3_enc->final_finish_mac(s, sender, slen,
+ s->s3.tmp.peer_finish_md);
if (s->s3.tmp.peer_finish_md_len == 0) {
/* SSLfatal() already called */
@@ -777,7 +785,7 @@ int ssl3_take_mac(SSL_CONNECTION *s)
}
MSG_PROCESS_RETURN tls_process_change_cipher_spec(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
size_t remain;
@@ -789,7 +797,7 @@ MSG_PROCESS_RETURN tls_process_change_cipher_spec(SSL_CONNECTION *s,
*/
if (SSL_CONNECTION_IS_DTLS(s)) {
if ((s->version == DTLS1_BAD_VER
- && remain != DTLS1_CCS_HEADER_LENGTH + 1)
+ && remain != DTLS1_CCS_HEADER_LENGTH + 1)
|| (s->version != DTLS1_BAD_VER
&& remain != DTLS1_CCS_HEADER_LENGTH - 1)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_CHANGE_CIPHER_SPEC);
@@ -825,7 +833,7 @@ MSG_PROCESS_RETURN tls_process_change_cipher_spec(SSL_CONNECTION *s,
* SCTP is used
*/
BIO_ctrl(SSL_get_wbio(SSL_CONNECTION_GET_SSL(s)),
- BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD, 1, NULL);
+ BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD, 1, NULL);
#endif
}
@@ -839,22 +847,21 @@ MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
int was_first = SSL_IS_FIRST_HANDSHAKE(s);
int ok;
-
/* This is a real handshake so make sure we clean it up at the end */
if (s->server) {
/*
- * To get this far we must have read encrypted data from the client. We
- * no longer tolerate unencrypted alerts. This is ignored if less than
- * TLSv1.3
- */
+ * To get this far we must have read encrypted data from the client. We
+ * no longer tolerate unencrypted alerts. This is ignored if less than
+ * TLSv1.3
+ */
if (s->rlayer.rrlmethod->set_plain_alerts != NULL)
s->rlayer.rrlmethod->set_plain_alerts(s->rlayer.rrl, 0);
if (s->post_handshake_auth != SSL_PHA_REQUESTED)
s->statem.cleanuphand = 1;
if (SSL_CONNECTION_IS_TLS13(s)
&& !tls13_save_handshake_digest_for_pha(s)) {
- /* SSLfatal() already called */
- return MSG_PROCESS_ERROR;
+ /* SSLfatal() already called */
+ return MSG_PROCESS_ERROR;
}
}
@@ -883,7 +890,7 @@ MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
}
ok = CRYPTO_memcmp(PACKET_data(pkt), s->s3.tmp.peer_finish_md,
- md_len);
+ md_len);
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
if (ok != 0) {
if ((PACKET_data(pkt)[0] ^ s->s3.tmp.peer_finish_md[0]) != 0xFF) {
@@ -905,11 +912,11 @@ MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
}
if (s->server) {
memcpy(s->s3.previous_client_finished, s->s3.tmp.peer_finish_md,
- md_len);
+ md_len);
s->s3.previous_client_finished_len = md_len;
} else {
memcpy(s->s3.previous_server_finished, s->s3.tmp.peer_finish_md,
- md_len);
+ md_len);
s->s3.previous_server_finished_len = md_len;
}
@@ -919,9 +926,7 @@ MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
*/
if (SSL_CONNECTION_IS_TLS13(s)) {
if (s->server) {
- if (s->post_handshake_auth != SSL_PHA_REQUESTED &&
- !ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ if (s->post_handshake_auth != SSL_PHA_REQUESTED && !ssl->method->ssl3_enc->change_cipher_state(s, SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_SERVER_READ)) {
/* SSLfatal() already called */
return MSG_PROCESS_ERROR;
}
@@ -948,8 +953,8 @@ MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
* a message we have the correct keys in place to ack it)
*/
if (!SSL_IS_QUIC_HANDSHAKE(s)
- && !ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_CLIENT_READ)) {
+ && !ssl->method->ssl3_enc->change_cipher_state(s,
+ SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_CLIENT_READ)) {
/* SSLfatal() already called */
return MSG_PROCESS_ERROR;
}
@@ -961,8 +966,8 @@ MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
}
if (was_first
- && !SSL_IS_FIRST_HANDSHAKE(s)
- && s->rlayer.rrlmethod->set_first_handshake != NULL)
+ && !SSL_IS_FIRST_HANDSHAKE(s)
+ && s->rlayer.rrlmethod->set_first_handshake != NULL)
s->rlayer.rrlmethod->set_first_handshake(s->rlayer.rrl, 0);
return MSG_PROCESS_FINISHED_READING;
@@ -980,7 +985,7 @@ CON_FUNC_RETURN tls_construct_change_cipher_spec(SSL_CONNECTION *s, WPACKET *pkt
/* Add a certificate to the WPACKET */
static int ssl_add_cert_to_wpacket(SSL_CONNECTION *s, WPACKET *pkt,
- X509 *x, int chain, int for_comp)
+ X509 *x, int chain, int for_comp)
{
int len;
unsigned char *outbytes;
@@ -996,14 +1001,14 @@ static int ssl_add_cert_to_wpacket(SSL_CONNECTION *s, WPACKET *pkt,
return 0;
}
if (!WPACKET_sub_allocate_bytes_u24(pkt, len, &outbytes)
- || i2d_X509(x, &outbytes) != len) {
+ || i2d_X509(x, &outbytes) != len) {
if (!for_comp)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
if ((SSL_CONNECTION_IS_TLS13(s) || for_comp)
- && !tls_construct_extensions(s, pkt, context, x, chain)) {
+ && !tls_construct_extensions(s, pkt, context, x, chain)) {
/* SSLfatal() already called */
return 0;
}
@@ -1043,7 +1048,7 @@ static int ssl_add_cert_chain(SSL_CONNECTION *s, WPACKET *pkt, CERT_PKEY *cpk, i
if (chain_store != NULL) {
X509_STORE_CTX *xs_ctx = X509_STORE_CTX_new_ex(sctx->libctx,
- sctx->propq);
+ sctx->propq);
if (xs_ctx == NULL) {
if (!for_comp)
@@ -1112,7 +1117,7 @@ static int ssl_add_cert_chain(SSL_CONNECTION *s, WPACKET *pkt, CERT_PKEY *cpk, i
return 1;
}
-EVP_PKEY* tls_get_peer_pkey(const SSL_CONNECTION *sc)
+EVP_PKEY *tls_get_peer_pkey(const SSL_CONNECTION *sc)
{
if (sc->session->peer_rpk != NULL)
return sc->session->peer_rpk;
@@ -1274,13 +1279,13 @@ int tls_process_rpk(SSL_CONNECTION *sc, PACKET *pkt, EVP_PKEY **peer_rpk)
}
spkistart = spki;
if ((pkey = d2i_PUBKEY_ex(NULL, &spki, spki_len, sctx->libctx, sctx->propq)) == NULL
- || spki != (spkistart + spki_len)) {
+ || spki != (spkistart + spki_len)) {
SSLfatal(sc, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
if (EVP_PKEY_missing_parameters(pkey)) {
SSLfatal(sc, SSL_AD_INTERNAL_ERROR,
- SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS);
+ SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS);
goto err;
}
@@ -1291,18 +1296,18 @@ int tls_process_rpk(SSL_CONNECTION *sc, PACKET *pkt, EVP_PKEY **peer_rpk)
goto err;
}
if (!PACKET_as_length_prefixed_2(pkt, &extensions)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(sc, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
if (!tls_collect_extensions(sc, &extensions, SSL_EXT_TLS1_3_RAW_PUBLIC_KEY,
- &rawexts, NULL, 1)) {
+ &rawexts, NULL, 1)) {
/* SSLfatal already called */
goto err;
}
/* chain index is always zero and fin always 1 for RPK */
if (!tls_parse_all_extensions(sc, SSL_EXT_TLS1_3_RAW_PUBLIC_KEY,
- rawexts, NULL, 0, 1)) {
+ rawexts, NULL, 0, 1)) {
/* SSLfatal already called */
goto err;
}
@@ -1313,7 +1318,7 @@ int tls_process_rpk(SSL_CONNECTION *sc, PACKET *pkt, EVP_PKEY **peer_rpk)
pkey = NULL;
}
- err:
+err:
OPENSSL_free(rawexts);
EVP_PKEY_free(pkey);
return ret;
@@ -1381,7 +1386,7 @@ unsigned long tls_output_rpk(SSL_CONNECTION *sc, WPACKET *pkt, CERT_PKEY *cpk)
* |x509| may be NULL, which raw public-key extensions need to handle.
*/
if (!tls_construct_extensions(sc, pkt, SSL_EXT_TLS1_3_RAW_PUBLIC_KEY,
- x509, 0)) {
+ x509, 0)) {
/* SSLfatal() already called */
goto err;
}
@@ -1392,13 +1397,13 @@ unsigned long tls_output_rpk(SSL_CONNECTION *sc, WPACKET *pkt, CERT_PKEY *cpk)
}
ret = 1;
- err:
+err:
OPENSSL_free(pdata);
return ret;
}
unsigned long ssl3_output_cert_chain(SSL_CONNECTION *s, WPACKET *pkt,
- CERT_PKEY *cpk, int for_comp)
+ CERT_PKEY *cpk, int for_comp)
{
if (!WPACKET_start_sub_packet_u24(pkt)) {
if (!for_comp)
@@ -1424,9 +1429,9 @@ unsigned long ssl3_output_cert_chain(SSL_CONNECTION *s, WPACKET *pkt,
* freed up as well.
*/
WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE wst,
- int clearbufs, int stop)
+ int clearbufs, int stop)
{
- void (*cb) (const SSL *ssl, int type, int val) = NULL;
+ void (*cb)(const SSL *ssl, int type, int val) = NULL;
int cleanuphand = s->statem.cleanuphand;
SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s);
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
@@ -1442,7 +1447,7 @@ WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE wst,
*/
|| BIO_dgram_is_sctp(SSL_get_wbio(SSL_CONNECTION_GET_SSL(s)))
#endif
- ) {
+ ) {
/*
* We don't do this in DTLS over UDP because we may still need the init_buf
* in case there are any unexpected retransmits
@@ -1459,7 +1464,7 @@ WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE wst,
}
if (SSL_CONNECTION_IS_TLS13(s) && !s->server
- && s->post_handshake_auth == SSL_PHA_REQUESTED)
+ && s->post_handshake_auth == SSL_PHA_REQUESTED)
s->post_handshake_auth = SSL_PHA_EXT_SENT;
/*
@@ -1493,7 +1498,8 @@ WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE wst,
* so we remove this one from the cache.
*/
if ((s->session_ctx->session_cache_mode
- & SSL_SESS_CACHE_CLIENT) != 0)
+ & SSL_SESS_CACHE_CLIENT)
+ != 0)
SSL_CTX_remove_session(s->session_ctx, s->session);
} else {
/*
@@ -1504,11 +1510,11 @@ WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE wst,
}
if (s->hit)
ssl_tsan_counter(s->session_ctx,
- &s->session_ctx->stats.sess_hit);
+ &s->session_ctx->stats.sess_hit);
s->handshake_func = ossl_statem_connect;
ssl_tsan_counter(s->session_ctx,
- &s->session_ctx->stats.sess_connect_good);
+ &s->session_ctx->stats.sess_connect_good);
}
if (SSL_CONNECTION_IS_DTLS(s)) {
@@ -1530,8 +1536,8 @@ WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE wst,
if (cb != NULL) {
if (cleanuphand
- || !SSL_CONNECTION_IS_TLS13(s)
- || SSL_IS_FIRST_HANDSHAKE(s))
+ || !SSL_CONNECTION_IS_TLS13(s)
+ || SSL_IS_FIRST_HANDSHAKE(s))
cb(ssl, SSL_CB_HANDSHAKE_DONE, 1);
}
@@ -1559,9 +1565,9 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
do {
while (s->init_num < SSL3_HM_HEADER_LENGTH) {
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, &recvd_type,
- &p[s->init_num],
- SSL3_HM_HEADER_LENGTH - s->init_num,
- 0, &readbytes);
+ &p[s->init_num],
+ SSL3_HM_HEADER_LENGTH - s->init_num,
+ 0, &readbytes);
if (i <= 0) {
s->rwstate = SSL_READING;
return 0;
@@ -1573,11 +1579,11 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
*/
if (s->init_num != 0 || readbytes != 1 || p[0] != SSL3_MT_CCS) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_BAD_CHANGE_CIPHER_SPEC);
+ SSL_R_BAD_CHANGE_CIPHER_SPEC);
return 0;
}
if (s->statem.hand_state == TLS_ST_BEFORE
- && (s->s3.flags & TLS1_FLAGS_STATELESS) != 0) {
+ && (s->s3.flags & TLS1_FLAGS_STATELESS) != 0) {
/*
* We are stateless and we received a CCS. Probably this is
* from a client between the first and second ClientHellos.
@@ -1594,7 +1600,7 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
return 1;
} else if (recvd_type != SSL3_RT_HANDSHAKE) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE,
- SSL_R_CCS_RECEIVED_EARLY);
+ SSL_R_CCS_RECEIVED_EARLY);
return 0;
}
s->init_num += readbytes;
@@ -1603,7 +1609,7 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
skip_message = 0;
if (!s->server)
if (s->statem.hand_state != TLS_ST_OK
- && p[0] == SSL3_MT_HELLO_REQUEST)
+ && p[0] == SSL3_MT_HELLO_REQUEST)
/*
* The server may always send 'Hello Request' messages --
* we are doing a handshake anyway now, so ignore them if
@@ -1616,8 +1622,8 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
- p, SSL3_HM_HEADER_LENGTH, ussl,
- s->msg_callback_arg);
+ p, SSL3_HM_HEADER_LENGTH, ussl,
+ s->msg_callback_arg);
}
} while (skip_message);
/* s->init_num == SSL3_HM_HEADER_LENGTH */
@@ -1643,7 +1649,7 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
/* BUF_MEM_grow takes an 'int' parameter */
if (l > (INT_MAX - SSL3_HM_HEADER_LENGTH)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_EXCESSIVE_MESSAGE_SIZE);
+ SSL_R_EXCESSIVE_MESSAGE_SIZE);
return 0;
}
s->s3.tmp.message_size = l;
@@ -1673,7 +1679,7 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
n = s->s3.tmp.message_size - s->init_num;
while (n > 0) {
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- &p[s->init_num], n, 0, &readbytes);
+ &p[s->init_num], n, 0, &readbytes);
if (i <= 0) {
s->rwstate = SSL_READING;
*len = 0;
@@ -1696,14 +1702,14 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
/* Feed this message into MAC computation. */
if (RECORD_LAYER_is_sslv2_record(&s->rlayer)) {
if (!ssl3_finish_mac(s, (unsigned char *)s->init_buf->data,
- s->init_num)) {
+ s->init_num)) {
/* SSLfatal() already called */
*len = 0;
return 0;
}
if (s->msg_callback)
s->msg_callback(0, SSL2_VERSION, 0, s->init_buf->data,
- (size_t)s->init_num, ussl, s->msg_callback_arg);
+ (size_t)s->init_num, ussl, s->msg_callback_arg);
} else {
/*
* We defer feeding in the HRR until later. We'll do it as part of
@@ -1711,18 +1717,19 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
* The TLsv1.3 handshake transcript stops at the ClientFinished
* message.
*/
-#define SERVER_HELLO_RANDOM_OFFSET (SSL3_HM_HEADER_LENGTH + 2)
+#define SERVER_HELLO_RANDOM_OFFSET (SSL3_HM_HEADER_LENGTH + 2)
/* KeyUpdate and NewSessionTicket do not need to be added */
if (!SSL_CONNECTION_IS_TLS13(s)
|| (s->s3.tmp.message_type != SSL3_MT_NEWSESSION_TICKET
- && s->s3.tmp.message_type != SSL3_MT_KEY_UPDATE)) {
+ && s->s3.tmp.message_type != SSL3_MT_KEY_UPDATE)) {
if (s->s3.tmp.message_type != SSL3_MT_SERVER_HELLO
- || s->init_num < SERVER_HELLO_RANDOM_OFFSET + SSL3_RANDOM_SIZE
- || memcmp(hrrrandom,
- s->init_buf->data + SERVER_HELLO_RANDOM_OFFSET,
- SSL3_RANDOM_SIZE) != 0) {
+ || s->init_num < SERVER_HELLO_RANDOM_OFFSET + SSL3_RANDOM_SIZE
+ || memcmp(hrrrandom,
+ s->init_buf->data + SERVER_HELLO_RANDOM_OFFSET,
+ SSL3_RANDOM_SIZE)
+ != 0) {
if (!ssl3_finish_mac(s, (unsigned char *)s->init_buf->data,
- s->init_num + SSL3_HM_HEADER_LENGTH)) {
+ s->init_num + SSL3_HM_HEADER_LENGTH)) {
/* SSLfatal() already called */
*len = 0;
return 0;
@@ -1731,8 +1738,8 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
}
if (s->msg_callback)
s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE, s->init_buf->data,
- (size_t)s->init_num + SSL3_HM_HEADER_LENGTH, ussl,
- s->msg_callback_arg);
+ (size_t)s->init_num + SSL3_HM_HEADER_LENGTH, ussl,
+ s->msg_callback_arg);
}
*len = s->init_num;
@@ -1740,49 +1747,49 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
}
static const X509ERR2ALERT x509table[] = {
- {X509_V_ERR_APPLICATION_VERIFICATION, SSL_AD_HANDSHAKE_FAILURE},
- {X509_V_ERR_CA_KEY_TOO_SMALL, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_EC_KEY_EXPLICIT_PARAMS, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_CA_MD_TOO_WEAK, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_CERT_CHAIN_TOO_LONG, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_CERT_HAS_EXPIRED, SSL_AD_CERTIFICATE_EXPIRED},
- {X509_V_ERR_CERT_NOT_YET_VALID, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_CERT_REJECTED, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_CERT_REVOKED, SSL_AD_CERTIFICATE_REVOKED},
- {X509_V_ERR_CERT_SIGNATURE_FAILURE, SSL_AD_DECRYPT_ERROR},
- {X509_V_ERR_CERT_UNTRUSTED, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_CRL_HAS_EXPIRED, SSL_AD_CERTIFICATE_EXPIRED},
- {X509_V_ERR_CRL_NOT_YET_VALID, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_CRL_SIGNATURE_FAILURE, SSL_AD_DECRYPT_ERROR},
- {X509_V_ERR_DANE_NO_MATCH, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_EE_KEY_TOO_SMALL, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_EMAIL_MISMATCH, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_HOSTNAME_MISMATCH, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_INVALID_CA, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_INVALID_CALL, SSL_AD_INTERNAL_ERROR},
- {X509_V_ERR_INVALID_PURPOSE, SSL_AD_UNSUPPORTED_CERTIFICATE},
- {X509_V_ERR_IP_ADDRESS_MISMATCH, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_OUT_OF_MEM, SSL_AD_INTERNAL_ERROR},
- {X509_V_ERR_PATH_LENGTH_EXCEEDED, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_STORE_LOOKUP, SSL_AD_INTERNAL_ERROR},
- {X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE, SSL_AD_BAD_CERTIFICATE},
- {X509_V_ERR_UNABLE_TO_GET_CRL, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, SSL_AD_UNKNOWN_CA},
- {X509_V_ERR_UNSPECIFIED, SSL_AD_INTERNAL_ERROR},
+ { X509_V_ERR_APPLICATION_VERIFICATION, SSL_AD_HANDSHAKE_FAILURE },
+ { X509_V_ERR_CA_KEY_TOO_SMALL, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_EC_KEY_EXPLICIT_PARAMS, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_CA_MD_TOO_WEAK, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_CERT_CHAIN_TOO_LONG, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_CERT_HAS_EXPIRED, SSL_AD_CERTIFICATE_EXPIRED },
+ { X509_V_ERR_CERT_NOT_YET_VALID, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_CERT_REJECTED, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_CERT_REVOKED, SSL_AD_CERTIFICATE_REVOKED },
+ { X509_V_ERR_CERT_SIGNATURE_FAILURE, SSL_AD_DECRYPT_ERROR },
+ { X509_V_ERR_CERT_UNTRUSTED, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_CRL_HAS_EXPIRED, SSL_AD_CERTIFICATE_EXPIRED },
+ { X509_V_ERR_CRL_NOT_YET_VALID, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_CRL_SIGNATURE_FAILURE, SSL_AD_DECRYPT_ERROR },
+ { X509_V_ERR_DANE_NO_MATCH, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_EE_KEY_TOO_SMALL, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_EMAIL_MISMATCH, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_HOSTNAME_MISMATCH, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_INVALID_CA, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_INVALID_CALL, SSL_AD_INTERNAL_ERROR },
+ { X509_V_ERR_INVALID_PURPOSE, SSL_AD_UNSUPPORTED_CERTIFICATE },
+ { X509_V_ERR_IP_ADDRESS_MISMATCH, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_OUT_OF_MEM, SSL_AD_INTERNAL_ERROR },
+ { X509_V_ERR_PATH_LENGTH_EXCEEDED, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_STORE_LOOKUP, SSL_AD_INTERNAL_ERROR },
+ { X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE, SSL_AD_BAD_CERTIFICATE },
+ { X509_V_ERR_UNABLE_TO_GET_CRL, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, SSL_AD_UNKNOWN_CA },
+ { X509_V_ERR_UNSPECIFIED, SSL_AD_INTERNAL_ERROR },
/* Last entry; return this if we don't find the value above. */
- {X509_V_OK, SSL_AD_CERTIFICATE_UNKNOWN}
+ { X509_V_OK, SSL_AD_CERTIFICATE_UNKNOWN }
};
int ssl_x509err2alert(int x509err)
@@ -1823,63 +1830,63 @@ int ssl_version_cmp(const SSL_CONNECTION *s, int versiona, int versionb)
typedef struct {
int version;
- const SSL_METHOD *(*cmeth) (void);
- const SSL_METHOD *(*smeth) (void);
+ const SSL_METHOD *(*cmeth)(void);
+ const SSL_METHOD *(*smeth)(void);
} version_info;
#if TLS_MAX_VERSION_INTERNAL != TLS1_3_VERSION
-# error Code needs update for TLS_method() support beyond TLS1_3_VERSION.
+#error Code needs update for TLS_method() support beyond TLS1_3_VERSION.
#endif
/* Must be in order high to low */
static const version_info tls_version_table[] = {
#ifndef OPENSSL_NO_TLS1_3
- {TLS1_3_VERSION, tlsv1_3_client_method, tlsv1_3_server_method},
+ { TLS1_3_VERSION, tlsv1_3_client_method, tlsv1_3_server_method },
#else
- {TLS1_3_VERSION, NULL, NULL},
+ { TLS1_3_VERSION, NULL, NULL },
#endif
#ifndef OPENSSL_NO_TLS1_2
- {TLS1_2_VERSION, tlsv1_2_client_method, tlsv1_2_server_method},
+ { TLS1_2_VERSION, tlsv1_2_client_method, tlsv1_2_server_method },
#else
- {TLS1_2_VERSION, NULL, NULL},
+ { TLS1_2_VERSION, NULL, NULL },
#endif
#ifndef OPENSSL_NO_TLS1_1
- {TLS1_1_VERSION, tlsv1_1_client_method, tlsv1_1_server_method},
+ { TLS1_1_VERSION, tlsv1_1_client_method, tlsv1_1_server_method },
#else
- {TLS1_1_VERSION, NULL, NULL},
+ { TLS1_1_VERSION, NULL, NULL },
#endif
#ifndef OPENSSL_NO_TLS1
- {TLS1_VERSION, tlsv1_client_method, tlsv1_server_method},
+ { TLS1_VERSION, tlsv1_client_method, tlsv1_server_method },
#else
- {TLS1_VERSION, NULL, NULL},
+ { TLS1_VERSION, NULL, NULL },
#endif
#ifndef OPENSSL_NO_SSL3
- {SSL3_VERSION, sslv3_client_method, sslv3_server_method},
+ { SSL3_VERSION, sslv3_client_method, sslv3_server_method },
#else
- {SSL3_VERSION, NULL, NULL},
+ { SSL3_VERSION, NULL, NULL },
#endif
- {0, NULL, NULL},
+ { 0, NULL, NULL },
};
#if DTLS_MAX_VERSION_INTERNAL != DTLS1_2_VERSION
-# error Code needs update for DTLS_method() support beyond DTLS1_2_VERSION.
+#error Code needs update for DTLS_method() support beyond DTLS1_2_VERSION.
#endif
/* Must be in order high to low */
static const version_info dtls_version_table[] = {
#ifndef OPENSSL_NO_DTLS1_2
- {DTLS1_2_VERSION, dtlsv1_2_client_method, dtlsv1_2_server_method},
+ { DTLS1_2_VERSION, dtlsv1_2_client_method, dtlsv1_2_server_method },
#else
- {DTLS1_2_VERSION, NULL, NULL},
+ { DTLS1_2_VERSION, NULL, NULL },
#endif
#ifndef OPENSSL_NO_DTLS1
- {DTLS1_VERSION, dtlsv1_client_method, dtlsv1_server_method},
- {DTLS1_BAD_VER, dtls_bad_ver_client_method, NULL},
+ { DTLS1_VERSION, dtlsv1_client_method, dtlsv1_server_method },
+ { DTLS1_BAD_VER, dtls_bad_ver_client_method, NULL },
#else
- {DTLS1_VERSION, NULL, NULL},
- {DTLS1_BAD_VER, NULL, NULL},
+ { DTLS1_VERSION, NULL, NULL },
+ { DTLS1_BAD_VER, NULL, NULL },
#endif
- {0, NULL, NULL},
+ { 0, NULL, NULL },
};
/*
@@ -1894,13 +1901,10 @@ static int ssl_method_error(const SSL_CONNECTION *s, const SSL_METHOD *method)
{
int version = method->version;
- if ((s->min_proto_version != 0 &&
- ssl_version_cmp(s, version, s->min_proto_version) < 0) ||
- ssl_security(s, SSL_SECOP_VERSION, 0, version, NULL) == 0)
+ if ((s->min_proto_version != 0 && ssl_version_cmp(s, version, s->min_proto_version) < 0) || ssl_security(s, SSL_SECOP_VERSION, 0, version, NULL) == 0)
return SSL_R_VERSION_TOO_LOW;
- if (s->max_proto_version != 0 &&
- ssl_version_cmp(s, version, s->max_proto_version) > 0)
+ if (s->max_proto_version != 0 && ssl_version_cmp(s, version, s->max_proto_version) > 0)
return SSL_R_VERSION_TOO_HIGH;
if ((s->options & method->mask) != 0)
@@ -1930,7 +1934,7 @@ static int is_tls13_capable(const SSL_CONNECTION *s)
* cb is set then we just assume TLSv1.3 will be ok
*/
if (sctx->ext.servername_cb != NULL
- || s->session_ctx->ext.servername_cb != NULL)
+ || s->session_ctx->ext.servername_cb != NULL)
return 1;
#ifndef OPENSSL_NO_PSK
@@ -1980,7 +1984,7 @@ static int is_tls13_capable(const SSL_CONNECTION *s)
* Returns 1 when supported, otherwise 0
*/
int ssl_version_supported(const SSL_CONNECTION *s, int version,
- const SSL_METHOD **meth)
+ const SSL_METHOD **meth)
{
const version_info *vent;
const version_info *table;
@@ -1998,17 +2002,17 @@ int ssl_version_supported(const SSL_CONNECTION *s, int version,
}
for (vent = table;
- vent->version != 0 && ssl_version_cmp(s, version, vent->version) <= 0;
- ++vent) {
+ vent->version != 0 && ssl_version_cmp(s, version, vent->version) <= 0;
+ ++vent) {
const SSL_METHOD *(*thismeth)(void) = s->server ? vent->smeth
: vent->cmeth;
if (thismeth != NULL
- && ssl_version_cmp(s, version, vent->version) == 0
- && ssl_method_error(s, thismeth()) == 0
- && (!s->server
- || version != TLS1_3_VERSION
- || is_tls13_capable(s))) {
+ && ssl_version_cmp(s, version, vent->version) == 0
+ && ssl_method_error(s, thismeth()) == 0
+ && (!s->server
+ || version != TLS1_3_VERSION
+ || is_tls13_capable(s))) {
if (meth != NULL)
*meth = thismeth();
return 1;
@@ -2126,18 +2130,18 @@ int ssl_set_version_bound(int method_version, int version, int *bound)
static void check_for_downgrade(SSL_CONNECTION *s, int vers, DOWNGRADE *dgrd)
{
if (vers == TLS1_2_VERSION
- && ssl_version_supported(s, TLS1_3_VERSION, NULL)) {
+ && ssl_version_supported(s, TLS1_3_VERSION, NULL)) {
*dgrd = DOWNGRADE_TO_1_2;
} else if (!SSL_CONNECTION_IS_DTLS(s)
- && vers < TLS1_2_VERSION
- /*
- * We need to ensure that a server that disables TLSv1.2
- * (creating a hole between TLSv1.3 and TLSv1.1) can still
- * complete handshakes with clients that support TLSv1.2 and
- * below. Therefore we do not enable the sentinel if TLSv1.3 is
- * enabled and TLSv1.2 is not.
- */
- && ssl_version_supported(s, TLS1_2_VERSION, NULL)) {
+ && vers < TLS1_2_VERSION
+ /*
+ * We need to ensure that a server that disables TLSv1.2
+ * (creating a hole between TLSv1.3 and TLSv1.1) can still
+ * complete handshakes with clients that support TLSv1.2 and
+ * below. Therefore we do not enable the sentinel if TLSv1.3 is
+ * enabled and TLSv1.2 is not.
+ */
+ && ssl_version_supported(s, TLS1_2_VERSION, NULL)) {
*dgrd = DOWNGRADE_TO_1_1;
} else {
*dgrd = DOWNGRADE_NONE;
@@ -2154,7 +2158,7 @@ static void check_for_downgrade(SSL_CONNECTION *s, int vers, DOWNGRADE *dgrd)
* Returns 0 on success or an SSL error reason number on failure.
*/
int ssl_choose_server_version(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello,
- DOWNGRADE *dgrd)
+ DOWNGRADE *dgrd)
{
/*-
* With version-flexible methods we have an initial state with:
@@ -2280,8 +2284,7 @@ int ssl_choose_server_version(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello,
for (vent = table; vent->version != 0; ++vent) {
const SSL_METHOD *method;
- if (vent->smeth == NULL ||
- ssl_version_cmp(s, client_version, vent->version) < 0)
+ if (vent->smeth == NULL || ssl_version_cmp(s, client_version, vent->version) < 0)
continue;
method = vent->smeth();
if (ssl_method_error(s, method) == 0) {
@@ -2310,7 +2313,7 @@ int ssl_choose_server_version(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello,
* Returns 1 on success or 0 on error.
*/
int ssl_choose_client_version(SSL_CONNECTION *s, int version,
- RAW_EXTENSION *extensions)
+ RAW_EXTENSION *extensions)
{
const version_info *vent;
const version_info *table;
@@ -2322,15 +2325,16 @@ int ssl_choose_client_version(SSL_CONNECTION *s, int version,
/* This will overwrite s->version if the extension is present */
if (!tls_parse_extension(s, TLSEXT_IDX_supported_versions,
- SSL_EXT_TLS1_2_SERVER_HELLO
- | SSL_EXT_TLS1_3_SERVER_HELLO, extensions,
- NULL, 0)) {
+ SSL_EXT_TLS1_2_SERVER_HELLO
+ | SSL_EXT_TLS1_3_SERVER_HELLO,
+ extensions,
+ NULL, 0)) {
s->version = origv;
return 0;
}
if (s->hello_retry_request != SSL_HRR_NONE
- && s->version != TLS1_3_VERSION) {
+ && s->version != TLS1_3_VERSION) {
s->version = origv;
SSLfatal(s, SSL_AD_PROTOCOL_VERSION, SSL_R_WRONG_SSL_VERSION);
return 0;
@@ -2384,23 +2388,25 @@ int ssl_choose_client_version(SSL_CONNECTION *s, int version,
if (!SSL_CONNECTION_IS_DTLS(s) && real_max > s->version) {
/* Signal applies to all versions */
if (memcmp(tls11downgrade,
- s->s3.server_random + SSL3_RANDOM_SIZE
- - sizeof(tls11downgrade),
- sizeof(tls11downgrade)) == 0) {
+ s->s3.server_random + SSL3_RANDOM_SIZE
+ - sizeof(tls11downgrade),
+ sizeof(tls11downgrade))
+ == 0) {
s->version = origv;
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_INAPPROPRIATE_FALLBACK);
+ SSL_R_INAPPROPRIATE_FALLBACK);
return 0;
}
/* Only when accepting TLS1.3 */
if (real_max == TLS1_3_VERSION
&& memcmp(tls12downgrade,
- s->s3.server_random + SSL3_RANDOM_SIZE
- - sizeof(tls12downgrade),
- sizeof(tls12downgrade)) == 0) {
+ s->s3.server_random + SSL3_RANDOM_SIZE
+ - sizeof(tls12downgrade),
+ sizeof(tls12downgrade))
+ == 0) {
s->version = origv;
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_INAPPROPRIATE_FALLBACK);
+ SSL_R_INAPPROPRIATE_FALLBACK);
return 0;
}
}
@@ -2445,7 +2451,7 @@ int ssl_choose_client_version(SSL_CONNECTION *s, int version,
* min_version and max_version will also be set to 0.
*/
int ssl_get_min_max_version(const SSL_CONNECTION *s, int *min_version,
- int *max_version, int *real_max)
+ int *max_version, int *real_max)
{
int version, tmp_real_max;
int hole;
@@ -2596,7 +2602,7 @@ int ssl_set_client_hello_version(SSL_CONNECTION *s)
* where the group was found.
*/
int check_in_list(SSL_CONNECTION *s, uint16_t group_id, const uint16_t *groups,
- size_t num_groups, int checkallow, size_t *pos)
+ size_t num_groups, int checkallow, size_t *pos)
{
size_t i;
@@ -2607,8 +2613,8 @@ int check_in_list(SSL_CONNECTION *s, uint16_t group_id, const uint16_t *groups,
uint16_t group = groups[i];
if (group_id == group
- && (!checkallow
- || tls_group_allowed(s, group, SSL_SECOP_CURVE_CHECK))) {
+ && (!checkallow
+ || tls_group_allowed(s, group, SSL_SECOP_CURVE_CHECK))) {
if (pos != NULL)
*pos = i;
return 1;
@@ -2620,9 +2626,9 @@ int check_in_list(SSL_CONNECTION *s, uint16_t group_id, const uint16_t *groups,
/* Replace ClientHello1 in the transcript hash with a synthetic message */
int create_synthetic_message_hash(SSL_CONNECTION *s,
- const unsigned char *hashval,
- size_t hashlen, const unsigned char *hrr,
- size_t hrrlen)
+ const unsigned char *hashval,
+ size_t hashlen, const unsigned char *hrr,
+ size_t hrrlen)
{
unsigned char hashvaltmp[EVP_MAX_MD_SIZE];
unsigned char msghdr[SSL3_HM_HEADER_LENGTH];
@@ -2634,8 +2640,8 @@ int create_synthetic_message_hash(SSL_CONNECTION *s,
hashlen = 0;
/* Get the hash of the initial ClientHello */
if (!ssl3_digest_cached_records(s, 0)
- || !ssl_handshake_hash(s, hashvaltmp, sizeof(hashvaltmp),
- &hashlen)) {
+ || !ssl_handshake_hash(s, hashvaltmp, sizeof(hashvaltmp),
+ &hashlen)) {
/* SSLfatal() already called */
return 0;
}
@@ -2651,7 +2657,7 @@ int create_synthetic_message_hash(SSL_CONNECTION *s,
msghdr[0] = SSL3_MT_MESSAGE_HASH;
msghdr[SSL3_HM_HEADER_LENGTH - 1] = (unsigned char)hashlen;
if (!ssl3_finish_mac(s, msghdr, SSL3_HM_HEADER_LENGTH)
- || !ssl3_finish_mac(s, hashval, hashlen)) {
+ || !ssl3_finish_mac(s, hashval, hashlen)) {
/* SSLfatal() already called */
return 0;
}
@@ -2662,10 +2668,10 @@ int create_synthetic_message_hash(SSL_CONNECTION *s,
* receiving a ClientHello2 with a cookie.
*/
if (hrr != NULL
- && (!ssl3_finish_mac(s, hrr, hrrlen)
- || !ssl3_finish_mac(s, (unsigned char *)s->init_buf->data,
- s->s3.tmp.message_size
- + SSL3_HM_HEADER_LENGTH))) {
+ && (!ssl3_finish_mac(s, hrr, hrrlen)
+ || !ssl3_finish_mac(s, (unsigned char *)s->init_buf->data,
+ s->s3.tmp.message_size
+ + SSL3_HM_HEADER_LENGTH))) {
/* SSLfatal() already called */
return 0;
}
@@ -2726,7 +2732,7 @@ int parse_ca_names(SSL_CONNECTION *s, PACKET *pkt)
return 1;
- err:
+err:
sk_X509_NAME_pop_free(ca_sk, X509_NAME_free);
X509_NAME_free(xn);
return 0;
@@ -2750,7 +2756,7 @@ const STACK_OF(X509_NAME) *get_ca_names(SSL_CONNECTION *s)
}
int construct_ca_names(SSL_CONNECTION *s, const STACK_OF(X509_NAME) *ca_sk,
- WPACKET *pkt)
+ WPACKET *pkt)
{
/* Start sub-packet for client CA list */
if (!WPACKET_start_sub_packet_u16(pkt)) {
@@ -2767,10 +2773,10 @@ int construct_ca_names(SSL_CONNECTION *s, const STACK_OF(X509_NAME) *ca_sk,
int namelen;
if (name == NULL
- || (namelen = i2d_X509_NAME(name, NULL)) < 0
- || !WPACKET_sub_allocate_bytes_u16(pkt, namelen,
- &namebytes)
- || i2d_X509_NAME(name, &namebytes) != namelen) {
+ || (namelen = i2d_X509_NAME(name, NULL)) < 0
+ || !WPACKET_sub_allocate_bytes_u16(pkt, namelen,
+ &namebytes)
+ || i2d_X509_NAME(name, &namebytes) != namelen) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -2787,7 +2793,7 @@ int construct_ca_names(SSL_CONNECTION *s, const STACK_OF(X509_NAME) *ca_sk,
/* Create a buffer containing data to be signed for server key exchange */
size_t construct_key_exchange_tbs(SSL_CONNECTION *s, unsigned char **ptbs,
- const void *param, size_t paramlen)
+ const void *param, size_t paramlen)
{
size_t tbslen = 2 * SSL3_RANDOM_SIZE + paramlen;
unsigned char *tbs = OPENSSL_malloc(tbslen);
@@ -2822,7 +2828,7 @@ int tls13_save_handshake_digest_for_pha(SSL_CONNECTION *s)
return 0;
}
if (!EVP_MD_CTX_copy_ex(s->pha_dgst,
- s->s3.handshake_dgst)) {
+ s->s3.handshake_dgst)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
EVP_MD_CTX_free(s->pha_dgst);
s->pha_dgst = NULL;
@@ -2843,7 +2849,7 @@ int tls13_restore_handshake_digest_for_pha(SSL_CONNECTION *s)
return 0;
}
if (!EVP_MD_CTX_copy_ex(s->s3.handshake_dgst,
- s->pha_dgst)) {
+ s->pha_dgst)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -2852,9 +2858,9 @@ int tls13_restore_handshake_digest_for_pha(SSL_CONNECTION *s)
#ifndef OPENSSL_NO_COMP_ALG
MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION *sc,
- PACKET *pkt,
- PACKET *tmppkt,
- BUF_MEM *buf)
+ PACKET *pkt,
+ PACKET *tmppkt,
+ BUF_MEM *buf)
{
MSG_PROCESS_RETURN ret = MSG_PROCESS_ERROR;
int comp_alg;
@@ -2869,7 +2875,7 @@ MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION *sc,
SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
- if (!PACKET_get_net_2(pkt, (unsigned int*)&comp_alg)) {
+ if (!PACKET_get_net_2(pkt, (unsigned int *)&comp_alg)) {
SSLfatal(sc, SSL_AD_BAD_CERTIFICATE, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2914,7 +2920,7 @@ MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION *sc,
/* Prevent excessive pre-decompression allocation */
if (expected_length > sc->max_cert_list) {
- SSLfatal(sc, SSL_AD_ILLEGAL_PARAMETER, SSL_R_EXCESSIVE_MESSAGE_SIZE);
+ SSLfatal(sc, SSL_AD_BAD_CERTIFICATE, SSL_R_EXCESSIVE_MESSAGE_SIZE);
goto err;
}
@@ -2926,12 +2932,13 @@ MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION *sc,
if (!BUF_MEM_grow(buf, expected_length)
|| !PACKET_buf_init(tmppkt, (unsigned char *)buf->data, expected_length)
|| COMP_expand_block(comp, (unsigned char *)buf->data, expected_length,
- (unsigned char*)PACKET_data(pkt), comp_length) != (int)expected_length) {
+ (unsigned char *)PACKET_data(pkt), comp_length)
+ != (int)expected_length) {
SSLfatal(sc, SSL_AD_BAD_CERTIFICATE, SSL_R_BAD_DECOMPRESSION);
goto err;
}
ret = MSG_PROCESS_CONTINUE_PROCESSING;
- err:
+err:
COMP_CTX_free(comp);
return ret;
}
diff --git a/crypto/openssl/ssl/statem/statem_local.h b/crypto/openssl/ssl/statem/statem_local.h
index 352f9b8cec7a..e1d57eb8c646 100644
--- a/crypto/openssl/ssl/statem/statem_local.h
+++ b/crypto/openssl/ssl/statem/statem_local.h
@@ -18,31 +18,31 @@
/* The spec allows for a longer length than this, but we limit it */
#define HELLO_VERIFY_REQUEST_MAX_LENGTH 258
-#define END_OF_EARLY_DATA_MAX_LENGTH 0
-#define HELLO_RETRY_REQUEST_MAX_LENGTH 20000
+#define END_OF_EARLY_DATA_MAX_LENGTH 0
+#define HELLO_RETRY_REQUEST_MAX_LENGTH 20000
#define ENCRYPTED_EXTENSIONS_MAX_LENGTH 20000
#define SESSION_TICKET_MAX_LENGTH_TLS13 131338
#define SESSION_TICKET_MAX_LENGTH_TLS12 65541
-#define SERVER_KEY_EXCH_MAX_LENGTH 102400
-#define SERVER_HELLO_DONE_MAX_LENGTH 0
-#define KEY_UPDATE_MAX_LENGTH 1
-#define CCS_MAX_LENGTH 1
+#define SERVER_KEY_EXCH_MAX_LENGTH 102400
+#define SERVER_HELLO_DONE_MAX_LENGTH 0
+#define KEY_UPDATE_MAX_LENGTH 1
+#define CCS_MAX_LENGTH 1
/* Max ServerHello size permitted by RFC 8446 */
-#define SERVER_HELLO_MAX_LENGTH 65607
+#define SERVER_HELLO_MAX_LENGTH 65607
/* Max CertificateVerify size permitted by RFC 8446 */
-#define CERTIFICATE_VERIFY_MAX_LENGTH 65539
+#define CERTIFICATE_VERIFY_MAX_LENGTH 65539
/* Max should actually be 36 but we are generous */
-#define FINISHED_MAX_LENGTH 64
+#define FINISHED_MAX_LENGTH 64
/* Dummy message type */
-#define SSL3_MT_DUMMY -1
+#define SSL3_MT_DUMMY -1
/* Invalid extension ID for non-supported extensions */
-#define TLSEXT_TYPE_invalid 0x10000
-#define TLSEXT_TYPE_out_of_range 0x10001
+#define TLSEXT_TYPE_invalid 0x10000
+#define TLSEXT_TYPE_out_of_range 0x10001
unsigned int ossl_get_extension_type(size_t idx);
extern const unsigned char hrrrandom[];
@@ -62,21 +62,21 @@ typedef enum {
MSG_PROCESS_CONTINUE_READING
} MSG_PROCESS_RETURN;
-typedef CON_FUNC_RETURN (*confunc_f) (SSL_CONNECTION *s, WPACKET *pkt);
+typedef CON_FUNC_RETURN (*confunc_f)(SSL_CONNECTION *s, WPACKET *pkt);
int ssl3_take_mac(SSL_CONNECTION *s);
int check_in_list(SSL_CONNECTION *s, uint16_t group_id, const uint16_t *groups,
- size_t num_groups, int checkallow, size_t *pos);
+ size_t num_groups, int checkallow, size_t *pos);
int create_synthetic_message_hash(SSL_CONNECTION *s,
- const unsigned char *hashval,
- size_t hashlen, const unsigned char *hrr,
- size_t hrrlen);
+ const unsigned char *hashval,
+ size_t hashlen, const unsigned char *hrr,
+ size_t hrrlen);
int parse_ca_names(SSL_CONNECTION *s, PACKET *pkt);
const STACK_OF(X509_NAME) *get_ca_names(SSL_CONNECTION *s);
int construct_ca_names(SSL_CONNECTION *s, const STACK_OF(X509_NAME) *ca_sk,
- WPACKET *pkt);
+ WPACKET *pkt);
size_t construct_key_exchange_tbs(SSL_CONNECTION *s, unsigned char **ptbs,
- const void *param, size_t paramlen);
+ const void *param, size_t paramlen);
/*
* TLS/DTLS client state machine functions
@@ -86,12 +86,12 @@ WRITE_TRAN ossl_statem_client_write_transition(SSL_CONNECTION *s);
WORK_STATE ossl_statem_client_pre_work(SSL_CONNECTION *s, WORK_STATE wst);
WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE wst);
int ossl_statem_client_construct_message(SSL_CONNECTION *s,
- confunc_f *confunc, int *mt);
+ confunc_f *confunc, int *mt);
size_t ossl_statem_client_max_message_size(SSL_CONNECTION *s);
MSG_PROCESS_RETURN ossl_statem_client_process_message(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
WORK_STATE ossl_statem_client_post_process_message(SSL_CONNECTION *s,
- WORK_STATE wst);
+ WORK_STATE wst);
/*
* TLS/DTLS server state machine functions
@@ -101,12 +101,12 @@ WRITE_TRAN ossl_statem_server_write_transition(SSL_CONNECTION *s);
WORK_STATE ossl_statem_server_pre_work(SSL_CONNECTION *s, WORK_STATE wst);
WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst);
int ossl_statem_server_construct_message(SSL_CONNECTION *s,
- confunc_f *confunc,int *mt);
+ confunc_f *confunc, int *mt);
size_t ossl_statem_server_max_message_size(SSL_CONNECTION *s);
MSG_PROCESS_RETURN ossl_statem_server_process_message(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
WORK_STATE ossl_statem_server_post_process_message(SSL_CONNECTION *s,
- WORK_STATE wst);
+ WORK_STATE wst);
/* Functions for getting new message data */
__owur int tls_get_message_header(SSL_CONNECTION *s, int *mt);
@@ -117,76 +117,76 @@ __owur int dtls_get_message_body(SSL_CONNECTION *s, size_t *len);
/* Message construction and processing functions */
__owur int tls_process_initial_server_flight(SSL_CONNECTION *s);
__owur MSG_PROCESS_RETURN tls_process_change_cipher_spec(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt);
-__owur CON_FUNC_RETURN tls_construct_change_cipher_spec(SSL_CONNECTION *s,
- WPACKET *pkt);
+__owur CON_FUNC_RETURN tls_construct_change_cipher_spec(SSL_CONNECTION *s,
+ WPACKET *pkt);
__owur CON_FUNC_RETURN dtls_construct_change_cipher_spec(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_finished(SSL_CONNECTION *s, WPACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_key_update(SSL_CONNECTION *s, WPACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_key_update(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, WORK_STATE wst,
- int clearbufs, int stop);
+ int clearbufs, int stop);
__owur WORK_STATE dtls_wait_for_dry(SSL_CONNECTION *s);
#ifndef OPENSSL_NO_COMP_ALG
__owur MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION *sc,
- PACKET *pkt,
- PACKET *tmppkt,
- BUF_MEM *buf);
+ PACKET *pkt,
+ PACKET *tmppkt,
+ BUF_MEM *buf);
#endif
/* some client-only functions */
__owur CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur int tls_process_cert_status_body(SSL_CONNECTION *s, PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_cert_status(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_server_done(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur WORK_STATE tls_prepare_client_certificate(SSL_CONNECTION *s,
- WORK_STATE wst);
+ WORK_STATE wst);
__owur CON_FUNC_RETURN tls_construct_client_certificate(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
#ifndef OPENSSL_NO_COMP_ALG
__owur CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION *sc,
- WPACKET *pkt);
+ WPACKET *pkt);
#endif
__owur int ssl_do_client_cert_cb(SSL_CONNECTION *s, X509 **px509,
- EVP_PKEY **ppkey);
+ EVP_PKEY **ppkey);
__owur CON_FUNC_RETURN tls_construct_client_key_exchange(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur int tls_client_key_exchange_post_work(SSL_CONNECTION *s);
__owur int tls_construct_cert_status_body(SSL_CONNECTION *s, WPACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_cert_status(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_key_exchange(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_server_rpk(SSL_CONNECTION *sc,
- PACKET *pkt);
+ PACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_client_rpk(SSL_CONNECTION *sc,
- PACKET *pkt);
+ PACKET *pkt);
__owur unsigned long tls_output_rpk(SSL_CONNECTION *sc, WPACKET *pkt,
- CERT_PKEY *cpk);
+ CERT_PKEY *cpk);
__owur int tls_process_rpk(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **peer_rpk);
__owur MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur WORK_STATE tls_post_process_server_certificate(SSL_CONNECTION *s,
- WORK_STATE wst);
+ WORK_STATE wst);
#ifndef OPENSSL_NO_COMP_ALG
__owur MSG_PROCESS_RETURN tls_process_server_compressed_certificate(SSL_CONNECTION *sc,
- PACKET *pkt);
+ PACKET *pkt);
#endif
__owur int ssl3_check_cert_and_algorithm(SSL_CONNECTION *s);
#ifndef OPENSSL_NO_NEXTPROTONEG
@@ -195,49 +195,49 @@ __owur CON_FUNC_RETURN tls_construct_next_proto(SSL_CONNECTION *s, WPACKET *pkt)
__owur MSG_PROCESS_RETURN tls_process_hello_req(SSL_CONNECTION *s, PACKET *pkt);
__owur MSG_PROCESS_RETURN dtls_process_hello_verify(SSL_CONNECTION *s, PACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_end_of_early_data(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
/* some server-only functions */
__owur MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur WORK_STATE tls_post_process_client_hello(SSL_CONNECTION *s,
- WORK_STATE wst);
+ WORK_STATE wst);
__owur CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur CON_FUNC_RETURN dtls_construct_hello_verify_request(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_server_certificate(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
#ifndef OPENSSL_NO_COMP_ALG
__owur CON_FUNC_RETURN tls_construct_server_compressed_certificate(SSL_CONNECTION *sc,
- WPACKET *pkt);
+ WPACKET *pkt);
#endif
__owur CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur CON_FUNC_RETURN tls_construct_server_done(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
__owur MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
#ifndef OPENSSL_NO_COMP_ALG
__owur MSG_PROCESS_RETURN tls_process_client_compressed_certificate(SSL_CONNECTION *sc,
- PACKET *pkt);
+ PACKET *pkt);
#endif
__owur MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
__owur WORK_STATE tls_post_process_client_key_exchange(SSL_CONNECTION *s,
- WORK_STATE wst);
+ WORK_STATE wst);
__owur MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
#ifndef OPENSSL_NO_NEXTPROTONEG
__owur MSG_PROCESS_RETURN tls_process_next_proto(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
#endif
__owur CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
MSG_PROCESS_RETURN tls_process_end_of_early_data(SSL_CONNECTION *s,
- PACKET *pkt);
+ PACKET *pkt);
#ifndef OPENSSL_NO_GOST
/* These functions are used in GOST18 CKE, both for client and server */
@@ -254,319 +254,319 @@ typedef enum ext_return_en {
} EXT_RETURN;
__owur int tls_validate_all_contexts(SSL_CONNECTION *s, unsigned int thisctx,
- RAW_EXTENSION *exts);
+ RAW_EXTENSION *exts);
__owur int extension_is_relevant(SSL_CONNECTION *s, unsigned int extctx,
- unsigned int thisctx);
+ unsigned int thisctx);
__owur int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,
- unsigned int context,
- RAW_EXTENSION **res, size_t *len, int init);
+ unsigned int context,
+ RAW_EXTENSION **res, size_t *len, int init);
__owur int tls_parse_extension(SSL_CONNECTION *s, TLSEXT_INDEX idx, int context,
- RAW_EXTENSION *exts, X509 *x, size_t chainidx);
+ RAW_EXTENSION *exts, X509 *x, size_t chainidx);
__owur int tls_parse_all_extensions(SSL_CONNECTION *s, int context,
- RAW_EXTENSION *exts,
- X509 *x, size_t chainidx, int fin);
+ RAW_EXTENSION *exts,
+ X509 *x, size_t chainidx, int fin);
__owur int should_add_extension(SSL_CONNECTION *s, unsigned int extctx,
- unsigned int thisctx, int max_version);
+ unsigned int thisctx, int max_version);
__owur int tls_construct_extensions(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
__owur int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *msgstart,
- size_t binderoffset, const unsigned char *binderin,
- unsigned char *binderout,
- SSL_SESSION *sess, int sign, int external);
+ const unsigned char *msgstart,
+ size_t binderoffset, const unsigned char *binderin,
+ unsigned char *binderout,
+ SSL_SESSION *sess, int sign, int external);
/* Server Extension processing */
int tls_parse_ctos_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_server_name(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_SRP
int tls_parse_ctos_srp(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
#endif
int tls_parse_ctos_early_data(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_supported_groups(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidxl);
+ unsigned int context,
+ X509 *x, size_t chainidxl);
int tls_parse_ctos_session_ticket(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_sig_algs_cert(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_sig_algs(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx);
+ unsigned int context, X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_OCSP
int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#endif
#ifndef OPENSSL_NO_NEXTPROTONEG
int tls_parse_ctos_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
#endif
int tls_parse_ctos_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_SRTP
int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx);
+ unsigned int context, X509 *x, size_t chainidx);
#endif
int tls_parse_ctos_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx);
+ unsigned int context, X509 *x, size_t chainidx);
int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_ctos_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_ctos_psk_kex_modes(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_ctos_post_handshake_auth(SSL_CONNECTION *, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_stoc_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_server_name(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_early_data(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#ifndef OPENSSL_NO_OCSP
EXT_RETURN tls_construct_stoc_status_request(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#endif
#ifndef OPENSSL_NO_NEXTPROTONEG
EXT_RETURN tls_construct_stoc_next_proto_neg(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#endif
EXT_RETURN tls_construct_stoc_alpn(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_SRTP
EXT_RETURN tls_construct_stoc_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#endif
EXT_RETURN tls_construct_stoc_etm(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_stoc_ems(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_stoc_supported_versions(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
/*
* Not in public headers as this is not an official extension. Only used when
* SSL_OP_CRYPTOPRO_TLSEXT_BUG is set.
*/
-#define TLSEXT_TYPE_cryptopro_bug 0xfde8
+#define TLSEXT_TYPE_cryptopro_bug 0xfde8
EXT_RETURN tls_construct_stoc_cryptopro_bug(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_stoc_psk(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
/* Client Extension processing */
EXT_RETURN tls_construct_ctos_renegotiate(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_ctos_server_name(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_ctos_maxfragmentlen(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_SRP
EXT_RETURN tls_construct_ctos_srp(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#endif
EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_session_ticket(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_sig_algs(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#ifndef OPENSSL_NO_OCSP
EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
#endif
#ifndef OPENSSL_NO_NEXTPROTONEG
EXT_RETURN tls_construct_ctos_npn(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#endif
EXT_RETURN tls_construct_ctos_alpn(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_SRTP
EXT_RETURN tls_construct_ctos_use_srtp(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#endif
EXT_RETURN tls_construct_ctos_etm(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_CT
EXT_RETURN tls_construct_ctos_sct(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#endif
EXT_RETURN tls_construct_ctos_ems(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_ctos_supported_versions(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_key_share(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_psk_kex_modes(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_cookie(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context, X509 *x,
- size_t chainidx);
+ unsigned int context, X509 *x,
+ size_t chainidx);
EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_ctos_post_handshake_auth(SSL_CONNECTION *s, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_renegotiate(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_server_name(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_early_data(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_session_ticket(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_OCSP
int tls_parse_stoc_status_request(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
#endif
#ifndef OPENSSL_NO_CT
int tls_parse_stoc_sct(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
#endif
#ifndef OPENSSL_NO_NEXTPROTONEG
int tls_parse_stoc_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
#endif
int tls_parse_stoc_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
#ifndef OPENSSL_NO_SRTP
int tls_parse_stoc_use_srtp(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx);
+ unsigned int context, X509 *x, size_t chainidx);
#endif
int tls_parse_stoc_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_stoc_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_stoc_supported_versions(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context, X509 *x, size_t chainidx);
+ unsigned int context, X509 *x, size_t chainidx);
int tls_parse_stoc_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_parse_stoc_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
- X509 *x, size_t chainidx);
+ X509 *x, size_t chainidx);
int tls_handle_alpn(SSL_CONNECTION *s);
int tls13_save_handshake_digest_for_pha(SSL_CONNECTION *s);
int tls13_restore_handshake_digest_for_pha(SSL_CONNECTION *s);
-__owur EVP_PKEY* tls_get_peer_pkey(const SSL_CONNECTION *sc);
+__owur EVP_PKEY *tls_get_peer_pkey(const SSL_CONNECTION *sc);
/* RFC7250 */
EXT_RETURN tls_construct_ctos_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_stoc_client_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_ctos_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
EXT_RETURN tls_construct_stoc_server_cert_type(SSL_CONNECTION *sc, WPACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_ctos_server_cert_type(SSL_CONNECTION *sc, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
int tls_parse_stoc_server_cert_type(SSL_CONNECTION *s, PACKET *pkt,
- unsigned int context,
- X509 *x, size_t chainidx);
+ unsigned int context,
+ X509 *x, size_t chainidx);
diff --git a/crypto/openssl/ssl/statem/statem_srvr.c b/crypto/openssl/ssl/statem/statem_srvr.c
index 43986121efd3..6079176f9988 100644
--- a/crypto/openssl/ssl/statem/statem_srvr.c
+++ b/crypto/openssl/ssl/statem/statem_srvr.c
@@ -32,24 +32,24 @@
#include <openssl/comp.h>
#include "internal/comp.h"
-#define TICKET_NONCE_SIZE 8
+#define TICKET_NONCE_SIZE 8
typedef struct {
- ASN1_TYPE *kxBlob;
- ASN1_TYPE *opaqueBlob;
+ ASN1_TYPE *kxBlob;
+ ASN1_TYPE *opaqueBlob;
} GOST_KX_MESSAGE;
DECLARE_ASN1_FUNCTIONS(GOST_KX_MESSAGE)
ASN1_SEQUENCE(GOST_KX_MESSAGE) = {
- ASN1_SIMPLE(GOST_KX_MESSAGE, kxBlob, ASN1_ANY),
- ASN1_OPT(GOST_KX_MESSAGE, opaqueBlob, ASN1_ANY),
+ ASN1_SIMPLE(GOST_KX_MESSAGE, kxBlob, ASN1_ANY),
+ ASN1_OPT(GOST_KX_MESSAGE, opaqueBlob, ASN1_ANY),
} ASN1_SEQUENCE_END(GOST_KX_MESSAGE)
IMPLEMENT_ASN1_FUNCTIONS(GOST_KX_MESSAGE)
static CON_FUNC_RETURN tls_construct_encrypted_extensions(SSL_CONNECTION *s,
- WPACKET *pkt);
+ WPACKET *pkt);
static ossl_inline int received_client_cert(const SSL_CONNECTION *sc)
{
@@ -86,7 +86,7 @@ static int ossl_statem_server13_read_transition(SSL_CONNECTION *s, int mt)
}
break;
} else if (s->ext.early_data == SSL_EARLY_DATA_ACCEPTED
- && !SSL_NO_EOED(s)) {
+ && !SSL_NO_EOED(s)) {
if (mt == SSL3_MT_END_OF_EARLY_DATA) {
st->hand_state = TLS_ST_SR_END_OF_EARLY_DATA;
return 1;
@@ -104,7 +104,7 @@ static int ossl_statem_server13_read_transition(SSL_CONNECTION *s, int mt)
}
#ifndef OPENSSL_NO_COMP_ALG
if (mt == SSL3_MT_COMPRESSED_CERTIFICATE
- && s->ext.compress_certificate_sent) {
+ && s->ext.compress_certificate_sent) {
st->hand_state = TLS_ST_SR_COMP_CERT;
return 1;
}
@@ -154,7 +154,7 @@ static int ossl_statem_server13_read_transition(SSL_CONNECTION *s, int mt)
}
#ifndef OPENSSL_NO_COMP_ALG
if (mt == SSL3_MT_COMPRESSED_CERTIFICATE
- && s->ext.compress_certificate_sent) {
+ && s->ext.compress_certificate_sent) {
st->hand_state = TLS_ST_SR_COMP_CERT;
return 1;
}
@@ -226,7 +226,7 @@ int ossl_statem_server_read_transition(SSL_CONNECTION *s, int mt)
* cert.
*/
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
+ SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
return 0;
}
st->hand_state = TLS_ST_SR_KEY_EXCH;
@@ -321,7 +321,7 @@ int ossl_statem_server_read_transition(SSL_CONNECTION *s, int mt)
break;
}
- err:
+err:
/* No valid transition found */
if (SSL_CONNECTION_IS_DTLS(s) && mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
BIO *rbio;
@@ -361,10 +361,10 @@ static int send_server_key_exchange(SSL_CONNECTION *s)
* key exchange.
*/
if (alg_k & (SSL_kDHE | SSL_kECDHE)
- /*
- * PSK: send ServerKeyExchange if PSK identity hint if
- * provided
- */
+ /*
+ * PSK: send ServerKeyExchange if PSK identity hint if
+ * provided
+ */
#ifndef OPENSSL_NO_PSK
/* Only send SKE if we have identity hint for plain PSK */
|| ((alg_k & (SSL_kPSK | SSL_kRSAPSK))
@@ -376,7 +376,7 @@ static int send_server_key_exchange(SSL_CONNECTION *s)
/* SRP: send ServerKeyExchange */
|| (alg_k & SSL_kSRP)
#endif
- ) {
+ ) {
return 1;
}
@@ -414,40 +414,39 @@ static int get_compressed_certificate_alg(SSL_CONNECTION *sc)
int send_certificate_request(SSL_CONNECTION *s)
{
if (
- /* don't request cert unless asked for it: */
- s->verify_mode & SSL_VERIFY_PEER
- /*
- * don't request if post-handshake-only unless doing
- * post-handshake in TLSv1.3:
- */
- && (!SSL_CONNECTION_IS_TLS13(s)
- || !(s->verify_mode & SSL_VERIFY_POST_HANDSHAKE)
- || s->post_handshake_auth == SSL_PHA_REQUEST_PENDING)
- /*
- * if SSL_VERIFY_CLIENT_ONCE is set, don't request cert
- * a second time:
- */
- && (s->certreqs_sent < 1 ||
- !(s->verify_mode & SSL_VERIFY_CLIENT_ONCE))
- /*
- * never request cert in anonymous ciphersuites (see
- * section "Certificate request" in SSL 3 drafts and in
- * RFC 2246):
- */
- && (!(s->s3.tmp.new_cipher->algorithm_auth & SSL_aNULL)
- /*
- * ... except when the application insists on
- * verification (against the specs, but statem_clnt.c accepts
- * this for SSL 3)
- */
- || (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT))
- /* don't request certificate for SRP auth */
- && !(s->s3.tmp.new_cipher->algorithm_auth & SSL_aSRP)
- /*
- * With normal PSK Certificates and Certificate Requests
- * are omitted
- */
- && !(s->s3.tmp.new_cipher->algorithm_auth & SSL_aPSK)) {
+ /* don't request cert unless asked for it: */
+ s->verify_mode & SSL_VERIFY_PEER
+ /*
+ * don't request if post-handshake-only unless doing
+ * post-handshake in TLSv1.3:
+ */
+ && (!SSL_CONNECTION_IS_TLS13(s)
+ || !(s->verify_mode & SSL_VERIFY_POST_HANDSHAKE)
+ || s->post_handshake_auth == SSL_PHA_REQUEST_PENDING)
+ /*
+ * if SSL_VERIFY_CLIENT_ONCE is set, don't request cert
+ * a second time:
+ */
+ && (s->certreqs_sent < 1 || !(s->verify_mode & SSL_VERIFY_CLIENT_ONCE))
+ /*
+ * never request cert in anonymous ciphersuites (see
+ * section "Certificate request" in SSL 3 drafts and in
+ * RFC 2246):
+ */
+ && (!(s->s3.tmp.new_cipher->algorithm_auth & SSL_aNULL)
+ /*
+ * ... except when the application insists on
+ * verification (against the specs, but statem_clnt.c accepts
+ * this for SSL 3)
+ */
+ || (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT))
+ /* don't request certificate for SRP auth */
+ && !(s->s3.tmp.new_cipher->algorithm_auth & SSL_aSRP)
+ /*
+ * With normal PSK Certificates and Certificate Requests
+ * are omitted
+ */
+ && !(s->s3.tmp.new_cipher->algorithm_auth & SSL_aPSK)) {
return 1;
}
@@ -503,7 +502,7 @@ static WRITE_TRAN ossl_statem_server13_write_transition(SSL_CONNECTION *s)
case TLS_ST_SW_SRVR_HELLO:
if ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0
- && s->hello_retry_request != SSL_HRR_COMPLETE)
+ && s->hello_retry_request != SSL_HRR_COMPLETE)
st->hand_state = TLS_ST_SW_CHANGE;
else if (s->hello_retry_request == SSL_HRR_PENDING)
st->hand_state = TLS_ST_EARLY_DATA;
@@ -670,8 +669,7 @@ WRITE_TRAN ossl_statem_server_write_transition(SSL_CONNECTION *s)
} else {
/* Check if it is anon DH or anon ECDH, */
/* normal PSK or SRP */
- if (!(s->s3.tmp.new_cipher->algorithm_auth &
- (SSL_aNULL | SSL_aSRP | SSL_aPSK))) {
+ if (!(s->s3.tmp.new_cipher->algorithm_auth & (SSL_aNULL | SSL_aSRP | SSL_aPSK))) {
st->hand_state = TLS_ST_SW_CERT;
} else if (send_server_key_exchange(s)) {
st->hand_state = TLS_ST_SW_KEY_EXCH;
@@ -791,7 +789,7 @@ WORK_STATE ossl_statem_server_pre_work(SSL_CONNECTION *s, WORK_STATE wst)
case TLS_ST_SW_SESSION_TICKET:
if (SSL_CONNECTION_IS_TLS13(s) && s->sent_tickets == 0
- && s->ext.extra_tickets_expected == 0) {
+ && s->ext.extra_tickets_expected == 0) {
/*
* Actually this is the end of the handshake, but we're going
* straight into writing the session ticket out. So we finish off
@@ -837,7 +835,7 @@ WORK_STATE ossl_statem_server_pre_work(SSL_CONNECTION *s, WORK_STATE wst)
case TLS_ST_EARLY_DATA:
if (s->early_data_state != SSL_EARLY_DATA_ACCEPTING
- && (s->s3.flags & TLS1_FLAGS_STATELESS) == 0)
+ && (s->s3.flags & TLS1_FLAGS_STATELESS) == 0)
return WORK_FINISHED_CONTINUE;
/*
@@ -847,8 +845,7 @@ WORK_STATE ossl_statem_server_pre_work(SSL_CONNECTION *s, WORK_STATE wst)
if (SSL_NO_EOED(s) && s->ext.early_data == SSL_EARLY_DATA_ACCEPTED
&& s->early_data_state != SSL_EARLY_DATA_FINISHED_READING) {
s->early_data_state = SSL_EARLY_DATA_FINISHED_READING;
- if (!ssl->method->ssl3_enc->change_cipher_state(s, SSL3_CC_HANDSHAKE
- | SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ if (!ssl->method->ssl3_enc->change_cipher_state(s, SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_SERVER_READ)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return WORK_ERROR;
}
@@ -928,7 +925,7 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
if (SSL_CONNECTION_IS_TLS13(s)
&& s->hello_retry_request == SSL_HRR_PENDING) {
if ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) == 0
- && statem_flush(s) != 1)
+ && statem_flush(s) != 1)
return WORK_MORE_A;
break;
}
@@ -943,7 +940,7 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* SCTP used.
*/
memcpy(labelbuffer, DTLS1_SCTP_AUTH_LABEL,
- sizeof(DTLS1_SCTP_AUTH_LABEL));
+ sizeof(DTLS1_SCTP_AUTH_LABEL));
/* Don't include the terminating zero. */
labellen = sizeof(labelbuffer) - 1;
@@ -951,20 +948,21 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
labellen += 1;
if (SSL_export_keying_material(ssl, sctpauthkey,
- sizeof(sctpauthkey), labelbuffer,
- labellen, NULL, 0,
- 0) <= 0) {
+ sizeof(sctpauthkey), labelbuffer,
+ labellen, NULL, 0,
+ 0)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return WORK_ERROR;
}
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
- sizeof(sctpauthkey), sctpauthkey);
+ sizeof(sctpauthkey), sctpauthkey);
}
#endif
if (!SSL_CONNECTION_IS_TLS13(s)
- || ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0
- && s->hello_retry_request != SSL_HRR_COMPLETE))
+ || ((s->options & SSL_OP_ENABLE_MIDDLEBOX_COMPAT) != 0
+ && s->hello_retry_request != SSL_HRR_COMPLETE))
break;
/* Fall through */
@@ -979,14 +977,14 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
if (!ssl->method->ssl3_enc->setup_key_block(s)
|| !tls13_store_handshake_traffic_hash(s)
|| !ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_SERVER_WRITE)) {
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_SERVER_WRITE)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
if (s->ext.early_data != SSL_EARLY_DATA_ACCEPTED
&& !ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_HANDSHAKE |SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_SERVER_READ)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
@@ -1007,11 +1005,11 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* no SCTP used.
*/
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY,
- 0, NULL);
+ 0, NULL);
}
#endif
if (!ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CHANGE_CIPHER_SERVER_WRITE)) {
+ SSL3_CHANGE_CIPHER_SERVER_WRITE)) {
/* SSLfatal() already called */
return WORK_ERROR;
}
@@ -1032,20 +1030,20 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* no SCTP used.
*/
BIO_ctrl(SSL_get_wbio(ssl), BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY,
- 0, NULL);
+ 0, NULL);
}
#endif
if (SSL_CONNECTION_IS_TLS13(s)) {
/* TLS 1.3 gets the secret size from the handshake md */
size_t dummy;
if (!ssl->method->ssl3_enc->generate_master_secret(s,
- s->master_secret, s->handshake_secret, 0,
- &dummy)
+ s->master_secret, s->handshake_secret, 0,
+ &dummy)
|| !tls13_store_server_finished_hash(s)
|| !ssl->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_SERVER_WRITE))
- /* SSLfatal() already called */
- return WORK_ERROR;
+ SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_SERVER_WRITE))
+ /* SSLfatal() already called */
+ return WORK_ERROR;
}
break;
@@ -1055,7 +1053,7 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
return WORK_MORE_A;
} else {
if (!SSL_CONNECTION_IS_TLS13(s)
- || (s->options & SSL_OP_NO_TX_CERTIFICATE_COMPRESSION) != 0)
+ || (s->options & SSL_OP_NO_TX_CERTIFICATE_COMPRESSION) != 0)
s->ext.compress_certificate_from_peer[0] = TLSEXT_comp_cert_none;
}
break;
@@ -1063,7 +1061,7 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
case TLS_ST_SW_ENCRYPTED_EXTENSIONS:
if (!s->hit && !send_certificate_request(s)) {
if (!SSL_CONNECTION_IS_TLS13(s)
- || (s->options & SSL_OP_NO_TX_CERTIFICATE_COMPRESSION) != 0)
+ || (s->options & SSL_OP_NO_TX_CERTIFICATE_COMPRESSION) != 0)
s->ext.compress_certificate_from_peer[0] = TLSEXT_comp_cert_none;
}
break;
@@ -1081,7 +1079,7 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
clear_sys_error();
if (SSL_CONNECTION_IS_TLS13(s) && statem_flush(s) != 1) {
if (SSL_get_error(ssl, 0) == SSL_ERROR_SYSCALL
- && conn_is_closed()) {
+ && conn_is_closed()) {
/*
* We ignore connection closed errors in TLSv1.3 when sending a
* NewSessionTicket and behave as if we were successful. This is
@@ -1110,7 +1108,7 @@ WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE wst)
* 0: Error
*/
int ossl_statem_server_construct_message(SSL_CONNECTION *s,
- confunc_f *confunc, int *mt)
+ confunc_f *confunc, int *mt)
{
OSSL_STATEM *st = &s->statem;
@@ -1161,7 +1159,6 @@ int ossl_statem_server_construct_message(SSL_CONNECTION *s,
*mt = SSL3_MT_CERTIFICATE_VERIFY;
break;
-
case TLS_ST_SW_KEY_EXCH:
*confunc = tls_construct_server_key_exchange;
*mt = SSL3_MT_SERVER_KEY_EXCHANGE;
@@ -1226,10 +1223,10 @@ int ossl_statem_server_construct_message(SSL_CONNECTION *s,
* 2 + # length of extensions
* 2^16-1 # maximum length of extensions
*/
-#define CLIENT_HELLO_MAX_LENGTH 131396
+#define CLIENT_HELLO_MAX_LENGTH 131396
-#define CLIENT_KEY_EXCH_MAX_LENGTH 2048
-#define NEXT_PROTO_MAX_LENGTH 514
+#define CLIENT_KEY_EXCH_MAX_LENGTH 2048
+#define NEXT_PROTO_MAX_LENGTH 514
/*
* Returns the maximum allowed length for the current message that we are
@@ -1280,7 +1277,7 @@ size_t ossl_statem_server_max_message_size(SSL_CONNECTION *s)
* Process a message that the server has received from the client.
*/
MSG_PROCESS_RETURN ossl_statem_server_process_message(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
OSSL_STATEM *st = &s->statem;
@@ -1323,7 +1320,6 @@ MSG_PROCESS_RETURN ossl_statem_server_process_message(SSL_CONNECTION *s,
case TLS_ST_SR_KEY_UPDATE:
return tls_process_key_update(s, pkt);
-
}
}
@@ -1332,7 +1328,7 @@ MSG_PROCESS_RETURN ossl_statem_server_process_message(SSL_CONNECTION *s,
* from the client
*/
WORK_STATE ossl_statem_server_post_process_message(SSL_CONNECTION *s,
- WORK_STATE wst)
+ WORK_STATE wst)
{
OSSL_STATEM *st = &s->statem;
@@ -1357,15 +1353,14 @@ static int ssl_check_srp_ext_ClientHello(SSL_CONNECTION *s)
int ret;
int al = SSL_AD_UNRECOGNIZED_NAME;
- if ((s->s3.tmp.new_cipher->algorithm_mkey & SSL_kSRP) &&
- (s->srp_ctx.TLS_ext_srp_username_callback != NULL)) {
+ if ((s->s3.tmp.new_cipher->algorithm_mkey & SSL_kSRP) && (s->srp_ctx.TLS_ext_srp_username_callback != NULL)) {
if (s->srp_ctx.login == NULL) {
/*
* RFC 5054 says SHOULD reject, we do so if There is no srp
* login name
*/
SSLfatal(s, SSL_AD_UNKNOWN_PSK_IDENTITY,
- SSL_R_PSK_IDENTITY_NOT_FOUND);
+ SSL_R_PSK_IDENTITY_NOT_FOUND);
return -1;
} else {
ret = ssl_srp_server_param_with_username_intern(s, &al);
@@ -1373,9 +1368,9 @@ static int ssl_check_srp_ext_ClientHello(SSL_CONNECTION *s)
return 0;
if (ret == SSL3_AL_FATAL) {
SSLfatal(s, al,
- al == SSL_AD_UNKNOWN_PSK_IDENTITY
- ? SSL_R_PSK_IDENTITY_NOT_FOUND
- : SSL_R_CLIENTHELLO_TLSEXT);
+ al == SSL_AD_UNKNOWN_PSK_IDENTITY
+ ? SSL_R_PSK_IDENTITY_NOT_FOUND
+ : SSL_R_CLIENTHELLO_TLSEXT);
return -1;
}
}
@@ -1385,25 +1380,26 @@ static int ssl_check_srp_ext_ClientHello(SSL_CONNECTION *s)
#endif
int dtls_raw_hello_verify_request(WPACKET *pkt, unsigned char *cookie,
- size_t cookie_len)
+ size_t cookie_len)
{
/* Always use DTLS 1.0 version: see RFC 6347 */
if (!WPACKET_put_bytes_u16(pkt, DTLS1_VERSION)
- || !WPACKET_sub_memcpy_u8(pkt, cookie, cookie_len))
+ || !WPACKET_sub_memcpy_u8(pkt, cookie, cookie_len))
return 0;
return 1;
}
CON_FUNC_RETURN dtls_construct_hello_verify_request(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
unsigned int cookie_leni;
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
if (sctx->app_gen_cookie_cb == NULL
|| sctx->app_gen_cookie_cb(SSL_CONNECTION_GET_USER_SSL(s), s->d1->cookie,
- &cookie_leni) == 0
+ &cookie_leni)
+ == 0
|| cookie_leni > DTLS1_COOKIE_LENGTH) {
SSLfatal(s, SSL_AD_NO_ALERT, SSL_R_COOKIE_GEN_CALLBACK_FAILURE);
return CON_FUNC_ERROR;
@@ -1411,7 +1407,7 @@ CON_FUNC_RETURN dtls_construct_hello_verify_request(SSL_CONNECTION *s,
s->d1->cookie_len = cookie_leni;
if (!dtls_raw_hello_verify_request(pkt, s->d1->cookie,
- s->d1->cookie_len)) {
+ s->d1->cookie_len)) {
SSLfatal(s, SSL_AD_NO_ALERT, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -1434,29 +1430,45 @@ CON_FUNC_RETURN dtls_construct_hello_verify_request(SSL_CONNECTION *s,
* 10.8..10.8.3 (which don't work).
*/
static void ssl_check_for_safari(SSL_CONNECTION *s,
- const CLIENTHELLO_MSG *hello)
+ const CLIENTHELLO_MSG *hello)
{
static const unsigned char kSafariExtensionsBlock[] = {
- 0x00, 0x0a, /* elliptic_curves extension */
- 0x00, 0x08, /* 8 bytes */
- 0x00, 0x06, /* 6 bytes of curve ids */
- 0x00, 0x17, /* P-256 */
- 0x00, 0x18, /* P-384 */
- 0x00, 0x19, /* P-521 */
+ 0x00,
+ 0x0a, /* elliptic_curves extension */
+ 0x00,
+ 0x08, /* 8 bytes */
+ 0x00,
+ 0x06, /* 6 bytes of curve ids */
+ 0x00,
+ 0x17, /* P-256 */
+ 0x00,
+ 0x18, /* P-384 */
+ 0x00,
+ 0x19, /* P-521 */
- 0x00, 0x0b, /* ec_point_formats */
- 0x00, 0x02, /* 2 bytes */
- 0x01, /* 1 point format */
- 0x00, /* uncompressed */
+ 0x00,
+ 0x0b, /* ec_point_formats */
+ 0x00,
+ 0x02, /* 2 bytes */
+ 0x01, /* 1 point format */
+ 0x00, /* uncompressed */
/* The following is only present in TLS 1.2 */
- 0x00, 0x0d, /* signature_algorithms */
- 0x00, 0x0c, /* 12 bytes */
- 0x00, 0x0a, /* 10 bytes */
- 0x05, 0x01, /* SHA-384/RSA */
- 0x04, 0x01, /* SHA-256/RSA */
- 0x02, 0x01, /* SHA-1/RSA */
- 0x04, 0x03, /* SHA-256/ECDSA */
- 0x02, 0x03, /* SHA-1/ECDSA */
+ 0x00,
+ 0x0d, /* signature_algorithms */
+ 0x00,
+ 0x0c, /* 12 bytes */
+ 0x00,
+ 0x0a, /* 10 bytes */
+ 0x05,
+ 0x01, /* SHA-384/RSA */
+ 0x04,
+ 0x01, /* SHA-256/RSA */
+ 0x02,
+ 0x01, /* SHA-1/RSA */
+ 0x04,
+ 0x03, /* SHA-256/ECDSA */
+ 0x02,
+ 0x03, /* SHA-1/ECDSA */
};
/* Length of the common prefix (first two extensions). */
static const size_t kSafariCommonExtensionsLength = 18;
@@ -1476,16 +1488,18 @@ static void ssl_check_for_safari(SSL_CONNECTION *s,
return;
ext_len = TLS1_get_client_version(
- SSL_CONNECTION_GET_SSL(s)) >= TLS1_2_VERSION ?
- sizeof(kSafariExtensionsBlock) : kSafariCommonExtensionsLength;
+ SSL_CONNECTION_GET_SSL(s))
+ >= TLS1_2_VERSION
+ ? sizeof(kSafariExtensionsBlock)
+ : kSafariCommonExtensionsLength;
s->s3.is_probably_safari = PACKET_equal(&tmppkt, kSafariExtensionsBlock,
- ext_len);
+ ext_len);
}
-#define RENEG_OPTIONS_OK(options) \
+#define RENEG_OPTIONS_OK(options) \
((options & SSL_OP_NO_RENEGOTIATION) == 0 \
- && (options & SSL_OP_ALLOW_CLIENT_RENEGOTIATION) != 0)
+ && (options & SSL_OP_ALLOW_CLIENT_RENEGOTIATION) != 0)
MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
{
@@ -1501,9 +1515,10 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
goto err;
}
if (!RENEG_OPTIONS_OK(s->options)
- || (!s->s3.send_connection_binding
- && (s->options
- & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION) == 0)) {
+ || (!s->s3.send_connection_binding
+ && (s->options
+ & SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION)
+ == 0)) {
ssl3_send_alert(s, SSL3_AL_WARNING, SSL_AD_NO_RENEGOTIATION);
return MSG_PROCESS_FINISHED_READING;
}
@@ -1527,7 +1542,7 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
unsigned int mt;
if (!SSL_IS_FIRST_HANDSHAKE(s)
- || s->hello_retry_request != SSL_HRR_NONE) {
+ || s->hello_retry_request != SSL_HRR_NONE) {
SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_MESSAGE);
goto err;
}
@@ -1587,7 +1602,7 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
}
if (!PACKET_get_sub_packet(pkt, &clienthello->ciphersuites,
- ciphersuite_len)
+ ciphersuite_len)
|| !PACKET_copy_bytes(pkt, clienthello->session_id, session_id_len)
|| !PACKET_get_sub_packet(pkt, &challenge, challenge_len)
/* No extensions. */
@@ -1603,11 +1618,11 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
* sizeof(clienthello->random) does.
*/
challenge_len = challenge_len > SSL3_RANDOM_SIZE
- ? SSL3_RANDOM_SIZE : challenge_len;
+ ? SSL3_RANDOM_SIZE
+ : challenge_len;
memset(clienthello->random, 0, SSL3_RANDOM_SIZE);
if (!PACKET_copy_bytes(&challenge,
- clienthello->random + SSL3_RANDOM_SIZE -
- challenge_len, challenge_len)
+ clienthello->random + SSL3_RANDOM_SIZE - challenge_len, challenge_len)
/* Advertise only null compression. */
|| !PACKET_buf_init(&compression, &null_compression, 1)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -1620,8 +1635,8 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
if (!PACKET_copy_bytes(pkt, clienthello->random, SSL3_RANDOM_SIZE)
|| !PACKET_get_length_prefixed_1(pkt, &session_id)
|| !PACKET_copy_all(&session_id, clienthello->session_id,
- SSL_MAX_SSL_SESSION_ID_LENGTH,
- &clienthello->session_id_len)) {
+ SSL_MAX_SSL_SESSION_ID_LENGTH,
+ &clienthello->session_id_len)) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
@@ -1632,8 +1647,8 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
goto err;
}
if (!PACKET_copy_all(&cookie, clienthello->dtls_cookie,
- DTLS1_COOKIE_LENGTH,
- &clienthello->dtls_cookie_len)) {
+ DTLS1_COOKIE_LENGTH,
+ &clienthello->dtls_cookie_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -1665,7 +1680,7 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
PACKET_null_init(&clienthello->extensions);
} else {
if (!PACKET_get_length_prefixed_2(pkt, &clienthello->extensions)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
@@ -1673,8 +1688,8 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
}
if (!PACKET_copy_all(&compression, clienthello->compressions,
- MAX_COMPRESSIONS_SIZE,
- &clienthello->compressions_len)) {
+ MAX_COMPRESSIONS_SIZE,
+ &clienthello->compressions_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -1682,8 +1697,8 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
/* Preserve the raw extensions PACKET for later use */
extensions = clienthello->extensions;
if (!tls_collect_extensions(s, &extensions, SSL_EXT_CLIENT_HELLO,
- &clienthello->pre_proc_exts,
- &clienthello->pre_proc_exts_len, 1)) {
+ &clienthello->pre_proc_exts,
+ &clienthello->pre_proc_exts_len, 1)) {
/* SSLfatal already been called */
goto err;
}
@@ -1691,7 +1706,7 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET *pkt)
return MSG_PROCESS_CONTINUE_PROCESSING;
- err:
+err:
if (clienthello != NULL)
OPENSSL_free(clienthello->pre_proc_exts);
OPENSSL_free(clienthello);
@@ -1741,8 +1756,8 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
if (clienthello->isv2) {
if (clienthello->legacy_version == SSL2_VERSION
- || (clienthello->legacy_version & 0xff00)
- != (SSL3_VERSION_MAJOR << 8)) {
+ || (clienthello->legacy_version & 0xff00)
+ != (SSL3_VERSION_MAJOR << 8)) {
/*
* This is real SSLv2 or something completely unknown. We don't
* support it.
@@ -1778,16 +1793,18 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
if (SSL_get_options(ssl) & SSL_OP_COOKIE_EXCHANGE) {
if (sctx->app_verify_cookie_cb != NULL) {
if (sctx->app_verify_cookie_cb(ussl, clienthello->dtls_cookie,
- clienthello->dtls_cookie_len) == 0) {
+ clienthello->dtls_cookie_len)
+ == 0) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_COOKIE_MISMATCH);
+ SSL_R_COOKIE_MISMATCH);
goto err;
/* else cookie verification succeeded */
}
/* default verification */
} else if (s->d1->cookie_len != clienthello->dtls_cookie_len
- || memcmp(clienthello->dtls_cookie, s->d1->cookie,
- s->d1->cookie_len) != 0) {
+ || memcmp(clienthello->dtls_cookie, s->d1->cookie,
+ s->d1->cookie_len)
+ != 0) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_COOKIE_MISMATCH);
goto err;
}
@@ -1798,9 +1815,9 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
s->hit = 0;
if (!ssl_cache_cipherlist(s, &clienthello->ciphersuites,
- clienthello->isv2) ||
- !ossl_bytes_to_cipher_list(s, &clienthello->ciphersuites, &ciphers,
- &scsvs, clienthello->isv2, 1)) {
+ clienthello->isv2)
+ || !ossl_bytes_to_cipher_list(s, &clienthello->ciphersuites, &ciphers,
+ &scsvs, clienthello->isv2, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -1814,12 +1831,11 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
if (s->renegotiate) {
/* SCSV is fatal if renegotiating */
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING);
+ SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING);
goto err;
}
s->s3.send_connection_binding = 1;
- } else if (SSL_CIPHER_get_id(c) == SSL3_CK_FALLBACK_SCSV &&
- !ssl_check_version_downgrade(s)) {
+ } else if (SSL_CIPHER_get_id(c) == SSL3_CK_FALLBACK_SCSV && !ssl_check_version_downgrade(s)) {
/*
* This SCSV indicates that the client previously tried
* a higher version. We should fail if the current version
@@ -1828,7 +1844,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
* an insecure downgrade.
*/
SSLfatal(s, SSL_AD_INAPPROPRIATE_FALLBACK,
- SSL_R_INAPPROPRIATE_FALLBACK);
+ SSL_R_INAPPROPRIATE_FALLBACK);
goto err;
}
}
@@ -1836,16 +1852,15 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
/* For TLSv1.3 we must select the ciphersuite *before* session resumption */
if (SSL_CONNECTION_IS_TLS13(s)) {
- const SSL_CIPHER *cipher =
- ssl3_choose_cipher(s, ciphers, SSL_get_ciphers(ssl));
+ const SSL_CIPHER *cipher = ssl3_choose_cipher(s, ciphers, SSL_get_ciphers(ssl));
if (cipher == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_NO_SHARED_CIPHER);
goto err;
}
if (s->hello_retry_request == SSL_HRR_PENDING
- && (s->s3.tmp.new_cipher == NULL
- || s->s3.tmp.new_cipher->id != cipher->id)) {
+ && (s->s3.tmp.new_cipher == NULL
+ || s->s3.tmp.new_cipher->id != cipher->id)) {
/*
* A previous HRR picked a different ciphersuite to the one we
* just selected. Something must have changed.
@@ -1858,8 +1873,8 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
/* We need to do this before getting the session */
if (!tls_parse_extension(s, TLSEXT_IDX_extended_master_secret,
- SSL_EXT_CLIENT_HELLO,
- clienthello->pre_proc_exts, NULL, 0)) {
+ SSL_EXT_CLIENT_HELLO,
+ clienthello->pre_proc_exts, NULL, 0)) {
/* SSLfatal() already called */
goto err;
}
@@ -1880,9 +1895,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
* SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION setting will be
* ignored.
*/
- if (clienthello->isv2 ||
- (s->new_session &&
- (s->options & SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION))) {
+ if (clienthello->isv2 || (s->new_session && (s->options & SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION))) {
if (!ssl_get_new_session(s, 1)) {
/* SSLfatal() already called */
goto err;
@@ -1906,7 +1919,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
if (SSL_CONNECTION_IS_TLS13(s)) {
memcpy(s->tmp_session_id, s->clienthello->session_id,
- s->clienthello->session_id_len);
+ s->clienthello->session_id_len);
s->tmp_session_id_len = s->clienthello->session_id_len;
}
@@ -1918,15 +1931,16 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
j = 0;
id = s->session->cipher->id;
- OSSL_TRACE_BEGIN(TLS_CIPHER) {
+ OSSL_TRACE_BEGIN(TLS_CIPHER)
+ {
BIO_printf(trc_out, "client sent %d ciphers\n",
- sk_SSL_CIPHER_num(ciphers));
+ sk_SSL_CIPHER_num(ciphers));
}
for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) {
c = sk_SSL_CIPHER_value(ciphers, i);
if (trc_out != NULL)
BIO_printf(trc_out, "client [%2d of %2d]:%s\n", i,
- sk_SSL_CIPHER_num(ciphers), SSL_CIPHER_get_name(c));
+ sk_SSL_CIPHER_num(ciphers), SSL_CIPHER_get_name(c));
if (c->id == id) {
j = 1;
break;
@@ -1938,7 +1952,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
* to reuse it
*/
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_REQUIRED_CIPHER_MISSING);
+ SSL_R_REQUIRED_CIPHER_MISSING);
OSSL_TRACE_CANCEL(TLS_CIPHER);
goto err;
}
@@ -1952,9 +1966,10 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
}
/* Make sure at least the null compression is supported. */
if (memchr(clienthello->compressions, 0,
- clienthello->compressions_len) == NULL) {
+ clienthello->compressions_len)
+ == NULL) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING);
+ SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING);
goto err;
}
@@ -1963,7 +1978,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
/* TLS extensions */
if (!tls_parse_all_extensions(s, SSL_EXT_CLIENT_HELLO,
- clienthello->pre_proc_exts, NULL, 0, 1)) {
+ clienthello->pre_proc_exts, NULL, 0, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -1989,10 +2004,10 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
}
if (!s->hit
- && s->version >= TLS1_VERSION
- && !SSL_CONNECTION_IS_TLS13(s)
- && !SSL_CONNECTION_IS_DTLS(s)
- && s->ext.session_secret_cb != NULL) {
+ && s->version >= TLS1_VERSION
+ && !SSL_CONNECTION_IS_TLS13(s)
+ && !SSL_CONNECTION_IS_DTLS(s)
+ && s->ext.session_secret_cb != NULL) {
const SSL_CIPHER *pref_cipher = NULL;
/*
* s->session->master_key_length is a size_t, but this is an int for
@@ -2002,10 +2017,10 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
master_key_length = sizeof(s->session->master_key);
if (s->ext.session_secret_cb(ussl, s->session->master_key,
- &master_key_length, ciphers,
- &pref_cipher,
- s->ext.session_secret_cb_arg)
- && master_key_length > 0) {
+ &master_key_length, ciphers,
+ &pref_cipher,
+ s->ext.session_secret_cb_arg)
+ && master_key_length > 0) {
s->session->master_key_length = master_key_length;
s->hit = 1;
s->peer_ciphers = ciphers;
@@ -2016,7 +2031,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
/* check if some cipher was preferred by call back */
if (pref_cipher == NULL)
pref_cipher = ssl3_choose_cipher(s, s->peer_ciphers,
- SSL_get_ciphers(ssl));
+ SSL_get_ciphers(ssl));
if (pref_cipher == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_NO_SHARED_CIPHER);
goto err;
@@ -2044,7 +2059,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
*/
if (clienthello->compressions_len != 1) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_INVALID_COMPRESSION_ALGORITHM);
+ SSL_R_INVALID_COMPRESSION_ALGORITHM);
goto err;
}
}
@@ -2057,7 +2072,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
/* Can't disable compression */
if (!ssl_allow_compression(s)) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_INCONSISTENT_COMPRESSION);
+ SSL_R_INCONSISTENT_COMPRESSION);
goto err;
}
/* Look for resumed compression method */
@@ -2070,7 +2085,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
}
if (s->s3.tmp.new_compression == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_INVALID_COMPRESSION_ALGORITHM);
+ SSL_R_INVALID_COMPRESSION_ALGORITHM);
goto err;
}
/* Look for resumed method in compression list */
@@ -2080,7 +2095,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
}
if (k >= clienthello->compressions_len) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING);
+ SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING);
goto err;
}
} else if (s->hit) {
@@ -2147,7 +2162,7 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
OPENSSL_free(s->clienthello);
s->clienthello = NULL;
return 1;
- err:
+err:
sk_SSL_CIPHER_free(ciphers);
sk_SSL_CIPHER_free(scsvs);
OPENSSL_free(clienthello->pre_proc_exts);
@@ -2174,7 +2189,7 @@ static int tls_handle_status_request(SSL_CONNECTION *s)
* influence which certificate is sent
*/
if (s->ext.status_type != TLSEXT_STATUSTYPE_nothing && sctx != NULL
- && sctx->ext.status_cb != NULL) {
+ && sctx->ext.status_cb != NULL) {
int ret;
/* If no certificate can't return certificate status */
@@ -2185,7 +2200,7 @@ static int tls_handle_status_request(SSL_CONNECTION *s)
*/
s->cert->key = s->s3.tmp.cert;
ret = sctx->ext.status_cb(SSL_CONNECTION_GET_USER_SSL(s),
- sctx->ext.status_arg);
+ sctx->ext.status_arg);
switch (ret) {
/* We don't want to send a status request response */
case SSL_TLSEXT_ERR_NOACK:
@@ -2220,10 +2235,10 @@ int tls_handle_alpn(SSL_CONNECTION *s)
if (sctx->ext.alpn_select_cb != NULL && s->s3.alpn_proposed != NULL) {
int r = sctx->ext.alpn_select_cb(SSL_CONNECTION_GET_USER_SSL(s),
- &selected, &selected_len,
- s->s3.alpn_proposed,
- (unsigned int)s->s3.alpn_proposed_len,
- sctx->ext.alpn_select_cb_arg);
+ &selected, &selected_len,
+ s->s3.alpn_proposed,
+ (unsigned int)s->s3.alpn_proposed_len,
+ sctx->ext.alpn_select_cb_arg);
if (r == SSL_TLSEXT_ERR_OK) {
OPENSSL_free(s->s3.alpn_selected);
@@ -2241,9 +2256,10 @@ int tls_handle_alpn(SSL_CONNECTION *s)
/* Check ALPN is consistent with session */
if (s->session->ext.alpn_selected == NULL
- || selected_len != s->session->ext.alpn_selected_len
- || memcmp(selected, s->session->ext.alpn_selected,
- selected_len) != 0) {
+ || selected_len != s->session->ext.alpn_selected_len
+ || memcmp(selected, s->session->ext.alpn_selected,
+ selected_len)
+ != 0) {
/* Not consistent so can't be used for early_data */
s->ext.early_data_ok = 0;
@@ -2255,14 +2271,14 @@ int tls_handle_alpn(SSL_CONNECTION *s)
*/
if (!ossl_assert(s->session->ext.alpn_selected == NULL)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- ERR_R_INTERNAL_ERROR);
+ ERR_R_INTERNAL_ERROR);
return 0;
}
s->session->ext.alpn_selected = OPENSSL_memdup(selected,
- selected_len);
+ selected_len);
if (s->session->ext.alpn_selected == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- ERR_R_INTERNAL_ERROR);
+ ERR_R_INTERNAL_ERROR);
return 0;
}
s->session->ext.alpn_selected_len = selected_len;
@@ -2272,7 +2288,7 @@ int tls_handle_alpn(SSL_CONNECTION *s)
return 1;
} else if (r != SSL_TLSEXT_ERR_NOACK) {
SSLfatal(s, SSL_AD_NO_APPLICATION_PROTOCOL,
- SSL_R_NO_APPLICATION_PROTOCOL);
+ SSL_R_NO_APPLICATION_PROTOCOL);
return 0;
}
/*
@@ -2325,13 +2341,12 @@ WORK_STATE tls_post_process_client_hello(SSL_CONNECTION *s, WORK_STATE wst)
/* In TLSv1.3 we selected the ciphersuite before resumption */
if (!SSL_CONNECTION_IS_TLS13(s)) {
- cipher =
- ssl3_choose_cipher(s, s->peer_ciphers,
- SSL_get_ciphers(ssl));
+ cipher = ssl3_choose_cipher(s, s->peer_ciphers,
+ SSL_get_ciphers(ssl));
if (cipher == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SHARED_CIPHER);
+ SSL_R_NO_SHARED_CIPHER);
goto err;
}
s->s3.tmp.new_cipher = cipher;
@@ -2343,10 +2358,10 @@ WORK_STATE tls_post_process_client_hello(SSL_CONNECTION *s, WORK_STATE wst)
}
/* check whether we should disable session resumption */
if (s->not_resumable_session_cb != NULL)
- s->session->not_resumable =
- s->not_resumable_session_cb(ussl,
- ((s->s3.tmp.new_cipher->algorithm_mkey
- & (SSL_kDHE | SSL_kECDHE)) != 0));
+ s->session->not_resumable = s->not_resumable_session_cb(ussl,
+ ((s->s3.tmp.new_cipher->algorithm_mkey
+ & (SSL_kDHE | SSL_kECDHE))
+ != 0));
if (s->session->not_resumable)
/* do not send a session ticket */
s->ext.ticket_expected = 0;
@@ -2407,7 +2422,7 @@ WORK_STATE tls_post_process_client_hello(SSL_CONNECTION *s, WORK_STATE wst)
#endif
return WORK_FINISHED_STOP;
- err:
+err:
return WORK_ERROR;
}
@@ -2418,18 +2433,19 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
int version;
unsigned char *session_id;
int usetls13 = SSL_CONNECTION_IS_TLS13(s)
- || s->hello_retry_request == SSL_HRR_PENDING;
+ || s->hello_retry_request == SSL_HRR_PENDING;
version = usetls13 ? TLS1_2_VERSION : s->version;
if (!WPACKET_put_bytes_u16(pkt, version)
- /*
- * Random stuff. Filling of the server_random takes place in
- * tls_process_client_hello()
- */
- || !WPACKET_memcpy(pkt,
- s->hello_retry_request == SSL_HRR_PENDING
- ? hrrrandom : s->s3.server_random,
- SSL3_RANDOM_SIZE)) {
+ /*
+ * Random stuff. Filling of the server_random takes place in
+ * tls_process_client_hello()
+ */
+ || !WPACKET_memcpy(pkt,
+ s->hello_retry_request == SSL_HRR_PENDING
+ ? hrrrandom
+ : s->s3.server_random,
+ SSL3_RANDOM_SIZE)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -2453,7 +2469,7 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
* to send back.
*/
if (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
- && !s->hit)
+ && !s->hit)
s->session->session_id_length = 0;
if (usetls13) {
@@ -2480,20 +2496,20 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
#endif
if (!WPACKET_sub_memcpy_u8(pkt, session_id, sl)
- || !SSL_CONNECTION_GET_SSL(s)->method->put_cipher_by_char(s->s3.tmp.new_cipher,
- pkt, &len)
- || !WPACKET_put_bytes_u8(pkt, compm)) {
+ || !SSL_CONNECTION_GET_SSL(s)->method->put_cipher_by_char(s->s3.tmp.new_cipher,
+ pkt, &len)
+ || !WPACKET_put_bytes_u8(pkt, compm)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
if (!tls_construct_extensions(s, pkt,
- s->hello_retry_request == SSL_HRR_PENDING
- ? SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST
- : (SSL_CONNECTION_IS_TLS13(s)
- ? SSL_EXT_TLS1_3_SERVER_HELLO
- : SSL_EXT_TLS1_2_SERVER_HELLO),
- NULL, 0)) {
+ s->hello_retry_request == SSL_HRR_PENDING
+ ? SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST
+ : (SSL_CONNECTION_IS_TLS13(s)
+ ? SSL_EXT_TLS1_3_SERVER_HELLO
+ : SSL_EXT_TLS1_2_SERVER_HELLO),
+ NULL, 0)) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -2513,7 +2529,7 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
return CON_FUNC_ERROR;
}
} else if (!(s->verify_mode & SSL_VERIFY_PEER)
- && !ssl3_digest_cached_records(s, 0)) {
+ && !ssl3_digest_cached_records(s, 0)) {
/* SSLfatal() already called */;
return CON_FUNC_ERROR;
}
@@ -2533,7 +2549,7 @@ CON_FUNC_RETURN tls_construct_server_done(SSL_CONNECTION *s, WPACKET *pkt)
}
CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
EVP_PKEY *pkdh = NULL;
unsigned char *encodedPoint = NULL;
@@ -2567,124 +2583,122 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
/* Plain PSK or RSAPSK nothing to do */
if (type & (SSL_kPSK | SSL_kRSAPSK)) {
} else
-#endif /* !OPENSSL_NO_PSK */
- if (type & (SSL_kDHE | SSL_kDHEPSK)) {
- CERT *cert = s->cert;
- EVP_PKEY *pkdhp = NULL;
+#endif /* !OPENSSL_NO_PSK */
+ if (type & (SSL_kDHE | SSL_kDHEPSK)) {
+ CERT *cert = s->cert;
+ EVP_PKEY *pkdhp = NULL;
- if (s->cert->dh_tmp_auto) {
- pkdh = ssl_get_auto_dh(s);
- if (pkdh == NULL) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- goto err;
+ if (s->cert->dh_tmp_auto) {
+ pkdh = ssl_get_auto_dh(s);
+ if (pkdh == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ pkdhp = pkdh;
+ } else {
+ pkdhp = cert->dh_tmp;
}
- pkdhp = pkdh;
- } else {
- pkdhp = cert->dh_tmp;
- }
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
- if ((pkdhp == NULL) && (s->cert->dh_tmp_cb != NULL)) {
- pkdh = ssl_dh_to_pkey(s->cert->dh_tmp_cb(SSL_CONNECTION_GET_USER_SSL(s),
- 0, 1024));
- if (pkdh == NULL) {
+ if ((pkdhp == NULL) && (s->cert->dh_tmp_cb != NULL)) {
+ pkdh = ssl_dh_to_pkey(s->cert->dh_tmp_cb(SSL_CONNECTION_GET_USER_SSL(s),
+ 0, 1024));
+ if (pkdh == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ pkdhp = pkdh;
+ }
+#endif
+ if (pkdhp == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_MISSING_TMP_DH_KEY);
+ goto err;
+ }
+ if (!ssl_security(s, SSL_SECOP_TMP_DH,
+ EVP_PKEY_get_security_bits(pkdhp), 0, pkdhp)) {
+ SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_DH_KEY_TOO_SMALL);
+ goto err;
+ }
+ if (s->s3.tmp.pkey != NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
- pkdhp = pkdh;
- }
-#endif
- if (pkdhp == NULL) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_MISSING_TMP_DH_KEY);
- goto err;
- }
- if (!ssl_security(s, SSL_SECOP_TMP_DH,
- EVP_PKEY_get_security_bits(pkdhp), 0, pkdhp)) {
- SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_DH_KEY_TOO_SMALL);
- goto err;
- }
- if (s->s3.tmp.pkey != NULL) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- goto err;
- }
- s->s3.tmp.pkey = ssl_generate_pkey(s, pkdhp);
- if (s->s3.tmp.pkey == NULL) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- goto err;
- }
+ s->s3.tmp.pkey = ssl_generate_pkey(s, pkdhp);
+ if (s->s3.tmp.pkey == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
- EVP_PKEY_free(pkdh);
- pkdh = NULL;
+ EVP_PKEY_free(pkdh);
+ pkdh = NULL;
- /* These BIGNUMs need to be freed when we're finished */
- freer = 1;
- if (!EVP_PKEY_get_bn_param(s->s3.tmp.pkey, OSSL_PKEY_PARAM_FFC_P,
- &r[0])
+ /* These BIGNUMs need to be freed when we're finished */
+ freer = 1;
+ if (!EVP_PKEY_get_bn_param(s->s3.tmp.pkey, OSSL_PKEY_PARAM_FFC_P,
+ &r[0])
|| !EVP_PKEY_get_bn_param(s->s3.tmp.pkey, OSSL_PKEY_PARAM_FFC_G,
- &r[1])
+ &r[1])
|| !EVP_PKEY_get_bn_param(s->s3.tmp.pkey,
- OSSL_PKEY_PARAM_PUB_KEY, &r[2])) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- goto err;
- }
- } else if (type & (SSL_kECDHE | SSL_kECDHEPSK)) {
+ OSSL_PKEY_PARAM_PUB_KEY, &r[2])) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ } else if (type & (SSL_kECDHE | SSL_kECDHEPSK)) {
- if (s->s3.tmp.pkey != NULL) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- goto err;
- }
+ if (s->s3.tmp.pkey != NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
- /* Get NID of appropriate shared curve */
- curve_id = tls1_shared_group(s, -2);
- if (curve_id == 0) {
- SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_UNSUPPORTED_ELLIPTIC_CURVE);
- goto err;
- }
- /* Cache the group used in the SSL_SESSION */
- s->session->kex_group = curve_id;
- /* Generate a new key for this curve */
- s->s3.tmp.pkey = ssl_generate_pkey_group(s, curve_id);
- if (s->s3.tmp.pkey == NULL) {
- /* SSLfatal() already called */
- goto err;
- }
+ /* Get NID of appropriate shared curve */
+ curve_id = tls1_shared_group(s, -2);
+ if (curve_id == 0) {
+ SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
+ SSL_R_UNSUPPORTED_ELLIPTIC_CURVE);
+ goto err;
+ }
+ /* Cache the group used in the SSL_SESSION */
+ s->session->kex_group = curve_id;
+ /* Generate a new key for this curve */
+ s->s3.tmp.pkey = ssl_generate_pkey_group(s, curve_id);
+ if (s->s3.tmp.pkey == NULL) {
+ /* SSLfatal() already called */
+ goto err;
+ }
- /* Encode the public key. */
- encodedlen = EVP_PKEY_get1_encoded_public_key(s->s3.tmp.pkey,
- &encodedPoint);
- if (encodedlen == 0) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EC_LIB);
- goto err;
- }
+ /* Encode the public key. */
+ encodedlen = EVP_PKEY_get1_encoded_public_key(s->s3.tmp.pkey,
+ &encodedPoint);
+ if (encodedlen == 0) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_EC_LIB);
+ goto err;
+ }
- /*
- * We'll generate the serverKeyExchange message explicitly so we
- * can set these to NULLs
- */
- r[0] = NULL;
- r[1] = NULL;
- r[2] = NULL;
- r[3] = NULL;
- } else
+ /*
+ * We'll generate the serverKeyExchange message explicitly so we
+ * can set these to NULLs
+ */
+ r[0] = NULL;
+ r[1] = NULL;
+ r[2] = NULL;
+ r[3] = NULL;
+ } else
#ifndef OPENSSL_NO_SRP
- if (type & SSL_kSRP) {
- if ((s->srp_ctx.N == NULL) ||
- (s->srp_ctx.g == NULL) ||
- (s->srp_ctx.s == NULL) || (s->srp_ctx.B == NULL)) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_MISSING_SRP_PARAM);
+ if (type & SSL_kSRP) {
+ if ((s->srp_ctx.N == NULL) || (s->srp_ctx.g == NULL) || (s->srp_ctx.s == NULL) || (s->srp_ctx.B == NULL)) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_MISSING_SRP_PARAM);
+ goto err;
+ }
+ r[0] = s->srp_ctx.N;
+ r[1] = s->srp_ctx.g;
+ r[2] = s->srp_ctx.s;
+ r[3] = s->srp_ctx.B;
+ } else
+#endif
+ {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE);
goto err;
}
- r[0] = s->srp_ctx.N;
- r[1] = s->srp_ctx.g;
- r[2] = s->srp_ctx.s;
- r[3] = s->srp_ctx.B;
- } else
-#endif
- {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE);
- goto err;
- }
if (((s->s3.tmp.new_cipher->algorithm_auth & (SSL_aNULL | SSL_aSRP)) != 0)
|| ((s->s3.tmp.new_cipher->algorithm_mkey & SSL_PSK)) != 0) {
@@ -2697,15 +2711,16 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
#ifndef OPENSSL_NO_PSK
if (type & SSL_PSK) {
size_t len = (s->cert->psk_identity_hint == NULL)
- ? 0 : strlen(s->cert->psk_identity_hint);
+ ? 0
+ : strlen(s->cert->psk_identity_hint);
/*
* It should not happen that len > PSK_MAX_IDENTITY_LEN - we already
* checked this when we set the identity hint - but just in case
*/
if (len > PSK_MAX_IDENTITY_LEN
- || !WPACKET_sub_memcpy_u16(pkt, s->cert->psk_identity_hint,
- len)) {
+ || !WPACKET_sub_memcpy_u16(pkt, s->cert->psk_identity_hint,
+ len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2746,7 +2761,7 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
}
if (!WPACKET_allocate_bytes(pkt, BN_num_bytes(r[i]), &binval)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2762,9 +2777,9 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
* point itself
*/
if (!WPACKET_put_bytes_u8(pkt, NAMED_CURVE_TYPE)
- || !WPACKET_put_bytes_u8(pkt, 0)
- || !WPACKET_put_bytes_u8(pkt, curve_id)
- || !WPACKET_sub_memcpy_u8(pkt, encodedPoint, encodedlen)) {
+ || !WPACKET_put_bytes_u8(pkt, 0)
+ || !WPACKET_put_bytes_u8(pkt, curve_id)
+ || !WPACKET_sub_memcpy_u8(pkt, encodedPoint, encodedlen)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2796,9 +2811,10 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
}
if (EVP_DigestSignInit_ex(md_ctx, &pctx,
- md == NULL ? NULL : EVP_MD_get0_name(md),
- sctx->libctx, sctx->propq, pkey,
- NULL) <= 0) {
+ md == NULL ? NULL : EVP_MD_get0_name(md),
+ sctx->libctx, sctx->propq, pkey,
+ NULL)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -2810,18 +2826,18 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
}
}
tbslen = construct_key_exchange_tbs(s, &tbs,
- s->init_buf->data + paramoffset,
- paramlen);
+ s->init_buf->data + paramoffset,
+ paramlen);
if (tbslen == 0) {
/* SSLfatal() already called */
goto err;
}
- if (EVP_DigestSign(md_ctx, NULL, &siglen, tbs, tbslen) <=0
- || !WPACKET_sub_reserve_bytes_u16(pkt, siglen, &sigbytes1)
- || EVP_DigestSign(md_ctx, sigbytes1, &siglen, tbs, tbslen) <= 0
- || !WPACKET_sub_allocate_bytes_u16(pkt, siglen, &sigbytes2)
- || sigbytes1 != sigbytes2) {
+ if (EVP_DigestSign(md_ctx, NULL, &siglen, tbs, tbslen) <= 0
+ || !WPACKET_sub_reserve_bytes_u16(pkt, siglen, &sigbytes1)
+ || EVP_DigestSign(md_ctx, sigbytes1, &siglen, tbs, tbslen) <= 0
+ || !WPACKET_sub_allocate_bytes_u16(pkt, siglen, &sigbytes2)
+ || sigbytes1 != sigbytes2) {
OPENSSL_free(tbs);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -2830,7 +2846,7 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
}
ret = CON_FUNC_SUCCESS;
- err:
+err:
EVP_PKEY_free(pkdh);
OPENSSL_free(encodedPoint);
EVP_MD_CTX_free(md_ctx);
@@ -2844,7 +2860,7 @@ CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,
}
CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
if (SSL_CONNECTION_IS_TLS13(s)) {
/* Send random context when doing post-handshake auth */
@@ -2857,9 +2873,10 @@ CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,
return CON_FUNC_ERROR;
}
if (RAND_bytes_ex(SSL_CONNECTION_GET_CTX(s)->libctx,
- s->pha_context, s->pha_context_len, 0) <= 0
- || !WPACKET_sub_memcpy_u8(pkt, s->pha_context,
- s->pha_context_len)) {
+ s->pha_context, s->pha_context_len, 0)
+ <= 0
+ || !WPACKET_sub_memcpy_u8(pkt, s->pha_context,
+ s->pha_context_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -2876,8 +2893,8 @@ CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,
}
if (!tls_construct_extensions(s, pkt,
- SSL_EXT_TLS1_3_CERTIFICATE_REQUEST, NULL,
- 0)) {
+ SSL_EXT_TLS1_3_CERTIFICATE_REQUEST, NULL,
+ 0)) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -2896,9 +2913,9 @@ CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,
size_t nl = tls12_get_psigalgs(s, 1, &psigs);
if (!WPACKET_start_sub_packet_u16(pkt)
- || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)
- || !tls12_copy_sigalgs(s, pkt, psigs, nl)
- || !WPACKET_close(pkt)) {
+ || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)
+ || !tls12_copy_sigalgs(s, pkt, psigs, nl)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return CON_FUNC_ERROR;
}
@@ -2909,7 +2926,7 @@ CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,
return CON_FUNC_ERROR;
}
- done:
+done:
s->certreqs_sent++;
s->s3.tmp.cert_request = 1;
return CON_FUNC_SUCCESS;
@@ -2941,8 +2958,8 @@ static int tls_process_cke_psk_preamble(SSL_CONNECTION *s, PACKET *pkt)
}
psklen = s->psk_server_callback(SSL_CONNECTION_GET_USER_SSL(s),
- s->session->psk_identity,
- psk, sizeof(psk));
+ s->session->psk_identity,
+ psk, sizeof(psk));
if (psklen > PSK_MAX_PSK_LEN) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -3028,23 +3045,24 @@ static int tls_process_cke_rsa(SSL_CONNECTION *s, PACKET *pkt)
* See https://tools.ietf.org/html/rfc5246#section-7.4.7.1
*/
if (EVP_PKEY_decrypt_init(ctx) <= 0
- || EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_WITH_TLS_PADDING) <= 0) {
+ || EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_WITH_TLS_PADDING) <= 0) {
SSLfatal(s, SSL_AD_DECRYPT_ERROR, SSL_R_DECRYPTION_FAILED);
goto err;
}
*p++ = OSSL_PARAM_construct_uint(OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION,
- (unsigned int *)&s->client_version);
- if ((s->options & SSL_OP_TLS_ROLLBACK_BUG) != 0)
+ (unsigned int *)&s->client_version);
+ if ((s->options & SSL_OP_TLS_ROLLBACK_BUG) != 0)
*p++ = OSSL_PARAM_construct_uint(
OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION,
(unsigned int *)&s->version);
*p++ = OSSL_PARAM_construct_end();
if (!EVP_PKEY_CTX_set_params(ctx, params)
- || EVP_PKEY_decrypt(ctx, rsa_decrypt, &outlen,
- PACKET_data(&enc_premaster),
- PACKET_remaining(&enc_premaster)) <= 0) {
+ || EVP_PKEY_decrypt(ctx, rsa_decrypt, &outlen,
+ PACKET_data(&enc_premaster),
+ PACKET_remaining(&enc_premaster))
+ <= 0) {
SSLfatal(s, SSL_AD_DECRYPT_ERROR, SSL_R_DECRYPTION_FAILED);
goto err;
}
@@ -3066,7 +3084,7 @@ static int tls_process_cke_rsa(SSL_CONNECTION *s, PACKET *pkt)
}
ret = 1;
- err:
+err:
OPENSSL_free(rsa_decrypt);
EVP_PKEY_CTX_free(ctx);
return ret;
@@ -3118,7 +3136,7 @@ static int tls_process_cke_dhe(SSL_CONNECTION *s, PACKET *pkt)
ret = 1;
EVP_PKEY_free(s->s3.tmp.pkey);
s->s3.tmp.pkey = NULL;
- err:
+err:
EVP_PKEY_free(ckey);
return ret;
}
@@ -3173,7 +3191,7 @@ static int tls_process_cke_ecdhe(SSL_CONNECTION *s, PACKET *pkt)
ret = 1;
EVP_PKEY_free(s->s3.tmp.pkey);
s->s3.tmp.pkey = NULL;
- err:
+err:
EVP_PKEY_free(ckey);
return ret;
@@ -3275,10 +3293,10 @@ static int tls_process_cke_gost(SSL_CONNECTION *s, PACKET *pkt)
* We have nothing to do with this blob so we just skip it */
pKX = d2i_GOST_KX_MESSAGE(NULL, &ptr, PACKET_remaining(pkt));
if (pKX == NULL
- || pKX->kxBlob == NULL
- || ASN1_TYPE_get(pKX->kxBlob) != V_ASN1_SEQUENCE) {
- SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_DECRYPTION_FAILED);
- goto err;
+ || pKX->kxBlob == NULL
+ || ASN1_TYPE_get(pKX->kxBlob) != V_ASN1_SEQUENCE) {
+ SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_DECRYPTION_FAILED);
+ goto err;
}
if (!PACKET_forward(pkt, ptr - PACKET_data(pkt))) {
@@ -3295,7 +3313,8 @@ static int tls_process_cke_gost(SSL_CONNECTION *s, PACKET *pkt)
start = pKX->kxBlob->value.sequence->data;
if (EVP_PKEY_decrypt(pkey_ctx, premaster_secret, &outlen, start,
- inlen) <= 0) {
+ inlen)
+ <= 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_DECRYPTION_FAILED);
goto err;
}
@@ -3306,11 +3325,12 @@ static int tls_process_cke_gost(SSL_CONNECTION *s, PACKET *pkt)
}
/* Check if pubkey from client certificate was used */
if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, -1, EVP_PKEY_CTRL_PEER_KEY, 2,
- NULL) > 0)
+ NULL)
+ > 0)
s->statem.no_cert_verify = 1;
ret = 1;
- err:
+err:
EVP_PKEY_CTX_free(pkey_ctx);
GOST_KX_MESSAGE_free(pKX);
return ret;
@@ -3345,9 +3365,7 @@ static int tls_process_cke_gost18(SSL_CONNECTION *s, PACKET *pkt)
}
/* Get our certificate private key */
- pk = s->cert->pkeys[SSL_PKEY_GOST12_512].privatekey != NULL ?
- s->cert->pkeys[SSL_PKEY_GOST12_512].privatekey :
- s->cert->pkeys[SSL_PKEY_GOST12_256].privatekey;
+ pk = s->cert->pkeys[SSL_PKEY_GOST12_512].privatekey != NULL ? s->cert->pkeys[SSL_PKEY_GOST12_512].privatekey : s->cert->pkeys[SSL_PKEY_GOST12_256].privatekey;
if (pk == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_HANDSHAKE_STATE);
goto err;
@@ -3365,13 +3383,15 @@ static int tls_process_cke_gost18(SSL_CONNECTION *s, PACKET *pkt)
/* Reuse EVP_PKEY_CTRL_SET_IV, make choice in engine code depending on size */
if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, EVP_PKEY_OP_DECRYPT,
- EVP_PKEY_CTRL_SET_IV, 32, rnd_dgst) <= 0) {
+ EVP_PKEY_CTRL_SET_IV, 32, rnd_dgst)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_LIBRARY_BUG);
goto err;
}
if (EVP_PKEY_CTX_ctrl(pkey_ctx, -1, EVP_PKEY_OP_DECRYPT,
- EVP_PKEY_CTRL_CIPHER, cipher_nid, NULL) <= 0) {
+ EVP_PKEY_CTRL_CIPHER, cipher_nid, NULL)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_LIBRARY_BUG);
goto err;
}
@@ -3384,12 +3404,12 @@ static int tls_process_cke_gost18(SSL_CONNECTION *s, PACKET *pkt)
}
/* Generate master secret */
if (!ssl_generate_master_secret(s, premaster_secret, outlen, 0)) {
- /* SSLfatal() already called */
- goto err;
+ /* SSLfatal() already called */
+ goto err;
}
ret = 1;
- err:
+err:
EVP_PKEY_CTX_free(pkey_ctx);
return ret;
#else
@@ -3400,7 +3420,7 @@ static int tls_process_cke_gost18(SSL_CONNECTION *s, PACKET *pkt)
}
MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
unsigned long alg_k;
@@ -3459,7 +3479,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL_CONNECTION *s,
}
return MSG_PROCESS_CONTINUE_PROCESSING;
- err:
+err:
#ifndef OPENSSL_NO_PSK
OPENSSL_clear_free(s->s3.tmp.psk, s->s3.tmp.psklen);
s->s3.tmp.psk = NULL;
@@ -3469,7 +3489,7 @@ MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL_CONNECTION *s,
}
WORK_STATE tls_post_process_client_key_exchange(SSL_CONNECTION *s,
- WORK_STATE wst)
+ WORK_STATE wst)
{
#ifndef OPENSSL_NO_SCTP
if (wst == WORK_MORE_A) {
@@ -3482,7 +3502,7 @@ WORK_STATE tls_post_process_client_key_exchange(SSL_CONNECTION *s,
* used.
*/
memcpy(labelbuffer, DTLS1_SCTP_AUTH_LABEL,
- sizeof(DTLS1_SCTP_AUTH_LABEL));
+ sizeof(DTLS1_SCTP_AUTH_LABEL));
/* Don't include the terminating zero. */
labellen = sizeof(labelbuffer) - 1;
@@ -3490,16 +3510,17 @@ WORK_STATE tls_post_process_client_key_exchange(SSL_CONNECTION *s,
labellen += 1;
if (SSL_export_keying_material(SSL_CONNECTION_GET_SSL(s),
- sctpauthkey,
- sizeof(sctpauthkey), labelbuffer,
- labellen, NULL, 0,
- 0) <= 0) {
+ sctpauthkey,
+ sizeof(sctpauthkey), labelbuffer,
+ labellen, NULL, 0,
+ 0)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return WORK_ERROR;
}
BIO_ctrl(s->wbio, BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY,
- sizeof(sctpauthkey), sctpauthkey);
+ sizeof(sctpauthkey), sctpauthkey);
}
}
#endif
@@ -3545,15 +3566,15 @@ MSG_PROCESS_RETURN tls_process_client_rpk(SSL_CONNECTION *sc, PACKET *pkt)
if (peer_rpk == NULL) {
if ((sc->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
- && (sc->verify_mode & SSL_VERIFY_PEER)) {
+ && (sc->verify_mode & SSL_VERIFY_PEER)) {
SSLfatal(sc, SSL_AD_CERTIFICATE_REQUIRED,
- SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
+ SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
goto err;
}
} else {
if (ssl_verify_rpk(sc, peer_rpk) <= 0) {
SSLfatal(sc, ssl_x509err2alert(sc->verify_result),
- SSL_R_CERTIFICATE_VERIFY_FAILED);
+ SSL_R_CERTIFICATE_VERIFY_FAILED);
goto err;
}
}
@@ -3600,8 +3621,8 @@ MSG_PROCESS_RETURN tls_process_client_rpk(SSL_CONNECTION *sc, PACKET *pkt)
/* Save the current hash state for when we receive the CertificateVerify */
if (!ssl_handshake_hash(sc, sc->cert_verify_hash,
- sizeof(sc->cert_verify_hash),
- &sc->cert_verify_hash_len)) {
+ sizeof(sc->cert_verify_hash),
+ &sc->cert_verify_hash_len)) {
/* SSLfatal() already called */;
goto err;
}
@@ -3612,13 +3633,13 @@ MSG_PROCESS_RETURN tls_process_client_rpk(SSL_CONNECTION *sc, PACKET *pkt)
ret = MSG_PROCESS_CONTINUE_READING;
- err:
+err:
EVP_PKEY_free(peer_rpk);
return ret;
}
MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
- PACKET *pkt)
+ PACKET *pkt)
{
int i;
MSG_PROCESS_RETURN ret = MSG_PROCESS_ERROR;
@@ -3643,7 +3664,7 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
if (s->ext.client_cert_type != TLSEXT_cert_type_x509) {
SSLfatal(s, SSL_AD_UNSUPPORTED_CERTIFICATE,
- SSL_R_UNKNOWN_CERTIFICATE_TYPE);
+ SSL_R_UNKNOWN_CERTIFICATE_TYPE);
goto err;
}
@@ -3654,16 +3675,16 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
if (SSL_CONNECTION_IS_TLS13(s)
&& (!PACKET_get_length_prefixed_1(pkt, &context)
- || (s->pha_context == NULL && PACKET_remaining(&context) != 0)
- || (s->pha_context != NULL
- && !PACKET_equal(&context, s->pha_context,
- s->pha_context_len)))) {
+ || (s->pha_context == NULL && PACKET_remaining(&context) != 0)
+ || (s->pha_context != NULL
+ && !PACKET_equal(&context, s->pha_context,
+ s->pha_context_len)))) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_INVALID_CONTEXT);
goto err;
}
if (!PACKET_get_length_prefixed_3(pkt, &spkt)
- || PACKET_remaining(pkt) != 0) {
+ || PACKET_remaining(pkt) != 0) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_LENGTH_MISMATCH);
goto err;
}
@@ -3700,11 +3721,11 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
goto err;
}
if (!tls_collect_extensions(s, &extensions,
- SSL_EXT_TLS1_3_CERTIFICATE, &rawexts,
- NULL, chainidx == 0)
+ SSL_EXT_TLS1_3_CERTIFICATE, &rawexts,
+ NULL, chainidx == 0)
|| !tls_parse_all_extensions(s, SSL_EXT_TLS1_3_CERTIFICATE,
- rawexts, x, chainidx,
- PACKET_remaining(&spkt) == 0)) {
+ rawexts, x, chainidx,
+ PACKET_remaining(&spkt) == 0)) {
OPENSSL_free(rawexts);
goto err;
}
@@ -3722,14 +3743,13 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
/* TLS does not mind 0 certs returned */
if (s->version == SSL3_VERSION) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_CERTIFICATES_RETURNED);
+ SSL_R_NO_CERTIFICATES_RETURNED);
goto err;
}
/* Fail for TLS only if we required a certificate */
- else if ((s->verify_mode & SSL_VERIFY_PEER) &&
- (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) {
+ else if ((s->verify_mode & SSL_VERIFY_PEER) && (s->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) {
SSLfatal(s, SSL_AD_CERTIFICATE_REQUIRED,
- SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
+ SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
goto err;
}
/* No client certificate so digest cached records */
@@ -3742,13 +3762,13 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
i = ssl_verify_cert_chain(s, sk);
if (i <= 0) {
SSLfatal(s, ssl_x509err2alert(s->verify_result),
- SSL_R_CERTIFICATE_VERIFY_FAILED);
+ SSL_R_CERTIFICATE_VERIFY_FAILED);
goto err;
}
pkey = X509_get0_pubkey(sk_X509_value(sk, 0));
if (pkey == NULL) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_UNKNOWN_CERTIFICATE_TYPE);
+ SSL_R_UNKNOWN_CERTIFICATE_TYPE);
goto err;
}
}
@@ -3799,8 +3819,8 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
/* Save the current hash state for when we receive the CertificateVerify */
if (SSL_CONNECTION_IS_TLS13(s)) {
if (!ssl_handshake_hash(s, s->cert_verify_hash,
- sizeof(s->cert_verify_hash),
- &s->cert_verify_hash_len)) {
+ sizeof(s->cert_verify_hash),
+ &s->cert_verify_hash_len)) {
/* SSLfatal() already called */
goto err;
}
@@ -3811,7 +3831,7 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,
ret = MSG_PROCESS_CONTINUE_READING;
- err:
+err:
X509_free(x);
OSSL_STACK_OF_X509_free(sk);
return ret;
@@ -3885,10 +3905,10 @@ CON_FUNC_RETURN tls_construct_server_compressed_certificate(SSL_CONNECTION *sc,
* Use pre-compressed certificate
*/
if (!WPACKET_put_bytes_u16(pkt, alg)
- || !WPACKET_put_bytes_u24(pkt, cc->orig_len)
- || !WPACKET_start_sub_packet_u24(pkt)
- || !WPACKET_memcpy(pkt, cc->data, cc->len)
- || !WPACKET_close(pkt))
+ || !WPACKET_put_bytes_u24(pkt, cc->orig_len)
+ || !WPACKET_start_sub_packet_u24(pkt)
+ || !WPACKET_memcpy(pkt, cc->data, cc->len)
+ || !WPACKET_close(pkt))
return 0;
sc->s3.tmp.cert->cert_comp_used++;
@@ -3897,7 +3917,7 @@ CON_FUNC_RETURN tls_construct_server_compressed_certificate(SSL_CONNECTION *sc,
#endif
static int create_ticket_prequel(SSL_CONNECTION *s, WPACKET *pkt,
- uint32_t age_add, unsigned char *tick_nonce)
+ uint32_t age_add, unsigned char *tick_nonce)
{
uint32_t timeout = (uint32_t)ossl_time2seconds(s->session->timeout);
@@ -3912,7 +3932,8 @@ static int create_ticket_prequel(SSL_CONNECTION *s, WPACKET *pkt,
if (SSL_CONNECTION_IS_TLS13(s)) {
if (ossl_time_compare(s->session->timeout,
- ossl_seconds2time(ONE_WEEK_SEC)) > 0)
+ ossl_seconds2time(ONE_WEEK_SEC))
+ > 0)
timeout = ONE_WEEK_SEC;
} else if (s->hit)
timeout = 0;
@@ -3924,7 +3945,7 @@ static int create_ticket_prequel(SSL_CONNECTION *s, WPACKET *pkt,
if (SSL_CONNECTION_IS_TLS13(s)) {
if (!WPACKET_put_bytes_u32(pkt, age_add)
- || !WPACKET_sub_memcpy_u8(pkt, tick_nonce, TICKET_NONCE_SIZE)) {
+ || !WPACKET_sub_memcpy_u8(pkt, tick_nonce, TICKET_NONCE_SIZE)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -3940,9 +3961,9 @@ static int create_ticket_prequel(SSL_CONNECTION *s, WPACKET *pkt,
}
static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
- WPACKET *pkt,
- uint32_t age_add,
- unsigned char *tick_nonce)
+ WPACKET *pkt,
+ uint32_t age_add,
+ unsigned char *tick_nonce)
{
unsigned char *senc = NULL;
EVP_CIPHER_CTX *ctx = NULL;
@@ -3999,7 +4020,7 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
*/
const_p = senc;
sess = d2i_SSL_SESSION_ex(NULL, &const_p, slen_full, sctx->libctx,
- sctx->propq);
+ sctx->propq);
if (sess == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
@@ -4034,13 +4055,13 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
if (tctx->ext.ticket_key_evp_cb != NULL)
ret = tctx->ext.ticket_key_evp_cb(ssl, key_name, iv, ctx,
- ssl_hmac_get0_EVP_MAC_CTX(hctx),
- 1);
+ ssl_hmac_get0_EVP_MAC_CTX(hctx),
+ 1);
#ifndef OPENSSL_NO_DEPRECATED_3_0
else if (tctx->ext.ticket_key_cb != NULL)
/* if 0 is returned, write an empty ticket */
ret = tctx->ext.ticket_key_cb(ssl, key_name, iv, ctx,
- ssl_hmac_get0_HMAC_CTX(hctx), 1);
+ ssl_hmac_get0_HMAC_CTX(hctx), 1);
#endif
if (ret == 0) {
@@ -4055,7 +4076,7 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
}
/* Put timeout and length */
if (!WPACKET_put_bytes_u32(pkt, 0)
- || !WPACKET_put_bytes_u16(pkt, 0)) {
+ || !WPACKET_put_bytes_u16(pkt, 0)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -4075,7 +4096,7 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
}
} else {
EVP_CIPHER *cipher = EVP_CIPHER_fetch(sctx->libctx, "AES-256-CBC",
- sctx->propq);
+ sctx->propq);
if (cipher == NULL) {
/* Error is already recorded */
@@ -4085,19 +4106,19 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
iv_len = EVP_CIPHER_get_iv_length(cipher);
if (iv_len < 0
- || RAND_bytes_ex(sctx->libctx, iv, iv_len, 0) <= 0
- || !EVP_EncryptInit_ex(ctx, cipher, NULL,
- tctx->ext.secure->tick_aes_key, iv)
- || !ssl_hmac_init(hctx, tctx->ext.secure->tick_hmac_key,
- sizeof(tctx->ext.secure->tick_hmac_key),
- "SHA256")) {
+ || RAND_bytes_ex(sctx->libctx, iv, iv_len, 0) <= 0
+ || !EVP_EncryptInit_ex(ctx, cipher, NULL,
+ tctx->ext.secure->tick_aes_key, iv)
+ || !ssl_hmac_init(hctx, tctx->ext.secure->tick_hmac_key,
+ sizeof(tctx->ext.secure->tick_hmac_key),
+ "SHA256")) {
EVP_CIPHER_free(cipher);
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
EVP_CIPHER_free(cipher);
memcpy(key_name, tctx->ext.tick_key_name,
- sizeof(tctx->ext.tick_key_name));
+ sizeof(tctx->ext.tick_key_name));
}
if (!create_ticket_prequel(s, pkt, age_add, tick_nonce)) {
@@ -4106,29 +4127,29 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
}
if (!WPACKET_get_total_written(pkt, &macoffset)
- /* Output key name */
- || !WPACKET_memcpy(pkt, key_name, sizeof(key_name))
- /* output IV */
- || !WPACKET_memcpy(pkt, iv, iv_len)
- || !WPACKET_reserve_bytes(pkt, slen + EVP_MAX_BLOCK_LENGTH,
- &encdata1)
- /* Encrypt session data */
- || !EVP_EncryptUpdate(ctx, encdata1, &len, senc, slen)
- || !WPACKET_allocate_bytes(pkt, len, &encdata2)
- || encdata1 != encdata2
- || !EVP_EncryptFinal(ctx, encdata1 + len, &lenfinal)
- || !WPACKET_allocate_bytes(pkt, lenfinal, &encdata2)
- || encdata1 + len != encdata2
- || len + lenfinal > slen + EVP_MAX_BLOCK_LENGTH
- || !WPACKET_get_total_written(pkt, &macendoffset)
- || !ssl_hmac_update(hctx,
- (unsigned char *)s->init_buf->data + macoffset,
- macendoffset - macoffset)
- || !WPACKET_reserve_bytes(pkt, EVP_MAX_MD_SIZE, &macdata1)
- || !ssl_hmac_final(hctx, macdata1, &hlen, EVP_MAX_MD_SIZE)
- || hlen > EVP_MAX_MD_SIZE
- || !WPACKET_allocate_bytes(pkt, hlen, &macdata2)
- || macdata1 != macdata2) {
+ /* Output key name */
+ || !WPACKET_memcpy(pkt, key_name, sizeof(key_name))
+ /* output IV */
+ || !WPACKET_memcpy(pkt, iv, iv_len)
+ || !WPACKET_reserve_bytes(pkt, slen + EVP_MAX_BLOCK_LENGTH,
+ &encdata1)
+ /* Encrypt session data */
+ || !EVP_EncryptUpdate(ctx, encdata1, &len, senc, slen)
+ || !WPACKET_allocate_bytes(pkt, len, &encdata2)
+ || encdata1 != encdata2
+ || !EVP_EncryptFinal(ctx, encdata1 + len, &lenfinal)
+ || !WPACKET_allocate_bytes(pkt, lenfinal, &encdata2)
+ || encdata1 + len != encdata2
+ || len + lenfinal > slen + EVP_MAX_BLOCK_LENGTH
+ || !WPACKET_get_total_written(pkt, &macendoffset)
+ || !ssl_hmac_update(hctx,
+ (unsigned char *)s->init_buf->data + macoffset,
+ macendoffset - macoffset)
+ || !WPACKET_reserve_bytes(pkt, EVP_MAX_MD_SIZE, &macdata1)
+ || !ssl_hmac_final(hctx, macdata1, &hlen, EVP_MAX_MD_SIZE)
+ || hlen > EVP_MAX_MD_SIZE
+ || !WPACKET_allocate_bytes(pkt, hlen, &macdata2)
+ || macdata1 != macdata2) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -4140,7 +4161,7 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
}
ok = CON_FUNC_SUCCESS;
- err:
+err:
OPENSSL_free(senc);
EVP_CIPHER_CTX_free(ctx);
ssl_hmac_free(hctx);
@@ -4148,8 +4169,8 @@ static CON_FUNC_RETURN construct_stateless_ticket(SSL_CONNECTION *s,
}
static int construct_stateful_ticket(SSL_CONNECTION *s, WPACKET *pkt,
- uint32_t age_add,
- unsigned char *tick_nonce)
+ uint32_t age_add,
+ unsigned char *tick_nonce)
{
if (!create_ticket_prequel(s, pkt, age_add, tick_nonce)) {
/* SSLfatal() already called */
@@ -4157,8 +4178,8 @@ static int construct_stateful_ticket(SSL_CONNECTION *s, WPACKET *pkt,
}
if (!WPACKET_memcpy(pkt, s->session->session_id,
- s->session->session_id_length)
- || !WPACKET_close(pkt)) {
+ s->session->session_id_length)
+ || !WPACKET_close(pkt)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -4195,7 +4216,9 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
if (SSL_CONNECTION_IS_TLS13(s)) {
size_t i, hashlen;
uint64_t nonce;
- static const unsigned char nonce_label[] = "resumption";
+ /* ASCII: "resumption", in hex for EBCDIC compatibility */
+ static const unsigned char nonce_label[] = { 0x72, 0x65, 0x73, 0x75, 0x6D,
+ 0x70, 0x74, 0x69, 0x6F, 0x6E };
const EVP_MD *md = ssl_handshake_md(s);
int hashleni = EVP_MD_get_size(md);
@@ -4228,7 +4251,8 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
goto err;
}
if (RAND_bytes_ex(SSL_CONNECTION_GET_CTX(s)->libctx,
- age_add_u.age_add_c, sizeof(age_add_u), 0) <= 0) {
+ age_add_u.age_add_c, sizeof(age_add_u), 0)
+ <= 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -4241,12 +4265,12 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
}
if (!tls13_hkdf_expand(s, md, s->resumption_master_secret,
- nonce_label,
- sizeof(nonce_label) - 1,
- tick_nonce,
- TICKET_NONCE_SIZE,
- s->session->master_key,
- hashlen, 1)) {
+ nonce_label,
+ sizeof(nonce_label),
+ tick_nonce,
+ TICKET_NONCE_SIZE,
+ s->session->master_key,
+ hashlen, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -4256,8 +4280,7 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
ssl_session_calculate_timeout(s->session);
if (s->s3.alpn_selected != NULL) {
OPENSSL_free(s->session->ext.alpn_selected);
- s->session->ext.alpn_selected =
- OPENSSL_memdup(s->s3.alpn_selected, s->s3.alpn_selected_len);
+ s->session->ext.alpn_selected = OPENSSL_memdup(s->s3.alpn_selected, s->s3.alpn_selected_len);
if (s->session->ext.alpn_selected == NULL) {
s->session->ext.alpn_selected_len = 0;
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_CRYPTO_LIB);
@@ -4268,9 +4291,7 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
s->session->ext.max_early_data = s->max_early_data;
}
- if (tctx->generate_ticket_cb != NULL &&
- tctx->generate_ticket_cb(SSL_CONNECTION_GET_USER_SSL(s),
- tctx->ticket_cb_data) == 0) {
+ if (tctx->generate_ticket_cb != NULL && tctx->generate_ticket_cb(SSL_CONNECTION_GET_USER_SSL(s), tctx->ticket_cb_data) == 0) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -4280,9 +4301,9 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
* is no point in using full stateless tickets.
*/
if (SSL_CONNECTION_IS_TLS13(s)
- && ((s->options & SSL_OP_NO_TICKET) != 0
- || (s->max_early_data > 0
- && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0))) {
+ && ((s->options & SSL_OP_NO_TICKET) != 0
+ || (s->max_early_data > 0
+ && (s->options & SSL_OP_NO_ANTI_REPLAY) == 0))) {
if (!construct_stateful_ticket(s, pkt, age_add_u.age_add, tick_nonce)) {
/* SSLfatal() already called */
goto err;
@@ -4291,7 +4312,7 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
CON_FUNC_RETURN tmpret;
tmpret = construct_stateless_ticket(s, pkt, age_add_u.age_add,
- tick_nonce);
+ tick_nonce);
if (tmpret != CON_FUNC_SUCCESS) {
if (tmpret == CON_FUNC_DONT_SEND) {
/* Non-fatal. Abort construction but continue */
@@ -4306,8 +4327,8 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
if (SSL_CONNECTION_IS_TLS13(s)) {
if (!tls_construct_extensions(s, pkt,
- SSL_EXT_TLS1_3_NEW_SESSION_TICKET,
- NULL, 0)) {
+ SSL_EXT_TLS1_3_NEW_SESSION_TICKET,
+ NULL, 0)) {
/* SSLfatal() already called */
goto err;
}
@@ -4316,7 +4337,7 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
}
ret = CON_FUNC_SUCCESS;
- err:
+err:
return ret;
}
@@ -4327,8 +4348,8 @@ CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s, WPACKET *pkt
int tls_construct_cert_status_body(SSL_CONNECTION *s, WPACKET *pkt)
{
if (!WPACKET_put_bytes_u8(pkt, s->ext.status_type)
- || !WPACKET_sub_memcpy_u24(pkt, s->ext.ocsp.resp,
- s->ext.ocsp.resp_len)) {
+ || !WPACKET_sub_memcpy_u24(pkt, s->ext.ocsp.resp,
+ s->ext.ocsp.resp_len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return 0;
}
@@ -4383,10 +4404,10 @@ MSG_PROCESS_RETURN tls_process_next_proto(SSL_CONNECTION *s, PACKET *pkt)
#endif
static CON_FUNC_RETURN tls_construct_encrypted_extensions(SSL_CONNECTION *s,
- WPACKET *pkt)
+ WPACKET *pkt)
{
if (!tls_construct_extensions(s, pkt, SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS,
- NULL, 0)) {
+ NULL, 0)) {
/* SSLfatal() already called */
return CON_FUNC_ERROR;
}
@@ -4402,7 +4423,7 @@ MSG_PROCESS_RETURN tls_process_end_of_early_data(SSL_CONNECTION *s, PACKET *pkt)
}
if (s->early_data_state != SSL_EARLY_DATA_READING
- && s->early_data_state != SSL_EARLY_DATA_READ_RETRY) {
+ && s->early_data_state != SSL_EARLY_DATA_READ_RETRY) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
return MSG_PROCESS_ERROR;
}
@@ -4418,7 +4439,7 @@ MSG_PROCESS_RETURN tls_process_end_of_early_data(SSL_CONNECTION *s, PACKET *pkt)
s->early_data_state = SSL_EARLY_DATA_FINISHED_READING;
if (!SSL_CONNECTION_GET_SSL(s)->method->ssl3_enc->change_cipher_state(s,
- SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ SSL3_CC_HANDSHAKE | SSL3_CHANGE_CIPHER_SERVER_READ)) {
/* SSLfatal() already called */
return MSG_PROCESS_ERROR;
}
diff --git a/crypto/openssl/ssl/t1_enc.c b/crypto/openssl/ssl/t1_enc.c
index 474ea7bf5b66..8978e0c630e6 100644
--- a/crypto/openssl/ssl/t1_enc.c
+++ b/crypto/openssl/ssl/t1_enc.c
@@ -24,13 +24,13 @@
/* seed1 through seed5 are concatenated */
static int tls1_PRF(SSL_CONNECTION *s,
- const void *seed1, size_t seed1_len,
- const void *seed2, size_t seed2_len,
- const void *seed3, size_t seed3_len,
- const void *seed4, size_t seed4_len,
- const void *seed5, size_t seed5_len,
- const unsigned char *sec, size_t slen,
- unsigned char *out, size_t olen, int fatal)
+ const void *seed1, size_t seed1_len,
+ const void *seed2, size_t seed2_len,
+ const void *seed3, size_t seed3_len,
+ const void *seed4, size_t seed4_len,
+ const void *seed5, size_t seed5_len,
+ const unsigned char *sec, size_t slen,
+ unsigned char *out, size_t olen, int fatal)
{
const EVP_MD *md = ssl_prf_md(s);
EVP_KDF *kdf;
@@ -47,8 +47,8 @@ static int tls1_PRF(SSL_CONNECTION *s,
return 0;
}
kdf = EVP_KDF_fetch(SSL_CONNECTION_GET_CTX(s)->libctx,
- OSSL_KDF_NAME_TLS1_PRF,
- SSL_CONNECTION_GET_CTX(s)->propq);
+ OSSL_KDF_NAME_TLS1_PRF,
+ SSL_CONNECTION_GET_CTX(s)->propq);
if (kdf == NULL)
goto err;
kctx = EVP_KDF_CTX_new(kdf);
@@ -57,27 +57,27 @@ static int tls1_PRF(SSL_CONNECTION *s,
goto err;
mdname = EVP_MD_get0_name(md);
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
- (char *)mdname, 0);
+ (char *)mdname, 0);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SECRET,
- (unsigned char *)sec,
- (size_t)slen);
+ (unsigned char *)sec,
+ (size_t)slen);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SEED,
- (void *)seed1, (size_t)seed1_len);
+ (void *)seed1, (size_t)seed1_len);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SEED,
- (void *)seed2, (size_t)seed2_len);
+ (void *)seed2, (size_t)seed2_len);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SEED,
- (void *)seed3, (size_t)seed3_len);
+ (void *)seed3, (size_t)seed3_len);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SEED,
- (void *)seed4, (size_t)seed4_len);
+ (void *)seed4, (size_t)seed4_len);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SEED,
- (void *)seed5, (size_t)seed5_len);
+ (void *)seed5, (size_t)seed5_len);
*p = OSSL_PARAM_construct_end();
if (EVP_KDF_derive(kctx, out, olen, params)) {
EVP_KDF_CTX_free(kctx);
return 1;
}
- err:
+err:
if (fatal)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
else
@@ -87,17 +87,17 @@ static int tls1_PRF(SSL_CONNECTION *s,
}
static int tls1_generate_key_block(SSL_CONNECTION *s, unsigned char *km,
- size_t num)
+ size_t num)
{
int ret;
/* Calls SSLfatal() as required */
ret = tls1_PRF(s,
- TLS_MD_KEY_EXPANSION_CONST,
- TLS_MD_KEY_EXPANSION_CONST_SIZE, s->s3.server_random,
- SSL3_RANDOM_SIZE, s->s3.client_random, SSL3_RANDOM_SIZE,
- NULL, 0, NULL, 0, s->session->master_key,
- s->session->master_key_length, km, num, 1);
+ TLS_MD_KEY_EXPANSION_CONST,
+ TLS_MD_KEY_EXPANSION_CONST_SIZE, s->s3.server_random,
+ SSL3_RANDOM_SIZE, s->s3.client_random, SSL3_RANDOM_SIZE,
+ NULL, 0, NULL, 0, s->session->master_key,
+ s->session->master_key_length, km, num, 1);
return ret;
}
@@ -149,8 +149,7 @@ int tls1_change_cipher_state(SSL_CONNECTION *s, int which)
goto err;
}
k = iivlen;
- if ((which == SSL3_CHANGE_CIPHER_CLIENT_WRITE) ||
- (which == SSL3_CHANGE_CIPHER_SERVER_READ)) {
+ if ((which == SSL3_CHANGE_CIPHER_CLIENT_WRITE) || (which == SSL3_CHANGE_CIPHER_SERVER_READ)) {
mac_secret = &(p[0]);
n = i + i;
key = &(p[n]);
@@ -178,7 +177,8 @@ int tls1_change_cipher_state(SSL_CONNECTION *s, int which)
break;
case EVP_CIPH_CCM_MODE:
if ((s->s3.tmp.new_cipher->algorithm_enc
- & (SSL_AES128CCM8 | SSL_AES256CCM8)) != 0)
+ & (SSL_AES128CCM8 | SSL_AES256CCM8))
+ != 0)
taglen = EVP_CCM8_TLS_TAG_LEN;
else
taglen = EVP_CCM_TLS_TAG_LEN;
@@ -233,23 +233,25 @@ int tls1_change_cipher_state(SSL_CONNECTION *s, int which)
dtls1_increment_epoch(s, which);
if (!ssl_set_new_record_layer(s, s->version, direction,
- OSSL_RECORD_PROTECTION_LEVEL_APPLICATION,
- NULL, 0, key, cl, iv, (size_t)k, mac_secret,
- mac_secret_size, c, taglen, mac_type,
- m, comp, NULL)) {
+ OSSL_RECORD_PROTECTION_LEVEL_APPLICATION,
+ NULL, 0, key, cl, iv, (size_t)k, mac_secret,
+ mac_secret_size, c, taglen, mac_type,
+ m, comp, NULL)) {
/* SSLfatal already called */
goto err;
}
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "which = %04X, key:\n", which);
BIO_dump_indent(trc_out, key, EVP_CIPHER_get_key_length(c), 4);
BIO_printf(trc_out, "iv:\n");
BIO_dump_indent(trc_out, iv, k, 4);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
return 1;
- err:
+err:
return 0;
}
@@ -268,8 +270,8 @@ int tls1_setup_key_block(SSL_CONNECTION *s)
return 1;
if (!ssl_cipher_get_evp(SSL_CONNECTION_GET_CTX(s), s->session, &c, &hash,
- &mac_type, &mac_secret_size, &comp,
- s->ext.use_etm)) {
+ &mac_type, &mac_secret_size, &comp,
+ s->ext.use_etm)) {
/* Error is already recorded */
SSLfatal_alert(s, SSL_AD_INTERNAL_ERROR);
return 0;
@@ -299,7 +301,8 @@ int tls1_setup_key_block(SSL_CONNECTION *s)
s->s3.tmp.key_block_length = num;
s->s3.tmp.key_block = p;
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "key block length: %zu\n", num);
BIO_printf(trc_out, "client random\n");
BIO_dump_indent(trc_out, s->s3.client_random, SSL3_RANDOM_SIZE, 4);
@@ -307,27 +310,30 @@ int tls1_setup_key_block(SSL_CONNECTION *s)
BIO_dump_indent(trc_out, s->s3.server_random, SSL3_RANDOM_SIZE, 4);
BIO_printf(trc_out, "master key\n");
BIO_dump_indent(trc_out,
- s->session->master_key,
- s->session->master_key_length, 4);
- } OSSL_TRACE_END(TLS);
+ s->session->master_key,
+ s->session->master_key_length, 4);
+ }
+ OSSL_TRACE_END(TLS);
if (!tls1_generate_key_block(s, p, num)) {
/* SSLfatal() already called */
goto err;
}
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "key block\n");
BIO_dump_indent(trc_out, p, num, 4);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
ret = 1;
- err:
+err:
return ret;
}
size_t tls1_final_finish_mac(SSL_CONNECTION *s, const char *str,
- size_t slen, unsigned char *out)
+ size_t slen, unsigned char *out)
{
size_t hashlen;
unsigned char hash[EVP_MAX_MD_SIZE];
@@ -347,8 +353,8 @@ size_t tls1_final_finish_mac(SSL_CONNECTION *s, const char *str,
}
if (!tls1_PRF(s, str, slen, hash, hashlen, NULL, 0, NULL, 0, NULL, 0,
- s->session->master_key, s->session->master_key_length,
- out, finished_size, 1)) {
+ s->session->master_key, s->session->master_key_length,
+ out, finished_size, 1)) {
/* SSLfatal() already called */
return 0;
}
@@ -357,8 +363,8 @@ size_t tls1_final_finish_mac(SSL_CONNECTION *s, const char *str,
}
int tls1_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
- unsigned char *p, size_t len,
- size_t *secret_size)
+ unsigned char *p, size_t len,
+ size_t *secret_size)
{
if (s->session->flags & SSL_SESS_FLAG_EXTMS) {
unsigned char hash[EVP_MAX_MD_SIZE * 2];
@@ -369,41 +375,44 @@ int tls1_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
* point (after client key exchange and before certificate verify)
*/
if (!ssl3_digest_cached_records(s, 1)
- || !ssl_handshake_hash(s, hash, sizeof(hash), &hashlen)) {
+ || !ssl_handshake_hash(s, hash, sizeof(hash), &hashlen)) {
/* SSLfatal() already called */
return 0;
}
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "Handshake hashes:\n");
BIO_dump(trc_out, (char *)hash, hashlen);
- } OSSL_TRACE_END(TLS);
+ }
+ OSSL_TRACE_END(TLS);
if (!tls1_PRF(s,
- TLS_MD_EXTENDED_MASTER_SECRET_CONST,
- TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE,
- hash, hashlen,
- NULL, 0,
- NULL, 0,
- NULL, 0, p, len, out,
- SSL3_MASTER_SECRET_SIZE, 1)) {
+ TLS_MD_EXTENDED_MASTER_SECRET_CONST,
+ TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE,
+ hash, hashlen,
+ NULL, 0,
+ NULL, 0,
+ NULL, 0, p, len, out,
+ SSL3_MASTER_SECRET_SIZE, 1)) {
/* SSLfatal() already called */
return 0;
}
OPENSSL_cleanse(hash, hashlen);
} else {
if (!tls1_PRF(s,
- TLS_MD_MASTER_SECRET_CONST,
- TLS_MD_MASTER_SECRET_CONST_SIZE,
- s->s3.client_random, SSL3_RANDOM_SIZE,
- NULL, 0,
- s->s3.server_random, SSL3_RANDOM_SIZE,
- NULL, 0, p, len, out,
- SSL3_MASTER_SECRET_SIZE, 1)) {
- /* SSLfatal() already called */
+ TLS_MD_MASTER_SECRET_CONST,
+ TLS_MD_MASTER_SECRET_CONST_SIZE,
+ s->s3.client_random, SSL3_RANDOM_SIZE,
+ NULL, 0,
+ s->s3.server_random, SSL3_RANDOM_SIZE,
+ NULL, 0, p, len, out,
+ SSL3_MASTER_SECRET_SIZE, 1)) {
+ /* SSLfatal() already called */
return 0;
}
}
- OSSL_TRACE_BEGIN(TLS) {
+ OSSL_TRACE_BEGIN(TLS)
+ {
BIO_printf(trc_out, "Premaster Secret:\n");
BIO_dump_indent(trc_out, p, len, 4);
BIO_printf(trc_out, "Client Random:\n");
@@ -412,18 +421,19 @@ int tls1_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
BIO_dump_indent(trc_out, s->s3.server_random, SSL3_RANDOM_SIZE, 4);
BIO_printf(trc_out, "Master Secret:\n");
BIO_dump_indent(trc_out,
- s->session->master_key,
- SSL3_MASTER_SECRET_SIZE, 4);
- } OSSL_TRACE_END(TLS);
+ s->session->master_key,
+ SSL3_MASTER_SECRET_SIZE, 4);
+ }
+ OSSL_TRACE_END(TLS);
*secret_size = SSL3_MASTER_SECRET_SIZE;
return 1;
}
int tls1_export_keying_material(SSL_CONNECTION *s, unsigned char *out,
- size_t olen, const char *label, size_t llen,
- const unsigned char *context,
- size_t contextlen, int use_context)
+ size_t olen, const char *label, size_t llen,
+ const unsigned char *context,
+ size_t contextlen, int use_context)
{
unsigned char *val = NULL;
size_t vallen = 0, currentvalpos;
@@ -475,34 +485,39 @@ int tls1_export_keying_material(SSL_CONNECTION *s, unsigned char *out,
* the comparisons won't have buffer overflow
*/
if (memcmp(val, TLS_MD_CLIENT_FINISH_CONST,
- TLS_MD_CLIENT_FINISH_CONST_SIZE) == 0)
+ TLS_MD_CLIENT_FINISH_CONST_SIZE)
+ == 0)
goto err1;
if (memcmp(val, TLS_MD_SERVER_FINISH_CONST,
- TLS_MD_SERVER_FINISH_CONST_SIZE) == 0)
+ TLS_MD_SERVER_FINISH_CONST_SIZE)
+ == 0)
goto err1;
if (memcmp(val, TLS_MD_MASTER_SECRET_CONST,
- TLS_MD_MASTER_SECRET_CONST_SIZE) == 0)
+ TLS_MD_MASTER_SECRET_CONST_SIZE)
+ == 0)
goto err1;
if (memcmp(val, TLS_MD_EXTENDED_MASTER_SECRET_CONST,
- TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE) == 0)
+ TLS_MD_EXTENDED_MASTER_SECRET_CONST_SIZE)
+ == 0)
goto err1;
if (memcmp(val, TLS_MD_KEY_EXPANSION_CONST,
- TLS_MD_KEY_EXPANSION_CONST_SIZE) == 0)
+ TLS_MD_KEY_EXPANSION_CONST_SIZE)
+ == 0)
goto err1;
rv = tls1_PRF(s,
- val, vallen,
- NULL, 0,
- NULL, 0,
- NULL, 0,
- NULL, 0,
- s->session->master_key, s->session->master_key_length,
- out, olen, 0);
+ val, vallen,
+ NULL, 0,
+ NULL, 0,
+ NULL, 0,
+ NULL, 0,
+ s->session->master_key, s->session->master_key_length,
+ out, olen, 0);
goto ret;
- err1:
+err1:
ERR_raise(ERR_LIB_SSL, SSL_R_TLS_ILLEGAL_EXPORTER_LABEL);
- ret:
+ret:
OPENSSL_clear_free(val, vallen);
return rv;
}
diff --git a/crypto/openssl/ssl/t1_lib.c b/crypto/openssl/ssl/t1_lib.c
index 2f71f954382d..ded6a1eadfb8 100644
--- a/crypto/openssl/ssl/t1_lib.c
+++ b/crypto/openssl/ssl/t1_lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -146,51 +146,51 @@ static const struct {
int nid;
uint16_t group_id;
} nid_to_group[] = {
- {NID_sect163k1, OSSL_TLS_GROUP_ID_sect163k1},
- {NID_sect163r1, OSSL_TLS_GROUP_ID_sect163r1},
- {NID_sect163r2, OSSL_TLS_GROUP_ID_sect163r2},
- {NID_sect193r1, OSSL_TLS_GROUP_ID_sect193r1},
- {NID_sect193r2, OSSL_TLS_GROUP_ID_sect193r2},
- {NID_sect233k1, OSSL_TLS_GROUP_ID_sect233k1},
- {NID_sect233r1, OSSL_TLS_GROUP_ID_sect233r1},
- {NID_sect239k1, OSSL_TLS_GROUP_ID_sect239k1},
- {NID_sect283k1, OSSL_TLS_GROUP_ID_sect283k1},
- {NID_sect283r1, OSSL_TLS_GROUP_ID_sect283r1},
- {NID_sect409k1, OSSL_TLS_GROUP_ID_sect409k1},
- {NID_sect409r1, OSSL_TLS_GROUP_ID_sect409r1},
- {NID_sect571k1, OSSL_TLS_GROUP_ID_sect571k1},
- {NID_sect571r1, OSSL_TLS_GROUP_ID_sect571r1},
- {NID_secp160k1, OSSL_TLS_GROUP_ID_secp160k1},
- {NID_secp160r1, OSSL_TLS_GROUP_ID_secp160r1},
- {NID_secp160r2, OSSL_TLS_GROUP_ID_secp160r2},
- {NID_secp192k1, OSSL_TLS_GROUP_ID_secp192k1},
- {NID_X9_62_prime192v1, OSSL_TLS_GROUP_ID_secp192r1},
- {NID_secp224k1, OSSL_TLS_GROUP_ID_secp224k1},
- {NID_secp224r1, OSSL_TLS_GROUP_ID_secp224r1},
- {NID_secp256k1, OSSL_TLS_GROUP_ID_secp256k1},
- {NID_X9_62_prime256v1, OSSL_TLS_GROUP_ID_secp256r1},
- {NID_secp384r1, OSSL_TLS_GROUP_ID_secp384r1},
- {NID_secp521r1, OSSL_TLS_GROUP_ID_secp521r1},
- {NID_brainpoolP256r1, OSSL_TLS_GROUP_ID_brainpoolP256r1},
- {NID_brainpoolP384r1, OSSL_TLS_GROUP_ID_brainpoolP384r1},
- {NID_brainpoolP512r1, OSSL_TLS_GROUP_ID_brainpoolP512r1},
- {EVP_PKEY_X25519, OSSL_TLS_GROUP_ID_x25519},
- {EVP_PKEY_X448, OSSL_TLS_GROUP_ID_x448},
- {NID_brainpoolP256r1tls13, OSSL_TLS_GROUP_ID_brainpoolP256r1_tls13},
- {NID_brainpoolP384r1tls13, OSSL_TLS_GROUP_ID_brainpoolP384r1_tls13},
- {NID_brainpoolP512r1tls13, OSSL_TLS_GROUP_ID_brainpoolP512r1_tls13},
- {NID_id_tc26_gost_3410_2012_256_paramSetA, OSSL_TLS_GROUP_ID_gc256A},
- {NID_id_tc26_gost_3410_2012_256_paramSetB, OSSL_TLS_GROUP_ID_gc256B},
- {NID_id_tc26_gost_3410_2012_256_paramSetC, OSSL_TLS_GROUP_ID_gc256C},
- {NID_id_tc26_gost_3410_2012_256_paramSetD, OSSL_TLS_GROUP_ID_gc256D},
- {NID_id_tc26_gost_3410_2012_512_paramSetA, OSSL_TLS_GROUP_ID_gc512A},
- {NID_id_tc26_gost_3410_2012_512_paramSetB, OSSL_TLS_GROUP_ID_gc512B},
- {NID_id_tc26_gost_3410_2012_512_paramSetC, OSSL_TLS_GROUP_ID_gc512C},
- {NID_ffdhe2048, OSSL_TLS_GROUP_ID_ffdhe2048},
- {NID_ffdhe3072, OSSL_TLS_GROUP_ID_ffdhe3072},
- {NID_ffdhe4096, OSSL_TLS_GROUP_ID_ffdhe4096},
- {NID_ffdhe6144, OSSL_TLS_GROUP_ID_ffdhe6144},
- {NID_ffdhe8192, OSSL_TLS_GROUP_ID_ffdhe8192}
+ { NID_sect163k1, OSSL_TLS_GROUP_ID_sect163k1 },
+ { NID_sect163r1, OSSL_TLS_GROUP_ID_sect163r1 },
+ { NID_sect163r2, OSSL_TLS_GROUP_ID_sect163r2 },
+ { NID_sect193r1, OSSL_TLS_GROUP_ID_sect193r1 },
+ { NID_sect193r2, OSSL_TLS_GROUP_ID_sect193r2 },
+ { NID_sect233k1, OSSL_TLS_GROUP_ID_sect233k1 },
+ { NID_sect233r1, OSSL_TLS_GROUP_ID_sect233r1 },
+ { NID_sect239k1, OSSL_TLS_GROUP_ID_sect239k1 },
+ { NID_sect283k1, OSSL_TLS_GROUP_ID_sect283k1 },
+ { NID_sect283r1, OSSL_TLS_GROUP_ID_sect283r1 },
+ { NID_sect409k1, OSSL_TLS_GROUP_ID_sect409k1 },
+ { NID_sect409r1, OSSL_TLS_GROUP_ID_sect409r1 },
+ { NID_sect571k1, OSSL_TLS_GROUP_ID_sect571k1 },
+ { NID_sect571r1, OSSL_TLS_GROUP_ID_sect571r1 },
+ { NID_secp160k1, OSSL_TLS_GROUP_ID_secp160k1 },
+ { NID_secp160r1, OSSL_TLS_GROUP_ID_secp160r1 },
+ { NID_secp160r2, OSSL_TLS_GROUP_ID_secp160r2 },
+ { NID_secp192k1, OSSL_TLS_GROUP_ID_secp192k1 },
+ { NID_X9_62_prime192v1, OSSL_TLS_GROUP_ID_secp192r1 },
+ { NID_secp224k1, OSSL_TLS_GROUP_ID_secp224k1 },
+ { NID_secp224r1, OSSL_TLS_GROUP_ID_secp224r1 },
+ { NID_secp256k1, OSSL_TLS_GROUP_ID_secp256k1 },
+ { NID_X9_62_prime256v1, OSSL_TLS_GROUP_ID_secp256r1 },
+ { NID_secp384r1, OSSL_TLS_GROUP_ID_secp384r1 },
+ { NID_secp521r1, OSSL_TLS_GROUP_ID_secp521r1 },
+ { NID_brainpoolP256r1, OSSL_TLS_GROUP_ID_brainpoolP256r1 },
+ { NID_brainpoolP384r1, OSSL_TLS_GROUP_ID_brainpoolP384r1 },
+ { NID_brainpoolP512r1, OSSL_TLS_GROUP_ID_brainpoolP512r1 },
+ { EVP_PKEY_X25519, OSSL_TLS_GROUP_ID_x25519 },
+ { EVP_PKEY_X448, OSSL_TLS_GROUP_ID_x448 },
+ { NID_brainpoolP256r1tls13, OSSL_TLS_GROUP_ID_brainpoolP256r1_tls13 },
+ { NID_brainpoolP384r1tls13, OSSL_TLS_GROUP_ID_brainpoolP384r1_tls13 },
+ { NID_brainpoolP512r1tls13, OSSL_TLS_GROUP_ID_brainpoolP512r1_tls13 },
+ { NID_id_tc26_gost_3410_2012_256_paramSetA, OSSL_TLS_GROUP_ID_gc256A },
+ { NID_id_tc26_gost_3410_2012_256_paramSetB, OSSL_TLS_GROUP_ID_gc256B },
+ { NID_id_tc26_gost_3410_2012_256_paramSetC, OSSL_TLS_GROUP_ID_gc256C },
+ { NID_id_tc26_gost_3410_2012_256_paramSetD, OSSL_TLS_GROUP_ID_gc256D },
+ { NID_id_tc26_gost_3410_2012_512_paramSetA, OSSL_TLS_GROUP_ID_gc512A },
+ { NID_id_tc26_gost_3410_2012_512_paramSetB, OSSL_TLS_GROUP_ID_gc512B },
+ { NID_id_tc26_gost_3410_2012_512_paramSetC, OSSL_TLS_GROUP_ID_gc512C },
+ { NID_ffdhe2048, OSSL_TLS_GROUP_ID_ffdhe2048 },
+ { NID_ffdhe3072, OSSL_TLS_GROUP_ID_ffdhe3072 },
+ { NID_ffdhe4096, OSSL_TLS_GROUP_ID_ffdhe4096 },
+ { NID_ffdhe6144, OSSL_TLS_GROUP_ID_ffdhe6144 },
+ { NID_ffdhe8192, OSSL_TLS_GROUP_ID_ffdhe8192 }
};
static const unsigned char ecformats_default[] = {
@@ -211,14 +211,14 @@ static const uint16_t suiteb_curves[] = {
/* Group list string of the built-in pseudo group DEFAULT_SUITE_B */
#define SUITE_B_GROUP_NAME "DEFAULT_SUITE_B"
-#define SUITE_B_GROUP_LIST "secp256r1:secp384r1",
+#define SUITE_B_GROUP_LIST "?secp256r1:?secp384r1",
struct provider_ctx_data_st {
SSL_CTX *ctx;
OSSL_PROVIDER *provider;
};
-#define TLS_GROUP_LIST_MALLOC_BLOCK_SIZE 10
+#define TLS_GROUP_LIST_MALLOC_BLOCK_SIZE 10
static OSSL_CALLBACK add_provider_groups;
static int add_provider_groups(const OSSL_PARAM params[], void *data)
{
@@ -236,18 +236,18 @@ static int add_provider_groups(const OSSL_PARAM params[], void *data)
if (ctx->group_list_max_len == 0)
tmp = OPENSSL_malloc(sizeof(TLS_GROUP_INFO)
- * TLS_GROUP_LIST_MALLOC_BLOCK_SIZE);
+ * TLS_GROUP_LIST_MALLOC_BLOCK_SIZE);
else
tmp = OPENSSL_realloc(ctx->group_list,
- (ctx->group_list_max_len
- + TLS_GROUP_LIST_MALLOC_BLOCK_SIZE)
- * sizeof(TLS_GROUP_INFO));
+ (ctx->group_list_max_len
+ + TLS_GROUP_LIST_MALLOC_BLOCK_SIZE)
+ * sizeof(TLS_GROUP_INFO));
if (tmp == NULL)
return 0;
ctx->group_list = tmp;
memset(tmp + ctx->group_list_max_len,
- 0,
- sizeof(TLS_GROUP_INFO) * TLS_GROUP_LIST_MALLOC_BLOCK_SIZE);
+ 0,
+ sizeof(TLS_GROUP_INFO) * TLS_GROUP_LIST_MALLOC_BLOCK_SIZE);
ctx->group_list_max_len += TLS_GROUP_LIST_MALLOC_BLOCK_SIZE;
}
@@ -339,7 +339,7 @@ static int add_provider_groups(const OSSL_PARAM params[], void *data)
EVP_KEYMGMT_free(keymgmt);
}
ERR_pop_to_mark();
- err:
+err:
if (ginf != NULL) {
OPENSSL_free(ginf->tlsname);
OPENSSL_free(ginf->realname);
@@ -356,7 +356,7 @@ static int discover_provider_groups(OSSL_PROVIDER *provider, void *vctx)
pgd.ctx = vctx;
pgd.provider = provider;
return OSSL_PROVIDER_get_capabilities(provider, "TLS-GROUP",
- add_provider_groups, &pgd);
+ add_provider_groups, &pgd);
}
int ssl_load_groups(SSL_CTX *ctx)
@@ -367,7 +367,16 @@ int ssl_load_groups(SSL_CTX *ctx)
return SSL_CTX_set1_groups_list(ctx, TLS_DEFAULT_GROUP_LIST);
}
-#define TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE 10
+static const char *inferred_keytype(const TLS_SIGALG_INFO *sinf)
+{
+ return (sinf->keytype != NULL
+ ? sinf->keytype
+ : (sinf->sig_name != NULL
+ ? sinf->sig_name
+ : sinf->sigalg_name));
+}
+
+#define TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE 10
static OSSL_CALLBACK add_provider_sigalgs;
static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
{
@@ -386,17 +395,17 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
if (ctx->sigalg_list_max_len == 0)
tmp = OPENSSL_malloc(sizeof(TLS_SIGALG_INFO)
- * TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE);
+ * TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE);
else
tmp = OPENSSL_realloc(ctx->sigalg_list,
- (ctx->sigalg_list_max_len
- + TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE)
- * sizeof(TLS_SIGALG_INFO));
+ (ctx->sigalg_list_max_len
+ + TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE)
+ * sizeof(TLS_SIGALG_INFO));
if (tmp == NULL)
return 0;
ctx->sigalg_list = tmp;
memset(tmp + ctx->sigalg_list_max_len, 0,
- sizeof(TLS_SIGALG_INFO) * TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE);
+ sizeof(TLS_SIGALG_INFO) * TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE);
ctx->sigalg_list_max_len += TLS_SIGALG_LIST_MALLOC_BLOCK_SIZE;
}
@@ -424,7 +433,7 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
goto err;
p = OSSL_PARAM_locate_const(params,
- OSSL_CAPABILITY_TLS_SIGALG_CODE_POINT);
+ OSSL_CAPABILITY_TLS_SIGALG_CODE_POINT);
if (p == NULL
|| !OSSL_PARAM_get_uint(p, &code_point)
|| code_point > UINT16_MAX) {
@@ -434,7 +443,7 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
sinf->code_point = (uint16_t)code_point;
p = OSSL_PARAM_locate_const(params,
- OSSL_CAPABILITY_TLS_SIGALG_SECURITY_BITS);
+ OSSL_CAPABILITY_TLS_SIGALG_SECURITY_BITS);
if (p == NULL || !OSSL_PARAM_get_uint(p, &sinf->secbits)) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
goto err;
@@ -538,8 +547,7 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
goto err;
}
/* DTLS version numbers grow downward */
- if ((sinf->maxdtls != 0) && (sinf->maxdtls != -1) &&
- ((sinf->maxdtls > sinf->mindtls))) {
+ if ((sinf->maxdtls != 0) && (sinf->maxdtls != -1) && ((sinf->maxdtls > sinf->mindtls))) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
goto err;
}
@@ -557,16 +565,13 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
goto err;
}
- if ((sinf->maxtls != 0) && (sinf->maxtls != -1) &&
- ((sinf->maxtls < sinf->mintls))) {
+ if ((sinf->maxtls != 0) && (sinf->maxtls != -1) && ((sinf->maxtls < sinf->mintls))) {
ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
goto err;
}
- if ((sinf->mintls != 0) && (sinf->mintls != -1) &&
- ((sinf->mintls > TLS1_3_VERSION)))
+ if ((sinf->mintls != 0) && (sinf->mintls != -1) && ((sinf->mintls > TLS1_3_VERSION)))
sinf->mintls = sinf->maxtls = -1;
- if ((sinf->maxtls != 0) && (sinf->maxtls != -1) &&
- ((sinf->maxtls < TLS1_3_VERSION)))
+ if ((sinf->maxtls != 0) && (sinf->maxtls != -1) && ((sinf->maxtls < TLS1_3_VERSION)))
sinf->mintls = sinf->maxtls = -1;
/* Ignore unusable sigalgs */
@@ -583,11 +588,7 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
*/
ret = 1;
ERR_set_mark();
- keytype = (sinf->keytype != NULL
- ? sinf->keytype
- : (sinf->sig_name != NULL
- ? sinf->sig_name
- : sinf->sigalg_name));
+ keytype = inferred_keytype(sinf);
keymgmt = EVP_KEYMGMT_fetch(ctx->libctx, keytype, ctx->propq);
if (keymgmt != NULL) {
/*
@@ -612,10 +613,9 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
*/
OBJ_create(sinf->sigalg_oid, sinf->sigalg_name, NULL);
/* sanity check: Without successful registration don't use alg */
- if ((OBJ_txt2nid(sinf->sigalg_name) == NID_undef) ||
- (OBJ_nid2obj(OBJ_txt2nid(sinf->sigalg_name)) == NULL)) {
- ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
- goto err;
+ if ((OBJ_txt2nid(sinf->sigalg_name) == NID_undef) || (OBJ_nid2obj(OBJ_txt2nid(sinf->sigalg_name)) == NULL)) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
+ goto err;
}
if (sinf->sig_name != NULL)
OBJ_create(sinf->sig_oid, sinf->sig_name, NULL);
@@ -624,17 +624,17 @@ static int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
if (sinf->hash_name != NULL)
OBJ_create(sinf->hash_oid, sinf->hash_name, NULL);
OBJ_add_sigid(OBJ_txt2nid(sinf->sigalg_name),
- (sinf->hash_name != NULL
- ? OBJ_txt2nid(sinf->hash_name)
- : NID_undef),
- OBJ_txt2nid(keytype));
+ (sinf->hash_name != NULL
+ ? OBJ_txt2nid(sinf->hash_name)
+ : NID_undef),
+ OBJ_txt2nid(keytype));
ctx->sigalg_list_len++;
sinf = NULL;
}
EVP_KEYMGMT_free(keymgmt);
}
ERR_pop_to_mark();
- err:
+err:
if (sinf != NULL) {
OPENSSL_free(sinf->name);
sinf->name = NULL;
@@ -665,7 +665,7 @@ static int discover_provider_sigalgs(OSSL_PROVIDER *provider, void *vctx)
pgd.ctx = vctx;
pgd.provider = provider;
OSSL_PROVIDER_get_capabilities(provider, "TLS-SIGALG",
- add_provider_sigalgs, &pgd);
+ add_provider_sigalgs, &pgd);
/*
* Always OK, even if provider doesn't support the capability:
* Reconsider testing retval when legacy sigalgs are also loaded this way.
@@ -687,8 +687,9 @@ int ssl_load_sigalgs(SSL_CTX *ctx)
ctx->ssl_cert_info = OPENSSL_zalloc(sizeof(lu) * ctx->sigalg_list_len);
if (ctx->ssl_cert_info == NULL)
return 0;
- for(i = 0; i < ctx->sigalg_list_len; i++) {
- ctx->ssl_cert_info[i].nid = OBJ_txt2nid(ctx->sigalg_list[i].sigalg_name);
+ for (i = 0; i < ctx->sigalg_list_len; i++) {
+ const char *keytype = inferred_keytype(&ctx->sigalg_list[i]);
+ ctx->ssl_cert_info[i].pkey_nid = OBJ_txt2nid(keytype);
ctx->ssl_cert_info[i].amask = SSL_aANY;
}
}
@@ -707,7 +708,7 @@ static uint16_t tls1_group_name2id(SSL_CTX *ctx, const char *name)
for (i = 0; i < ctx->group_list_len; i++) {
if (OPENSSL_strcasecmp(ctx->group_list[i].tlsname, name) == 0
- || OPENSSL_strcasecmp(ctx->group_list[i].realname, name) == 0)
+ || OPENSSL_strcasecmp(ctx->group_list[i].realname, name) == 0)
return ctx->group_list[i].group_id;
}
@@ -747,8 +748,7 @@ int tls1_group_id2nid(uint16_t group_id, int include_unknown)
* Return well known Group NIDs - for backwards compatibility. This won't
* work for groups we don't know about.
*/
- for (i = 0; i < OSSL_NELEM(nid_to_group); i++)
- {
+ for (i = 0; i < OSSL_NELEM(nid_to_group); i++) {
if (nid_to_group[i].group_id == group_id)
return nid_to_group[i].nid;
}
@@ -765,8 +765,7 @@ uint16_t tls1_nid2group_id(int nid)
* Return well known Group ids - for backwards compatibility. This won't
* work for groups we don't know about.
*/
- for (i = 0; i < OSSL_NELEM(nid_to_group); i++)
- {
+ for (i = 0; i < OSSL_NELEM(nid_to_group); i++) {
if (nid_to_group[i].nid == nid)
return nid_to_group[i].group_id;
}
@@ -779,7 +778,7 @@ uint16_t tls1_nid2group_id(int nid)
* the number of groups supported.
*/
void tls1_get_supported_groups(SSL_CONNECTION *s, const uint16_t **pgroups,
- size_t *pgroupslen)
+ size_t *pgroupslen)
{
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
@@ -826,7 +825,7 @@ void tls1_get_supported_groups(SSL_CONNECTION *s, const uint16_t **pgroups,
* combination with setting add_only_one = 1 is applied.
*/
void tls1_get_requested_keyshare_groups(SSL_CONNECTION *s, const uint16_t **pgroups,
- size_t *pgroupslen)
+ size_t *pgroupslen)
{
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
@@ -840,7 +839,7 @@ void tls1_get_requested_keyshare_groups(SSL_CONNECTION *s, const uint16_t **pgro
}
void tls1_get_group_tuples(SSL_CONNECTION *s, const size_t **ptuples,
- size_t *ptupleslen)
+ size_t *ptupleslen)
{
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
@@ -854,11 +853,11 @@ void tls1_get_group_tuples(SSL_CONNECTION *s, const size_t **ptuples,
}
int tls_valid_group(SSL_CONNECTION *s, uint16_t group_id,
- int minversion, int maxversion,
- int isec, int *okfortls13)
+ int minversion, int maxversion,
+ int isec, int *okfortls13)
{
const TLS_GROUP_INFO *ginfo = tls1_group_id_lookup(SSL_CONNECTION_GET_CTX(s),
- group_id);
+ group_id);
int ret;
int group_minversion, group_maxversion;
@@ -883,12 +882,12 @@ int tls_valid_group(SSL_CONNECTION *s, uint16_t group_id,
if (!SSL_CONNECTION_IS_DTLS(s)) {
if (ret && okfortls13 != NULL && maxversion == TLS1_3_VERSION)
*okfortls13 = (group_maxversion == 0)
- || (group_maxversion >= TLS1_3_VERSION);
+ || (group_maxversion >= TLS1_3_VERSION);
}
ret &= !isec
- || strcmp(ginfo->algorithm, "EC") == 0
- || strcmp(ginfo->algorithm, "X25519") == 0
- || strcmp(ginfo->algorithm, "X448") == 0;
+ || strcmp(ginfo->algorithm, "EC") == 0
+ || strcmp(ginfo->algorithm, "X25519") == 0
+ || strcmp(ginfo->algorithm, "X448") == 0;
return ret;
}
@@ -897,7 +896,7 @@ int tls_valid_group(SSL_CONNECTION *s, uint16_t group_id,
int tls_group_allowed(SSL_CONNECTION *s, uint16_t group, int op)
{
const TLS_GROUP_INFO *ginfo = tls1_group_id_lookup(SSL_CONNECTION_GET_CTX(s),
- group);
+ group);
unsigned char gtmp[2];
if (ginfo == NULL)
@@ -906,7 +905,7 @@ int tls_group_allowed(SSL_CONNECTION *s, uint16_t group, int op)
gtmp[0] = group >> 8;
gtmp[1] = group & 0xff;
return ssl_security(s, op, ginfo->secbits,
- tls1_group_id2nid(ginfo->group_id, 0), (void *)gtmp);
+ tls1_group_id2nid(ginfo->group_id, 0), (void *)gtmp);
}
/* Return 1 if "id" is in "list" */
@@ -932,7 +931,7 @@ static void free_wrapper(TLS_GROUP_IX *a)
}
static int tls_group_ix_cmp(const TLS_GROUP_IX *const *a,
- const TLS_GROUP_IX *const *b)
+ const TLS_GROUP_IX *const *b)
{
int idcmpab = (*a)->grp->group_id < (*b)->grp->group_id;
int idcmpba = (*b)->grp->group_id < (*a)->grp->group_id;
@@ -947,8 +946,8 @@ static int tls_group_ix_cmp(const TLS_GROUP_IX *const *a,
}
int tls1_get0_implemented_groups(int min_proto_version, int max_proto_version,
- TLS_GROUP_INFO *grps, size_t num, long all,
- STACK_OF(OPENSSL_CSTRING) *out)
+ TLS_GROUP_INFO *grps, size_t num, long all,
+ STACK_OF(OPENSSL_CSTRING) *out)
{
STACK_OF(TLS_GROUP_IX) *collect = NULL;
TLS_GROUP_IX *gix;
@@ -962,7 +961,7 @@ int tls1_get0_implemented_groups(int min_proto_version, int max_proto_version,
return 0;
for (ix = 0; ix < num; ++ix, ++grps) {
if (grps->mintls > 0 && max_proto_version > 0
- && grps->mintls > max_proto_version)
+ && grps->mintls > max_proto_version)
continue;
if (grps->maxtls > 0 && min_proto_version > 0
&& grps->maxtls < min_proto_version)
@@ -990,7 +989,7 @@ int tls1_get0_implemented_groups(int min_proto_version, int max_proto_version,
}
ret = 1;
- end:
+end:
sk_TLS_GROUP_IX_pop_free(collect, free_wrapper);
return ret;
}
@@ -1048,16 +1047,18 @@ uint16_t tls1_shared_group(SSL_CONNECTION *s, int nmatch)
int minversion, maxversion;
if (!tls1_in_list(id, supp, num_supp)
- || !tls_group_allowed(s, id, SSL_SECOP_CURVE_SHARED))
+ || !tls_group_allowed(s, id, SSL_SECOP_CURVE_SHARED))
continue;
inf = tls1_group_id_lookup(ctx, id);
if (!ossl_assert(inf != NULL))
return 0;
minversion = SSL_CONNECTION_IS_DTLS(s)
- ? inf->mindtls : inf->mintls;
+ ? inf->mindtls
+ : inf->mintls;
maxversion = SSL_CONNECTION_IS_DTLS(s)
- ? inf->maxdtls : inf->maxtls;
+ ? inf->maxdtls
+ : inf->maxtls;
if (maxversion == -1)
continue;
if ((minversion != 0 && ssl_version_cmp(s, s->version, minversion) < 0)
@@ -1067,7 +1068,7 @@ uint16_t tls1_shared_group(SSL_CONNECTION *s, int nmatch)
if (nmatch == k)
return id;
- k++;
+ k++;
}
if (nmatch == -1)
return k;
@@ -1076,9 +1077,9 @@ uint16_t tls1_shared_group(SSL_CONNECTION *s, int nmatch)
}
int tls1_set_groups(uint16_t **grpext, size_t *grpextlen,
- uint16_t **ksext, size_t *ksextlen,
- size_t **tplext, size_t *tplextlen,
- int *groups, size_t ngroups)
+ uint16_t **ksext, size_t *ksextlen,
+ size_t **tplext, size_t *tplextlen,
+ int *groups, size_t ngroups)
{
uint16_t *glist = NULL, *kslist = NULL;
size_t *tpllist = NULL;
@@ -1119,7 +1120,13 @@ int tls1_set_groups(uint16_t **grpext, size_t *grpextlen,
OPENSSL_free(*tplext);
*grpext = glist;
*grpextlen = ngroups;
- kslist[0] = glist[0];
+ /*
+ * No * prefix was used, let tls_construct_ctos_key_share choose a key
+ * share. This has the advantage that it will filter unsupported groups
+ * before choosing one, which this function does not do. See also the
+ * comment for tls1_get_requested_keyshare_groups.
+ */
+ kslist[0] = 0;
*ksext = kslist;
*ksextlen = 1;
tpllist[0] = ngroups;
@@ -1143,15 +1150,15 @@ err:
typedef struct {
const char *list_name; /* The name of this pseudo group */
const char *group_string; /* The group string of this pseudo group */
-} default_group_string_st; /* (can include '?', '*'. '-', '/' as needed) */
+} default_group_string_st; /* (can include '?', '*'. '-', '/' as needed) */
/* Built-in pseudo group-names must start with a (D or d) */
static const char *DEFAULT_GROUPNAME_FIRST_CHARACTER = "D";
/* The list of all built-in pseudo-group-name structures */
static const default_group_string_st default_group_strings[] = {
- {DEFAULT_GROUP_NAME, TLS_DEFAULT_GROUP_LIST},
- {SUITE_B_GROUP_NAME, SUITE_B_GROUP_LIST}
+ { DEFAULT_GROUP_NAME, TLS_DEFAULT_GROUP_LIST },
+ { SUITE_B_GROUP_NAME, SUITE_B_GROUP_LIST }
};
/*
@@ -1163,13 +1170,13 @@ typedef struct {
uint16_t groupID;
} name2id_st;
static const name2id_st name2id_arr[] = {
- {"GC256A", OSSL_TLS_GROUP_ID_gc256A },
- {"GC256B", OSSL_TLS_GROUP_ID_gc256B },
- {"GC256C", OSSL_TLS_GROUP_ID_gc256C },
- {"GC256D", OSSL_TLS_GROUP_ID_gc256D },
- {"GC512A", OSSL_TLS_GROUP_ID_gc512A },
- {"GC512B", OSSL_TLS_GROUP_ID_gc512B },
- {"GC512C", OSSL_TLS_GROUP_ID_gc512C },
+ { "GC256A", OSSL_TLS_GROUP_ID_gc256A },
+ { "GC256B", OSSL_TLS_GROUP_ID_gc256B },
+ { "GC256C", OSSL_TLS_GROUP_ID_gc256C },
+ { "GC256D", OSSL_TLS_GROUP_ID_gc256D },
+ { "GC512A", OSSL_TLS_GROUP_ID_gc512A },
+ { "GC512B", OSSL_TLS_GROUP_ID_gc512B },
+ { "GC512C", OSSL_TLS_GROUP_ID_gc512C },
};
/*
@@ -1190,30 +1197,30 @@ static const name2id_st name2id_arr[] = {
*/
#ifndef TUPLE_DELIMITER_CHARACTER
/* The prefix characters to indicate group tuple boundaries */
-# define TUPLE_DELIMITER_CHARACTER '/'
+#define TUPLE_DELIMITER_CHARACTER '/'
#endif
#ifndef GROUP_DELIMITER_CHARACTER
/* The prefix characters to indicate group tuple boundaries */
-# define GROUP_DELIMITER_CHARACTER ':'
+#define GROUP_DELIMITER_CHARACTER ':'
#endif
#ifndef IGNORE_UNKNOWN_GROUP_CHARACTER
/* The prefix character to ignore unknown groups */
-# define IGNORE_UNKNOWN_GROUP_CHARACTER '?'
+#define IGNORE_UNKNOWN_GROUP_CHARACTER '?'
#endif
#ifndef KEY_SHARE_INDICATOR_CHARACTER
/* The prefix character to trigger a key share addition */
-# define KEY_SHARE_INDICATOR_CHARACTER '*'
+#define KEY_SHARE_INDICATOR_CHARACTER '*'
#endif
#ifndef REMOVE_GROUP_INDICATOR_CHARACTER
/* The prefix character to trigger a key share removal */
-# define REMOVE_GROUP_INDICATOR_CHARACTER '-'
+#define REMOVE_GROUP_INDICATOR_CHARACTER '-'
#endif
-static const char prefixes[] = {TUPLE_DELIMITER_CHARACTER,
- GROUP_DELIMITER_CHARACTER,
- IGNORE_UNKNOWN_GROUP_CHARACTER,
- KEY_SHARE_INDICATOR_CHARACTER,
- REMOVE_GROUP_INDICATOR_CHARACTER,
- '\0'};
+static const char prefixes[] = { TUPLE_DELIMITER_CHARACTER,
+ GROUP_DELIMITER_CHARACTER,
+ IGNORE_UNKNOWN_GROUP_CHARACTER,
+ KEY_SHARE_INDICATOR_CHARACTER,
+ REMOVE_GROUP_INDICATOR_CHARACTER,
+ '\0' };
/*
* High-level description of how group strings are analyzed:
@@ -1237,8 +1244,8 @@ typedef struct {
size_t ksidcnt; /* Number of key shares */
uint16_t *ksid_arr; /* The IDs of the key share groups (flat list) */
/* Variable to keep state between execution of callback or helper functions */
- size_t tuple_mode; /* Keeps track whether tuple_cb called from 'the top' or from gid_cb */
- int ignore_unknown_default; /* Flag such that unknown groups for DEFAULT[_XYZ] are ignored */
+ int inner; /* Are we expanding a DEFAULT list */
+ int first; /* First tuple of possibly nested expansion? */
} gid_cb_st;
/* Forward declaration of tuple callback function */
@@ -1257,7 +1264,7 @@ static int gid_cb(const char *elem, int len, void *arg)
int found_group = 0;
char etmp[GROUP_NAME_BUFFER_LENGTH];
int retval = 1; /* We assume success */
- char *current_prefix;
+ const char *current_prefix;
int ignore_unknown = 0;
int add_keyshare = 0;
int remove_group = 0;
@@ -1273,8 +1280,8 @@ static int gid_cb(const char *elem, int len, void *arg)
/* Check the possible prefixes (remark: Leading and trailing spaces already cleared) */
while (continue_while_loop && len > 0
- && ((current_prefix = strchr(prefixes, elem[0])) != NULL
- || OPENSSL_strncasecmp(current_prefix = (char *)DEFAULT_GROUPNAME_FIRST_CHARACTER, elem, 1) == 0)) {
+ && ((current_prefix = strchr(prefixes, elem[0])) != NULL
+ || OPENSSL_strncasecmp(current_prefix = (char *)DEFAULT_GROUPNAME_FIRST_CHARACTER, elem, 1) == 0)) {
switch (*current_prefix) {
case TUPLE_DELIMITER_CHARACTER:
@@ -1313,16 +1320,16 @@ static int gid_cb(const char *elem, int len, void *arg)
for (i = 0; i < OSSL_NELEM(default_group_strings); i++) {
if ((size_t)len == (strlen(default_group_strings[i].list_name))
&& OPENSSL_strncasecmp(default_group_strings[i].list_name, elem, len) == 0) {
+ int saved_first;
+
/*
* We're asked to insert an entire list of groups from a
* DEFAULT[_XYZ] 'pseudo group' which we do by
* recursively calling this function (indirectly via
* CONF_parse_list and tuple_cb); essentially, we treat a DEFAULT
* group string like a tuple which is appended to the current tuple
- * rather then starting a new tuple. Variable tuple_mode is the flag which
- * controls append tuple vs start new tuple.
+ * rather then starting a new tuple.
*/
-
if (ignore_unknown || remove_group)
return -1; /* removal or ignore not allowed here -> syntax error */
@@ -1330,32 +1337,30 @@ static int gid_cb(const char *elem, int len, void *arg)
* First, we restore any keyshare prefix in a new zero-terminated string
* (if not already present)
*/
- restored_default_group_string = OPENSSL_malloc((1 /* max prefix length */ +
- strlen(default_group_strings[i].group_string) +
- 1 /* \0 */) * sizeof(char));
+ restored_default_group_string = OPENSSL_malloc((1 /* max prefix length */ + strlen(default_group_strings[i].group_string) + 1 /* \0 */) * sizeof(char));
if (restored_default_group_string == NULL)
return 0;
if (add_keyshare
/* Remark: we tolerate a duplicated keyshare indicator here */
&& default_group_strings[i].group_string[0]
- != KEY_SHARE_INDICATOR_CHARACTER)
- restored_default_group_string[restored_prefix_index++] =
- KEY_SHARE_INDICATOR_CHARACTER;
+ != KEY_SHARE_INDICATOR_CHARACTER)
+ restored_default_group_string[restored_prefix_index++] = KEY_SHARE_INDICATOR_CHARACTER;
memcpy(restored_default_group_string + restored_prefix_index,
- default_group_strings[i].group_string,
- strlen(default_group_strings[i].group_string));
- restored_default_group_string[strlen(default_group_strings[i].group_string) +
- restored_prefix_index] = '\0';
- /* We execute the recursive call */
- garg->ignore_unknown_default = 1; /* We ignore unknown groups for DEFAULT_XYZ */
- /* we enforce group mode (= append tuple) for DEFAULT_XYZ group lists */
- garg->tuple_mode = 0;
- /* We use the tuple_cb callback to process the pseudo group tuple */
+ default_group_strings[i].group_string,
+ strlen(default_group_strings[i].group_string));
+ restored_default_group_string[strlen(default_group_strings[i].group_string) + restored_prefix_index] = '\0';
+ /*
+ * Append first tuple of result to current tuple, and don't
+ * terminate the last tuple until we return to a top-level
+ * tuple_cb.
+ */
+ saved_first = garg->first;
+ garg->inner = garg->first = 1;
retval = CONF_parse_list(restored_default_group_string,
- TUPLE_DELIMITER_CHARACTER, 1, tuple_cb, garg);
- garg->tuple_mode = 1; /* next call to tuple_cb will again start new tuple */
- garg->ignore_unknown_default = 0; /* reset to original value */
+ TUPLE_DELIMITER_CHARACTER, 1, tuple_cb, garg);
+ garg->inner = 0;
+ garg->first = saved_first;
/* We don't need the \0-terminated string anymore */
OPENSSL_free(restored_default_group_string);
@@ -1375,14 +1380,10 @@ static int gid_cb(const char *elem, int len, void *arg)
if (len == 0)
return -1; /* Seems we have prefxes without a group name -> syntax error */
- if (garg->ignore_unknown_default == 1) /* Always ignore unknown groups for DEFAULT[_XYZ] */
- ignore_unknown = 1;
-
/* Memory management in case more groups are present compared to initial allocation */
if (garg->gidcnt == garg->gidmax) {
- uint16_t *tmp =
- OPENSSL_realloc(garg->gid_arr,
- (garg->gidmax + GROUPLIST_INCREMENT) * sizeof(*garg->gid_arr));
+ uint16_t *tmp = OPENSSL_realloc(garg->gid_arr,
+ (garg->gidmax + GROUPLIST_INCREMENT) * sizeof(*garg->gid_arr));
if (tmp == NULL)
return 0;
@@ -1392,9 +1393,8 @@ static int gid_cb(const char *elem, int len, void *arg)
}
/* Memory management for key share groups */
if (garg->ksidcnt == garg->ksidmax) {
- uint16_t *tmp =
- OPENSSL_realloc(garg->ksid_arr,
- (garg->ksidmax + GROUPLIST_INCREMENT) * sizeof(*garg->ksid_arr));
+ uint16_t *tmp = OPENSSL_realloc(garg->ksid_arr,
+ (garg->ksidmax + GROUPLIST_INCREMENT) * sizeof(*garg->ksid_arr));
if (tmp == NULL)
return 0;
@@ -1513,7 +1513,7 @@ static int gid_cb(const char *elem, int len, void *arg)
/* and update the book keeping for the number of groups in current tuple */
garg->tuplcnt_arr[garg->tplcnt]++;
- /* We memorize if needed that we want to add a key share for the current group */
+ /* We want to add a key share for the current group */
if (add_keyshare)
garg->ksid_arr[garg->ksidcnt++] = gid;
}
@@ -1522,6 +1522,39 @@ done:
return retval;
}
+static int grow_tuples(gid_cb_st *garg)
+{
+ static size_t max_tplcnt = (~(size_t)0) / sizeof(size_t);
+
+ /* This uses OPENSSL_realloc_array() in newer releases */
+ if (garg->tplcnt == garg->tplmax) {
+ size_t newcnt = garg->tplmax + GROUPLIST_INCREMENT;
+ size_t newsz = newcnt * sizeof(size_t);
+ size_t *tmp;
+
+ if (newsz > max_tplcnt
+ || (tmp = OPENSSL_realloc(garg->tuplcnt_arr, newsz)) == NULL)
+ return 0;
+
+ garg->tplmax = newcnt;
+ garg->tuplcnt_arr = tmp;
+ }
+ return 1;
+}
+
+static int close_tuple(gid_cb_st *garg)
+{
+ size_t gidcnt = garg->tuplcnt_arr[garg->tplcnt];
+
+ if (gidcnt == 0)
+ return 1;
+ if (!grow_tuples(garg))
+ return 0;
+
+ garg->tuplcnt_arr[++garg->tplcnt] = 0;
+ return 1;
+}
+
/* Extract and process a tuple of groups */
static int tuple_cb(const char *tuple, int len, void *arg)
{
@@ -1535,17 +1568,9 @@ static int tuple_cb(const char *tuple, int len, void *arg)
return 0;
}
- /* Memory management for tuples */
- if (garg->tplcnt == garg->tplmax) {
- size_t *tmp =
- OPENSSL_realloc(garg->tuplcnt_arr,
- (garg->tplmax + GROUPLIST_INCREMENT) * sizeof(*garg->tuplcnt_arr));
-
- if (tmp == NULL)
- return 0;
- garg->tplmax += GROUPLIST_INCREMENT;
- garg->tuplcnt_arr = tmp;
- }
+ if (garg->inner && !garg->first && !close_tuple(garg))
+ return 0;
+ garg->first = 0;
/* Convert to \0-terminated string */
restored_tuple_string = OPENSSL_malloc((len + 1 /* \0 */) * sizeof(char));
@@ -1560,33 +1585,26 @@ static int tuple_cb(const char *tuple, int len, void *arg)
/* We don't need the \o-terminated string anymore */
OPENSSL_free(restored_tuple_string);
- if (garg->tuplcnt_arr[garg->tplcnt] > 0) { /* Some valid groups are present in current tuple... */
- if (garg->tuple_mode) {
- /* We 'close' the tuple */
- garg->tplcnt++;
- garg->tuplcnt_arr[garg->tplcnt] = 0; /* Next tuple is initialized to be empty */
- garg->tuple_mode = 1; /* next call will start a tuple (unless overridden in gid_cb) */
- }
- }
-
+ if (!garg->inner && !close_tuple(garg))
+ return 0;
return retval;
}
/*
* Set groups and prepare generation of keyshares based on a string of groupnames,
* names separated by the group or the tuple delimiter, with per-group prefixes to
- * (1) add a key share for this group, (2) ignore the group if unkown to the current
+ * (1) add a key share for this group, (2) ignore the group if unknown to the current
* context, (3) delete a previous occurrence of the group in the current tuple.
*
- * The list parsing is done in two hierachical steps: The top-level step extracts the
+ * The list parsing is done in two hierarchical steps: The top-level step extracts the
* string of a tuple using tuple_cb, while the next lower step uses gid_cb to
* parse and process the groups inside a tuple
*/
int tls1_set_groups_list(SSL_CTX *ctx,
- uint16_t **grpext, size_t *grpextlen,
- uint16_t **ksext, size_t *ksextlen,
- size_t **tplext, size_t *tplextlen,
- const char *str)
+ uint16_t **grpext, size_t *grpextlen,
+ uint16_t **ksext, size_t *ksextlen,
+ size_t **tplext, size_t *tplextlen,
+ const char *str)
{
size_t i = 0, j;
int ret = 0, parse_ret = 0;
@@ -1599,8 +1617,6 @@ int tls1_set_groups_list(SSL_CTX *ctx,
}
memset(&gcb, 0, sizeof(gcb));
- gcb.tuple_mode = 1; /* We prepare to collect the first tuple */
- gcb.ignore_unknown_default = 0;
gcb.gidmax = GROUPLIST_INCREMENT;
gcb.tplmax = GROUPLIST_INCREMENT;
gcb.ksidmax = GROUPLIST_INCREMENT;
@@ -1633,12 +1649,12 @@ int tls1_set_groups_list(SSL_CTX *ctx,
goto end;
if (parse_ret == -1) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT,
- "Syntax error in '%s'", str);
+ "Syntax error in '%s'", str);
goto end;
}
/*
- * We check whether a tuple was completly emptied by using "-" prefix
+ * We check whether a tuple was completely emptied by using "-" prefix
* excessively, in which case we remove the tuple
*/
for (i = j = 0; j < gcb.tplcnt; j++) {
@@ -1654,8 +1670,8 @@ int tls1_set_groups_list(SSL_CTX *ctx,
if (gcb.ksidcnt > OPENSSL_CLIENT_MAX_KEY_SHARES) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT,
- "To many keyshares requested in '%s' (max = %d)",
- str, OPENSSL_CLIENT_MAX_KEY_SHARES);
+ "To many keyshares requested in '%s' (max = %d)",
+ str, OPENSSL_CLIENT_MAX_KEY_SHARES);
goto end;
}
@@ -1672,20 +1688,19 @@ int tls1_set_groups_list(SSL_CTX *ctx,
gcb.ksid_arr[0] = 0;
}
- empty_list:
+empty_list:
/*
* A call to tls1_set_groups_list with any of the args (other than ctx) set
* to NULL only does a syntax check, hence we're done here and report success
*/
- if (grpext == NULL || ksext == NULL || tplext == NULL ||
- grpextlen == NULL || ksextlen == NULL || tplextlen == NULL) {
+ if (grpext == NULL || ksext == NULL || tplext == NULL || grpextlen == NULL || ksextlen == NULL || tplextlen == NULL) {
ret = 1;
goto end;
}
/*
* tuple_cb and gid_cb combo ensures there are no duplicates or unknown groups so we
- * can just go ahead and set the results (after diposing the existing)
+ * can just go ahead and set the results (after disposing the existing)
*/
OPENSSL_free(*grpext);
*grpext = gcb.gid_arr;
@@ -1699,7 +1714,7 @@ int tls1_set_groups_list(SSL_CTX *ctx,
return 1;
- end:
+end:
OPENSSL_free(gcb.gid_arr);
OPENSSL_free(gcb.tuplcnt_arr);
OPENSSL_free(gcb.ksid_arr);
@@ -1708,8 +1723,8 @@ int tls1_set_groups_list(SSL_CTX *ctx,
/* Check a group id matches preferences */
int tls1_check_group_id(SSL_CONNECTION *s, uint16_t group_id,
- int check_own_groups)
- {
+ int check_own_groups)
+{
const uint16_t *groups;
size_t groups_len;
@@ -1756,12 +1771,12 @@ int tls1_check_group_id(SSL_CONNECTION *s, uint16_t group_id,
* extension, so groups_len == 0 always means no extension.
*/
if (groups_len == 0)
- return 1;
+ return 1;
return tls1_in_list(group_id, groups, groups_len);
}
void tls1_get_formatlist(SSL_CONNECTION *s, const unsigned char **pformats,
- size_t *num_formats)
+ size_t *num_formats)
{
/*
* If we have a custom point format list use it otherwise use default
@@ -1790,13 +1805,12 @@ static int tls1_check_pkey_comp(SSL_CONNECTION *s, EVP_PKEY *pkey)
if (!EVP_PKEY_is_a(pkey, "EC"))
return 1;
-
/* Get required compression id */
point_conv = EVP_PKEY_get_ec_point_conv_form(pkey);
if (point_conv == 0)
return 0;
if (point_conv == POINT_CONVERSION_UNCOMPRESSED) {
- comp_id = TLSEXT_ECPOINTFORMAT_uncompressed;
+ comp_id = TLSEXT_ECPOINTFORMAT_uncompressed;
} else if (SSL_CONNECTION_IS_TLS13(s)) {
/*
* ec_point_formats extension is not used in TLSv1.3 so we ignore
@@ -1875,7 +1889,7 @@ static int tls1_check_cert_param(SSL_CONNECTION *s, X509 *x, int check_ee_md)
else if (group_id == OSSL_TLS_GROUP_ID_secp384r1)
check_md = NID_ecdsa_with_SHA384;
else
- return 0; /* Should never happen */
+ return 0; /* Should never happen */
for (i = 0; i < s->shared_sigalgslen; i++) {
if (check_md == s->shared_sigalgs[i]->sigandhash)
return 1;
@@ -1959,198 +1973,197 @@ static const uint16_t tls12_sigalgs[] = {
#endif
};
-
static const uint16_t suiteb_sigalgs[] = {
TLSEXT_SIGALG_ecdsa_secp256r1_sha256,
TLSEXT_SIGALG_ecdsa_secp384r1_sha384
};
static const SIGALG_LOOKUP sigalg_lookup_tbl[] = {
- {TLSEXT_SIGALG_ecdsa_secp256r1_sha256_name,
- "ECDSA+SHA256", TLSEXT_SIGALG_ecdsa_secp256r1_sha256,
- NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA256, NID_X9_62_prime256v1, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_ecdsa_secp384r1_sha384_name,
- "ECDSA+SHA384", TLSEXT_SIGALG_ecdsa_secp384r1_sha384,
- NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA384, NID_secp384r1, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_ecdsa_secp521r1_sha512_name,
- "ECDSA+SHA512", TLSEXT_SIGALG_ecdsa_secp521r1_sha512,
- NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA512, NID_secp521r1, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
+ { TLSEXT_SIGALG_ecdsa_secp256r1_sha256_name,
+ "ECDSA+SHA256", TLSEXT_SIGALG_ecdsa_secp256r1_sha256,
+ NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA256, NID_X9_62_prime256v1, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_ecdsa_secp384r1_sha384_name,
+ "ECDSA+SHA384", TLSEXT_SIGALG_ecdsa_secp384r1_sha384,
+ NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA384, NID_secp384r1, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_ecdsa_secp521r1_sha512_name,
+ "ECDSA+SHA512", TLSEXT_SIGALG_ecdsa_secp521r1_sha512,
+ NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA512, NID_secp521r1, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
- {TLSEXT_SIGALG_ed25519_name,
- NULL, TLSEXT_SIGALG_ed25519,
- NID_undef, -1, EVP_PKEY_ED25519, SSL_PKEY_ED25519,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_ed448_name,
- NULL, TLSEXT_SIGALG_ed448,
- NID_undef, -1, EVP_PKEY_ED448, SSL_PKEY_ED448,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
+ { TLSEXT_SIGALG_ed25519_name,
+ NULL, TLSEXT_SIGALG_ed25519,
+ NID_undef, -1, EVP_PKEY_ED25519, SSL_PKEY_ED25519,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_ed448_name,
+ NULL, TLSEXT_SIGALG_ed448,
+ NID_undef, -1, EVP_PKEY_ED448, SSL_PKEY_ED448,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
- {TLSEXT_SIGALG_ecdsa_sha224_name,
- "ECDSA+SHA224", TLSEXT_SIGALG_ecdsa_sha224,
- NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA224, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_ecdsa_sha1_name,
- "ECDSA+SHA1", TLSEXT_SIGALG_ecdsa_sha1,
- NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA1, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
+ { TLSEXT_SIGALG_ecdsa_sha224_name,
+ "ECDSA+SHA224", TLSEXT_SIGALG_ecdsa_sha224,
+ NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA224, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_ecdsa_sha1_name,
+ "ECDSA+SHA1", TLSEXT_SIGALG_ecdsa_sha1,
+ NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA1, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
- {TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_name,
- TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_alias,
- TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256,
- NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA256, NID_brainpoolP256r1, 1, 0,
- TLS1_3_VERSION, 0, -1, -1},
- {TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_name,
- TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_alias,
- TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384,
- NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA384, NID_brainpoolP384r1, 1, 0,
- TLS1_3_VERSION, 0, -1, -1},
- {TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_name,
- TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_alias,
- TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512,
- NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
- NID_ecdsa_with_SHA512, NID_brainpoolP512r1, 1, 0,
- TLS1_3_VERSION, 0, -1, -1},
+ { TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_name,
+ TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_alias,
+ TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256,
+ NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA256, NID_brainpoolP256r1, 1, 0,
+ TLS1_3_VERSION, 0, -1, -1 },
+ { TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_name,
+ TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_alias,
+ TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384,
+ NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA384, NID_brainpoolP384r1, 1, 0,
+ TLS1_3_VERSION, 0, -1, -1 },
+ { TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_name,
+ TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_alias,
+ TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512,
+ NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
+ NID_ecdsa_with_SHA512, NID_brainpoolP512r1, 1, 0,
+ TLS1_3_VERSION, 0, -1, -1 },
- {TLSEXT_SIGALG_rsa_pss_rsae_sha256_name,
- "PSS+SHA256", TLSEXT_SIGALG_rsa_pss_rsae_sha256,
- NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_rsa_pss_rsae_sha384_name,
- "PSS+SHA384", TLSEXT_SIGALG_rsa_pss_rsae_sha384,
- NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_rsa_pss_rsae_sha512_name,
- "PSS+SHA512", TLSEXT_SIGALG_rsa_pss_rsae_sha512,
- NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
+ { TLSEXT_SIGALG_rsa_pss_rsae_sha256_name,
+ "PSS+SHA256", TLSEXT_SIGALG_rsa_pss_rsae_sha256,
+ NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_rsa_pss_rsae_sha384_name,
+ "PSS+SHA384", TLSEXT_SIGALG_rsa_pss_rsae_sha384,
+ NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_rsa_pss_rsae_sha512_name,
+ "PSS+SHA512", TLSEXT_SIGALG_rsa_pss_rsae_sha512,
+ NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
- {TLSEXT_SIGALG_rsa_pss_pss_sha256_name,
- NULL, TLSEXT_SIGALG_rsa_pss_pss_sha256,
- NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA_PSS_SIGN,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_rsa_pss_pss_sha384_name,
- NULL, TLSEXT_SIGALG_rsa_pss_pss_sha384,
- NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA_PSS_SIGN,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_rsa_pss_pss_sha512_name,
- NULL, TLSEXT_SIGALG_rsa_pss_pss_sha512,
- NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA_PSS_SIGN,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
+ { TLSEXT_SIGALG_rsa_pss_pss_sha256_name,
+ NULL, TLSEXT_SIGALG_rsa_pss_pss_sha256,
+ NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA_PSS_SIGN,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_rsa_pss_pss_sha384_name,
+ NULL, TLSEXT_SIGALG_rsa_pss_pss_sha384,
+ NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA_PSS_SIGN,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_rsa_pss_pss_sha512_name,
+ NULL, TLSEXT_SIGALG_rsa_pss_pss_sha512,
+ NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_RSA_PSS, SSL_PKEY_RSA_PSS_SIGN,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
- {TLSEXT_SIGALG_rsa_pkcs1_sha256_name,
- "RSA+SHA256", TLSEXT_SIGALG_rsa_pkcs1_sha256,
- NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
- NID_sha256WithRSAEncryption, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_rsa_pkcs1_sha384_name,
- "RSA+SHA384", TLSEXT_SIGALG_rsa_pkcs1_sha384,
- NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
- NID_sha384WithRSAEncryption, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
- {TLSEXT_SIGALG_rsa_pkcs1_sha512_name,
- "RSA+SHA512", TLSEXT_SIGALG_rsa_pkcs1_sha512,
- NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
- NID_sha512WithRSAEncryption, NID_undef, 1, 0,
- TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0},
+ { TLSEXT_SIGALG_rsa_pkcs1_sha256_name,
+ "RSA+SHA256", TLSEXT_SIGALG_rsa_pkcs1_sha256,
+ NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
+ NID_sha256WithRSAEncryption, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha384_name,
+ "RSA+SHA384", TLSEXT_SIGALG_rsa_pkcs1_sha384,
+ NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
+ NID_sha384WithRSAEncryption, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha512_name,
+ "RSA+SHA512", TLSEXT_SIGALG_rsa_pkcs1_sha512,
+ NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
+ NID_sha512WithRSAEncryption, NID_undef, 1, 0,
+ TLS1_2_VERSION, 0, DTLS1_2_VERSION, 0 },
- {TLSEXT_SIGALG_rsa_pkcs1_sha224_name,
- "RSA+SHA224", TLSEXT_SIGALG_rsa_pkcs1_sha224,
- NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
- NID_sha224WithRSAEncryption, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_rsa_pkcs1_sha1_name,
- "RSA+SHA1", TLSEXT_SIGALG_rsa_pkcs1_sha1,
- NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
- NID_sha1WithRSAEncryption, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
+ { TLSEXT_SIGALG_rsa_pkcs1_sha224_name,
+ "RSA+SHA224", TLSEXT_SIGALG_rsa_pkcs1_sha224,
+ NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
+ NID_sha224WithRSAEncryption, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha1_name,
+ "RSA+SHA1", TLSEXT_SIGALG_rsa_pkcs1_sha1,
+ NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_RSA, SSL_PKEY_RSA,
+ NID_sha1WithRSAEncryption, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
- {TLSEXT_SIGALG_dsa_sha256_name,
- "DSA+SHA256", TLSEXT_SIGALG_dsa_sha256,
- NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
- NID_dsa_with_SHA256, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_dsa_sha384_name,
- "DSA+SHA384", TLSEXT_SIGALG_dsa_sha384,
- NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_dsa_sha512_name,
- "DSA+SHA512", TLSEXT_SIGALG_dsa_sha512,
- NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_dsa_sha224_name,
- "DSA+SHA224", TLSEXT_SIGALG_dsa_sha224,
- NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_dsa_sha1_name,
- "DSA+SHA1", TLSEXT_SIGALG_dsa_sha1,
- NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
- NID_dsaWithSHA1, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
+ { TLSEXT_SIGALG_dsa_sha256_name,
+ "DSA+SHA256", TLSEXT_SIGALG_dsa_sha256,
+ NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
+ NID_dsa_with_SHA256, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_dsa_sha384_name,
+ "DSA+SHA384", TLSEXT_SIGALG_dsa_sha384,
+ NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_dsa_sha512_name,
+ "DSA+SHA512", TLSEXT_SIGALG_dsa_sha512,
+ NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_dsa_sha224_name,
+ "DSA+SHA224", TLSEXT_SIGALG_dsa_sha224,
+ NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_dsa_sha1_name,
+ "DSA+SHA1", TLSEXT_SIGALG_dsa_sha1,
+ NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_DSA, SSL_PKEY_DSA_SIGN,
+ NID_dsaWithSHA1, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
#ifndef OPENSSL_NO_GOST
- {TLSEXT_SIGALG_gostr34102012_256_intrinsic_alias, /* RFC9189 */
- TLSEXT_SIGALG_gostr34102012_256_intrinsic_name,
- TLSEXT_SIGALG_gostr34102012_256_intrinsic,
- NID_id_GostR3411_2012_256, SSL_MD_GOST12_256_IDX,
- NID_id_GostR3410_2012_256, SSL_PKEY_GOST12_256,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_gostr34102012_256_intrinsic_alias, /* RFC9189 */
- TLSEXT_SIGALG_gostr34102012_256_intrinsic_name,
- TLSEXT_SIGALG_gostr34102012_512_intrinsic,
- NID_id_GostR3411_2012_512, SSL_MD_GOST12_512_IDX,
- NID_id_GostR3410_2012_512, SSL_PKEY_GOST12_512,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
+ { TLSEXT_SIGALG_gostr34102012_256_intrinsic_alias, /* RFC9189 */
+ TLSEXT_SIGALG_gostr34102012_256_intrinsic_name,
+ TLSEXT_SIGALG_gostr34102012_256_intrinsic,
+ NID_id_GostR3411_2012_256, SSL_MD_GOST12_256_IDX,
+ NID_id_GostR3410_2012_256, SSL_PKEY_GOST12_256,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_gostr34102012_256_intrinsic_alias, /* RFC9189 */
+ TLSEXT_SIGALG_gostr34102012_256_intrinsic_name,
+ TLSEXT_SIGALG_gostr34102012_512_intrinsic,
+ NID_id_GostR3411_2012_512, SSL_MD_GOST12_512_IDX,
+ NID_id_GostR3410_2012_512, SSL_PKEY_GOST12_512,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
- {TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256_name,
- NULL, TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256,
- NID_id_GostR3411_2012_256, SSL_MD_GOST12_256_IDX,
- NID_id_GostR3410_2012_256, SSL_PKEY_GOST12_256,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512_name,
- NULL, TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512,
- NID_id_GostR3411_2012_512, SSL_MD_GOST12_512_IDX,
- NID_id_GostR3410_2012_512, SSL_PKEY_GOST12_512,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
- {TLSEXT_SIGALG_gostr34102001_gostr3411_name,
- NULL, TLSEXT_SIGALG_gostr34102001_gostr3411,
- NID_id_GostR3411_94, SSL_MD_GOST94_IDX,
- NID_id_GostR3410_2001, SSL_PKEY_GOST01,
- NID_undef, NID_undef, 1, 0,
- TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION},
+ { TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256_name,
+ NULL, TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256,
+ NID_id_GostR3411_2012_256, SSL_MD_GOST12_256_IDX,
+ NID_id_GostR3410_2012_256, SSL_PKEY_GOST12_256,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512_name,
+ NULL, TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512,
+ NID_id_GostR3411_2012_512, SSL_MD_GOST12_512_IDX,
+ NID_id_GostR3410_2012_512, SSL_PKEY_GOST12_512,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
+ { TLSEXT_SIGALG_gostr34102001_gostr3411_name,
+ NULL, TLSEXT_SIGALG_gostr34102001_gostr3411,
+ NID_id_GostR3411_94, SSL_MD_GOST94_IDX,
+ NID_id_GostR3410_2001, SSL_PKEY_GOST01,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_2_VERSION, TLS1_2_VERSION, DTLS1_2_VERSION, DTLS1_2_VERSION },
#endif
};
/* Legacy sigalgs for TLS < 1.2 RSA TLS signatures */
static const SIGALG_LOOKUP legacy_rsa_sigalg = {
"rsa_pkcs1_md5_sha1", NULL, 0,
- NID_md5_sha1, SSL_MD_MD5_SHA1_IDX,
- EVP_PKEY_RSA, SSL_PKEY_RSA,
- NID_undef, NID_undef, 1, 0,
- TLS1_VERSION, TLS1_2_VERSION, DTLS1_VERSION, DTLS1_2_VERSION
+ NID_md5_sha1, SSL_MD_MD5_SHA1_IDX,
+ EVP_PKEY_RSA, SSL_PKEY_RSA,
+ NID_undef, NID_undef, 1, 0,
+ TLS1_VERSION, TLS1_2_VERSION, DTLS1_VERSION, DTLS1_2_VERSION
};
/*
@@ -2197,7 +2210,7 @@ int ssl_setup_sigalgs(SSL_CTX *ctx)
ERR_set_mark();
/* First fill cache and tls12_sigalgs list from legacy algorithm list */
for (i = 0, lu = sigalg_lookup_tbl;
- i < OSSL_NELEM(sigalg_lookup_tbl); lu++, i++) {
+ i < OSSL_NELEM(sigalg_lookup_tbl); lu++, i++) {
EVP_PKEY_CTX *pctx;
cache[i] = *lu;
@@ -2211,7 +2224,7 @@ int ssl_setup_sigalgs(SSL_CTX *ctx)
* independently - but not as a combination. We ignore this for now.
*/
if (lu->hash != NID_undef
- && ctx->ssl_digest_methods[lu->hash_idx] == NULL) {
+ && ctx->ssl_digest_methods[lu->hash_idx] == NULL) {
cache[i].available = 0;
continue;
}
@@ -2235,7 +2248,7 @@ int ssl_setup_sigalgs(SSL_CTX *ctx)
cache[cache_idx].name12 = si.sigalg_name;
cache[cache_idx].sigalg = si.code_point;
tls12_sigalgs_list[cache_idx] = si.code_point;
- cache[cache_idx].hash = si.hash_name?OBJ_txt2nid(si.hash_name):NID_undef;
+ cache[cache_idx].hash = si.hash_name ? OBJ_txt2nid(si.hash_name) : NID_undef;
cache[cache_idx].hash_idx = ssl_get_md_idx(cache[cache_idx].hash);
cache[cache_idx].sig = OBJ_txt2nid(si.sigalg_name);
cache[cache_idx].sig_idx = i + SSL_PKEY_NUM;
@@ -2285,7 +2298,7 @@ int ssl_setup_sigalgs(SSL_CTX *ctx)
tls12_sigalgs_list = NULL;
ret = 1;
- err:
+err:
OPENSSL_free(cache);
OPENSSL_free(tls12_sigalgs_list);
EVP_PKEY_free(tmpkey);
@@ -2308,7 +2321,7 @@ char *SSL_get1_builtin_sigalgs(OSSL_LIB_CTX *libctx)
retval[0] = (char)0;
for (i = 0, lu = sigalg_lookup_tbl;
- i < OSSL_NELEM(sigalg_lookup_tbl); lu++, i++) {
+ i < OSSL_NELEM(sigalg_lookup_tbl); lu++, i++) {
EVP_PKEY_CTX *pctx;
int enabled = 1;
@@ -2369,7 +2382,7 @@ char *SSL_get1_builtin_sigalgs(OSSL_LIB_CTX *libctx)
/* Lookup TLS signature algorithm */
static const SIGALG_LOOKUP *tls1_lookup_sigalg(const SSL_CTX *ctx,
- uint16_t sigalg)
+ uint16_t sigalg)
{
size_t i;
const SIGALG_LOOKUP *lu = ctx->sigalg_lookup_cache;
@@ -2413,7 +2426,7 @@ int tls1_lookup_md(SSL_CTX *ctx, const SIGALG_LOOKUP *lu, const EVP_MD **pmd)
*/
#define RSA_PSS_MINIMUM_KEY_SIZE(md) (2 * EVP_MD_get_size(md) + 2)
static int rsa_pss_check_min_key_size(SSL_CTX *ctx, const EVP_PKEY *pkey,
- const SIGALG_LOOKUP *lu)
+ const SIGALG_LOOKUP *lu)
{
const EVP_MD *md;
@@ -2436,7 +2449,7 @@ static int rsa_pss_check_min_key_size(SSL_CTX *ctx, const EVP_PKEY *pkey,
* Returns the signature algorithm to use, or NULL on error.
*/
static const SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL_CONNECTION *s,
- int idx)
+ int idx)
{
if (idx == -1) {
if (s->server) {
@@ -2462,7 +2475,7 @@ static const SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL_CONNECTION *s,
int real_idx;
for (real_idx = SSL_PKEY_GOST12_512; real_idx >= SSL_PKEY_GOST01;
- real_idx--) {
+ real_idx--) {
if (s->cert->pkeys[real_idx].privatekey != NULL) {
idx = real_idx;
break;
@@ -2477,11 +2490,11 @@ static const SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL_CONNECTION *s,
int real_idx;
for (real_idx = SSL_PKEY_GOST12_512; real_idx >= SSL_PKEY_GOST12_256;
- real_idx--) {
- if (s->cert->pkeys[real_idx].privatekey != NULL) {
- idx = real_idx;
- break;
- }
+ real_idx--) {
+ if (s->cert->pkeys[real_idx].privatekey != NULL) {
+ idx = real_idx;
+ break;
+ }
}
}
} else {
@@ -2492,9 +2505,8 @@ static const SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL_CONNECTION *s,
return NULL;
if (SSL_USE_SIGALGS(s) || idx != SSL_PKEY_RSA) {
- const SIGALG_LOOKUP *lu =
- tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s),
- tls_default_sigalg[idx]);
+ const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s),
+ tls_default_sigalg[idx]);
if (lu == NULL)
return NULL;
@@ -2565,8 +2577,8 @@ size_t tls12_get_psigalgs(SSL_CONNECTION *s, int sent, const uint16_t **psigs)
*/
int tls_check_sigalg_curve(const SSL_CONNECTION *s, int curve)
{
- const uint16_t *sigs;
- size_t siglen, i;
+ const uint16_t *sigs;
+ size_t siglen, i;
if (s->cert->conf_sigalgs) {
sigs = s->cert->conf_sigalgs;
@@ -2577,14 +2589,13 @@ int tls_check_sigalg_curve(const SSL_CONNECTION *s, int curve)
}
for (i = 0; i < siglen; i++) {
- const SIGALG_LOOKUP *lu =
- tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), sigs[i]);
+ const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), sigs[i]);
if (lu == NULL)
continue;
if (lu->sig == EVP_PKEY_EC
- && lu->curve != NID_undef
- && curve == lu->curve)
+ && lu->curve != NID_undef
+ && curve == lu->curve)
return 1;
}
@@ -2602,8 +2613,7 @@ static int sigalg_security_bits(SSL_CTX *ctx, const SIGALG_LOOKUP *lu)
if (!tls1_lookup_md(ctx, lu, &md))
return 0;
- if (md != NULL)
- {
+ if (md != NULL) {
int md_type = EVP_MD_get_type(md);
/* Security bits: half digest bits */
@@ -2638,7 +2648,7 @@ static int sigalg_security_bits(SSL_CTX *ctx, const SIGALG_LOOKUP *lu)
* in the (provider-loaded) sigalg_list structure
*/
if ((secbits == 0) && (lu->sig_idx >= SSL_PKEY_NUM)
- && ((lu->sig_idx - SSL_PKEY_NUM) < (int)ctx->sigalg_list_len)) {
+ && ((lu->sig_idx - SSL_PKEY_NUM) < (int)ctx->sigalg_list_len)) {
secbits = ctx->sigalg_list[lu->sig_idx - SSL_PKEY_NUM].secbits;
}
return secbits;
@@ -2716,9 +2726,16 @@ int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY *pkey)
return 0;
}
- /* if this sigalg is loaded, set so far unknown pkeyid to its sig NID */
- if (pkeyid == EVP_PKEY_KEYMGMT)
- pkeyid = lu->sig;
+ /* If we don't know the pkey nid yet go and find it */
+ if (pkeyid == EVP_PKEY_KEYMGMT) {
+ const SSL_CERT_LOOKUP *scl = ssl_cert_lookup_by_pkey(pkey, NULL, SSL_CONNECTION_GET_CTX(s));
+
+ if (scl == NULL) {
+ SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_WRONG_SIGNATURE_TYPE);
+ return 0;
+ }
+ pkeyid = scl->pkey_nid;
+ }
/* Should never happen */
if (pkeyid == -1) {
@@ -2733,15 +2750,15 @@ int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY *pkey)
if ((SSL_CONNECTION_IS_TLS13(s)
&& (lu->hash == NID_sha1 || lu->hash == NID_sha224))
|| (pkeyid != lu->sig
- && (lu->sig != EVP_PKEY_RSA_PSS || pkeyid != EVP_PKEY_RSA))) {
+ && (lu->sig != EVP_PKEY_RSA_PSS || pkeyid != EVP_PKEY_RSA))) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_WRONG_SIGNATURE_TYPE);
return 0;
}
/* Check the sigalg is consistent with the key OID */
if (!ssl_cert_lookup_by_nid(
- (pkeyid == EVP_PKEY_RSA_PSS) ? EVP_PKEY_get_id(pkey) : pkeyid,
- &cidx, SSL_CONNECTION_GET_CTX(s))
- || lu->sig_idx != (int)cidx) {
+ (pkeyid == EVP_PKEY_RSA_PSS) ? EVP_PKEY_get_id(pkey) : pkeyid,
+ &cidx, SSL_CONNECTION_GET_CTX(s))
+ || lu->sig_idx != (int)cidx) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_WRONG_SIGNATURE_TYPE);
return 0;
}
@@ -2751,7 +2768,7 @@ int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY *pkey)
/* Check point compression is permitted */
if (!tls1_check_pkey_comp(s, pkey)) {
SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER,
- SSL_R_ILLEGAL_POINT_COMPRESSION);
+ SSL_R_ILLEGAL_POINT_COMPRESSION);
return 0;
}
@@ -2775,7 +2792,7 @@ int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY *pkey)
if (sig != TLSEXT_SIGALG_ecdsa_secp256r1_sha256
&& sig != TLSEXT_SIGALG_ecdsa_secp384r1_sha384) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_WRONG_SIGNATURE_TYPE);
+ SSL_R_WRONG_SIGNATURE_TYPE);
return 0;
}
}
@@ -2792,8 +2809,7 @@ int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY *pkey)
break;
}
/* Allow fallback to SHA1 if not strict mode */
- if (i == sent_sigslen && (lu->hash != NID_sha1
- || s->cert->cert_flags & SSL_CERT_FLAGS_CHECK_TLS_STRICT)) {
+ if (i == sent_sigslen && (lu->hash != NID_sha1 || s->cert->cert_flags & SSL_CERT_FLAGS_CHECK_TLS_STRICT)) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_WRONG_SIGNATURE_TYPE);
return 0;
}
@@ -2808,10 +2824,7 @@ int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY *pkey)
sigalgstr[0] = (sig >> 8) & 0xff;
sigalgstr[1] = sig & 0xff;
secbits = sigalg_security_bits(SSL_CONNECTION_GET_CTX(s), lu);
- if (secbits == 0 ||
- !ssl_security(s, SSL_SECOP_SIGALG_CHECK, secbits,
- md != NULL ? EVP_MD_get_type(md) : NID_undef,
- (void *)sigalgstr)) {
+ if (secbits == 0 || !ssl_security(s, SSL_SECOP_SIGALG_CHECK, secbits, md != NULL ? EVP_MD_get_type(md) : NID_undef, (void *)sigalgstr)) {
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_WRONG_SIGNATURE_TYPE);
return 0;
}
@@ -2862,7 +2875,8 @@ int ssl_set_client_disabled(SSL_CONNECTION *s)
s->s3.tmp.mask_k = 0;
ssl_set_sig_mask(&s->s3.tmp.mask_a, s, SSL_SECOP_SIGALG_MASK);
if (ssl_get_min_max_version(s, &s->s3.tmp.min_ver,
- &s->s3.tmp.max_ver, NULL) != 0)
+ &s->s3.tmp.max_ver, NULL)
+ != 0)
return 0;
#ifndef OPENSSL_NO_PSK
/* with PSK there must be client callback set */
@@ -2870,7 +2884,7 @@ int ssl_set_client_disabled(SSL_CONNECTION *s)
s->s3.tmp.mask_a |= SSL_aPSK;
s->s3.tmp.mask_k |= SSL_PSK;
}
-#endif /* OPENSSL_NO_PSK */
+#endif /* OPENSSL_NO_PSK */
#ifndef OPENSSL_NO_SRP
if (!(s->srp_ctx.srp_Mask & SSL_kSRP)) {
s->s3.tmp.mask_a |= SSL_aSRP;
@@ -2890,7 +2904,7 @@ int ssl_set_client_disabled(SSL_CONNECTION *s)
* Returns 1 when it's disabled, 0 when enabled.
*/
int ssl_cipher_disabled(const SSL_CONNECTION *s, const SSL_CIPHER *c,
- int op, int ecdhe)
+ int op, int ecdhe)
{
int minversion = SSL_CONNECTION_IS_DTLS(s) ? c->min_dtls : c->min_tls;
int maxversion = SSL_CONNECTION_IS_DTLS(s) ? c->max_dtls : c->max_tls;
@@ -2917,8 +2931,8 @@ int ssl_cipher_disabled(const SSL_CONNECTION *s, const SSL_CIPHER *c,
* in SSLv3 if we are a client
*/
if (minversion == TLS1_VERSION
- && ecdhe
- && (c->algorithm_mkey & (SSL_kECDHE | SSL_kECDHEPSK)) != 0)
+ && ecdhe
+ && (c->algorithm_mkey & (SSL_kECDHE | SSL_kECDHEPSK)) != 0)
minversion = SSL3_VERSION;
if (ssl_version_cmp(s, minversion, s->s3.tmp.max_ver) > 0
@@ -2956,7 +2970,7 @@ int tls1_set_server_sigalgs(SSL_CONNECTION *s)
* the default algorithm for each certificate type
*/
if (s->s3.tmp.peer_cert_sigalgs == NULL
- && s->s3.tmp.peer_sigalgs == NULL) {
+ && s->s3.tmp.peer_sigalgs == NULL) {
const uint16_t *sent_sigs;
size_t sent_sigslen = tls12_get_psigalgs(s, 1, &sent_sigs);
@@ -2969,8 +2983,8 @@ int tls1_set_server_sigalgs(SSL_CONNECTION *s)
/* Check default matches a type we sent */
for (j = 0; j < sent_sigslen; j++) {
if (lu->sigalg == sent_sigs[j]) {
- s->s3.tmp.valid_flags[i] = CERT_PKEY_SIGN;
- break;
+ s->s3.tmp.valid_flags[i] = CERT_PKEY_SIGN;
+ break;
}
}
}
@@ -2986,7 +3000,7 @@ int tls1_set_server_sigalgs(SSL_CONNECTION *s)
/* Fatal error if no shared signature algorithms */
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS);
+ SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS);
return 0;
}
@@ -2998,8 +3012,8 @@ int tls1_set_server_sigalgs(SSL_CONNECTION *s)
* point to the resulting session.
*/
SSL_TICKET_STATUS tls_get_ticket_from_client(SSL_CONNECTION *s,
- CLIENTHELLO_MSG *hello,
- SSL_SESSION **ret)
+ CLIENTHELLO_MSG *hello,
+ SSL_SESSION **ret)
{
size_t size;
RAW_EXTENSION *ticketext;
@@ -3022,7 +3036,7 @@ SSL_TICKET_STATUS tls_get_ticket_from_client(SSL_CONNECTION *s,
size = PACKET_remaining(&ticketext->data);
return tls_decrypt_ticket(s, PACKET_data(&ticketext->data), size,
- hello->session_id, hello->session_id_len, ret);
+ hello->session_id, hello->session_id_len, ret);
}
/*-
@@ -3049,10 +3063,10 @@ SSL_TICKET_STATUS tls_get_ticket_from_client(SSL_CONNECTION *s,
* point to the resulting session.
*/
SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
- const unsigned char *etick,
- size_t eticklen,
- const unsigned char *sess_id,
- size_t sesslen, SSL_SESSION **psess)
+ const unsigned char *etick,
+ size_t eticklen,
+ const unsigned char *sess_id,
+ size_t sesslen, SSL_SESSION **psess)
{
SSL_SESSION *sess = NULL;
unsigned char *sdec;
@@ -3113,17 +3127,17 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
if (tctx->ext.ticket_key_evp_cb != NULL)
rv = tctx->ext.ticket_key_evp_cb(SSL_CONNECTION_GET_USER_SSL(s),
- nctick,
- nctick + TLSEXT_KEYNAME_LENGTH,
- ctx,
- ssl_hmac_get0_EVP_MAC_CTX(hctx),
- 0);
+ nctick,
+ nctick + TLSEXT_KEYNAME_LENGTH,
+ ctx,
+ ssl_hmac_get0_EVP_MAC_CTX(hctx),
+ 0);
#ifndef OPENSSL_NO_DEPRECATED_3_0
else if (tctx->ext.ticket_key_cb != NULL)
/* if 0 is returned, write an empty ticket */
rv = tctx->ext.ticket_key_cb(SSL_CONNECTION_GET_USER_SSL(s), nctick,
- nctick + TLSEXT_KEYNAME_LENGTH,
- ctx, ssl_hmac_get0_HMAC_CTX(hctx), 0);
+ nctick + TLSEXT_KEYNAME_LENGTH,
+ ctx, ssl_hmac_get0_HMAC_CTX(hctx), 0);
#endif
if (rv < 0) {
ret = SSL_TICKET_FATAL_ERR_OTHER;
@@ -3140,20 +3154,23 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
/* Check key name matches */
if (memcmp(etick, tctx->ext.tick_key_name,
- TLSEXT_KEYNAME_LENGTH) != 0) {
+ TLSEXT_KEYNAME_LENGTH)
+ != 0) {
ret = SSL_TICKET_NO_DECRYPT;
goto end;
}
aes256cbc = EVP_CIPHER_fetch(sctx->libctx, "AES-256-CBC",
- sctx->propq);
+ sctx->propq);
if (aes256cbc == NULL
|| ssl_hmac_init(hctx, tctx->ext.secure->tick_hmac_key,
- sizeof(tctx->ext.secure->tick_hmac_key),
- "SHA256") <= 0
+ sizeof(tctx->ext.secure->tick_hmac_key),
+ "SHA256")
+ <= 0
|| EVP_DecryptInit_ex(ctx, aes256cbc, NULL,
- tctx->ext.secure->tick_aes_key,
- etick + TLSEXT_KEYNAME_LENGTH) <= 0) {
+ tctx->ext.secure->tick_aes_key,
+ etick + TLSEXT_KEYNAME_LENGTH)
+ <= 0) {
EVP_CIPHER_free(aes256cbc);
ret = SSL_TICKET_FATAL_ERR_OTHER;
goto end;
@@ -3200,8 +3217,7 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
p = etick + TLSEXT_KEYNAME_LENGTH + ivlen;
eticklen -= TLSEXT_KEYNAME_LENGTH + ivlen;
sdec = OPENSSL_malloc(eticklen);
- if (sdec == NULL || EVP_DecryptUpdate(ctx, sdec, &slen, p,
- (int)eticklen) <= 0) {
+ if (sdec == NULL || EVP_DecryptUpdate(ctx, sdec, &slen, p, (int)eticklen) <= 0) {
OPENSSL_free(sdec);
ret = SSL_TICKET_FATAL_ERR_OTHER;
goto end;
@@ -3247,7 +3263,7 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
*/
ret = SSL_TICKET_NO_DECRYPT;
- end:
+end:
EVP_CIPHER_CTX_free(ctx);
ssl_hmac_free(hctx);
@@ -3257,19 +3273,19 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
* performs any action
*/
if (s->session_ctx->decrypt_ticket_cb != NULL
- && (ret == SSL_TICKET_EMPTY
- || ret == SSL_TICKET_NO_DECRYPT
- || ret == SSL_TICKET_SUCCESS
- || ret == SSL_TICKET_SUCCESS_RENEW)) {
+ && (ret == SSL_TICKET_EMPTY
+ || ret == SSL_TICKET_NO_DECRYPT
+ || ret == SSL_TICKET_SUCCESS
+ || ret == SSL_TICKET_SUCCESS_RENEW)) {
size_t keyname_len = eticklen;
int retcb;
if (keyname_len > TLSEXT_KEYNAME_LENGTH)
keyname_len = TLSEXT_KEYNAME_LENGTH;
retcb = s->session_ctx->decrypt_ticket_cb(SSL_CONNECTION_GET_SSL(s),
- sess, etick, keyname_len,
- ret,
- s->session_ctx->ticket_cb_data);
+ sess, etick, keyname_len,
+ ret,
+ s->session_ctx->ticket_cb_data);
switch (retcb) {
case SSL_TICKET_RETURN_ABORT:
ret = SSL_TICKET_FATAL_ERR_OTHER;
@@ -3292,7 +3308,7 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
case SSL_TICKET_RETURN_USE:
case SSL_TICKET_RETURN_USE_RENEW:
if (ret != SSL_TICKET_SUCCESS
- && ret != SSL_TICKET_SUCCESS_RENEW)
+ && ret != SSL_TICKET_SUCCESS_RENEW)
ret = SSL_TICKET_FATAL_ERR_OTHER;
else if (retcb == SSL_TICKET_RETURN_USE)
ret = SSL_TICKET_SUCCESS;
@@ -3321,7 +3337,7 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,
/* Check to see if a signature algorithm is allowed */
static int tls12_sigalg_allowed(const SSL_CONNECTION *s, int op,
- const SIGALG_LOOKUP *lu)
+ const SIGALG_LOOKUP *lu)
{
unsigned char sigalgstr[2];
int secbits;
@@ -3347,14 +3363,14 @@ static int tls12_sigalg_allowed(const SSL_CONNECTION *s, int op,
return 0;
if (lu->sig == NID_id_GostR3410_2012_256
- || lu->sig == NID_id_GostR3410_2012_512
- || lu->sig == NID_id_GostR3410_2001) {
+ || lu->sig == NID_id_GostR3410_2012_512
+ || lu->sig == NID_id_GostR3410_2001) {
/* We never allow GOST sig algs on the server with TLSv1.3 */
if (s->server && SSL_CONNECTION_IS_TLS13(s))
return 0;
if (!s->server
- && SSL_CONNECTION_GET_SSL(s)->method->version == TLS_ANY_VERSION
- && s->s3.tmp.max_ver >= TLS1_3_VERSION) {
+ && SSL_CONNECTION_GET_SSL(s)->method->version == TLS_ANY_VERSION
+ && s->s3.tmp.max_ver >= TLS1_3_VERSION) {
int i, num;
STACK_OF(SSL_CIPHER) *sk;
@@ -3409,35 +3425,33 @@ void ssl_set_sig_mask(uint32_t *pmask_a, SSL_CONNECTION *s, int op)
*/
sigalgslen = tls12_get_psigalgs(s, 1, &sigalgs);
for (i = 0; i < sigalgslen; i++, sigalgs++) {
- const SIGALG_LOOKUP *lu =
- tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *sigalgs);
+ const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *sigalgs);
const SSL_CERT_LOOKUP *clu;
if (lu == NULL)
continue;
clu = ssl_cert_lookup_by_idx(lu->sig_idx,
- SSL_CONNECTION_GET_CTX(s));
+ SSL_CONNECTION_GET_CTX(s));
if (clu == NULL)
- continue;
+ continue;
/* If algorithm is disabled see if we can enable it */
if ((clu->amask & disabled_mask) != 0
- && tls12_sigalg_allowed(s, op, lu))
+ && tls12_sigalg_allowed(s, op, lu))
disabled_mask &= ~clu->amask;
}
*pmask_a |= disabled_mask;
}
int tls12_copy_sigalgs(SSL_CONNECTION *s, WPACKET *pkt,
- const uint16_t *psig, size_t psiglen)
+ const uint16_t *psig, size_t psiglen)
{
size_t i;
int rv = 0;
for (i = 0; i < psiglen; i++, psig++) {
- const SIGALG_LOOKUP *lu =
- tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *psig);
+ const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *psig);
if (lu == NULL || !tls_sigalg_compat(s, lu))
continue;
@@ -3447,10 +3461,7 @@ int tls12_copy_sigalgs(SSL_CONNECTION *s, WPACKET *pkt,
* If TLS 1.3 must have at least one valid TLS 1.3 message
* signing algorithm: i.e. neither RSA nor SHA1/SHA224
*/
- if (rv == 0 && (!SSL_CONNECTION_IS_TLS13(s)
- || (lu->sig != EVP_PKEY_RSA
- && lu->hash != NID_sha1
- && lu->hash != NID_sha224)))
+ if (rv == 0 && (!SSL_CONNECTION_IS_TLS13(s) || (lu->sig != EVP_PKEY_RSA && lu->hash != NID_sha1 && lu->hash != NID_sha224)))
rv = 1;
}
if (rv == 0)
@@ -3460,19 +3471,18 @@ int tls12_copy_sigalgs(SSL_CONNECTION *s, WPACKET *pkt,
/* Given preference and allowed sigalgs set shared sigalgs */
static size_t tls12_shared_sigalgs(SSL_CONNECTION *s,
- const SIGALG_LOOKUP **shsig,
- const uint16_t *pref, size_t preflen,
- const uint16_t *allow, size_t allowlen)
+ const SIGALG_LOOKUP **shsig,
+ const uint16_t *pref, size_t preflen,
+ const uint16_t *allow, size_t allowlen)
{
const uint16_t *ptmp, *atmp;
size_t i, j, nmatch = 0;
for (i = 0, ptmp = pref; i < preflen; i++, ptmp++) {
- const SIGALG_LOOKUP *lu =
- tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *ptmp);
+ const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *ptmp);
/* Skip disabled hashes or signature algorithms */
if (lu == NULL
- || !tls12_sigalg_allowed(s, SSL_SECOP_SIGALG_SHARED, lu))
+ || !tls12_sigalg_allowed(s, SSL_SECOP_SIGALG_SHARED, lu))
continue;
for (j = 0, atmp = allow; j < allowlen; j++, atmp++) {
if (*ptmp == *atmp) {
@@ -3574,11 +3584,10 @@ int tls1_save_sigalgs(SSL_CONNECTION *s, PACKET *pkt, int cert)
if (cert)
return tls1_save_u16(pkt, &s->s3.tmp.peer_cert_sigalgs,
- &s->s3.tmp.peer_cert_sigalgslen);
+ &s->s3.tmp.peer_cert_sigalgslen);
else
return tls1_save_u16(pkt, &s->s3.tmp.peer_sigalgs,
- &s->s3.tmp.peer_sigalgslen);
-
+ &s->s3.tmp.peer_sigalgslen);
}
/* Set preferred digest for each key type */
@@ -3610,8 +3619,8 @@ int tls1_process_sigalgs(SSL_CONNECTION *s)
}
int SSL_get_sigalgs(SSL *s, int idx,
- int *psign, int *phash, int *psignhash,
- unsigned char *rsig, unsigned char *rhash)
+ int *psign, int *phash, int *psignhash,
+ unsigned char *rsig, unsigned char *rhash)
{
uint16_t *psig;
size_t numsigalgs;
@@ -3647,8 +3656,8 @@ int SSL_get_sigalgs(SSL *s, int idx,
}
int SSL_get_shared_sigalgs(SSL *s, int idx,
- int *psign, int *phash, int *psignhash,
- unsigned char *rsig, unsigned char *rhash)
+ int *psign, int *phash, int *psignhash,
+ unsigned char *rsig, unsigned char *rhash)
{
const SIGALG_LOOKUP *shsigalgs;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -3690,7 +3699,7 @@ static void get_sigorhash(int *psig, int *phash, const char *str)
if (OPENSSL_strcasecmp(str, "RSA") == 0) {
*psig = EVP_PKEY_RSA;
} else if (OPENSSL_strcasecmp(str, "RSA-PSS") == 0
- || OPENSSL_strcasecmp(str, "PSS") == 0) {
+ || OPENSSL_strcasecmp(str, "PSS") == 0) {
*psig = EVP_PKEY_RSA_PSS;
} else if (OPENSSL_strcasecmp(str, "DSA") == 0) {
*psig = EVP_PKEY_DSA;
@@ -3703,7 +3712,7 @@ static void get_sigorhash(int *psig, int *phash, const char *str)
}
}
/* Maximum length of a signature algorithm string component */
-#define TLS_MAX_SIGSTRING_LEN 40
+#define TLS_MAX_SIGSTRING_LEN 40
static int sig_cb(const char *elem, int len, void *arg)
{
@@ -3748,15 +3757,14 @@ static int sig_cb(const char *elem, int len, void *arg)
/* Ignore known, but unavailable sigalgs. */
if (!sarg->ctx->sigalg_lookup_cache[i].available)
return 1;
- sarg->sigalgs[sarg->sigalgcnt++] =
- sarg->ctx->sigalg_lookup_cache[i].sigalg;
+ sarg->sigalgs[sarg->sigalgcnt++] = sarg->ctx->sigalg_lookup_cache[i].sigalg;
goto found;
}
}
} else {
/* Syntax checks use the built-in sigalgs */
for (i = 0, s = sigalg_lookup_tbl;
- i < OSSL_NELEM(sigalg_lookup_tbl); i++, s++) {
+ i < OSSL_NELEM(sigalg_lookup_tbl); i++, s++) {
iana = s->name;
alias = s->name12;
if ((alias != NULL && OPENSSL_strcasecmp(etmp, alias) == 0)
@@ -3799,7 +3807,7 @@ static int sig_cb(const char *elem, int len, void *arg)
/* Ignore unknown algorithms if ignore_unknown */
return ignore_unknown;
- found:
+found:
/* Ignore duplicates */
for (i = 0; i < sarg->sigalgcnt - 1; i++) {
if (sarg->sigalgs[i] == sarg->sigalgs[sarg->sigalgcnt - 1]) {
@@ -3825,7 +3833,7 @@ int tls1_set_sigalgs_list(SSL_CTX *ctx, CERT *c, const char *str, int client)
return 0;
if (sig.sigalgcnt == 0) {
ERR_raise_data(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT,
- "No valid signature algorithms in '%s'", str);
+ "No valid signature algorithms in '%s'", str);
return 0;
}
if (c == NULL)
@@ -3834,7 +3842,7 @@ int tls1_set_sigalgs_list(SSL_CTX *ctx, CERT *c, const char *str, int client)
}
int tls1_set_raw_sigalgs(CERT *c, const uint16_t *psigs, size_t salglen,
- int client)
+ int client)
{
uint16_t *sigalgs;
@@ -3871,7 +3879,7 @@ int tls1_set_sigalgs(CERT *c, const int *psig_nids, size_t salglen, int client)
int sig_id = *psig_nids++;
for (j = 0, curr = sigalg_lookup_tbl; j < OSSL_NELEM(sigalg_lookup_tbl);
- j++, curr++) {
+ j++, curr++) {
if (curr->hash == md_id && curr->sig == sig_id) {
*sptr++ = curr->sigalg;
break;
@@ -3894,7 +3902,7 @@ int tls1_set_sigalgs(CERT *c, const int *psig_nids, size_t salglen, int client)
return 1;
- err:
+err:
OPENSSL_free(sigalgs);
return 0;
}
@@ -3937,9 +3945,9 @@ static int tls1_check_sig_alg(SSL_CONNECTION *s, X509 *x, int default_nid)
int mdnid, pknid;
sigalg = use_pc_sigalgs
- ? tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s),
- s->s3.tmp.peer_cert_sigalgs[i])
- : s->shared_sigalgs[i];
+ ? tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s),
+ s->s3.tmp.peer_cert_sigalgs[i])
+ : s->shared_sigalgs[i];
if (sigalg == NULL)
continue;
if (sig_nid == sigalg->sigandhash)
@@ -3989,14 +3997,14 @@ static int ssl_check_ca_name(STACK_OF(X509_NAME) *names, X509 *x)
/* Flags which need to be set for a certificate when strict mode not set */
#define CERT_PKEY_VALID_FLAGS \
- (CERT_PKEY_EE_SIGNATURE|CERT_PKEY_EE_PARAM)
+ (CERT_PKEY_EE_SIGNATURE | CERT_PKEY_EE_PARAM)
/* Strict mode flags */
-#define CERT_PKEY_STRICT_FLAGS \
- (CERT_PKEY_VALID_FLAGS|CERT_PKEY_CA_SIGNATURE|CERT_PKEY_CA_PARAM \
- | CERT_PKEY_ISSUER_NAME|CERT_PKEY_CERT_TYPE)
+#define CERT_PKEY_STRICT_FLAGS \
+ (CERT_PKEY_VALID_FLAGS | CERT_PKEY_CA_SIGNATURE | CERT_PKEY_CA_PARAM \
+ | CERT_PKEY_ISSUER_NAME | CERT_PKEY_CERT_TYPE)
int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
- STACK_OF(X509) *chain, int idx)
+ STACK_OF(X509) *chain, int idx)
{
int i;
int rv = 0;
@@ -4041,7 +4049,8 @@ int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
return 0;
if (ssl_cert_lookup_by_pkey(pk, &certidx,
- SSL_CONNECTION_GET_CTX(s)) == NULL)
+ SSL_CONNECTION_GET_CTX(s))
+ == NULL)
return 0;
idx = certidx;
pvalid = s->s3.tmp.valid_flags + idx;
@@ -4074,9 +4083,9 @@ int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
int rsign = 0;
if (s->s3.tmp.peer_cert_sigalgs != NULL
- || s->s3.tmp.peer_sigalgs != NULL) {
+ || s->s3.tmp.peer_sigalgs != NULL) {
default_nid = 0;
- /* If no sigalgs extension use defaults from RFC5246 */
+ /* If no sigalgs extension use defaults from RFC5246 */
} else {
switch (idx) {
case SSL_PKEY_RSA:
@@ -4122,8 +4131,7 @@ int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
size_t j;
const uint16_t *p = c->conf_sigalgs;
for (j = 0; j < c->conf_sigalgslen; j++, p++) {
- const SIGALG_LOOKUP *lu =
- tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *p);
+ const SIGALG_LOOKUP *lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s), *p);
if (lu != NULL && lu->hash == NID_sha1 && lu->sig == rsign)
break;
@@ -4162,7 +4170,7 @@ int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
/* Else not TLS 1.2, so mark EE and CA signing algorithms OK */
else if (check_flags)
rv |= CERT_PKEY_EE_SIGNATURE | CERT_PKEY_CA_SIGNATURE;
- skip_sigs:
+skip_sigs:
/* Check cert parameters are consistent */
if (tls1_check_cert_param(s, x, 1))
rv |= CERT_PKEY_EE_PARAM;
@@ -4235,7 +4243,7 @@ int tls1_check_chain(SSL_CONNECTION *s, X509 *x, EVP_PKEY *pk,
if (!check_flags || (rv & check_flags) == check_flags)
rv |= CERT_PKEY_VALID;
- end:
+end:
if (TLS1_get_version(SSL_CONNECTION_GET_SSL(s)) >= TLS1_2_VERSION)
rv |= *pvalid & (CERT_PKEY_EXPLICIT_SIGN | CERT_PKEY_SIGN);
@@ -4308,7 +4316,7 @@ EVP_PKEY *ssl_get_auto_dh(SSL_CONNECTION *s)
/* Do not pick a prime that is too weak for the current security level */
sec_level_bits = ssl_get_security_level_bits(SSL_CONNECTION_GET_SSL(s),
- NULL, NULL);
+ NULL, NULL);
if (dh_secbits < sec_level_bits)
dh_secbits = sec_level_bits;
@@ -4327,18 +4335,18 @@ EVP_PKEY *ssl_get_auto_dh(SSL_CONNECTION *s)
pctx = EVP_PKEY_CTX_new_from_name(sctx->libctx, "DH", sctx->propq);
if (pctx == NULL
- || EVP_PKEY_fromdata_init(pctx) != 1)
+ || EVP_PKEY_fromdata_init(pctx) != 1)
goto err;
tmpl = OSSL_PARAM_BLD_new();
if (tmpl == NULL
- || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_P, p)
- || !OSSL_PARAM_BLD_push_uint(tmpl, OSSL_PKEY_PARAM_FFC_G, 2))
+ || !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_P, p)
+ || !OSSL_PARAM_BLD_push_uint(tmpl, OSSL_PKEY_PARAM_FFC_G, 2))
goto err;
params = OSSL_PARAM_BLD_to_param(tmpl);
if (params == NULL
- || EVP_PKEY_fromdata(pctx, &dhp, EVP_PKEY_KEY_PARAMETERS, params) != 1)
+ || EVP_PKEY_fromdata(pctx, &dhp, EVP_PKEY_KEY_PARAMETERS, params) != 1)
goto err;
err:
@@ -4350,7 +4358,7 @@ err:
}
static int ssl_security_cert_key(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x,
- int op)
+ int op)
{
int secbits = -1;
EVP_PKEY *pkey = X509_get0_pubkey(x);
@@ -4371,7 +4379,7 @@ static int ssl_security_cert_key(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x,
}
static int ssl_security_cert_sig(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x,
- int op)
+ int op)
{
/* Lookup signature algorithm digest */
int secbits, nid, pknid;
@@ -4391,7 +4399,7 @@ static int ssl_security_cert_sig(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x,
}
int ssl_security_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x, int vfy,
- int is_ee)
+ int is_ee)
{
if (vfy)
vfy = SSL_SECOP_PEER;
@@ -4414,7 +4422,7 @@ int ssl_security_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x, int vfy,
*/
int ssl_security_cert_chain(SSL_CONNECTION *s, STACK_OF(X509) *sk,
- X509 *x, int vfy)
+ X509 *x, int vfy)
{
int rv, start_idx, i;
@@ -4445,22 +4453,22 @@ int ssl_security_cert_chain(SSL_CONNECTION *s, STACK_OF(X509) *sk,
*/
static int tls12_get_cert_sigalg_idx(const SSL_CONNECTION *s,
- const SIGALG_LOOKUP *lu)
+ const SIGALG_LOOKUP *lu)
{
int sig_idx = lu->sig_idx;
const SSL_CERT_LOOKUP *clu = ssl_cert_lookup_by_idx(sig_idx,
- SSL_CONNECTION_GET_CTX(s));
+ SSL_CONNECTION_GET_CTX(s));
/* If not recognised or not supported by cipher mask it is not suitable */
if (clu == NULL
- || (clu->amask & s->s3.tmp.new_cipher->algorithm_auth) == 0
- || (clu->nid == EVP_PKEY_RSA_PSS
- && (s->s3.tmp.new_cipher->algorithm_mkey & SSL_kRSA) != 0))
+ || (clu->amask & s->s3.tmp.new_cipher->algorithm_auth) == 0
+ || (clu->pkey_nid == EVP_PKEY_RSA_PSS
+ && (s->s3.tmp.new_cipher->algorithm_mkey & SSL_kRSA) != 0))
return -1;
/* If doing RPK, the CERT_PKEY won't be "valid" */
if (tls12_rpk_and_privkey(s, sig_idx))
- return s->s3.tmp.valid_flags[sig_idx] & CERT_PKEY_RPK ? sig_idx : -1;
+ return s->s3.tmp.valid_flags[sig_idx] & CERT_PKEY_RPK ? sig_idx : -1;
return s->s3.tmp.valid_flags[sig_idx] & CERT_PKEY_VALID ? sig_idx : -1;
}
@@ -4472,7 +4480,7 @@ static int tls12_get_cert_sigalg_idx(const SSL_CONNECTION *s,
* Returns true if the cert is usable and false otherwise.
*/
static int check_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig,
- X509 *x, EVP_PKEY *pkey)
+ X509 *x, EVP_PKEY *pkey)
{
const SIGALG_LOOKUP *lu;
int mdnid, pknid, supported;
@@ -4487,8 +4495,8 @@ static int check_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig,
if (sig->hash != NID_undef)
mdname = OBJ_nid2sn(sig->hash);
supported = EVP_PKEY_digestsign_supports_digest(pkey, sctx->libctx,
- mdname,
- sctx->propq);
+ mdname,
+ sctx->propq);
if (supported <= 0)
return 0;
@@ -4501,7 +4509,7 @@ static int check_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig,
return 0;
for (i = 0; i < s->s3.tmp.peer_cert_sigalgslen; i++) {
lu = tls1_lookup_sigalg(SSL_CONNECTION_GET_CTX(s),
- s->s3.tmp.peer_cert_sigalgs[i]);
+ s->s3.tmp.peer_cert_sigalgs[i]);
if (lu == NULL)
continue;
@@ -4540,7 +4548,7 @@ static int has_usable_cert(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig, int idx)
return 0;
return check_cert_usable(s, sig, s->cert->pkeys[idx].x509,
- s->cert->pkeys[idx].privatekey);
+ s->cert->pkeys[idx].privatekey);
}
/*
@@ -4548,7 +4556,7 @@ static int has_usable_cert(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig, int idx)
* specified signature scheme |sig|, or false otherwise.
*/
static int is_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig, X509 *x,
- EVP_PKEY *pkey)
+ EVP_PKEY *pkey)
{
size_t idx;
@@ -4568,7 +4576,7 @@ static int is_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig, X509 *x,
* available certs/keys to find one that works.
*/
static const SIGALG_LOOKUP *find_sig_alg(SSL_CONNECTION *s, X509 *x,
- EVP_PKEY *pkey)
+ EVP_PKEY *pkey)
{
const SIGALG_LOOKUP *lu = NULL;
size_t i;
@@ -4591,7 +4599,7 @@ static const SIGALG_LOOKUP *find_sig_alg(SSL_CONNECTION *s, X509 *x,
if (!tls1_lookup_md(sctx, lu, NULL))
continue;
if ((pkey == NULL && !has_usable_cert(s, lu, -1))
- || (pkey != NULL && !is_cert_usable(s, lu, x, pkey)))
+ || (pkey != NULL && !is_cert_usable(s, lu, x, pkey)))
continue;
tmppkey = (pkey != NULL) ? pkey
@@ -4641,7 +4649,7 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
if (!fatalerrs)
return 1;
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
+ SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
return 0;
}
} else {
@@ -4649,7 +4657,7 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
if (!(s->s3.tmp.new_cipher->algorithm_auth & SSL_aCERT))
return 1;
if (!s->server && !ssl_has_cert(s, s->cert->key - s->cert->pkeys))
- return 1;
+ return 1;
if (SSL_USE_SIGALGS(s)) {
size_t i;
@@ -4660,7 +4668,7 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
/* For Suite B need to match signature algorithm to curve */
if (tls1_suiteb(s))
curve = ssl_get_EC_curve_nid(s->cert->pkeys[SSL_PKEY_ECC]
- .privatekey);
+ .privatekey);
/*
* Find highest preference signature algorithm matching
@@ -4702,24 +4710,25 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
*/
if (i == s->shared_sigalgslen
&& (s->s3.tmp.new_cipher->algorithm_auth
- & (SSL_aGOST01 | SSL_aGOST12)) != 0) {
- if ((lu = tls1_get_legacy_sigalg(s, -1)) == NULL) {
- if (!fatalerrs)
- return 1;
- SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
- return 0;
- } else {
- i = 0;
- sig_idx = lu->sig_idx;
- }
+ & (SSL_aGOST01 | SSL_aGOST12))
+ != 0) {
+ if ((lu = tls1_get_legacy_sigalg(s, -1)) == NULL) {
+ if (!fatalerrs)
+ return 1;
+ SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
+ SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
+ return 0;
+ } else {
+ i = 0;
+ sig_idx = lu->sig_idx;
+ }
}
#endif
if (i == s->shared_sigalgslen) {
if (!fatalerrs)
return 1;
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
+ SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
return 0;
}
} else {
@@ -4733,7 +4742,7 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
if (!fatalerrs)
return 1;
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
+ SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
return 0;
}
@@ -4741,14 +4750,14 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
sent_sigslen = tls12_get_psigalgs(s, 1, &sent_sigs);
for (i = 0; i < sent_sigslen; i++, sent_sigs++) {
if (lu->sigalg == *sent_sigs
- && has_usable_cert(s, lu, lu->sig_idx))
+ && has_usable_cert(s, lu, lu->sig_idx))
break;
}
if (i == sent_sigslen) {
if (!fatalerrs)
return 1;
SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE,
- SSL_R_WRONG_SIGNATURE_TYPE);
+ SSL_R_WRONG_SIGNATURE_TYPE);
return 0;
}
}
@@ -4757,7 +4766,7 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
if (!fatalerrs)
return 1;
SSLfatal(s, SSL_AD_INTERNAL_ERROR,
- SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
+ SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM);
return 0;
}
}
@@ -4773,7 +4782,7 @@ int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx, uint8_t mode)
{
if (mode != TLSEXT_max_fragment_length_DISABLED
- && !IS_MAX_FRAGMENT_LENGTH_EXT_VALID(mode)) {
+ && !IS_MAX_FRAGMENT_LENGTH_EXT_VALID(mode)) {
ERR_raise(ERR_LIB_SSL, SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
return 0;
}
@@ -4791,7 +4800,7 @@ int SSL_set_tlsext_max_fragment_length(SSL *ssl, uint8_t mode)
return 0;
if (mode != TLSEXT_max_fragment_length_DISABLED
- && !IS_MAX_FRAGMENT_LENGTH_EXT_VALID(mode)) {
+ && !IS_MAX_FRAGMENT_LENGTH_EXT_VALID(mode)) {
ERR_raise(ERR_LIB_SSL, SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH);
return 0;
}
@@ -4819,7 +4828,7 @@ SSL_HMAC *ssl_hmac_new(const SSL_CTX *ctx)
return NULL;
#ifndef OPENSSL_NO_DEPRECATED_3_0
if (ctx->ext.ticket_key_evp_cb == NULL
- && ctx->ext.ticket_key_cb != NULL) {
+ && ctx->ext.ticket_key_cb != NULL) {
if (!ssl_hmac_old_new(ret))
goto err;
return ret;
@@ -4830,7 +4839,7 @@ SSL_HMAC *ssl_hmac_new(const SSL_CTX *ctx)
goto err;
EVP_MAC_free(mac);
return ret;
- err:
+err:
EVP_MAC_CTX_free(ret->ctx);
EVP_MAC_free(mac);
OPENSSL_free(ret);
@@ -4882,7 +4891,7 @@ int ssl_hmac_update(SSL_HMAC *ctx, const unsigned char *data, size_t len)
}
int ssl_hmac_final(SSL_HMAC *ctx, unsigned char *md, size_t *len,
- size_t max_size)
+ size_t max_size)
{
if (ctx->ctx != NULL)
return EVP_MAC_final(ctx->ctx, md, len, max_size);
@@ -4915,8 +4924,8 @@ int ssl_get_EC_curve_nid(const EVP_PKEY *pkey)
}
__owur int tls13_set_encoded_pub_key(EVP_PKEY *pkey,
- const unsigned char *enckey,
- size_t enckeylen)
+ const unsigned char *enckey,
+ size_t enckeylen)
{
if (EVP_PKEY_is_a(pkey, "DH")) {
int bits = EVP_PKEY_get_bits(pkey);
diff --git a/crypto/openssl/ssl/t1_trce.c b/crypto/openssl/ssl/t1_trce.c
index 73fd4ebaa4b0..e8075d04278c 100644
--- a/crypto/openssl/ssl/t1_trce.c
+++ b/crypto/openssl/ssl/t1_trce.c
@@ -21,15 +21,15 @@ typedef struct {
const char *name;
} ssl_trace_tbl;
-# define ssl_trace_str(val, tbl) \
+#define ssl_trace_str(val, tbl) \
do_ssl_trace_str(val, tbl, OSSL_NELEM(tbl))
-# define ssl_trace_list(bio, indent, msg, msglen, value, table) \
- do_ssl_trace_list(bio, indent, msg, msglen, value, \
- table, OSSL_NELEM(table))
+#define ssl_trace_list(bio, indent, msg, msglen, value, table) \
+ do_ssl_trace_list(bio, indent, msg, msglen, value, \
+ table, OSSL_NELEM(table))
static const char *do_ssl_trace_str(int val, const ssl_trace_tbl *tbl,
- size_t ntbl)
+ size_t ntbl)
{
size_t i;
@@ -41,8 +41,8 @@ static const char *do_ssl_trace_str(int val, const ssl_trace_tbl *tbl,
}
static int do_ssl_trace_list(BIO *bio, int indent,
- const unsigned char *msg, size_t msglen,
- size_t vlen, const ssl_trace_tbl *tbl, size_t ntbl)
+ const unsigned char *msg, size_t msglen,
+ size_t vlen, const ssl_trace_tbl *tbl, size_t ntbl)
{
int val;
@@ -63,590 +63,590 @@ static int do_ssl_trace_list(BIO *bio, int indent,
/* Version number */
static const ssl_trace_tbl ssl_version_tbl[] = {
- {SSL3_VERSION, "SSL 3.0"},
- {TLS1_VERSION, "TLS 1.0"},
- {TLS1_1_VERSION, "TLS 1.1"},
- {TLS1_2_VERSION, "TLS 1.2"},
- {TLS1_3_VERSION, "TLS 1.3"},
- {DTLS1_VERSION, "DTLS 1.0"},
- {DTLS1_2_VERSION, "DTLS 1.2"},
- {DTLS1_BAD_VER, "DTLS 1.0 (bad)"}
+ { SSL3_VERSION, "SSL 3.0" },
+ { TLS1_VERSION, "TLS 1.0" },
+ { TLS1_1_VERSION, "TLS 1.1" },
+ { TLS1_2_VERSION, "TLS 1.2" },
+ { TLS1_3_VERSION, "TLS 1.3" },
+ { DTLS1_VERSION, "DTLS 1.0" },
+ { DTLS1_2_VERSION, "DTLS 1.2" },
+ { DTLS1_BAD_VER, "DTLS 1.0 (bad)" }
};
static const ssl_trace_tbl ssl_content_tbl[] = {
- {SSL3_RT_CHANGE_CIPHER_SPEC, "ChangeCipherSpec"},
- {SSL3_RT_ALERT, "Alert"},
- {SSL3_RT_HANDSHAKE, "Handshake"},
- {SSL3_RT_APPLICATION_DATA, "ApplicationData"},
+ { SSL3_RT_CHANGE_CIPHER_SPEC, "ChangeCipherSpec" },
+ { SSL3_RT_ALERT, "Alert" },
+ { SSL3_RT_HANDSHAKE, "Handshake" },
+ { SSL3_RT_APPLICATION_DATA, "ApplicationData" },
};
/* Handshake types, sorted by ascending id */
static const ssl_trace_tbl ssl_handshake_tbl[] = {
- {SSL3_MT_HELLO_REQUEST, "HelloRequest"},
- {SSL3_MT_CLIENT_HELLO, "ClientHello"},
- {SSL3_MT_SERVER_HELLO, "ServerHello"},
- {DTLS1_MT_HELLO_VERIFY_REQUEST, "HelloVerifyRequest"},
- {SSL3_MT_NEWSESSION_TICKET, "NewSessionTicket"},
- {SSL3_MT_END_OF_EARLY_DATA, "EndOfEarlyData"},
- {SSL3_MT_ENCRYPTED_EXTENSIONS, "EncryptedExtensions"},
- {SSL3_MT_CERTIFICATE, "Certificate"},
- {SSL3_MT_SERVER_KEY_EXCHANGE, "ServerKeyExchange"},
- {SSL3_MT_CERTIFICATE_REQUEST, "CertificateRequest"},
- {SSL3_MT_SERVER_DONE, "ServerHelloDone"},
- {SSL3_MT_CERTIFICATE_VERIFY, "CertificateVerify"},
- {SSL3_MT_CLIENT_KEY_EXCHANGE, "ClientKeyExchange"},
- {SSL3_MT_FINISHED, "Finished"},
- {SSL3_MT_CERTIFICATE_URL, "CertificateUrl"},
- {SSL3_MT_CERTIFICATE_STATUS, "CertificateStatus"},
- {SSL3_MT_SUPPLEMENTAL_DATA, "SupplementalData"},
- {SSL3_MT_KEY_UPDATE, "KeyUpdate"},
- {SSL3_MT_COMPRESSED_CERTIFICATE, "CompressedCertificate"},
-# ifndef OPENSSL_NO_NEXTPROTONEG
- {SSL3_MT_NEXT_PROTO, "NextProto"},
-# endif
- {SSL3_MT_MESSAGE_HASH, "MessageHash"}
+ { SSL3_MT_HELLO_REQUEST, "HelloRequest" },
+ { SSL3_MT_CLIENT_HELLO, "ClientHello" },
+ { SSL3_MT_SERVER_HELLO, "ServerHello" },
+ { DTLS1_MT_HELLO_VERIFY_REQUEST, "HelloVerifyRequest" },
+ { SSL3_MT_NEWSESSION_TICKET, "NewSessionTicket" },
+ { SSL3_MT_END_OF_EARLY_DATA, "EndOfEarlyData" },
+ { SSL3_MT_ENCRYPTED_EXTENSIONS, "EncryptedExtensions" },
+ { SSL3_MT_CERTIFICATE, "Certificate" },
+ { SSL3_MT_SERVER_KEY_EXCHANGE, "ServerKeyExchange" },
+ { SSL3_MT_CERTIFICATE_REQUEST, "CertificateRequest" },
+ { SSL3_MT_SERVER_DONE, "ServerHelloDone" },
+ { SSL3_MT_CERTIFICATE_VERIFY, "CertificateVerify" },
+ { SSL3_MT_CLIENT_KEY_EXCHANGE, "ClientKeyExchange" },
+ { SSL3_MT_FINISHED, "Finished" },
+ { SSL3_MT_CERTIFICATE_URL, "CertificateUrl" },
+ { SSL3_MT_CERTIFICATE_STATUS, "CertificateStatus" },
+ { SSL3_MT_SUPPLEMENTAL_DATA, "SupplementalData" },
+ { SSL3_MT_KEY_UPDATE, "KeyUpdate" },
+ { SSL3_MT_COMPRESSED_CERTIFICATE, "CompressedCertificate" },
+#ifndef OPENSSL_NO_NEXTPROTONEG
+ { SSL3_MT_NEXT_PROTO, "NextProto" },
+#endif
+ { SSL3_MT_MESSAGE_HASH, "MessageHash" }
};
/* Cipher suites */
static const ssl_trace_tbl ssl_ciphers_tbl[] = {
- {0x0000, "TLS_NULL_WITH_NULL_NULL"},
- {0x0001, "TLS_RSA_WITH_NULL_MD5"},
- {0x0002, "TLS_RSA_WITH_NULL_SHA"},
- {0x0003, "TLS_RSA_EXPORT_WITH_RC4_40_MD5"},
- {0x0004, "TLS_RSA_WITH_RC4_128_MD5"},
- {0x0005, "TLS_RSA_WITH_RC4_128_SHA"},
- {0x0006, "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"},
- {0x0007, "TLS_RSA_WITH_IDEA_CBC_SHA"},
- {0x0008, "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"},
- {0x0009, "TLS_RSA_WITH_DES_CBC_SHA"},
- {0x000A, "TLS_RSA_WITH_3DES_EDE_CBC_SHA"},
- {0x000B, "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"},
- {0x000C, "TLS_DH_DSS_WITH_DES_CBC_SHA"},
- {0x000D, "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"},
- {0x000E, "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"},
- {0x000F, "TLS_DH_RSA_WITH_DES_CBC_SHA"},
- {0x0010, "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"},
- {0x0011, "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"},
- {0x0012, "TLS_DHE_DSS_WITH_DES_CBC_SHA"},
- {0x0013, "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"},
- {0x0014, "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"},
- {0x0015, "TLS_DHE_RSA_WITH_DES_CBC_SHA"},
- {0x0016, "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"},
- {0x0017, "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"},
- {0x0018, "TLS_DH_anon_WITH_RC4_128_MD5"},
- {0x0019, "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"},
- {0x001A, "TLS_DH_anon_WITH_DES_CBC_SHA"},
- {0x001B, "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"},
- {0x001D, "SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA"},
- {0x001E, "SSL_FORTEZZA_KEA_WITH_RC4_128_SHA"},
- {0x001F, "TLS_KRB5_WITH_3DES_EDE_CBC_SHA"},
- {0x0020, "TLS_KRB5_WITH_RC4_128_SHA"},
- {0x0021, "TLS_KRB5_WITH_IDEA_CBC_SHA"},
- {0x0022, "TLS_KRB5_WITH_DES_CBC_MD5"},
- {0x0023, "TLS_KRB5_WITH_3DES_EDE_CBC_MD5"},
- {0x0024, "TLS_KRB5_WITH_RC4_128_MD5"},
- {0x0025, "TLS_KRB5_WITH_IDEA_CBC_MD5"},
- {0x0026, "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA"},
- {0x0027, "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA"},
- {0x0028, "TLS_KRB5_EXPORT_WITH_RC4_40_SHA"},
- {0x0029, "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5"},
- {0x002A, "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5"},
- {0x002B, "TLS_KRB5_EXPORT_WITH_RC4_40_MD5"},
- {0x002C, "TLS_PSK_WITH_NULL_SHA"},
- {0x002D, "TLS_DHE_PSK_WITH_NULL_SHA"},
- {0x002E, "TLS_RSA_PSK_WITH_NULL_SHA"},
- {0x002F, "TLS_RSA_WITH_AES_128_CBC_SHA"},
- {0x0030, "TLS_DH_DSS_WITH_AES_128_CBC_SHA"},
- {0x0031, "TLS_DH_RSA_WITH_AES_128_CBC_SHA"},
- {0x0032, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"},
- {0x0033, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"},
- {0x0034, "TLS_DH_anon_WITH_AES_128_CBC_SHA"},
- {0x0035, "TLS_RSA_WITH_AES_256_CBC_SHA"},
- {0x0036, "TLS_DH_DSS_WITH_AES_256_CBC_SHA"},
- {0x0037, "TLS_DH_RSA_WITH_AES_256_CBC_SHA"},
- {0x0038, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"},
- {0x0039, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"},
- {0x003A, "TLS_DH_anon_WITH_AES_256_CBC_SHA"},
- {0x003B, "TLS_RSA_WITH_NULL_SHA256"},
- {0x003C, "TLS_RSA_WITH_AES_128_CBC_SHA256"},
- {0x003D, "TLS_RSA_WITH_AES_256_CBC_SHA256"},
- {0x003E, "TLS_DH_DSS_WITH_AES_128_CBC_SHA256"},
- {0x003F, "TLS_DH_RSA_WITH_AES_128_CBC_SHA256"},
- {0x0040, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"},
- {0x0041, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"},
- {0x0042, "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"},
- {0x0043, "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"},
- {0x0044, "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"},
- {0x0045, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"},
- {0x0046, "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"},
- {0x0067, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"},
- {0x0068, "TLS_DH_DSS_WITH_AES_256_CBC_SHA256"},
- {0x0069, "TLS_DH_RSA_WITH_AES_256_CBC_SHA256"},
- {0x006A, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"},
- {0x006B, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"},
- {0x006C, "TLS_DH_anon_WITH_AES_128_CBC_SHA256"},
- {0x006D, "TLS_DH_anon_WITH_AES_256_CBC_SHA256"},
- {0x0081, "TLS_GOSTR341001_WITH_28147_CNT_IMIT"},
- {0x0083, "TLS_GOSTR341001_WITH_NULL_GOSTR3411"},
- {0x0084, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"},
- {0x0085, "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"},
- {0x0086, "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"},
- {0x0087, "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"},
- {0x0088, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"},
- {0x0089, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"},
- {0x008A, "TLS_PSK_WITH_RC4_128_SHA"},
- {0x008B, "TLS_PSK_WITH_3DES_EDE_CBC_SHA"},
- {0x008C, "TLS_PSK_WITH_AES_128_CBC_SHA"},
- {0x008D, "TLS_PSK_WITH_AES_256_CBC_SHA"},
- {0x008E, "TLS_DHE_PSK_WITH_RC4_128_SHA"},
- {0x008F, "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA"},
- {0x0090, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA"},
- {0x0091, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA"},
- {0x0092, "TLS_RSA_PSK_WITH_RC4_128_SHA"},
- {0x0093, "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA"},
- {0x0094, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA"},
- {0x0095, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA"},
- {0x0096, "TLS_RSA_WITH_SEED_CBC_SHA"},
- {0x0097, "TLS_DH_DSS_WITH_SEED_CBC_SHA"},
- {0x0098, "TLS_DH_RSA_WITH_SEED_CBC_SHA"},
- {0x0099, "TLS_DHE_DSS_WITH_SEED_CBC_SHA"},
- {0x009A, "TLS_DHE_RSA_WITH_SEED_CBC_SHA"},
- {0x009B, "TLS_DH_anon_WITH_SEED_CBC_SHA"},
- {0x009C, "TLS_RSA_WITH_AES_128_GCM_SHA256"},
- {0x009D, "TLS_RSA_WITH_AES_256_GCM_SHA384"},
- {0x009E, "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"},
- {0x009F, "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"},
- {0x00A0, "TLS_DH_RSA_WITH_AES_128_GCM_SHA256"},
- {0x00A1, "TLS_DH_RSA_WITH_AES_256_GCM_SHA384"},
- {0x00A2, "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"},
- {0x00A3, "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"},
- {0x00A4, "TLS_DH_DSS_WITH_AES_128_GCM_SHA256"},
- {0x00A5, "TLS_DH_DSS_WITH_AES_256_GCM_SHA384"},
- {0x00A6, "TLS_DH_anon_WITH_AES_128_GCM_SHA256"},
- {0x00A7, "TLS_DH_anon_WITH_AES_256_GCM_SHA384"},
- {0x00A8, "TLS_PSK_WITH_AES_128_GCM_SHA256"},
- {0x00A9, "TLS_PSK_WITH_AES_256_GCM_SHA384"},
- {0x00AA, "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"},
- {0x00AB, "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"},
- {0x00AC, "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256"},
- {0x00AD, "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384"},
- {0x00AE, "TLS_PSK_WITH_AES_128_CBC_SHA256"},
- {0x00AF, "TLS_PSK_WITH_AES_256_CBC_SHA384"},
- {0x00B0, "TLS_PSK_WITH_NULL_SHA256"},
- {0x00B1, "TLS_PSK_WITH_NULL_SHA384"},
- {0x00B2, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256"},
- {0x00B3, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384"},
- {0x00B4, "TLS_DHE_PSK_WITH_NULL_SHA256"},
- {0x00B5, "TLS_DHE_PSK_WITH_NULL_SHA384"},
- {0x00B6, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256"},
- {0x00B7, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384"},
- {0x00B8, "TLS_RSA_PSK_WITH_NULL_SHA256"},
- {0x00B9, "TLS_RSA_PSK_WITH_NULL_SHA384"},
- {0x00BA, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0x00BB, "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256"},
- {0x00BC, "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0x00BD, "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256"},
- {0x00BE, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0x00BF, "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256"},
- {0x00C0, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256"},
- {0x00C1, "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256"},
- {0x00C2, "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256"},
- {0x00C3, "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256"},
- {0x00C4, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256"},
- {0x00C5, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256"},
- {0x00FF, "TLS_EMPTY_RENEGOTIATION_INFO_SCSV"},
- {0x5600, "TLS_FALLBACK_SCSV"},
- {0xC001, "TLS_ECDH_ECDSA_WITH_NULL_SHA"},
- {0xC002, "TLS_ECDH_ECDSA_WITH_RC4_128_SHA"},
- {0xC003, "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"},
- {0xC004, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"},
- {0xC005, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"},
- {0xC006, "TLS_ECDHE_ECDSA_WITH_NULL_SHA"},
- {0xC007, "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"},
- {0xC008, "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"},
- {0xC009, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"},
- {0xC00A, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"},
- {0xC00B, "TLS_ECDH_RSA_WITH_NULL_SHA"},
- {0xC00C, "TLS_ECDH_RSA_WITH_RC4_128_SHA"},
- {0xC00D, "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"},
- {0xC00E, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"},
- {0xC00F, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"},
- {0xC010, "TLS_ECDHE_RSA_WITH_NULL_SHA"},
- {0xC011, "TLS_ECDHE_RSA_WITH_RC4_128_SHA"},
- {0xC012, "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"},
- {0xC013, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"},
- {0xC014, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"},
- {0xC015, "TLS_ECDH_anon_WITH_NULL_SHA"},
- {0xC016, "TLS_ECDH_anon_WITH_RC4_128_SHA"},
- {0xC017, "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"},
- {0xC018, "TLS_ECDH_anon_WITH_AES_128_CBC_SHA"},
- {0xC019, "TLS_ECDH_anon_WITH_AES_256_CBC_SHA"},
- {0xC01A, "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA"},
- {0xC01B, "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA"},
- {0xC01C, "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA"},
- {0xC01D, "TLS_SRP_SHA_WITH_AES_128_CBC_SHA"},
- {0xC01E, "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA"},
- {0xC01F, "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA"},
- {0xC020, "TLS_SRP_SHA_WITH_AES_256_CBC_SHA"},
- {0xC021, "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA"},
- {0xC022, "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA"},
- {0xC023, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"},
- {0xC024, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"},
- {0xC025, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256"},
- {0xC026, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384"},
- {0xC027, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"},
- {0xC028, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"},
- {0xC029, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256"},
- {0xC02A, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384"},
- {0xC02B, "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"},
- {0xC02C, "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"},
- {0xC02D, "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"},
- {0xC02E, "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384"},
- {0xC02F, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"},
- {0xC030, "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"},
- {0xC031, "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"},
- {0xC032, "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384"},
- {0xC033, "TLS_ECDHE_PSK_WITH_RC4_128_SHA"},
- {0xC034, "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA"},
- {0xC035, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA"},
- {0xC036, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA"},
- {0xC037, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256"},
- {0xC038, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384"},
- {0xC039, "TLS_ECDHE_PSK_WITH_NULL_SHA"},
- {0xC03A, "TLS_ECDHE_PSK_WITH_NULL_SHA256"},
- {0xC03B, "TLS_ECDHE_PSK_WITH_NULL_SHA384"},
- {0xC03C, "TLS_RSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC03D, "TLS_RSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC03E, "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256"},
- {0xC03F, "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384"},
- {0xC040, "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC041, "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC042, "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256"},
- {0xC043, "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384"},
- {0xC044, "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC045, "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC046, "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256"},
- {0xC047, "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384"},
- {0xC048, "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC049, "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC04A, "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC04B, "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC04C, "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC04D, "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC04E, "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256"},
- {0xC04F, "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384"},
- {0xC050, "TLS_RSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC051, "TLS_RSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC052, "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC053, "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC054, "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC055, "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC056, "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256"},
- {0xC057, "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384"},
- {0xC058, "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256"},
- {0xC059, "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384"},
- {0xC05A, "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256"},
- {0xC05B, "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384"},
- {0xC05C, "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC05D, "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC05E, "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC05F, "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC060, "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC061, "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC062, "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256"},
- {0xC063, "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384"},
- {0xC064, "TLS_PSK_WITH_ARIA_128_CBC_SHA256"},
- {0xC065, "TLS_PSK_WITH_ARIA_256_CBC_SHA384"},
- {0xC066, "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256"},
- {0xC067, "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384"},
- {0xC068, "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256"},
- {0xC069, "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384"},
- {0xC06A, "TLS_PSK_WITH_ARIA_128_GCM_SHA256"},
- {0xC06B, "TLS_PSK_WITH_ARIA_256_GCM_SHA384"},
- {0xC06C, "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256"},
- {0xC06D, "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384"},
- {0xC06E, "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256"},
- {0xC06F, "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384"},
- {0xC070, "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256"},
- {0xC071, "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384"},
- {0xC072, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC073, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC074, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC075, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC076, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC077, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC078, "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC079, "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC07A, "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC07B, "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC07C, "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC07D, "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC07E, "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC07F, "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC080, "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC081, "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC082, "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC083, "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC084, "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC085, "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC086, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC087, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC088, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC089, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC08A, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC08B, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC08C, "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC08D, "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC08E, "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC08F, "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC090, "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC091, "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC092, "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256"},
- {0xC093, "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384"},
- {0xC094, "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC095, "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC096, "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC097, "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC098, "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC099, "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC09A, "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"},
- {0xC09B, "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"},
- {0xC09C, "TLS_RSA_WITH_AES_128_CCM"},
- {0xC09D, "TLS_RSA_WITH_AES_256_CCM"},
- {0xC09E, "TLS_DHE_RSA_WITH_AES_128_CCM"},
- {0xC09F, "TLS_DHE_RSA_WITH_AES_256_CCM"},
- {0xC0A0, "TLS_RSA_WITH_AES_128_CCM_8"},
- {0xC0A1, "TLS_RSA_WITH_AES_256_CCM_8"},
- {0xC0A2, "TLS_DHE_RSA_WITH_AES_128_CCM_8"},
- {0xC0A3, "TLS_DHE_RSA_WITH_AES_256_CCM_8"},
- {0xC0A4, "TLS_PSK_WITH_AES_128_CCM"},
- {0xC0A5, "TLS_PSK_WITH_AES_256_CCM"},
- {0xC0A6, "TLS_DHE_PSK_WITH_AES_128_CCM"},
- {0xC0A7, "TLS_DHE_PSK_WITH_AES_256_CCM"},
- {0xC0A8, "TLS_PSK_WITH_AES_128_CCM_8"},
- {0xC0A9, "TLS_PSK_WITH_AES_256_CCM_8"},
- {0xC0AA, "TLS_PSK_DHE_WITH_AES_128_CCM_8"},
- {0xC0AB, "TLS_PSK_DHE_WITH_AES_256_CCM_8"},
- {0xC0AC, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM"},
- {0xC0AD, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM"},
- {0xC0AE, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8"},
- {0xC0AF, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8"},
- {0xC102, "IANA-GOST2012-GOST8912-GOST8912"},
- {0xCCA8, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"},
- {0xCCA9, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"},
- {0xCCAA, "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"},
- {0xCCAB, "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256"},
- {0xCCAC, "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"},
- {0xCCAD, "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256"},
- {0xCCAE, "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256"},
- {0x1301, "TLS_AES_128_GCM_SHA256"},
- {0x1302, "TLS_AES_256_GCM_SHA384"},
- {0x1303, "TLS_CHACHA20_POLY1305_SHA256"},
- {0x1304, "TLS_AES_128_CCM_SHA256"},
- {0x1305, "TLS_AES_128_CCM_8_SHA256"},
- {0xFEFE, "SSL_RSA_FIPS_WITH_DES_CBC_SHA"},
- {0xFEFF, "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA"},
- {0xFF85, "LEGACY-GOST2012-GOST8912-GOST8912"},
- {0xFF87, "GOST2012-NULL-GOST12"},
- {0xC0B4, "TLS_SHA256_SHA256"},
- {0xC0B5, "TLS_SHA384_SHA384"},
- {0xC100, "GOST2012-KUZNYECHIK-KUZNYECHIKOMAC"},
- {0xC101, "GOST2012-MAGMA-MAGMAOMAC"},
- {0xC102, "GOST2012-GOST8912-IANA"},
+ { 0x0000, "TLS_NULL_WITH_NULL_NULL" },
+ { 0x0001, "TLS_RSA_WITH_NULL_MD5" },
+ { 0x0002, "TLS_RSA_WITH_NULL_SHA" },
+ { 0x0003, "TLS_RSA_EXPORT_WITH_RC4_40_MD5" },
+ { 0x0004, "TLS_RSA_WITH_RC4_128_MD5" },
+ { 0x0005, "TLS_RSA_WITH_RC4_128_SHA" },
+ { 0x0006, "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5" },
+ { 0x0007, "TLS_RSA_WITH_IDEA_CBC_SHA" },
+ { 0x0008, "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA" },
+ { 0x0009, "TLS_RSA_WITH_DES_CBC_SHA" },
+ { 0x000A, "TLS_RSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0x000B, "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA" },
+ { 0x000C, "TLS_DH_DSS_WITH_DES_CBC_SHA" },
+ { 0x000D, "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA" },
+ { 0x000E, "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA" },
+ { 0x000F, "TLS_DH_RSA_WITH_DES_CBC_SHA" },
+ { 0x0010, "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0x0011, "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA" },
+ { 0x0012, "TLS_DHE_DSS_WITH_DES_CBC_SHA" },
+ { 0x0013, "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" },
+ { 0x0014, "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA" },
+ { 0x0015, "TLS_DHE_RSA_WITH_DES_CBC_SHA" },
+ { 0x0016, "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0x0017, "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5" },
+ { 0x0018, "TLS_DH_anon_WITH_RC4_128_MD5" },
+ { 0x0019, "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA" },
+ { 0x001A, "TLS_DH_anon_WITH_DES_CBC_SHA" },
+ { 0x001B, "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA" },
+ { 0x001D, "SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA" },
+ { 0x001E, "SSL_FORTEZZA_KEA_WITH_RC4_128_SHA" },
+ { 0x001F, "TLS_KRB5_WITH_3DES_EDE_CBC_SHA" },
+ { 0x0020, "TLS_KRB5_WITH_RC4_128_SHA" },
+ { 0x0021, "TLS_KRB5_WITH_IDEA_CBC_SHA" },
+ { 0x0022, "TLS_KRB5_WITH_DES_CBC_MD5" },
+ { 0x0023, "TLS_KRB5_WITH_3DES_EDE_CBC_MD5" },
+ { 0x0024, "TLS_KRB5_WITH_RC4_128_MD5" },
+ { 0x0025, "TLS_KRB5_WITH_IDEA_CBC_MD5" },
+ { 0x0026, "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA" },
+ { 0x0027, "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA" },
+ { 0x0028, "TLS_KRB5_EXPORT_WITH_RC4_40_SHA" },
+ { 0x0029, "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5" },
+ { 0x002A, "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5" },
+ { 0x002B, "TLS_KRB5_EXPORT_WITH_RC4_40_MD5" },
+ { 0x002C, "TLS_PSK_WITH_NULL_SHA" },
+ { 0x002D, "TLS_DHE_PSK_WITH_NULL_SHA" },
+ { 0x002E, "TLS_RSA_PSK_WITH_NULL_SHA" },
+ { 0x002F, "TLS_RSA_WITH_AES_128_CBC_SHA" },
+ { 0x0030, "TLS_DH_DSS_WITH_AES_128_CBC_SHA" },
+ { 0x0031, "TLS_DH_RSA_WITH_AES_128_CBC_SHA" },
+ { 0x0032, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" },
+ { 0x0033, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" },
+ { 0x0034, "TLS_DH_anon_WITH_AES_128_CBC_SHA" },
+ { 0x0035, "TLS_RSA_WITH_AES_256_CBC_SHA" },
+ { 0x0036, "TLS_DH_DSS_WITH_AES_256_CBC_SHA" },
+ { 0x0037, "TLS_DH_RSA_WITH_AES_256_CBC_SHA" },
+ { 0x0038, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" },
+ { 0x0039, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" },
+ { 0x003A, "TLS_DH_anon_WITH_AES_256_CBC_SHA" },
+ { 0x003B, "TLS_RSA_WITH_NULL_SHA256" },
+ { 0x003C, "TLS_RSA_WITH_AES_128_CBC_SHA256" },
+ { 0x003D, "TLS_RSA_WITH_AES_256_CBC_SHA256" },
+ { 0x003E, "TLS_DH_DSS_WITH_AES_128_CBC_SHA256" },
+ { 0x003F, "TLS_DH_RSA_WITH_AES_128_CBC_SHA256" },
+ { 0x0040, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" },
+ { 0x0041, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA" },
+ { 0x0042, "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA" },
+ { 0x0043, "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA" },
+ { 0x0044, "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA" },
+ { 0x0045, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA" },
+ { 0x0046, "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA" },
+ { 0x0067, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256" },
+ { 0x0068, "TLS_DH_DSS_WITH_AES_256_CBC_SHA256" },
+ { 0x0069, "TLS_DH_RSA_WITH_AES_256_CBC_SHA256" },
+ { 0x006A, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" },
+ { 0x006B, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256" },
+ { 0x006C, "TLS_DH_anon_WITH_AES_128_CBC_SHA256" },
+ { 0x006D, "TLS_DH_anon_WITH_AES_256_CBC_SHA256" },
+ { 0x0081, "TLS_GOSTR341001_WITH_28147_CNT_IMIT" },
+ { 0x0083, "TLS_GOSTR341001_WITH_NULL_GOSTR3411" },
+ { 0x0084, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA" },
+ { 0x0085, "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA" },
+ { 0x0086, "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA" },
+ { 0x0087, "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA" },
+ { 0x0088, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA" },
+ { 0x0089, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA" },
+ { 0x008A, "TLS_PSK_WITH_RC4_128_SHA" },
+ { 0x008B, "TLS_PSK_WITH_3DES_EDE_CBC_SHA" },
+ { 0x008C, "TLS_PSK_WITH_AES_128_CBC_SHA" },
+ { 0x008D, "TLS_PSK_WITH_AES_256_CBC_SHA" },
+ { 0x008E, "TLS_DHE_PSK_WITH_RC4_128_SHA" },
+ { 0x008F, "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA" },
+ { 0x0090, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA" },
+ { 0x0091, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA" },
+ { 0x0092, "TLS_RSA_PSK_WITH_RC4_128_SHA" },
+ { 0x0093, "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA" },
+ { 0x0094, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA" },
+ { 0x0095, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA" },
+ { 0x0096, "TLS_RSA_WITH_SEED_CBC_SHA" },
+ { 0x0097, "TLS_DH_DSS_WITH_SEED_CBC_SHA" },
+ { 0x0098, "TLS_DH_RSA_WITH_SEED_CBC_SHA" },
+ { 0x0099, "TLS_DHE_DSS_WITH_SEED_CBC_SHA" },
+ { 0x009A, "TLS_DHE_RSA_WITH_SEED_CBC_SHA" },
+ { 0x009B, "TLS_DH_anon_WITH_SEED_CBC_SHA" },
+ { 0x009C, "TLS_RSA_WITH_AES_128_GCM_SHA256" },
+ { 0x009D, "TLS_RSA_WITH_AES_256_GCM_SHA384" },
+ { 0x009E, "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" },
+ { 0x009F, "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" },
+ { 0x00A0, "TLS_DH_RSA_WITH_AES_128_GCM_SHA256" },
+ { 0x00A1, "TLS_DH_RSA_WITH_AES_256_GCM_SHA384" },
+ { 0x00A2, "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256" },
+ { 0x00A3, "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384" },
+ { 0x00A4, "TLS_DH_DSS_WITH_AES_128_GCM_SHA256" },
+ { 0x00A5, "TLS_DH_DSS_WITH_AES_256_GCM_SHA384" },
+ { 0x00A6, "TLS_DH_anon_WITH_AES_128_GCM_SHA256" },
+ { 0x00A7, "TLS_DH_anon_WITH_AES_256_GCM_SHA384" },
+ { 0x00A8, "TLS_PSK_WITH_AES_128_GCM_SHA256" },
+ { 0x00A9, "TLS_PSK_WITH_AES_256_GCM_SHA384" },
+ { 0x00AA, "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256" },
+ { 0x00AB, "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384" },
+ { 0x00AC, "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256" },
+ { 0x00AD, "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384" },
+ { 0x00AE, "TLS_PSK_WITH_AES_128_CBC_SHA256" },
+ { 0x00AF, "TLS_PSK_WITH_AES_256_CBC_SHA384" },
+ { 0x00B0, "TLS_PSK_WITH_NULL_SHA256" },
+ { 0x00B1, "TLS_PSK_WITH_NULL_SHA384" },
+ { 0x00B2, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256" },
+ { 0x00B3, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384" },
+ { 0x00B4, "TLS_DHE_PSK_WITH_NULL_SHA256" },
+ { 0x00B5, "TLS_DHE_PSK_WITH_NULL_SHA384" },
+ { 0x00B6, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256" },
+ { 0x00B7, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384" },
+ { 0x00B8, "TLS_RSA_PSK_WITH_NULL_SHA256" },
+ { 0x00B9, "TLS_RSA_PSK_WITH_NULL_SHA384" },
+ { 0x00BA, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0x00BB, "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0x00BC, "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0x00BD, "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0x00BE, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0x00BF, "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0x00C0, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256" },
+ { 0x00C1, "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256" },
+ { 0x00C2, "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256" },
+ { 0x00C3, "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256" },
+ { 0x00C4, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256" },
+ { 0x00C5, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256" },
+ { 0x00FF, "TLS_EMPTY_RENEGOTIATION_INFO_SCSV" },
+ { 0x5600, "TLS_FALLBACK_SCSV" },
+ { 0xC001, "TLS_ECDH_ECDSA_WITH_NULL_SHA" },
+ { 0xC002, "TLS_ECDH_ECDSA_WITH_RC4_128_SHA" },
+ { 0xC003, "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC004, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA" },
+ { 0xC005, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA" },
+ { 0xC006, "TLS_ECDHE_ECDSA_WITH_NULL_SHA" },
+ { 0xC007, "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA" },
+ { 0xC008, "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC009, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" },
+ { 0xC00A, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" },
+ { 0xC00B, "TLS_ECDH_RSA_WITH_NULL_SHA" },
+ { 0xC00C, "TLS_ECDH_RSA_WITH_RC4_128_SHA" },
+ { 0xC00D, "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC00E, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA" },
+ { 0xC00F, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA" },
+ { 0xC010, "TLS_ECDHE_RSA_WITH_NULL_SHA" },
+ { 0xC011, "TLS_ECDHE_RSA_WITH_RC4_128_SHA" },
+ { 0xC012, "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC013, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" },
+ { 0xC014, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" },
+ { 0xC015, "TLS_ECDH_anon_WITH_NULL_SHA" },
+ { 0xC016, "TLS_ECDH_anon_WITH_RC4_128_SHA" },
+ { 0xC017, "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC018, "TLS_ECDH_anon_WITH_AES_128_CBC_SHA" },
+ { 0xC019, "TLS_ECDH_anon_WITH_AES_256_CBC_SHA" },
+ { 0xC01A, "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC01B, "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC01C, "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC01D, "TLS_SRP_SHA_WITH_AES_128_CBC_SHA" },
+ { 0xC01E, "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA" },
+ { 0xC01F, "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA" },
+ { 0xC020, "TLS_SRP_SHA_WITH_AES_256_CBC_SHA" },
+ { 0xC021, "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA" },
+ { 0xC022, "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA" },
+ { 0xC023, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" },
+ { 0xC024, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" },
+ { 0xC025, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256" },
+ { 0xC026, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384" },
+ { 0xC027, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" },
+ { 0xC028, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" },
+ { 0xC029, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256" },
+ { 0xC02A, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384" },
+ { 0xC02B, "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" },
+ { 0xC02C, "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" },
+ { 0xC02D, "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256" },
+ { 0xC02E, "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384" },
+ { 0xC02F, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" },
+ { 0xC030, "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" },
+ { 0xC031, "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256" },
+ { 0xC032, "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" },
+ { 0xC033, "TLS_ECDHE_PSK_WITH_RC4_128_SHA" },
+ { 0xC034, "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA" },
+ { 0xC035, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA" },
+ { 0xC036, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA" },
+ { 0xC037, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256" },
+ { 0xC038, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384" },
+ { 0xC039, "TLS_ECDHE_PSK_WITH_NULL_SHA" },
+ { 0xC03A, "TLS_ECDHE_PSK_WITH_NULL_SHA256" },
+ { 0xC03B, "TLS_ECDHE_PSK_WITH_NULL_SHA384" },
+ { 0xC03C, "TLS_RSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC03D, "TLS_RSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC03E, "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC03F, "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC040, "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC041, "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC042, "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC043, "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC044, "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC045, "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC046, "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC047, "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC048, "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC049, "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC04A, "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC04B, "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC04C, "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC04D, "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC04E, "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC04F, "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC050, "TLS_RSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC051, "TLS_RSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC052, "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC053, "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC054, "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC055, "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC056, "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC057, "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC058, "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC059, "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC05A, "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC05B, "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC05C, "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC05D, "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC05E, "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC05F, "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC060, "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC061, "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC062, "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC063, "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC064, "TLS_PSK_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC065, "TLS_PSK_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC066, "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC067, "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC068, "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC069, "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC06A, "TLS_PSK_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC06B, "TLS_PSK_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC06C, "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC06D, "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC06E, "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256" },
+ { 0xC06F, "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384" },
+ { 0xC070, "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256" },
+ { 0xC071, "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384" },
+ { 0xC072, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC073, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC074, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC075, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC076, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC077, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC078, "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC079, "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC07A, "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC07B, "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC07C, "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC07D, "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC07E, "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC07F, "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC080, "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC081, "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC082, "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC083, "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC084, "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC085, "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC086, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC087, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC088, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC089, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC08A, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC08B, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC08C, "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC08D, "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC08E, "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC08F, "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC090, "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC091, "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC092, "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256" },
+ { 0xC093, "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384" },
+ { 0xC094, "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC095, "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC096, "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC097, "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC098, "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC099, "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC09A, "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256" },
+ { 0xC09B, "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384" },
+ { 0xC09C, "TLS_RSA_WITH_AES_128_CCM" },
+ { 0xC09D, "TLS_RSA_WITH_AES_256_CCM" },
+ { 0xC09E, "TLS_DHE_RSA_WITH_AES_128_CCM" },
+ { 0xC09F, "TLS_DHE_RSA_WITH_AES_256_CCM" },
+ { 0xC0A0, "TLS_RSA_WITH_AES_128_CCM_8" },
+ { 0xC0A1, "TLS_RSA_WITH_AES_256_CCM_8" },
+ { 0xC0A2, "TLS_DHE_RSA_WITH_AES_128_CCM_8" },
+ { 0xC0A3, "TLS_DHE_RSA_WITH_AES_256_CCM_8" },
+ { 0xC0A4, "TLS_PSK_WITH_AES_128_CCM" },
+ { 0xC0A5, "TLS_PSK_WITH_AES_256_CCM" },
+ { 0xC0A6, "TLS_DHE_PSK_WITH_AES_128_CCM" },
+ { 0xC0A7, "TLS_DHE_PSK_WITH_AES_256_CCM" },
+ { 0xC0A8, "TLS_PSK_WITH_AES_128_CCM_8" },
+ { 0xC0A9, "TLS_PSK_WITH_AES_256_CCM_8" },
+ { 0xC0AA, "TLS_PSK_DHE_WITH_AES_128_CCM_8" },
+ { 0xC0AB, "TLS_PSK_DHE_WITH_AES_256_CCM_8" },
+ { 0xC0AC, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM" },
+ { 0xC0AD, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM" },
+ { 0xC0AE, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8" },
+ { 0xC0AF, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8" },
+ { 0xC102, "IANA-GOST2012-GOST8912-GOST8912" },
+ { 0xCCA8, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0xCCA9, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0xCCAA, "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0xCCAB, "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0xCCAC, "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0xCCAD, "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0xCCAE, "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256" },
+ { 0x1301, "TLS_AES_128_GCM_SHA256" },
+ { 0x1302, "TLS_AES_256_GCM_SHA384" },
+ { 0x1303, "TLS_CHACHA20_POLY1305_SHA256" },
+ { 0x1304, "TLS_AES_128_CCM_SHA256" },
+ { 0x1305, "TLS_AES_128_CCM_8_SHA256" },
+ { 0xFEFE, "SSL_RSA_FIPS_WITH_DES_CBC_SHA" },
+ { 0xFEFF, "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA" },
+ { 0xFF85, "LEGACY-GOST2012-GOST8912-GOST8912" },
+ { 0xFF87, "GOST2012-NULL-GOST12" },
+ { 0xC0B4, "TLS_SHA256_SHA256" },
+ { 0xC0B5, "TLS_SHA384_SHA384" },
+ { 0xC100, "GOST2012-KUZNYECHIK-KUZNYECHIKOMAC" },
+ { 0xC101, "GOST2012-MAGMA-MAGMAOMAC" },
+ { 0xC102, "GOST2012-GOST8912-IANA" },
};
/* Compression methods */
static const ssl_trace_tbl ssl_comp_tbl[] = {
- {0x0000, "No Compression"},
- {0x0001, "Zlib Compression"}
+ { 0x0000, "No Compression" },
+ { 0x0001, "Zlib Compression" }
};
/* Extensions sorted by ascending id */
static const ssl_trace_tbl ssl_exts_tbl[] = {
- {TLSEXT_TYPE_server_name, "server_name"},
- {TLSEXT_TYPE_max_fragment_length, "max_fragment_length"},
- {TLSEXT_TYPE_client_certificate_url, "client_certificate_url"},
- {TLSEXT_TYPE_trusted_ca_keys, "trusted_ca_keys"},
- {TLSEXT_TYPE_truncated_hmac, "truncated_hmac"},
- {TLSEXT_TYPE_status_request, "status_request"},
- {TLSEXT_TYPE_user_mapping, "user_mapping"},
- {TLSEXT_TYPE_client_authz, "client_authz"},
- {TLSEXT_TYPE_server_authz, "server_authz"},
- {TLSEXT_TYPE_cert_type, "cert_type"},
- {TLSEXT_TYPE_supported_groups, "supported_groups"},
- {TLSEXT_TYPE_ec_point_formats, "ec_point_formats"},
- {TLSEXT_TYPE_srp, "srp"},
- {TLSEXT_TYPE_signature_algorithms, "signature_algorithms"},
- {TLSEXT_TYPE_use_srtp, "use_srtp"},
- {TLSEXT_TYPE_application_layer_protocol_negotiation,
- "application_layer_protocol_negotiation"},
- {TLSEXT_TYPE_signed_certificate_timestamp, "signed_certificate_timestamps"},
- {TLSEXT_TYPE_client_cert_type, "client_cert_type"},
- {TLSEXT_TYPE_server_cert_type, "server_cert_type"},
- {TLSEXT_TYPE_padding, "padding"},
- {TLSEXT_TYPE_encrypt_then_mac, "encrypt_then_mac"},
- {TLSEXT_TYPE_extended_master_secret, "extended_master_secret"},
- {TLSEXT_TYPE_compress_certificate, "compress_certificate"},
- {TLSEXT_TYPE_session_ticket, "session_ticket"},
- {TLSEXT_TYPE_psk, "psk"},
- {TLSEXT_TYPE_early_data, "early_data"},
- {TLSEXT_TYPE_supported_versions, "supported_versions"},
- {TLSEXT_TYPE_cookie, "cookie_ext"},
- {TLSEXT_TYPE_psk_kex_modes, "psk_key_exchange_modes"},
- {TLSEXT_TYPE_certificate_authorities, "certificate_authorities"},
- {TLSEXT_TYPE_post_handshake_auth, "post_handshake_auth"},
- {TLSEXT_TYPE_signature_algorithms_cert, "signature_algorithms_cert"},
- {TLSEXT_TYPE_key_share, "key_share"},
- {TLSEXT_TYPE_renegotiate, "renegotiate"},
-# ifndef OPENSSL_NO_NEXTPROTONEG
- {TLSEXT_TYPE_next_proto_neg, "next_proto_neg"},
-# endif
+ { TLSEXT_TYPE_server_name, "server_name" },
+ { TLSEXT_TYPE_max_fragment_length, "max_fragment_length" },
+ { TLSEXT_TYPE_client_certificate_url, "client_certificate_url" },
+ { TLSEXT_TYPE_trusted_ca_keys, "trusted_ca_keys" },
+ { TLSEXT_TYPE_truncated_hmac, "truncated_hmac" },
+ { TLSEXT_TYPE_status_request, "status_request" },
+ { TLSEXT_TYPE_user_mapping, "user_mapping" },
+ { TLSEXT_TYPE_client_authz, "client_authz" },
+ { TLSEXT_TYPE_server_authz, "server_authz" },
+ { TLSEXT_TYPE_cert_type, "cert_type" },
+ { TLSEXT_TYPE_supported_groups, "supported_groups" },
+ { TLSEXT_TYPE_ec_point_formats, "ec_point_formats" },
+ { TLSEXT_TYPE_srp, "srp" },
+ { TLSEXT_TYPE_signature_algorithms, "signature_algorithms" },
+ { TLSEXT_TYPE_use_srtp, "use_srtp" },
+ { TLSEXT_TYPE_application_layer_protocol_negotiation,
+ "application_layer_protocol_negotiation" },
+ { TLSEXT_TYPE_signed_certificate_timestamp, "signed_certificate_timestamps" },
+ { TLSEXT_TYPE_client_cert_type, "client_cert_type" },
+ { TLSEXT_TYPE_server_cert_type, "server_cert_type" },
+ { TLSEXT_TYPE_padding, "padding" },
+ { TLSEXT_TYPE_encrypt_then_mac, "encrypt_then_mac" },
+ { TLSEXT_TYPE_extended_master_secret, "extended_master_secret" },
+ { TLSEXT_TYPE_compress_certificate, "compress_certificate" },
+ { TLSEXT_TYPE_session_ticket, "session_ticket" },
+ { TLSEXT_TYPE_psk, "psk" },
+ { TLSEXT_TYPE_early_data, "early_data" },
+ { TLSEXT_TYPE_supported_versions, "supported_versions" },
+ { TLSEXT_TYPE_cookie, "cookie_ext" },
+ { TLSEXT_TYPE_psk_kex_modes, "psk_key_exchange_modes" },
+ { TLSEXT_TYPE_certificate_authorities, "certificate_authorities" },
+ { TLSEXT_TYPE_post_handshake_auth, "post_handshake_auth" },
+ { TLSEXT_TYPE_signature_algorithms_cert, "signature_algorithms_cert" },
+ { TLSEXT_TYPE_key_share, "key_share" },
+ { TLSEXT_TYPE_renegotiate, "renegotiate" },
+#ifndef OPENSSL_NO_NEXTPROTONEG
+ { TLSEXT_TYPE_next_proto_neg, "next_proto_neg" },
+#endif
};
static const ssl_trace_tbl ssl_groups_tbl[] = {
- {1, "sect163k1 (K-163)"},
- {2, "sect163r1"},
- {3, "sect163r2 (B-163)"},
- {4, "sect193r1"},
- {5, "sect193r2"},
- {6, "sect233k1 (K-233)"},
- {7, "sect233r1 (B-233)"},
- {8, "sect239k1"},
- {9, "sect283k1 (K-283)"},
- {10, "sect283r1 (B-283)"},
- {11, "sect409k1 (K-409)"},
- {12, "sect409r1 (B-409)"},
- {13, "sect571k1 (K-571)"},
- {14, "sect571r1 (B-571)"},
- {15, "secp160k1"},
- {16, "secp160r1"},
- {17, "secp160r2"},
- {18, "secp192k1"},
- {19, "secp192r1 (P-192)"},
- {20, "secp224k1"},
- {21, "secp224r1 (P-224)"},
- {22, "secp256k1"},
- {23, "secp256r1 (P-256)"},
- {24, "secp384r1 (P-384)"},
- {25, "secp521r1 (P-521)"},
- {26, "brainpoolP256r1"},
- {27, "brainpoolP384r1"},
- {28, "brainpoolP512r1"},
- {29, "ecdh_x25519"},
- {30, "ecdh_x448"},
- {31, "brainpoolP256r1tls13"},
- {32, "brainpoolP384r1tls13"},
- {33, "brainpoolP512r1tls13"},
- {34, "GC256A"},
- {35, "GC256B"},
- {36, "GC256C"},
- {37, "GC256D"},
- {38, "GC512A"},
- {39, "GC512B"},
- {40, "GC512C"},
- {256, "ffdhe2048"},
- {257, "ffdhe3072"},
- {258, "ffdhe4096"},
- {259, "ffdhe6144"},
- {260, "ffdhe8192"},
- {512, "MLKEM512"},
- {513, "MLKEM768"},
- {514, "MLKEM1024"},
- {4587, "SecP256r1MLKEM768"},
- {4588, "X25519MLKEM768"},
- {4589, "SecP384r1MLKEM1024"},
- {25497, "X25519Kyber768Draft00"},
- {25498, "SecP256r1Kyber768Draft00"},
- {0xFF01, "arbitrary_explicit_prime_curves"},
- {0xFF02, "arbitrary_explicit_char2_curves"}
+ { 1, "sect163k1 (K-163)" },
+ { 2, "sect163r1" },
+ { 3, "sect163r2 (B-163)" },
+ { 4, "sect193r1" },
+ { 5, "sect193r2" },
+ { 6, "sect233k1 (K-233)" },
+ { 7, "sect233r1 (B-233)" },
+ { 8, "sect239k1" },
+ { 9, "sect283k1 (K-283)" },
+ { 10, "sect283r1 (B-283)" },
+ { 11, "sect409k1 (K-409)" },
+ { 12, "sect409r1 (B-409)" },
+ { 13, "sect571k1 (K-571)" },
+ { 14, "sect571r1 (B-571)" },
+ { 15, "secp160k1" },
+ { 16, "secp160r1" },
+ { 17, "secp160r2" },
+ { 18, "secp192k1" },
+ { 19, "secp192r1 (P-192)" },
+ { 20, "secp224k1" },
+ { 21, "secp224r1 (P-224)" },
+ { 22, "secp256k1" },
+ { 23, "secp256r1 (P-256)" },
+ { 24, "secp384r1 (P-384)" },
+ { 25, "secp521r1 (P-521)" },
+ { 26, "brainpoolP256r1" },
+ { 27, "brainpoolP384r1" },
+ { 28, "brainpoolP512r1" },
+ { 29, "ecdh_x25519" },
+ { 30, "ecdh_x448" },
+ { 31, "brainpoolP256r1tls13" },
+ { 32, "brainpoolP384r1tls13" },
+ { 33, "brainpoolP512r1tls13" },
+ { 34, "GC256A" },
+ { 35, "GC256B" },
+ { 36, "GC256C" },
+ { 37, "GC256D" },
+ { 38, "GC512A" },
+ { 39, "GC512B" },
+ { 40, "GC512C" },
+ { 256, "ffdhe2048" },
+ { 257, "ffdhe3072" },
+ { 258, "ffdhe4096" },
+ { 259, "ffdhe6144" },
+ { 260, "ffdhe8192" },
+ { 512, "MLKEM512" },
+ { 513, "MLKEM768" },
+ { 514, "MLKEM1024" },
+ { 4587, "SecP256r1MLKEM768" },
+ { 4588, "X25519MLKEM768" },
+ { 4589, "SecP384r1MLKEM1024" },
+ { 25497, "X25519Kyber768Draft00" },
+ { 25498, "SecP256r1Kyber768Draft00" },
+ { 0xFF01, "arbitrary_explicit_prime_curves" },
+ { 0xFF02, "arbitrary_explicit_char2_curves" }
};
static const ssl_trace_tbl ssl_point_tbl[] = {
- {0, "uncompressed"},
- {1, "ansiX962_compressed_prime"},
- {2, "ansiX962_compressed_char2"}
+ { 0, "uncompressed" },
+ { 1, "ansiX962_compressed_prime" },
+ { 2, "ansiX962_compressed_char2" }
};
static const ssl_trace_tbl ssl_mfl_tbl[] = {
- {0, "disabled"},
- {1, "max_fragment_length := 2^9 (512 bytes)"},
- {2, "max_fragment_length := 2^10 (1024 bytes)"},
- {3, "max_fragment_length := 2^11 (2048 bytes)"},
- {4, "max_fragment_length := 2^12 (4096 bytes)"}
+ { 0, "disabled" },
+ { 1, "max_fragment_length := 2^9 (512 bytes)" },
+ { 2, "max_fragment_length := 2^10 (1024 bytes)" },
+ { 3, "max_fragment_length := 2^11 (2048 bytes)" },
+ { 4, "max_fragment_length := 2^12 (4096 bytes)" }
};
static const ssl_trace_tbl ssl_sigalg_tbl[] = {
- {TLSEXT_SIGALG_ecdsa_secp256r1_sha256, TLSEXT_SIGALG_ecdsa_secp256r1_sha256_name},
- {TLSEXT_SIGALG_ecdsa_secp384r1_sha384, TLSEXT_SIGALG_ecdsa_secp384r1_sha384_name},
- {TLSEXT_SIGALG_ecdsa_secp521r1_sha512,TLSEXT_SIGALG_ecdsa_secp521r1_sha512_name},
- {TLSEXT_SIGALG_ecdsa_sha224, TLSEXT_SIGALG_ecdsa_sha224_name},
- {TLSEXT_SIGALG_ed25519, TLSEXT_SIGALG_ed25519_name},
- {TLSEXT_SIGALG_ed448, TLSEXT_SIGALG_ed448_name},
- {TLSEXT_SIGALG_ecdsa_sha1, TLSEXT_SIGALG_ecdsa_sha1_name},
- {TLSEXT_SIGALG_rsa_pss_rsae_sha256, TLSEXT_SIGALG_rsa_pss_rsae_sha256_name},
- {TLSEXT_SIGALG_rsa_pss_rsae_sha384, TLSEXT_SIGALG_rsa_pss_rsae_sha384_name},
- {TLSEXT_SIGALG_rsa_pss_rsae_sha512, TLSEXT_SIGALG_rsa_pss_rsae_sha512_name},
- {TLSEXT_SIGALG_rsa_pss_pss_sha256, TLSEXT_SIGALG_rsa_pss_pss_sha256_name},
- {TLSEXT_SIGALG_rsa_pss_pss_sha384, TLSEXT_SIGALG_rsa_pss_pss_sha384_name},
- {TLSEXT_SIGALG_rsa_pss_pss_sha512, TLSEXT_SIGALG_rsa_pss_pss_sha512_name},
- {TLSEXT_SIGALG_rsa_pkcs1_sha256, TLSEXT_SIGALG_rsa_pkcs1_sha256_name},
- {TLSEXT_SIGALG_rsa_pkcs1_sha384, TLSEXT_SIGALG_rsa_pkcs1_sha384_name},
- {TLSEXT_SIGALG_rsa_pkcs1_sha512, TLSEXT_SIGALG_rsa_pkcs1_sha512_name},
- {TLSEXT_SIGALG_rsa_pkcs1_sha224, TLSEXT_SIGALG_rsa_pkcs1_sha224_name},
- {TLSEXT_SIGALG_rsa_pkcs1_sha1, TLSEXT_SIGALG_rsa_pkcs1_sha1_name},
- {TLSEXT_SIGALG_dsa_sha256, TLSEXT_SIGALG_dsa_sha256_name},
- {TLSEXT_SIGALG_dsa_sha384, TLSEXT_SIGALG_dsa_sha384_name},
- {TLSEXT_SIGALG_dsa_sha512, TLSEXT_SIGALG_dsa_sha512_name},
- {TLSEXT_SIGALG_dsa_sha224, TLSEXT_SIGALG_dsa_sha224_name},
- {TLSEXT_SIGALG_dsa_sha1, TLSEXT_SIGALG_dsa_sha1_name},
- {TLSEXT_SIGALG_gostr34102012_256_intrinsic, TLSEXT_SIGALG_gostr34102012_256_intrinsic_name},
- {TLSEXT_SIGALG_gostr34102012_512_intrinsic, TLSEXT_SIGALG_gostr34102012_512_intrinsic_name},
- {TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256, TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256_name},
- {TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512, TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512_name},
- {TLSEXT_SIGALG_gostr34102001_gostr3411, TLSEXT_SIGALG_gostr34102001_gostr3411_name},
- {TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256, TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_name},
- {TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384, TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_name},
- {TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512, TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_name},
+ { TLSEXT_SIGALG_ecdsa_secp256r1_sha256, TLSEXT_SIGALG_ecdsa_secp256r1_sha256_name },
+ { TLSEXT_SIGALG_ecdsa_secp384r1_sha384, TLSEXT_SIGALG_ecdsa_secp384r1_sha384_name },
+ { TLSEXT_SIGALG_ecdsa_secp521r1_sha512, TLSEXT_SIGALG_ecdsa_secp521r1_sha512_name },
+ { TLSEXT_SIGALG_ecdsa_sha224, TLSEXT_SIGALG_ecdsa_sha224_name },
+ { TLSEXT_SIGALG_ed25519, TLSEXT_SIGALG_ed25519_name },
+ { TLSEXT_SIGALG_ed448, TLSEXT_SIGALG_ed448_name },
+ { TLSEXT_SIGALG_ecdsa_sha1, TLSEXT_SIGALG_ecdsa_sha1_name },
+ { TLSEXT_SIGALG_rsa_pss_rsae_sha256, TLSEXT_SIGALG_rsa_pss_rsae_sha256_name },
+ { TLSEXT_SIGALG_rsa_pss_rsae_sha384, TLSEXT_SIGALG_rsa_pss_rsae_sha384_name },
+ { TLSEXT_SIGALG_rsa_pss_rsae_sha512, TLSEXT_SIGALG_rsa_pss_rsae_sha512_name },
+ { TLSEXT_SIGALG_rsa_pss_pss_sha256, TLSEXT_SIGALG_rsa_pss_pss_sha256_name },
+ { TLSEXT_SIGALG_rsa_pss_pss_sha384, TLSEXT_SIGALG_rsa_pss_pss_sha384_name },
+ { TLSEXT_SIGALG_rsa_pss_pss_sha512, TLSEXT_SIGALG_rsa_pss_pss_sha512_name },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha256, TLSEXT_SIGALG_rsa_pkcs1_sha256_name },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha384, TLSEXT_SIGALG_rsa_pkcs1_sha384_name },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha512, TLSEXT_SIGALG_rsa_pkcs1_sha512_name },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha224, TLSEXT_SIGALG_rsa_pkcs1_sha224_name },
+ { TLSEXT_SIGALG_rsa_pkcs1_sha1, TLSEXT_SIGALG_rsa_pkcs1_sha1_name },
+ { TLSEXT_SIGALG_dsa_sha256, TLSEXT_SIGALG_dsa_sha256_name },
+ { TLSEXT_SIGALG_dsa_sha384, TLSEXT_SIGALG_dsa_sha384_name },
+ { TLSEXT_SIGALG_dsa_sha512, TLSEXT_SIGALG_dsa_sha512_name },
+ { TLSEXT_SIGALG_dsa_sha224, TLSEXT_SIGALG_dsa_sha224_name },
+ { TLSEXT_SIGALG_dsa_sha1, TLSEXT_SIGALG_dsa_sha1_name },
+ { TLSEXT_SIGALG_gostr34102012_256_intrinsic, TLSEXT_SIGALG_gostr34102012_256_intrinsic_name },
+ { TLSEXT_SIGALG_gostr34102012_512_intrinsic, TLSEXT_SIGALG_gostr34102012_512_intrinsic_name },
+ { TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256, TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256_name },
+ { TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512, TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512_name },
+ { TLSEXT_SIGALG_gostr34102001_gostr3411, TLSEXT_SIGALG_gostr34102001_gostr3411_name },
+ { TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256, TLSEXT_SIGALG_ecdsa_brainpoolP256r1_sha256_name },
+ { TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384, TLSEXT_SIGALG_ecdsa_brainpoolP384r1_sha384_name },
+ { TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512, TLSEXT_SIGALG_ecdsa_brainpoolP512r1_sha512_name },
/*
* Well known groups that we happen to know about, but only come from
* provider capability declarations (hence no macros for the
* codepoints/names)
*/
- {0x0904, "mldsa44"},
- {0x0905, "mldsa65"},
- {0x0906, "mldsa87"}
+ { 0x0904, "mldsa44" },
+ { 0x0905, "mldsa65" },
+ { 0x0906, "mldsa87" }
};
static const ssl_trace_tbl ssl_ctype_tbl[] = {
- {1, "rsa_sign"},
- {2, "dss_sign"},
- {3, "rsa_fixed_dh"},
- {4, "dss_fixed_dh"},
- {5, "rsa_ephemeral_dh"},
- {6, "dss_ephemeral_dh"},
- {20, "fortezza_dms"},
- {64, "ecdsa_sign"},
- {65, "rsa_fixed_ecdh"},
- {66, "ecdsa_fixed_ecdh"},
- {67, "gost_sign256"},
- {68, "gost_sign512"},
+ { 1, "rsa_sign" },
+ { 2, "dss_sign" },
+ { 3, "rsa_fixed_dh" },
+ { 4, "dss_fixed_dh" },
+ { 5, "rsa_ephemeral_dh" },
+ { 6, "dss_ephemeral_dh" },
+ { 20, "fortezza_dms" },
+ { 64, "ecdsa_sign" },
+ { 65, "rsa_fixed_ecdh" },
+ { 66, "ecdsa_fixed_ecdh" },
+ { 67, "gost_sign256" },
+ { 68, "gost_sign512" },
};
static const ssl_trace_tbl ssl_psk_kex_modes_tbl[] = {
- {TLSEXT_KEX_MODE_KE, "psk_ke"},
- {TLSEXT_KEX_MODE_KE_DHE, "psk_dhe_ke"}
+ { TLSEXT_KEX_MODE_KE, "psk_ke" },
+ { TLSEXT_KEX_MODE_KE_DHE, "psk_dhe_ke" }
};
static const ssl_trace_tbl ssl_key_update_tbl[] = {
- {SSL_KEY_UPDATE_NOT_REQUESTED, "update_not_requested"},
- {SSL_KEY_UPDATE_REQUESTED, "update_requested"}
+ { SSL_KEY_UPDATE_NOT_REQUESTED, "update_not_requested" },
+ { SSL_KEY_UPDATE_REQUESTED, "update_requested" }
};
static const ssl_trace_tbl ssl_comp_cert_tbl[] = {
- {TLSEXT_comp_cert_none, "none"},
- {TLSEXT_comp_cert_zlib, "zlib"},
- {TLSEXT_comp_cert_brotli, "brotli"},
- {TLSEXT_comp_cert_zstd, "zstd"}
+ { TLSEXT_comp_cert_none, "none" },
+ { TLSEXT_comp_cert_zlib, "zlib" },
+ { TLSEXT_comp_cert_brotli, "brotli" },
+ { TLSEXT_comp_cert_zstd, "zstd" }
};
/*
@@ -655,14 +655,14 @@ static const ssl_trace_tbl ssl_comp_cert_tbl[] = {
* at least report them in traces
*/
static const ssl_trace_tbl ssl_cert_type_tbl[] = {
- {TLSEXT_cert_type_x509, "x509"},
- {TLSEXT_cert_type_pgp, "pgp"},
- {TLSEXT_cert_type_rpk, "rpk"},
- {TLSEXT_cert_type_1609dot2, "1609dot2"}
+ { TLSEXT_cert_type_x509, "x509" },
+ { TLSEXT_cert_type_pgp, "pgp" },
+ { TLSEXT_cert_type_rpk, "rpk" },
+ { TLSEXT_cert_type_1609dot2, "1609dot2" }
};
static void ssl_print_hex(BIO *bio, int indent, const char *name,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
size_t i;
@@ -674,7 +674,7 @@ static void ssl_print_hex(BIO *bio, int indent, const char *name,
}
static int ssl_print_hexbuf(BIO *bio, int indent, const char *name, size_t nlen,
- const unsigned char **pmsg, size_t *pmsglen)
+ const unsigned char **pmsg, size_t *pmsglen)
{
size_t blen;
const unsigned char *p = *pmsg;
@@ -694,8 +694,8 @@ static int ssl_print_hexbuf(BIO *bio, int indent, const char *name, size_t nlen,
}
static int ssl_print_version(BIO *bio, int indent, const char *name,
- const unsigned char **pmsg, size_t *pmsglen,
- unsigned int *version)
+ const unsigned char **pmsg, size_t *pmsglen,
+ unsigned int *version)
{
int vers;
@@ -706,14 +706,14 @@ static int ssl_print_version(BIO *bio, int indent, const char *name,
*version = vers;
BIO_indent(bio, indent, 80);
BIO_printf(bio, "%s=0x%x (%s)\n",
- name, vers, ssl_trace_str(vers, ssl_version_tbl));
+ name, vers, ssl_trace_str(vers, ssl_version_tbl));
*pmsg += 2;
*pmsglen -= 2;
return 1;
}
static int ssl_print_random(BIO *bio, int indent,
- const unsigned char **pmsg, size_t *pmsglen)
+ const unsigned char **pmsg, size_t *pmsglen)
{
unsigned int tm;
const unsigned char *p = *pmsg;
@@ -721,9 +721,9 @@ static int ssl_print_random(BIO *bio, int indent,
if (*pmsglen < 32)
return 0;
tm = ((unsigned int)p[0] << 24)
- | ((unsigned int)p[1] << 16)
- | ((unsigned int)p[2] << 8)
- | (unsigned int)p[3];
+ | ((unsigned int)p[1] << 16)
+ | ((unsigned int)p[2] << 8)
+ | (unsigned int)p[3];
p += 4;
BIO_indent(bio, indent, 80);
BIO_puts(bio, "Random:\n");
@@ -736,7 +736,7 @@ static int ssl_print_random(BIO *bio, int indent,
}
static int ssl_print_signature(BIO *bio, int indent, const SSL_CONNECTION *sc,
- const unsigned char **pmsg, size_t *pmsglen)
+ const unsigned char **pmsg, size_t *pmsglen)
{
if (*pmsglen < 2)
return 0;
@@ -746,7 +746,7 @@ static int ssl_print_signature(BIO *bio, int indent, const SSL_CONNECTION *sc,
BIO_indent(bio, indent, 80);
BIO_printf(bio, "Signature Algorithm: %s (0x%04x)\n",
- ssl_trace_str(sigalg, ssl_sigalg_tbl), sigalg);
+ ssl_trace_str(sigalg, ssl_sigalg_tbl), sigalg);
*pmsg += 2;
*pmsglen -= 2;
}
@@ -754,8 +754,8 @@ static int ssl_print_signature(BIO *bio, int indent, const SSL_CONNECTION *sc,
}
static int ssl_print_extension(BIO *bio, int indent, int server,
- unsigned char mt, int extype,
- const unsigned char *ext, size_t extlen)
+ unsigned char mt, int extype,
+ const unsigned char *ext, size_t extlen)
{
size_t xlen, share_len;
unsigned int sigalg;
@@ -763,7 +763,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
BIO_indent(bio, indent, 80);
BIO_printf(bio, "extension_type=%s(%d), length=%d\n",
- ssl_trace_str(extype, ssl_exts_tbl), extype, (int)extlen);
+ ssl_trace_str(extype, ssl_exts_tbl), extype, (int)extlen);
switch (extype) {
case TLSEXT_TYPE_compress_certificate:
if (extlen < 1)
@@ -828,7 +828,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
BIO_indent(bio, indent + 2, 80);
sigalg = (ext[0] << 8) | ext[1];
BIO_printf(bio, "%s (0x%04x)\n",
- ssl_trace_str(sigalg, ssl_sigalg_tbl), sigalg);
+ ssl_trace_str(sigalg, ssl_sigalg_tbl), sigalg);
xlen -= 2;
ext += 2;
}
@@ -871,7 +871,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
group_id = (ext[0] << 8) | ext[1];
BIO_indent(bio, indent + 4, 80);
BIO_printf(bio, "NamedGroup: %s (%d)\n",
- ssl_trace_str(group_id, ssl_groups_tbl), group_id);
+ ssl_trace_str(group_id, ssl_groups_tbl), group_id);
break;
}
if (extlen < 2)
@@ -897,7 +897,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
return 0;
BIO_indent(bio, indent + 4, 80);
BIO_printf(bio, "NamedGroup: %s (%d)\n",
- ssl_trace_str(group_id, ssl_groups_tbl), group_id);
+ ssl_trace_str(group_id, ssl_groups_tbl), group_id);
ssl_print_hex(bio, indent + 4, "key_exchange: ", ext, share_len);
}
break;
@@ -911,7 +911,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
version = (ext[0] << 8) | ext[1];
BIO_indent(bio, indent + 4, 80);
BIO_printf(bio, "%s (%d)\n",
- ssl_trace_str(version, ssl_version_tbl), version);
+ ssl_trace_str(version, ssl_version_tbl), version);
break;
}
if (extlen < 1)
@@ -920,7 +920,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
if (extlen != xlen + 1)
return 0;
return ssl_trace_list(bio, indent + 2, ext + 1, xlen, 2,
- ssl_version_tbl);
+ ssl_version_tbl);
case TLSEXT_TYPE_psk_kex_modes:
if (extlen < 1)
@@ -929,7 +929,7 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
if (extlen != xlen + 1)
return 0;
return ssl_trace_list(bio, indent + 2, ext + 1, xlen, 1,
- ssl_psk_kex_modes_tbl);
+ ssl_psk_kex_modes_tbl);
case TLSEXT_TYPE_early_data:
if (mt != SSL3_MT_NEWSESSION_TICKET)
@@ -937,9 +937,9 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
if (extlen != 4)
return 0;
max_early_data = ((unsigned int)ext[0] << 24)
- | ((unsigned int)ext[1] << 16)
- | ((unsigned int)ext[2] << 8)
- | (unsigned int)ext[3];
+ | ((unsigned int)ext[1] << 16)
+ | ((unsigned int)ext[2] << 8)
+ | (unsigned int)ext[3];
BIO_indent(bio, indent + 2, 80);
BIO_printf(bio, "max_early_data=%u\n", (unsigned int)max_early_data);
break;
@@ -965,8 +965,8 @@ static int ssl_print_extension(BIO *bio, int indent, int server,
}
static int ssl_print_extensions(BIO *bio, int indent, int server,
- unsigned char mt, const unsigned char **msgin,
- size_t *msginlen)
+ unsigned char mt, const unsigned char **msgin,
+ size_t *msginlen)
{
size_t extslen, msglen = *msginlen;
const unsigned char *msg = *msgin;
@@ -1000,13 +1000,13 @@ static int ssl_print_extensions(BIO *bio, int indent, int server,
extlen = (msg[2] << 8) | msg[3];
if (extslen < extlen + 4) {
BIO_printf(bio, "extensions, extype = %d, extlen = %d\n", extype,
- (int)extlen);
+ (int)extlen);
BIO_dump_indent(bio, (const char *)msg, extslen, indent + 2);
return 0;
}
msg += 4;
if (!ssl_print_extension(bio, indent + 2, server, mt, extype, msg,
- extlen))
+ extlen))
return 0;
msg += extlen;
extslen -= extlen + 4;
@@ -1018,7 +1018,7 @@ static int ssl_print_extensions(BIO *bio, int indent, int server,
}
static int ssl_print_client_hello(BIO *bio, const SSL_CONNECTION *sc, int indent,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
size_t len;
unsigned int cs;
@@ -1046,7 +1046,7 @@ static int ssl_print_client_hello(BIO *bio, const SSL_CONNECTION *sc, int indent
cs = (msg[0] << 8) | msg[1];
BIO_indent(bio, indent + 2, 80);
BIO_printf(bio, "{0x%02X, 0x%02X} %s\n",
- msg[0], msg[1], ssl_trace_str(cs, ssl_ciphers_tbl));
+ msg[0], msg[1], ssl_trace_str(cs, ssl_ciphers_tbl));
msg += 2;
msglen -= 2;
len -= 2;
@@ -1063,19 +1063,19 @@ static int ssl_print_client_hello(BIO *bio, const SSL_CONNECTION *sc, int indent
while (len > 0) {
BIO_indent(bio, indent + 2, 80);
BIO_printf(bio, "%s (0x%02X)\n",
- ssl_trace_str(msg[0], ssl_comp_tbl), msg[0]);
+ ssl_trace_str(msg[0], ssl_comp_tbl), msg[0]);
msg++;
msglen--;
len--;
}
if (!ssl_print_extensions(bio, indent, 0, SSL3_MT_CLIENT_HELLO, &msg,
- &msglen))
+ &msglen))
return 0;
return 1;
}
static int dtls_print_hello_vfyrequest(BIO *bio, int indent,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
if (!ssl_print_version(bio, indent, "server_version", &msg, &msglen, NULL))
return 0;
@@ -1085,7 +1085,7 @@ static int dtls_print_hello_vfyrequest(BIO *bio, int indent,
}
static int ssl_print_server_hello(BIO *bio, int indent,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
unsigned int cs;
unsigned int vers;
@@ -1095,14 +1095,14 @@ static int ssl_print_server_hello(BIO *bio, int indent,
if (!ssl_print_random(bio, indent, &msg, &msglen))
return 0;
if (vers != TLS1_3_VERSION
- && !ssl_print_hexbuf(bio, indent, "session_id", 1, &msg, &msglen))
+ && !ssl_print_hexbuf(bio, indent, "session_id", 1, &msg, &msglen))
return 0;
if (msglen < 2)
return 0;
cs = (msg[0] << 8) | msg[1];
BIO_indent(bio, indent, 80);
BIO_printf(bio, "cipher_suite {0x%02X, 0x%02X} %s\n",
- msg[0], msg[1], ssl_trace_str(cs, ssl_ciphers_tbl));
+ msg[0], msg[1], ssl_trace_str(cs, ssl_ciphers_tbl));
msg += 2;
msglen -= 2;
if (vers != TLS1_3_VERSION) {
@@ -1110,12 +1110,12 @@ static int ssl_print_server_hello(BIO *bio, int indent,
return 0;
BIO_indent(bio, indent, 80);
BIO_printf(bio, "compression_method: %s (0x%02X)\n",
- ssl_trace_str(msg[0], ssl_comp_tbl), msg[0]);
+ ssl_trace_str(msg[0], ssl_comp_tbl), msg[0]);
msg++;
msglen--;
}
if (!ssl_print_extensions(bio, indent, 1, SSL3_MT_SERVER_HELLO, &msg,
- &msglen))
+ &msglen))
return 0;
return 1;
}
@@ -1169,7 +1169,7 @@ static int ssl_get_keyex(const char **pname, const SSL_CONNECTION *sc)
}
static int ssl_print_client_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
const char *algname;
int id = ssl_get_keyex(&algname, sc);
@@ -1178,7 +1178,7 @@ static int ssl_print_client_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
BIO_printf(bio, "KeyExchangeAlgorithm=%s\n", algname);
if (id & SSL_PSK) {
if (!ssl_print_hexbuf(bio, indent + 2,
- "psk_identity", 2, &msg, &msglen))
+ "psk_identity", 2, &msg, &msglen))
return 0;
}
switch (id) {
@@ -1187,10 +1187,10 @@ static int ssl_print_client_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
case SSL_kRSAPSK:
if (TLS1_get_version(SSL_CONNECTION_GET_SSL(sc)) == SSL3_VERSION) {
ssl_print_hex(bio, indent + 2,
- "EncryptedPreMasterSecret", msg, msglen);
+ "EncryptedPreMasterSecret", msg, msglen);
} else {
if (!ssl_print_hexbuf(bio, indent + 2,
- "EncryptedPreMasterSecret", 2, &msg, &msglen))
+ "EncryptedPreMasterSecret", 2, &msg, &msglen))
return 0;
}
break;
@@ -1212,7 +1212,7 @@ static int ssl_print_client_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
break;
case SSL_kGOST18:
ssl_print_hex(bio, indent + 2,
- "GOST-wrapped PreMasterSecret", msg, msglen);
+ "GOST-wrapped PreMasterSecret", msg, msglen);
msglen = 0;
break;
}
@@ -1221,7 +1221,7 @@ static int ssl_print_client_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
}
static int ssl_print_server_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
const char *algname;
int id = ssl_get_keyex(&algname, sc);
@@ -1230,7 +1230,7 @@ static int ssl_print_server_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
BIO_printf(bio, "KeyExchangeAlgorithm=%s\n", algname);
if (id & SSL_PSK) {
if (!ssl_print_hexbuf(bio, indent + 2,
- "psk_identity_hint", 2, &msg, &msglen))
+ "psk_identity_hint", 2, &msg, &msglen))
return 0;
}
switch (id) {
@@ -1239,7 +1239,7 @@ static int ssl_print_server_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
if (!ssl_print_hexbuf(bio, indent + 2, "rsa_modulus", 2, &msg, &msglen))
return 0;
if (!ssl_print_hexbuf(bio, indent + 2, "rsa_exponent", 2,
- &msg, &msglen))
+ &msg, &msglen))
return 0;
break;
@@ -1268,7 +1268,7 @@ static int ssl_print_server_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
return 0;
curve = (msg[1] << 8) | msg[2];
BIO_printf(bio, "named_curve: %s (%d)\n",
- ssl_trace_str(curve, ssl_groups_tbl), curve);
+ ssl_trace_str(curve, ssl_groups_tbl), curve);
msg += 3;
msglen -= 3;
if (!ssl_print_hexbuf(bio, indent + 2, "point", 1, &msg, &msglen))
@@ -1289,7 +1289,7 @@ static int ssl_print_server_keyex(BIO *bio, int indent, const SSL_CONNECTION *sc
}
static int ssl_print_certificate(BIO *bio, const SSL_CONNECTION *sc, int indent,
- const unsigned char **pmsg, size_t *pmsglen)
+ const unsigned char **pmsg, size_t *pmsglen)
{
size_t msglen = *pmsglen;
size_t clen;
@@ -1310,8 +1310,8 @@ static int ssl_print_certificate(BIO *bio, const SSL_CONNECTION *sc, int indent,
X509_free(x);
x = NULL;
}
- if (x == NULL)
- BIO_puts(bio, "<UNPARSEABLE CERTIFICATE>\n");
+ if (x == NULL)
+ BIO_puts(bio, "<UNPARSABLE CERTIFICATE>\n");
else {
BIO_puts(bio, "\n------details-----\n");
X509_print_ex(bio, x, XN_FLAG_ONELINE, 0);
@@ -1329,8 +1329,8 @@ static int ssl_print_certificate(BIO *bio, const SSL_CONNECTION *sc, int indent,
}
static int ssl_print_raw_public_key(BIO *bio, const SSL *ssl, int server,
- int indent, const unsigned char **pmsg,
- size_t *pmsglen)
+ int indent, const unsigned char **pmsg,
+ size_t *pmsglen)
{
EVP_PKEY *pkey;
size_t clen;
@@ -1359,13 +1359,13 @@ static int ssl_print_raw_public_key(BIO *bio, const SSL *ssl, int server,
}
static int ssl_print_certificates(BIO *bio, const SSL_CONNECTION *sc, int server,
- int indent, const unsigned char *msg,
- size_t msglen)
+ int indent, const unsigned char *msg,
+ size_t msglen)
{
size_t clen;
if (SSL_CONNECTION_IS_TLS13(sc)
- && !ssl_print_hexbuf(bio, indent, "context", 1, &msg, &msglen))
+ && !ssl_print_hexbuf(bio, indent, "context", 1, &msg, &msglen))
return 0;
if (msglen < 3)
@@ -1375,12 +1375,12 @@ static int ssl_print_certificates(BIO *bio, const SSL_CONNECTION *sc, int server
return 0;
msg += 3;
if ((server && sc->ext.server_cert_type == TLSEXT_cert_type_rpk)
- || (!server && sc->ext.client_cert_type == TLSEXT_cert_type_rpk)) {
+ || (!server && sc->ext.client_cert_type == TLSEXT_cert_type_rpk)) {
if (!ssl_print_raw_public_key(bio, &sc->ssl, server, indent, &msg, &clen))
return 0;
if (SSL_CONNECTION_IS_TLS13(sc)
&& !ssl_print_extensions(bio, indent + 2, server,
- SSL3_MT_CERTIFICATE, &msg, &clen))
+ SSL3_MT_CERTIFICATE, &msg, &clen))
return 0;
return 1;
}
@@ -1391,17 +1391,16 @@ static int ssl_print_certificates(BIO *bio, const SSL_CONNECTION *sc, int server
return 0;
if (SSL_CONNECTION_IS_TLS13(sc)
&& !ssl_print_extensions(bio, indent + 2, server,
- SSL3_MT_CERTIFICATE, &msg, &clen))
+ SSL3_MT_CERTIFICATE, &msg, &clen))
return 0;
-
}
return 1;
}
static int ssl_print_compressed_certificates(BIO *bio, const SSL_CONNECTION *sc,
- int server, int indent,
- const unsigned char *msg,
- size_t msglen)
+ int server, int indent,
+ const unsigned char *msg,
+ size_t msglen)
{
size_t uclen;
size_t clen;
@@ -1410,7 +1409,7 @@ static int ssl_print_compressed_certificates(BIO *bio, const SSL_CONNECTION *sc,
#ifndef OPENSSL_NO_COMP_ALG
COMP_METHOD *method;
COMP_CTX *comp = NULL;
- unsigned char* ucdata = NULL;
+ unsigned char *ucdata = NULL;
#endif
if (msglen < 8)
@@ -1458,11 +1457,11 @@ static int ssl_print_compressed_certificates(BIO *bio, const SSL_CONNECTION *sc,
}
if ((comp = COMP_CTX_new(method)) == NULL
- || COMP_expand_block(comp, ucdata, uclen, (unsigned char*)msg, clen) != (int)uclen)
+ || COMP_expand_block(comp, ucdata, uclen, (unsigned char *)msg, clen) != (int)uclen)
goto err;
ret = ssl_print_certificates(bio, sc, server, indent, ucdata, uclen);
- err:
+err:
COMP_CTX_free(comp);
OPENSSL_free(ucdata);
#endif
@@ -1470,7 +1469,7 @@ static int ssl_print_compressed_certificates(BIO *bio, const SSL_CONNECTION *sc,
}
static int ssl_print_cert_request(BIO *bio, int indent, const SSL_CONNECTION *sc,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
size_t xlen;
unsigned int sigalg;
@@ -1479,7 +1478,7 @@ static int ssl_print_cert_request(BIO *bio, int indent, const SSL_CONNECTION *sc
if (!ssl_print_hexbuf(bio, indent, "request_context", 1, &msg, &msglen))
return 0;
if (!ssl_print_extensions(bio, indent, 1,
- SSL3_MT_CERTIFICATE_REQUEST, &msg, &msglen))
+ SSL3_MT_CERTIFICATE_REQUEST, &msg, &msglen))
return 0;
return 1;
} else {
@@ -1510,7 +1509,7 @@ static int ssl_print_cert_request(BIO *bio, int indent, const SSL_CONNECTION *sc
BIO_indent(bio, indent + 2, 80);
sigalg = (msg[0] << 8) | msg[1];
BIO_printf(bio, "%s (0x%04x)\n",
- ssl_trace_str(sigalg, ssl_sigalg_tbl), sigalg);
+ ssl_trace_str(sigalg, ssl_sigalg_tbl), sigalg);
xlen -= 2;
msg += 2;
}
@@ -1541,7 +1540,7 @@ static int ssl_print_cert_request(BIO *bio, int indent, const SSL_CONNECTION *sc
p = msg;
nm = d2i_X509_NAME(NULL, &p, dlen);
if (!nm) {
- BIO_puts(bio, "<UNPARSEABLE DN>\n");
+ BIO_puts(bio, "<UNPARSABLE DN>\n");
} else {
X509_NAME_print_ex(bio, nm, 0, XN_FLAG_ONELINE);
BIO_puts(bio, "\n");
@@ -1552,14 +1551,14 @@ static int ssl_print_cert_request(BIO *bio, int indent, const SSL_CONNECTION *sc
}
if (SSL_CONNECTION_IS_TLS13(sc)) {
if (!ssl_print_hexbuf(bio, indent, "request_extensions", 2,
- &msg, &msglen))
+ &msg, &msglen))
return 0;
}
return msglen == 0;
}
static int ssl_print_ticket(BIO *bio, int indent, const SSL_CONNECTION *sc,
- const unsigned char *msg, size_t msglen)
+ const unsigned char *msg, size_t msglen)
{
unsigned int tick_life;
@@ -1571,9 +1570,9 @@ static int ssl_print_ticket(BIO *bio, int indent, const SSL_CONNECTION *sc,
if (msglen < 4)
return 0;
tick_life = ((unsigned int)msg[0] << 24)
- | ((unsigned int)msg[1] << 16)
- | ((unsigned int)msg[2] << 8)
- | (unsigned int)msg[3];
+ | ((unsigned int)msg[1] << 16)
+ | ((unsigned int)msg[2] << 8)
+ | (unsigned int)msg[3];
msglen -= 4;
msg += 4;
BIO_indent(bio, indent + 2, 80);
@@ -1583,8 +1582,7 @@ static int ssl_print_ticket(BIO *bio, int indent, const SSL_CONNECTION *sc,
if (msglen < 4)
return 0;
- ticket_age_add =
- ((unsigned int)msg[0] << 24)
+ ticket_age_add = ((unsigned int)msg[0] << 24)
| ((unsigned int)msg[1] << 16)
| ((unsigned int)msg[2] << 8)
| (unsigned int)msg[3];
@@ -1593,14 +1591,14 @@ static int ssl_print_ticket(BIO *bio, int indent, const SSL_CONNECTION *sc,
BIO_indent(bio, indent + 2, 80);
BIO_printf(bio, "ticket_age_add=%u\n", ticket_age_add);
if (!ssl_print_hexbuf(bio, indent + 2, "ticket_nonce", 1, &msg,
- &msglen))
+ &msglen))
return 0;
}
if (!ssl_print_hexbuf(bio, indent + 2, "ticket", 2, &msg, &msglen))
return 0;
if (SSL_CONNECTION_IS_TLS13(sc)
- && !ssl_print_extensions(bio, indent + 2, 0,
- SSL3_MT_NEWSESSION_TICKET, &msg, &msglen))
+ && !ssl_print_extensions(bio, indent + 2, 0,
+ SSL3_MT_NEWSESSION_TICKET, &msg, &msglen))
return 0;
if (msglen)
return 0;
@@ -1608,8 +1606,8 @@ static int ssl_print_ticket(BIO *bio, int indent, const SSL_CONNECTION *sc,
}
static int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,
- const unsigned char *msg, size_t msglen,
- int indent)
+ const unsigned char *msg, size_t msglen,
+ int indent)
{
size_t hlen;
unsigned char htype;
@@ -1620,7 +1618,7 @@ static int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,
hlen = (msg[1] << 16) | (msg[2] << 8) | msg[3];
BIO_indent(bio, indent, 80);
BIO_printf(bio, "%s, Length=%d\n",
- ssl_trace_str(htype, ssl_handshake_tbl), (int)hlen);
+ ssl_trace_str(htype, ssl_handshake_tbl), (int)hlen);
msg += 4;
msglen -= 4;
if (SSL_CONNECTION_IS_DTLS(sc)) {
@@ -1628,10 +1626,10 @@ static int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,
return 0;
BIO_indent(bio, indent, 80);
BIO_printf(bio, "message_seq=%d, fragment_offset=%d, "
- "fragment_length=%d\n",
- (msg[0] << 8) | msg[1],
- (msg[2] << 16) | (msg[3] << 8) | msg[4],
- (msg[5] << 16) | (msg[6] << 8) | msg[7]);
+ "fragment_length=%d\n",
+ (msg[0] << 8) | msg[1],
+ (msg[2] << 16) | (msg[3] << 8) | msg[4],
+ (msg[5] << 16) | (msg[6] << 8) | msg[7]);
msg += 8;
msglen -= 8;
}
@@ -1700,7 +1698,7 @@ static int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,
case SSL3_MT_ENCRYPTED_EXTENSIONS:
if (!ssl_print_extensions(bio, indent + 2, 1,
- SSL3_MT_ENCRYPTED_EXTENSIONS, &msg, &msglen))
+ SSL3_MT_ENCRYPTED_EXTENSIONS, &msg, &msglen))
return 0;
break;
@@ -1710,7 +1708,7 @@ static int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,
return 0;
}
if (!ssl_trace_list(bio, indent + 2, msg, msglen, 1,
- ssl_key_update_tbl))
+ ssl_key_update_tbl))
return 0;
break;
@@ -1723,7 +1721,7 @@ static int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,
}
void SSL_trace(int write_p, int version, int content_type,
- const void *buf, size_t msglen, SSL *ssl, void *arg)
+ const void *buf, size_t msglen, SSL *ssl, void *arg)
{
const unsigned char *msg = buf;
BIO *bio = arg;
@@ -1733,7 +1731,7 @@ void SSL_trace(int write_p, int version, int content_type,
if (qc != NULL) {
if (ossl_quic_trace(write_p, version, content_type, buf, msglen, ssl,
- arg))
+ arg))
return;
/*
* Otherwise ossl_quic_trace didn't handle this content_type so we
@@ -1746,43 +1744,40 @@ void SSL_trace(int write_p, int version, int content_type,
return;
switch (content_type) {
- case SSL3_RT_HEADER:
- {
- int hvers;
+ case SSL3_RT_HEADER: {
+ int hvers;
- /* avoid overlapping with length at the end of buffer */
- if (msglen < (size_t)(SSL_CONNECTION_IS_DTLS(sc) ?
- DTLS1_RT_HEADER_LENGTH : SSL3_RT_HEADER_LENGTH)) {
- BIO_puts(bio, write_p ? "Sent" : "Received");
- ssl_print_hex(bio, 0, " too short message", msg, msglen);
- break;
- }
- hvers = msg[1] << 8 | msg[2];
+ /* avoid overlapping with length at the end of buffer */
+ if (msglen < (size_t)(SSL_CONNECTION_IS_DTLS(sc) ? DTLS1_RT_HEADER_LENGTH : SSL3_RT_HEADER_LENGTH)) {
BIO_puts(bio, write_p ? "Sent" : "Received");
- BIO_printf(bio, " TLS Record\nHeader:\n Version = %s (0x%x)\n",
- ssl_trace_str(hvers, ssl_version_tbl), hvers);
- if (SSL_CONNECTION_IS_DTLS(sc)) {
- BIO_printf(bio,
- " epoch=%d, sequence_number=%04x%04x%04x\n",
- (msg[3] << 8 | msg[4]),
- (msg[5] << 8 | msg[6]),
- (msg[7] << 8 | msg[8]), (msg[9] << 8 | msg[10]));
- }
-
- BIO_printf(bio, " Content Type = %s (%d)\n Length = %d",
- ssl_trace_str(msg[0], ssl_content_tbl), msg[0],
- msg[msglen - 2] << 8 | msg[msglen - 1]);
+ ssl_print_hex(bio, 0, " too short message", msg, msglen);
+ break;
+ }
+ hvers = msg[1] << 8 | msg[2];
+ BIO_puts(bio, write_p ? "Sent" : "Received");
+ BIO_printf(bio, " TLS Record\nHeader:\n Version = %s (0x%x)\n",
+ ssl_trace_str(hvers, ssl_version_tbl), hvers);
+ if (SSL_CONNECTION_IS_DTLS(sc)) {
+ BIO_printf(bio,
+ " epoch=%d, sequence_number=%04x%04x%04x\n",
+ (msg[3] << 8 | msg[4]),
+ (msg[5] << 8 | msg[6]),
+ (msg[7] << 8 | msg[8]), (msg[9] << 8 | msg[10]));
}
- break;
+
+ BIO_printf(bio, " Content Type = %s (%d)\n Length = %d",
+ ssl_trace_str(msg[0], ssl_content_tbl), msg[0],
+ msg[msglen - 2] << 8 | msg[msglen - 1]);
+ } break;
case SSL3_RT_INNER_CONTENT_TYPE:
BIO_printf(bio, " Inner Content Type = %s (%d)",
- ssl_trace_str(msg[0], ssl_content_tbl), msg[0]);
+ ssl_trace_str(msg[0], ssl_content_tbl), msg[0]);
break;
case SSL3_RT_HANDSHAKE:
if (!ssl_print_handshake(bio, sc, sc->server ? write_p : !write_p,
- msg, msglen, 4))
+ msg, msglen, 4))
BIO_printf(bio, "Message length parse error!\n");
break;
@@ -1798,10 +1793,9 @@ void SSL_trace(int write_p, int version, int content_type,
BIO_puts(bio, " Illegal Alert Length\n");
else {
BIO_printf(bio, " Level=%s(%d), description=%s(%d)\n",
- SSL_alert_type_string_long(msg[0] << 8),
- msg[0], SSL_alert_desc_string_long(msg[1]), msg[1]);
+ SSL_alert_type_string_long(msg[0] << 8),
+ msg[0], SSL_alert_desc_string_long(msg[1]), msg[1]);
}
-
}
BIO_puts(bio, "\n");
diff --git a/crypto/openssl/ssl/tls13_enc.c b/crypto/openssl/ssl/tls13_enc.c
index 0aa97648c4ed..de201d924301 100644
--- a/crypto/openssl/ssl/tls13_enc.c
+++ b/crypto/openssl/ssl/tls13_enc.c
@@ -17,7 +17,7 @@
#include <openssl/kdf.h>
#include <openssl/core_names.h>
-#define TLS13_MAX_LABEL_LEN 249
+#define TLS13_MAX_LABEL_LEN 249
/* ASCII: "tls13 ", in hex for EBCDIC compatibility */
static const unsigned char label_prefix[] = "\x74\x6C\x73\x31\x33\x20";
@@ -31,11 +31,11 @@ static const unsigned char label_prefix[] = "\x74\x6C\x73\x31\x33\x20";
* If |raise_error| is set, ERR_raise is called on failure.
*/
int tls13_hkdf_expand_ex(OSSL_LIB_CTX *libctx, const char *propq,
- const EVP_MD *md,
- const unsigned char *secret,
- const unsigned char *label, size_t labellen,
- const unsigned char *data, size_t datalen,
- unsigned char *out, size_t outlen, int raise_error)
+ const EVP_MD *md,
+ const unsigned char *secret,
+ const unsigned char *label, size_t labellen,
+ const unsigned char *data, size_t datalen,
+ unsigned char *out, size_t outlen, int raise_error)
{
EVP_KDF *kdf = EVP_KDF_fetch(libctx, OSSL_KDF_NAME_TLS1_3_KDF, propq);
EVP_KDF_CTX *kctx;
@@ -72,18 +72,18 @@ int tls13_hkdf_expand_ex(OSSL_LIB_CTX *libctx, const char *propq,
*p++ = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode);
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
- (char *)mdname, 0);
+ (char *)mdname, 0);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY,
- (unsigned char *)secret, hashlen);
+ (unsigned char *)secret, hashlen);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_PREFIX,
- (unsigned char *)label_prefix,
- sizeof(label_prefix) - 1);
+ (unsigned char *)label_prefix,
+ sizeof(label_prefix) - 1);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_LABEL,
- (unsigned char *)label, labellen);
+ (unsigned char *)label, labellen);
if (data != NULL)
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_DATA,
- (unsigned char *)data,
- datalen);
+ (unsigned char *)data,
+ datalen);
*p++ = OSSL_PARAM_construct_end();
ret = EVP_KDF_derive(kctx, out, outlen, params) <= 0;
@@ -98,17 +98,17 @@ int tls13_hkdf_expand_ex(OSSL_LIB_CTX *libctx, const char *propq,
}
int tls13_hkdf_expand(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret,
- const unsigned char *label, size_t labellen,
- const unsigned char *data, size_t datalen,
- unsigned char *out, size_t outlen, int fatal)
+ const unsigned char *secret,
+ const unsigned char *label, size_t labellen,
+ const unsigned char *data, size_t datalen,
+ unsigned char *out, size_t outlen, int fatal)
{
int ret;
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
ret = tls13_hkdf_expand_ex(sctx->libctx, sctx->propq, md,
- secret, label, labellen, data, datalen,
- out, outlen, !fatal);
+ secret, label, labellen, data, datalen,
+ out, outlen, !fatal);
if (ret == 0 && fatal)
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
@@ -120,14 +120,14 @@ int tls13_hkdf_expand(SSL_CONNECTION *s, const EVP_MD *md,
* success 0 on failure.
*/
int tls13_derive_key(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret,
- unsigned char *key, size_t keylen)
+ const unsigned char *secret,
+ unsigned char *key, size_t keylen)
{
/* ASCII: "key", in hex for EBCDIC compatibility */
static const unsigned char keylabel[] = "\x6B\x65\x79";
return tls13_hkdf_expand(s, md, secret, keylabel, sizeof(keylabel) - 1,
- NULL, 0, key, keylen, 1);
+ NULL, 0, key, keylen, 1);
}
/*
@@ -135,25 +135,25 @@ int tls13_derive_key(SSL_CONNECTION *s, const EVP_MD *md,
* success 0 on failure.
*/
int tls13_derive_iv(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret,
- unsigned char *iv, size_t ivlen)
+ const unsigned char *secret,
+ unsigned char *iv, size_t ivlen)
{
/* ASCII: "iv", in hex for EBCDIC compatibility */
static const unsigned char ivlabel[] = "\x69\x76";
return tls13_hkdf_expand(s, md, secret, ivlabel, sizeof(ivlabel) - 1,
- NULL, 0, iv, ivlen, 1);
+ NULL, 0, iv, ivlen, 1);
}
int tls13_derive_finishedkey(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *secret,
- unsigned char *fin, size_t finlen)
+ const unsigned char *secret,
+ unsigned char *fin, size_t finlen)
{
/* ASCII: "finished", in hex for EBCDIC compatibility */
static const unsigned char finishedlabel[] = "\x66\x69\x6E\x69\x73\x68\x65\x64";
return tls13_hkdf_expand(s, md, secret, finishedlabel,
- sizeof(finishedlabel) - 1, NULL, 0, fin, finlen, 1);
+ sizeof(finishedlabel) - 1, NULL, 0, fin, finlen, 1);
}
/*
@@ -162,10 +162,10 @@ int tls13_derive_finishedkey(SSL_CONNECTION *s, const EVP_MD *md,
* pointed to by |outsecret|. Returns 1 on success 0 on failure.
*/
int tls13_generate_secret(SSL_CONNECTION *s, const EVP_MD *md,
- const unsigned char *prevsecret,
- const unsigned char *insecret,
- size_t insecretlen,
- unsigned char *outsecret)
+ const unsigned char *prevsecret,
+ const unsigned char *insecret,
+ size_t insecretlen,
+ unsigned char *outsecret)
{
size_t mdlen;
int mdleni;
@@ -198,20 +198,20 @@ int tls13_generate_secret(SSL_CONNECTION *s, const EVP_MD *md,
*p++ = OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode);
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
- (char *)mdname, 0);
+ (char *)mdname, 0);
if (insecret != NULL)
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY,
- (unsigned char *)insecret,
- insecretlen);
+ (unsigned char *)insecret,
+ insecretlen);
if (prevsecret != NULL)
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SALT,
- (unsigned char *)prevsecret, mdlen);
+ (unsigned char *)prevsecret, mdlen);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_PREFIX,
- (unsigned char *)label_prefix,
- sizeof(label_prefix) - 1);
+ (unsigned char *)label_prefix,
+ sizeof(label_prefix) - 1);
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_LABEL,
- (unsigned char *)derived_secret_label,
- sizeof(derived_secret_label) - 1);
+ (unsigned char *)derived_secret_label,
+ sizeof(derived_secret_label) - 1);
*p++ = OSSL_PARAM_construct_end();
ret = EVP_KDF_derive(kctx, outsecret, mdlen, params) <= 0;
@@ -229,13 +229,13 @@ int tls13_generate_secret(SSL_CONNECTION *s, const EVP_MD *md,
* generated. Returns 1 on success 0 on failure.
*/
int tls13_generate_handshake_secret(SSL_CONNECTION *s,
- const unsigned char *insecret,
- size_t insecretlen)
+ const unsigned char *insecret,
+ size_t insecretlen)
{
/* Calls SSLfatal() if required */
return tls13_generate_secret(s, ssl_handshake_md(s), s->early_secret,
- insecret, insecretlen,
- (unsigned char *)&s->handshake_secret);
+ insecret, insecretlen,
+ (unsigned char *)&s->handshake_secret);
}
/*
@@ -244,8 +244,8 @@ int tls13_generate_handshake_secret(SSL_CONNECTION *s,
* failure.
*/
int tls13_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
- unsigned char *prev, size_t prevlen,
- size_t *secret_size)
+ unsigned char *prev, size_t prevlen,
+ size_t *secret_size)
{
const EVP_MD *md = ssl_handshake_md(s);
int md_size;
@@ -265,7 +265,7 @@ int tls13_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,
* 0 on error.
*/
size_t tls13_final_finish_mac(SSL_CONNECTION *s, const char *str, size_t slen,
- unsigned char *out)
+ unsigned char *out)
{
const EVP_MD *md = ssl_handshake_md(s);
const char *mdname = EVP_MD_get0_name(md);
@@ -282,8 +282,8 @@ size_t tls13_final_finish_mac(SSL_CONNECTION *s, const char *str, size_t slen,
/* Safe to cast away const here since we're not "getting" any data */
if (sctx->propq != NULL)
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_ALG_PARAM_PROPERTIES,
- (char *)sctx->propq,
- 0);
+ (char *)sctx->propq,
+ 0);
*p = OSSL_PARAM_construct_end();
if (!ssl_handshake_hash(s, hash, sizeof(hash), &hashlen)) {
@@ -297,21 +297,21 @@ size_t tls13_final_finish_mac(SSL_CONNECTION *s, const char *str, size_t slen,
key = s->client_finished_secret;
} else {
if (!tls13_derive_finishedkey(s, md,
- s->client_app_traffic_secret,
- finsecret, hashlen))
+ s->client_app_traffic_secret,
+ finsecret, hashlen))
goto err;
key = finsecret;
}
if (!EVP_Q_mac(sctx->libctx, "HMAC", sctx->propq, mdname,
- params, key, hashlen, hash, hashlen,
- /* outsize as per sizeof(peer_finish_md) */
- out, EVP_MAX_MD_SIZE * 2, &len)) {
+ params, key, hashlen, hash, hashlen,
+ /* outsize as per sizeof(peer_finish_md) */
+ out, EVP_MAX_MD_SIZE * 2, &len)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
- err:
+err:
OPENSSL_cleanse(finsecret, sizeof(finsecret));
return len;
}
@@ -329,7 +329,7 @@ int tls13_setup_key_block(SSL_CONNECTION *s)
s->session->cipher = s->s3.tmp.new_cipher;
if (!ssl_cipher_get_evp(SSL_CONNECTION_GET_CTX(s), s->session, &c, &hash,
- &mac_type, &mac_secret_size, NULL, 0)) {
+ &mac_type, &mac_secret_size, NULL, 0)) {
/* Error is already recorded */
SSLfatal_alert(s, SSL_AD_INTERNAL_ERROR);
return 0;
@@ -346,16 +346,16 @@ int tls13_setup_key_block(SSL_CONNECTION *s)
}
static int derive_secret_key_and_iv(SSL_CONNECTION *s, const EVP_MD *md,
- const EVP_CIPHER *ciph,
- int mac_type,
- const EVP_MD *mac_md,
- const unsigned char *insecret,
- const unsigned char *hash,
- const unsigned char *label,
- size_t labellen, unsigned char *secret,
- unsigned char *key, size_t *keylen,
- unsigned char **iv, size_t *ivlen,
- size_t *taglen)
+ const EVP_CIPHER *ciph,
+ int mac_type,
+ const EVP_MD *mac_md,
+ const unsigned char *insecret,
+ const unsigned char *hash,
+ const unsigned char *label,
+ size_t labellen, unsigned char *secret,
+ unsigned char *key, size_t *keylen,
+ unsigned char **iv, size_t *ivlen,
+ size_t *taglen)
{
int hashleni = EVP_MD_get_size(md);
size_t hashlen;
@@ -369,7 +369,7 @@ static int derive_secret_key_and_iv(SSL_CONNECTION *s, const EVP_MD *md,
hashlen = (size_t)hashleni;
if (!tls13_hkdf_expand(s, md, insecret, label, labellen, hash, hashlen,
- secret, hashlen, 1)) {
+ secret, hashlen, 1)) {
/* SSLfatal() already called */
return 0;
}
@@ -438,7 +438,7 @@ static int derive_secret_key_and_iv(SSL_CONNECTION *s, const EVP_MD *md,
}
if (!tls13_derive_key(s, md, secret, key, *keylen)
- || !tls13_derive_iv(s, md, secret, *iv, *ivlen)) {
+ || !tls13_derive_iv(s, md, secret, *iv, *ivlen)) {
/* SSLfatal() already called */
return 0;
}
@@ -451,7 +451,7 @@ static int tls13_store_hash(SSL_CONNECTION *s, unsigned char *hash, size_t len)
size_t hashlen;
if (!ssl3_digest_cached_records(s, 1)
- || !ssl_handshake_hash(s, hash, len, &hashlen)) {
+ || !ssl_handshake_hash(s, hash, len, &hashlen)) {
/* SSLfatal() already called */;
return 0;
}
@@ -462,13 +462,13 @@ static int tls13_store_hash(SSL_CONNECTION *s, unsigned char *hash, size_t len)
int tls13_store_handshake_traffic_hash(SSL_CONNECTION *s)
{
return tls13_store_hash(s, s->handshake_traffic_hash,
- sizeof(s->handshake_traffic_hash));
+ sizeof(s->handshake_traffic_hash));
}
int tls13_store_server_finished_hash(SSL_CONNECTION *s)
{
return tls13_store_hash(s, s->server_finished_hash,
- sizeof(s->server_finished_hash));
+ sizeof(s->server_finished_hash));
}
int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
@@ -512,7 +512,7 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
: OSSL_RECORD_DIRECTION_WRITE;
if (((which & SSL3_CC_CLIENT) && (which & SSL3_CC_WRITE))
- || ((which & SSL3_CC_SERVER) && (which & SSL3_CC_READ))) {
+ || ((which & SSL3_CC_SERVER) && (which & SSL3_CC_READ))) {
if ((which & SSL3_CC_EARLY) != 0) {
EVP_MD_CTX *mdctx = NULL;
long handlen;
@@ -532,16 +532,15 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
}
if (s->early_data_state == SSL_EARLY_DATA_CONNECTING
- && s->max_early_data > 0
- && s->session->ext.max_early_data == 0) {
+ && s->max_early_data > 0
+ && s->session->ext.max_early_data == 0) {
/*
* If we are attempting to send early data, and we've decided to
* actually do it but max_early_data in s->session is 0 then we
* must be using an external PSK.
*/
if (!ossl_assert(s->psksession != NULL
- && s->max_early_data ==
- s->psksession->ext.max_early_data)) {
+ && s->max_early_data == s->psksession->ext.max_early_data)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -564,7 +563,7 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
if (((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) == 0)
&& (!ssl_cipher_get_evp_md_mac(sctx, sslcipher, &mac_md,
- &mac_pkey_type, NULL))) {
+ &mac_pkey_type, NULL))) {
SSLfatal_alert(s, SSL_AD_INTERNAL_ERROR);
goto err;
}
@@ -582,8 +581,8 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
md = ssl_md(sctx, sslcipher->algorithm2);
if (md == NULL || !EVP_DigestInit_ex(mdctx, md, NULL)
- || !EVP_DigestUpdate(mdctx, hdata, handlen)
- || !EVP_DigestFinal_ex(mdctx, hashval, &hashlenui)) {
+ || !EVP_DigestUpdate(mdctx, hdata, handlen)
+ || !EVP_DigestFinal_ex(mdctx, hashval, &hashlenui)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
EVP_MD_CTX_free(mdctx);
goto err;
@@ -592,17 +591,17 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
EVP_MD_CTX_free(mdctx);
if (!tls13_hkdf_expand(s, md, insecret,
- early_exporter_master_secret,
- sizeof(early_exporter_master_secret) - 1,
- hashval, hashlen,
- s->early_exporter_master_secret, hashlen,
- 1)) {
+ early_exporter_master_secret,
+ sizeof(early_exporter_master_secret) - 1,
+ hashval, hashlen,
+ s->early_exporter_master_secret, hashlen,
+ 1)) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
if (!ssl_log_secret(s, EARLY_EXPORTER_SECRET_LABEL,
- s->early_exporter_master_secret, hashlen)) {
+ s->early_exporter_master_secret, hashlen)) {
/* SSLfatal() already called */
goto err;
}
@@ -668,7 +667,7 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
mac_md = s->s3.tmp.new_hash;
mac_pkey_type = s->s3.tmp.new_mac_pkey_type;
if (!ssl3_digest_cached_records(s, 1)
- || !ssl_handshake_hash(s, hashval, sizeof(hashval), &hashlen)) {
+ || !ssl_handshake_hash(s, hashval, sizeof(hashval), &hashlen)) {
/* SSLfatal() already called */;
goto err;
}
@@ -680,10 +679,10 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
* hash for the whole handshake including the Client Finished
*/
if (!tls13_hkdf_expand(s, ssl_handshake_md(s), insecret,
- resumption_master_secret,
- sizeof(resumption_master_secret) - 1,
- hashval, hashlen, s->resumption_master_secret,
- hashlen, 1)) {
+ resumption_master_secret,
+ sizeof(resumption_master_secret) - 1,
+ hashval, hashlen, s->resumption_master_secret,
+ hashlen, 1)) {
/* SSLfatal() already called */
goto err;
}
@@ -694,8 +693,8 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
goto err;
if (!derive_secret_key_and_iv(s, md, cipher, mac_pkey_type, mac_md,
- insecret, hash, label, labellen, secret, key,
- &keylen, &iv, &ivlen, &taglen)) {
+ insecret, hash, label, labellen, secret, key,
+ &keylen, &iv, &ivlen, &taglen)) {
/* SSLfatal() already called */
goto err;
}
@@ -704,16 +703,16 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
memcpy(s->server_app_traffic_secret, secret, hashlen);
/* Now we create the exporter master secret */
if (!tls13_hkdf_expand(s, ssl_handshake_md(s), insecret,
- exporter_master_secret,
- sizeof(exporter_master_secret) - 1,
- hash, hashlen, s->exporter_master_secret,
- hashlen, 1)) {
+ exporter_master_secret,
+ sizeof(exporter_master_secret) - 1,
+ hash, hashlen, s->exporter_master_secret,
+ hashlen, 1)) {
/* SSLfatal() already called */
goto err;
}
if (!ssl_log_secret(s, EXPORTER_SECRET_LABEL, s->exporter_master_secret,
- hashlen)) {
+ hashlen)) {
/* SSLfatal() already called */
goto err;
}
@@ -726,8 +725,8 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
}
if (finsecret != NULL
- && !tls13_derive_finishedkey(s, ssl_handshake_md(s), secret,
- finsecret, (size_t)finsecretlen)) {
+ && !tls13_derive_finishedkey(s, ssl_handshake_md(s), secret,
+ finsecret, (size_t)finsecretlen)) {
/* SSLfatal() already called */
goto err;
}
@@ -740,22 +739,22 @@ int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
}
level = (which & SSL3_CC_EARLY) != 0
- ? OSSL_RECORD_PROTECTION_LEVEL_EARLY
- : ((which &SSL3_CC_HANDSHAKE) != 0
- ? OSSL_RECORD_PROTECTION_LEVEL_HANDSHAKE
- : OSSL_RECORD_PROTECTION_LEVEL_APPLICATION);
+ ? OSSL_RECORD_PROTECTION_LEVEL_EARLY
+ : ((which & SSL3_CC_HANDSHAKE) != 0
+ ? OSSL_RECORD_PROTECTION_LEVEL_HANDSHAKE
+ : OSSL_RECORD_PROTECTION_LEVEL_APPLICATION);
if (!ssl_set_new_record_layer(s, s->version,
- direction,
- level, secret, hashlen, key, keylen, iv,
- ivlen, NULL, 0, cipher, taglen,
- mac_pkey_type, mac_md, NULL, md)) {
+ direction,
+ level, secret, hashlen, key, keylen, iv,
+ ivlen, NULL, 0, cipher, taglen,
+ mac_pkey_type, mac_md, NULL, md)) {
/* SSLfatal already called */
goto err;
}
ret = 1;
- err:
+err:
if ((which & SSL3_CC_EARLY) != 0) {
/* We up-refed this so now we need to down ref */
if ((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) == 0)
@@ -798,12 +797,12 @@ int tls13_update_key(SSL_CONNECTION *s, int sending)
insecret = s->client_app_traffic_secret;
if (!derive_secret_key_and_iv(s, md,
- s->s3.tmp.new_sym_enc,
- s->s3.tmp.new_mac_pkey_type, s->s3.tmp.new_hash,
- insecret, NULL,
- application_traffic,
- sizeof(application_traffic) - 1, secret, key,
- &keylen, &iv, &ivlen, &taglen)) {
+ s->s3.tmp.new_sym_enc,
+ s->s3.tmp.new_mac_pkey_type, s->s3.tmp.new_hash,
+ insecret, NULL,
+ application_traffic,
+ sizeof(application_traffic) - 1, secret, key,
+ &keylen, &iv, &ivlen, &taglen)) {
/* SSLfatal() already called */
goto err;
}
@@ -811,11 +810,11 @@ int tls13_update_key(SSL_CONNECTION *s, int sending)
memcpy(insecret, secret, hashlen);
if (!ssl_set_new_record_layer(s, s->version,
- direction,
- OSSL_RECORD_PROTECTION_LEVEL_APPLICATION,
- insecret, hashlen, key, keylen, iv, ivlen, NULL, 0,
- s->s3.tmp.new_sym_enc, taglen, NID_undef, NULL,
- NULL, md)) {
+ direction,
+ OSSL_RECORD_PROTECTION_LEVEL_APPLICATION,
+ insecret, hashlen, key, keylen, iv, ivlen, NULL, 0,
+ s->s3.tmp.new_sym_enc, taglen, NID_undef, NULL,
+ NULL, md)) {
/* SSLfatal already called */
goto err;
}
@@ -827,7 +826,7 @@ int tls13_update_key(SSL_CONNECTION *s, int sending)
goto err;
}
ret = 1;
- err:
+err:
OPENSSL_cleanse(key, sizeof(key));
OPENSSL_cleanse(secret, sizeof(secret));
if (iv != iv_intern)
@@ -845,10 +844,10 @@ int tls13_alert_code(int code)
}
int tls13_export_keying_material(SSL_CONNECTION *s,
- unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *context,
- size_t contextlen, int use_context)
+ unsigned char *out, size_t olen,
+ const char *label, size_t llen,
+ const unsigned char *context,
+ size_t contextlen, int use_context)
{
unsigned char exportsecret[EVP_MAX_MD_SIZE];
/* ASCII: "exporter", in hex for EBCDIC compatibility */
@@ -866,29 +865,29 @@ int tls13_export_keying_material(SSL_CONNECTION *s,
contextlen = 0;
if (EVP_DigestInit_ex(ctx, md, NULL) <= 0
- || EVP_DigestUpdate(ctx, context, contextlen) <= 0
- || EVP_DigestFinal_ex(ctx, hash, &hashsize) <= 0
- || EVP_DigestInit_ex(ctx, md, NULL) <= 0
- || EVP_DigestFinal_ex(ctx, data, &datalen) <= 0
- || !tls13_hkdf_expand(s, md, s->exporter_master_secret,
- (const unsigned char *)label, llen,
- data, datalen, exportsecret, hashsize, 0)
- || !tls13_hkdf_expand(s, md, exportsecret, exporterlabel,
- sizeof(exporterlabel) - 1, hash, hashsize,
- out, olen, 0))
+ || EVP_DigestUpdate(ctx, context, contextlen) <= 0
+ || EVP_DigestFinal_ex(ctx, hash, &hashsize) <= 0
+ || EVP_DigestInit_ex(ctx, md, NULL) <= 0
+ || EVP_DigestFinal_ex(ctx, data, &datalen) <= 0
+ || !tls13_hkdf_expand(s, md, s->exporter_master_secret,
+ (const unsigned char *)label, llen,
+ data, datalen, exportsecret, hashsize, 0)
+ || !tls13_hkdf_expand(s, md, exportsecret, exporterlabel,
+ sizeof(exporterlabel) - 1, hash, hashsize,
+ out, olen, 0))
goto err;
ret = 1;
- err:
+err:
EVP_MD_CTX_free(ctx);
return ret;
}
int tls13_export_keying_material_early(SSL_CONNECTION *s,
- unsigned char *out, size_t olen,
- const char *label, size_t llen,
- const unsigned char *context,
- size_t contextlen)
+ unsigned char *out, size_t olen,
+ const char *label, size_t llen,
+ const unsigned char *context,
+ size_t contextlen)
{
/* ASCII: "exporter", in hex for EBCDIC compatibility */
static const unsigned char exporterlabel[] = "\x65\x78\x70\x6F\x72\x74\x65\x72";
@@ -904,7 +903,7 @@ int tls13_export_keying_material_early(SSL_CONNECTION *s,
goto err;
if (!s->server && s->max_early_data > 0
- && s->session->ext.max_early_data == 0)
+ && s->session->ext.max_early_data == 0)
sslcipher = SSL_SESSION_get0_cipher(s->psksession);
else
sslcipher = SSL_SESSION_get0_cipher(s->session);
@@ -927,21 +926,21 @@ int tls13_export_keying_material_early(SSL_CONNECTION *s,
* Here Transcript-Hash is the cipher suite hash algorithm.
*/
if (md == NULL
- || EVP_DigestInit_ex(ctx, md, NULL) <= 0
- || EVP_DigestUpdate(ctx, context, contextlen) <= 0
- || EVP_DigestFinal_ex(ctx, hash, &hashsize) <= 0
- || EVP_DigestInit_ex(ctx, md, NULL) <= 0
- || EVP_DigestFinal_ex(ctx, data, &datalen) <= 0
- || !tls13_hkdf_expand(s, md, s->early_exporter_master_secret,
- (const unsigned char *)label, llen,
- data, datalen, exportsecret, hashsize, 0)
- || !tls13_hkdf_expand(s, md, exportsecret, exporterlabel,
- sizeof(exporterlabel) - 1, hash, hashsize,
- out, olen, 0))
+ || EVP_DigestInit_ex(ctx, md, NULL) <= 0
+ || EVP_DigestUpdate(ctx, context, contextlen) <= 0
+ || EVP_DigestFinal_ex(ctx, hash, &hashsize) <= 0
+ || EVP_DigestInit_ex(ctx, md, NULL) <= 0
+ || EVP_DigestFinal_ex(ctx, data, &datalen) <= 0
+ || !tls13_hkdf_expand(s, md, s->early_exporter_master_secret,
+ (const unsigned char *)label, llen,
+ data, datalen, exportsecret, hashsize, 0)
+ || !tls13_hkdf_expand(s, md, exportsecret, exporterlabel,
+ sizeof(exporterlabel) - 1, hash, hashsize,
+ out, olen, 0))
goto err;
ret = 1;
- err:
+err:
EVP_MD_CTX_free(ctx);
return ret;
}
diff --git a/crypto/openssl/ssl/tls_depr.c b/crypto/openssl/ssl/tls_depr.c
index 64a9a7942b3f..72cc528ec851 100644
--- a/crypto/openssl/ssl/tls_depr.c
+++ b/crypto/openssl/ssl/tls_depr.c
@@ -66,14 +66,14 @@ const EVP_MD *tls_get_digest_from_engine(int nid)
#ifndef OPENSSL_NO_ENGINE
int tls_engine_load_ssl_client_cert(SSL_CONNECTION *s, X509 **px509,
- EVP_PKEY **ppkey)
+ EVP_PKEY **ppkey)
{
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
return ENGINE_load_ssl_client_cert(SSL_CONNECTION_GET_CTX(s)->client_cert_engine,
- ssl,
- SSL_get_client_CA_list(ssl),
- px509, ppkey, NULL, NULL, NULL);
+ ssl,
+ SSL_get_client_CA_list(ssl),
+ px509, ppkey, NULL, NULL, NULL);
}
#endif
@@ -153,7 +153,7 @@ HMAC_CTX *ssl_hmac_get0_HMAC_CTX(SSL_HMAC *ctx)
/* Some deprecated public APIs pass DH objects */
EVP_PKEY *ssl_dh_to_pkey(DH *dh)
{
-# ifndef OPENSSL_NO_DH
+#ifndef OPENSSL_NO_DH
EVP_PKEY *ret;
if (dh == NULL)
@@ -164,18 +164,18 @@ EVP_PKEY *ssl_dh_to_pkey(DH *dh)
return NULL;
}
return ret;
-# else
+#else
return NULL;
-# endif
+#endif
}
/* Some deprecated public APIs pass EC_KEY objects */
int ssl_set_tmp_ecdh_groups(uint16_t **pext, size_t *pextlen,
- uint16_t **ksext, size_t *ksextlen,
- size_t **tplext, size_t *tplextlen,
- void *key)
+ uint16_t **ksext, size_t *ksextlen,
+ size_t **tplext, size_t *tplextlen,
+ void *key)
{
-# ifndef OPENSSL_NO_EC
+#ifndef OPENSSL_NO_EC
const EC_GROUP *group = EC_KEY_get0_group((const EC_KEY *)key);
int nid;
@@ -187,12 +187,12 @@ int ssl_set_tmp_ecdh_groups(uint16_t **pext, size_t *pextlen,
if (nid == NID_undef)
return 0;
return tls1_set_groups(pext, pextlen,
- ksext, ksextlen,
- tplext, tplextlen,
- &nid, 1);
-# else
+ ksext, ksextlen,
+ tplext, tplextlen,
+ &nid, 1);
+#else
return 0;
-# endif
+#endif
}
/*
@@ -200,18 +200,17 @@ int ssl_set_tmp_ecdh_groups(uint16_t **pext, size_t *pextlen,
* ctx: the SSL context.
* dh: the callback
*/
-# if !defined(OPENSSL_NO_DH)
+#if !defined(OPENSSL_NO_DH)
void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx,
- DH *(*dh) (SSL *ssl, int is_export,
- int keylength))
+ DH *(*dh)(SSL *ssl, int is_export,
+ int keylength))
{
SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_TMP_DH_CB, (void (*)(void))dh);
}
-void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*dh) (SSL *ssl, int is_export,
- int keylength))
+void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*dh)(SSL *ssl, int is_export, int keylength))
{
SSL_callback_ctrl(ssl, SSL_CTRL_SET_TMP_DH_CB, (void (*)(void))dh);
}
-# endif
+#endif
#endif /* OPENSSL_NO_DEPRECATED */
diff --git a/crypto/openssl/ssl/tls_srp.c b/crypto/openssl/ssl/tls_srp.c
index e61bed5f0525..51f0950a16f1 100644
--- a/crypto/openssl/ssl/tls_srp.c
+++ b/crypto/openssl/ssl/tls_srp.c
@@ -24,7 +24,7 @@
#include "internal/ssl_unwrap.h"
#ifndef OPENSSL_NO_SRP
-# include <openssl/srp.h>
+#include <openssl/srp.h>
/*
* The public API SSL_CTX_SRP_CTX_free() is deprecated so we use
@@ -100,50 +100,30 @@ int ssl_srp_ctx_init_intern(SSL_CONNECTION *s)
s->srp_ctx.SRP_cb_arg = ctx->srp_ctx.SRP_cb_arg;
/* set client Hello login callback */
- s->srp_ctx.TLS_ext_srp_username_callback =
- ctx->srp_ctx.TLS_ext_srp_username_callback;
+ s->srp_ctx.TLS_ext_srp_username_callback = ctx->srp_ctx.TLS_ext_srp_username_callback;
/* set SRP N/g param callback for verification */
- s->srp_ctx.SRP_verify_param_callback =
- ctx->srp_ctx.SRP_verify_param_callback;
+ s->srp_ctx.SRP_verify_param_callback = ctx->srp_ctx.SRP_verify_param_callback;
/* set SRP client passwd callback */
- s->srp_ctx.SRP_give_srp_client_pwd_callback =
- ctx->srp_ctx.SRP_give_srp_client_pwd_callback;
+ s->srp_ctx.SRP_give_srp_client_pwd_callback = ctx->srp_ctx.SRP_give_srp_client_pwd_callback;
s->srp_ctx.strength = ctx->srp_ctx.strength;
- if (((ctx->srp_ctx.N != NULL) &&
- ((s->srp_ctx.N = BN_dup(ctx->srp_ctx.N)) == NULL)) ||
- ((ctx->srp_ctx.g != NULL) &&
- ((s->srp_ctx.g = BN_dup(ctx->srp_ctx.g)) == NULL)) ||
- ((ctx->srp_ctx.s != NULL) &&
- ((s->srp_ctx.s = BN_dup(ctx->srp_ctx.s)) == NULL)) ||
- ((ctx->srp_ctx.B != NULL) &&
- ((s->srp_ctx.B = BN_dup(ctx->srp_ctx.B)) == NULL)) ||
- ((ctx->srp_ctx.A != NULL) &&
- ((s->srp_ctx.A = BN_dup(ctx->srp_ctx.A)) == NULL)) ||
- ((ctx->srp_ctx.a != NULL) &&
- ((s->srp_ctx.a = BN_dup(ctx->srp_ctx.a)) == NULL)) ||
- ((ctx->srp_ctx.v != NULL) &&
- ((s->srp_ctx.v = BN_dup(ctx->srp_ctx.v)) == NULL)) ||
- ((ctx->srp_ctx.b != NULL) &&
- ((s->srp_ctx.b = BN_dup(ctx->srp_ctx.b)) == NULL))) {
+ if (((ctx->srp_ctx.N != NULL) && ((s->srp_ctx.N = BN_dup(ctx->srp_ctx.N)) == NULL)) || ((ctx->srp_ctx.g != NULL) && ((s->srp_ctx.g = BN_dup(ctx->srp_ctx.g)) == NULL)) || ((ctx->srp_ctx.s != NULL) && ((s->srp_ctx.s = BN_dup(ctx->srp_ctx.s)) == NULL)) || ((ctx->srp_ctx.B != NULL) && ((s->srp_ctx.B = BN_dup(ctx->srp_ctx.B)) == NULL)) || ((ctx->srp_ctx.A != NULL) && ((s->srp_ctx.A = BN_dup(ctx->srp_ctx.A)) == NULL)) || ((ctx->srp_ctx.a != NULL) && ((s->srp_ctx.a = BN_dup(ctx->srp_ctx.a)) == NULL)) || ((ctx->srp_ctx.v != NULL) && ((s->srp_ctx.v = BN_dup(ctx->srp_ctx.v)) == NULL)) || ((ctx->srp_ctx.b != NULL) && ((s->srp_ctx.b = BN_dup(ctx->srp_ctx.b)) == NULL))) {
ERR_raise(ERR_LIB_SSL, ERR_R_BN_LIB);
goto err;
}
- if ((ctx->srp_ctx.login != NULL) &&
- ((s->srp_ctx.login = OPENSSL_strdup(ctx->srp_ctx.login)) == NULL)) {
+ if ((ctx->srp_ctx.login != NULL) && ((s->srp_ctx.login = OPENSSL_strdup(ctx->srp_ctx.login)) == NULL)) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
goto err;
}
- if ((ctx->srp_ctx.info != NULL) &&
- ((s->srp_ctx.info = OPENSSL_strdup(ctx->srp_ctx.info)) == NULL)) {
+ if ((ctx->srp_ctx.info != NULL) && ((s->srp_ctx.info = OPENSSL_strdup(ctx->srp_ctx.info)) == NULL)) {
ERR_raise(ERR_LIB_SSL, ERR_R_INTERNAL_ERROR);
goto err;
}
s->srp_ctx.srp_Mask = ctx->srp_ctx.srp_Mask;
return 1;
- err:
+err:
OPENSSL_free(s->srp_ctx.login);
OPENSSL_free(s->srp_ctx.info);
BN_free(s->srp_ctx.N);
@@ -198,32 +178,27 @@ int ssl_srp_server_param_with_username_intern(SSL_CONNECTION *s, int *ad)
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s);
*ad = SSL_AD_UNKNOWN_PSK_IDENTITY;
- if ((s->srp_ctx.TLS_ext_srp_username_callback != NULL) &&
- ((al =
- s->srp_ctx.TLS_ext_srp_username_callback(SSL_CONNECTION_GET_USER_SSL(s),
- ad,
- s->srp_ctx.SRP_cb_arg)) !=
- SSL_ERROR_NONE))
+ if ((s->srp_ctx.TLS_ext_srp_username_callback != NULL) && ((al = s->srp_ctx.TLS_ext_srp_username_callback(SSL_CONNECTION_GET_USER_SSL(s), ad, s->srp_ctx.SRP_cb_arg)) != SSL_ERROR_NONE))
return al;
*ad = SSL_AD_INTERNAL_ERROR;
- if ((s->srp_ctx.N == NULL) ||
- (s->srp_ctx.g == NULL) ||
- (s->srp_ctx.s == NULL) || (s->srp_ctx.v == NULL))
+ if ((s->srp_ctx.N == NULL) || (s->srp_ctx.g == NULL) || (s->srp_ctx.s == NULL) || (s->srp_ctx.v == NULL))
return SSL3_AL_FATAL;
if (RAND_priv_bytes_ex(SSL_CONNECTION_GET_CTX(s)->libctx, b, sizeof(b),
- 0) <= 0)
+ 0)
+ <= 0)
return SSL3_AL_FATAL;
s->srp_ctx.b = BN_bin2bn(b, sizeof(b), NULL);
OPENSSL_cleanse(b, sizeof(b));
/* Calculate: B = (kv + g^b) % N */
- return ((s->srp_ctx.B =
- SRP_Calc_B_ex(s->srp_ctx.b, s->srp_ctx.N, s->srp_ctx.g,
- s->srp_ctx.v, sctx->libctx, sctx->propq)) !=
- NULL) ? SSL_ERROR_NONE : SSL3_AL_FATAL;
+ return ((s->srp_ctx.B = SRP_Calc_B_ex(s->srp_ctx.b, s->srp_ctx.N, s->srp_ctx.g,
+ s->srp_ctx.v, sctx->libctx, sctx->propq))
+ != NULL)
+ ? SSL_ERROR_NONE
+ : SSL3_AL_FATAL;
}
int SSL_srp_server_param_with_username(SSL *s, int *ad)
@@ -241,7 +216,7 @@ int SSL_srp_server_param_with_username(SSL *s, int *ad)
* fly
*/
int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass,
- const char *grp)
+ const char *grp)
{
SRP_gN *GN;
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -259,15 +234,15 @@ int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass,
BN_clear_free(sc->srp_ctx.s);
sc->srp_ctx.s = NULL;
if (!SRP_create_verifier_BN_ex(user, pass, &sc->srp_ctx.s, &sc->srp_ctx.v,
- sc->srp_ctx.N, sc->srp_ctx.g, s->ctx->libctx,
- s->ctx->propq))
+ sc->srp_ctx.N, sc->srp_ctx.g, s->ctx->libctx,
+ s->ctx->propq))
return -1;
return 1;
}
int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
- BIGNUM *sa, BIGNUM *v, char *info)
+ BIGNUM *sa, BIGNUM *v, char *info)
{
SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s);
@@ -317,8 +292,7 @@ int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
return -1;
}
- if (!(sc->srp_ctx.N) ||
- !(sc->srp_ctx.g) || !(sc->srp_ctx.s) || !(sc->srp_ctx.v))
+ if (!(sc->srp_ctx.N) || !(sc->srp_ctx.g) || !(sc->srp_ctx.s) || !(sc->srp_ctx.v))
return -1;
return 1;
@@ -334,10 +308,12 @@ int srp_generate_server_master_secret(SSL_CONNECTION *s)
if (!SRP_Verify_A_mod_N(s->srp_ctx.A, s->srp_ctx.N))
goto err;
if ((u = SRP_Calc_u_ex(s->srp_ctx.A, s->srp_ctx.B, s->srp_ctx.N,
- sctx->libctx, sctx->propq)) == NULL)
+ sctx->libctx, sctx->propq))
+ == NULL)
goto err;
if ((K = SRP_Calc_server_key(s->srp_ctx.A, s->srp_ctx.v, u, s->srp_ctx.b,
- s->srp_ctx.N)) == NULL)
+ s->srp_ctx.N))
+ == NULL)
goto err;
tmp_len = BN_num_bytes(K);
@@ -348,7 +324,7 @@ int srp_generate_server_master_secret(SSL_CONNECTION *s)
BN_bn2bin(K, tmp);
/* Calls SSLfatal() as required */
ret = ssl_generate_master_secret(s, tmp, tmp_len, 1);
- err:
+err:
BN_clear_free(K);
BN_clear_free(u);
return ret;
@@ -367,26 +343,28 @@ int srp_generate_client_master_secret(SSL_CONNECTION *s)
* Checks if b % n == 0
*/
if (SRP_Verify_B_mod_N(s->srp_ctx.B, s->srp_ctx.N) == 0
- || (u = SRP_Calc_u_ex(s->srp_ctx.A, s->srp_ctx.B, s->srp_ctx.N,
- sctx->libctx, sctx->propq))
- == NULL
- || s->srp_ctx.SRP_give_srp_client_pwd_callback == NULL) {
+ || (u = SRP_Calc_u_ex(s->srp_ctx.A, s->srp_ctx.B, s->srp_ctx.N,
+ sctx->libctx, sctx->propq))
+ == NULL
+ || s->srp_ctx.SRP_give_srp_client_pwd_callback == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
if ((passwd = s->srp_ctx.SRP_give_srp_client_pwd_callback(SSL_CONNECTION_GET_USER_SSL(s),
- s->srp_ctx.SRP_cb_arg))
- == NULL) {
+ s->srp_ctx.SRP_cb_arg))
+ == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_CALLBACK_FAILED);
goto err;
}
if ((x = SRP_Calc_x_ex(s->srp_ctx.s, s->srp_ctx.login, passwd,
- sctx->libctx, sctx->propq)) == NULL
- || (K = SRP_Calc_client_key_ex(s->srp_ctx.N, s->srp_ctx.B,
- s->srp_ctx.g, x,
- s->srp_ctx.a, u,
- sctx->libctx,
- sctx->propq)) == NULL) {
+ sctx->libctx, sctx->propq))
+ == NULL
+ || (K = SRP_Calc_client_key_ex(s->srp_ctx.N, s->srp_ctx.B,
+ s->srp_ctx.g, x,
+ s->srp_ctx.a, u,
+ sctx->libctx,
+ sctx->propq))
+ == NULL) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
goto err;
}
@@ -399,7 +377,7 @@ int srp_generate_client_master_secret(SSL_CONNECTION *s)
BN_bn2bin(K, tmp);
/* Calls SSLfatal() as required */
ret = ssl_generate_master_secret(s, tmp, tmp_len, 1);
- err:
+err:
BN_clear_free(K);
BN_clear_free(x);
if (passwd != NULL)
@@ -428,13 +406,14 @@ int srp_verify_server_param(SSL_CONNECTION *s)
if (srp->SRP_verify_param_callback) {
if (srp->SRP_verify_param_callback(SSL_CONNECTION_GET_USER_SSL(s),
- srp->SRP_cb_arg) <= 0) {
+ srp->SRP_cb_arg)
+ <= 0) {
SSLfatal(s, SSL_AD_INSUFFICIENT_SECURITY, SSL_R_CALLBACK_FAILED);
return 0;
}
} else if (!SRP_check_known_gN_param(srp->g, srp->N)) {
SSLfatal(s, SSL_AD_INSUFFICIENT_SECURITY,
- SSL_R_INSUFFICIENT_SECURITY);
+ SSL_R_INSUFFICIENT_SECURITY);
return 0;
}
@@ -450,7 +429,8 @@ int ssl_srp_calc_a_param_intern(SSL_CONNECTION *s)
unsigned char rnd[SSL_MAX_MASTER_KEY_LENGTH];
if (RAND_priv_bytes_ex(SSL_CONNECTION_GET_CTX(s)->libctx,
- rnd, sizeof(rnd), 0) <= 0)
+ rnd, sizeof(rnd), 0)
+ <= 0)
return 0;
s->srp_ctx.a = BN_bin2bn(rnd, sizeof(rnd), s->srp_ctx.a);
OPENSSL_cleanse(rnd, sizeof(rnd));
@@ -519,8 +499,8 @@ char *SSL_get_srp_userinfo(SSL *s)
return s->ctx->srp_ctx.info;
}
-# define tls1_ctx_ctrl ssl3_ctx_ctrl
-# define tls1_ctx_callback_ctrl ssl3_ctx_callback_ctrl
+#define tls1_ctx_ctrl ssl3_ctx_ctrl
+#define tls1_ctx_callback_ctrl ssl3_ctx_callback_ctrl
int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name)
{
@@ -535,14 +515,14 @@ int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password)
int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength)
{
return tls1_ctx_ctrl(ctx, SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH, strength,
- NULL);
+ NULL);
}
int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx,
- int (*cb) (SSL *, void *))
+ int (*cb)(SSL *, void *))
{
return tls1_ctx_callback_ctrl(ctx, SSL_CTRL_SET_SRP_VERIFY_PARAM_CB,
- (void (*)(void))cb);
+ (void (*)(void))cb);
}
int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg)
@@ -551,17 +531,17 @@ int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg)
}
int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx,
- int (*cb) (SSL *, int *, void *))
+ int (*cb)(SSL *, int *, void *))
{
return tls1_ctx_callback_ctrl(ctx, SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB,
- (void (*)(void))cb);
+ (void (*)(void))cb);
}
int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx,
- char *(*cb) (SSL *, void *))
+ char *(*cb)(SSL *, void *))
{
return tls1_ctx_callback_ctrl(ctx, SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB,
- (void (*)(void))cb);
+ (void (*)(void))cb);
}
#endif