summaryrefslogtreecommitdiff
path: root/src/ssl/ssl_lib.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/ssl/ssl_lib.cc')
-rw-r--r--src/ssl/ssl_lib.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/ssl/ssl_lib.cc b/src/ssl/ssl_lib.cc
index f9910f70..00ee7da2 100644
--- a/src/ssl/ssl_lib.cc
+++ b/src/ssl/ssl_lib.cc
@@ -569,7 +569,8 @@ ssl_ctx_st::ssl_ctx_st(const SSL_METHOD *ssl_method)
false_start_allowed_without_alpn(false),
ignore_tls13_downgrade(false),
handoff(false),
- enable_early_data(false) {
+ enable_early_data(false),
+ pq_experiment_signal(false) {
CRYPTO_MUTEX_init(&lock);
CRYPTO_new_ex_data(&ex_data);
}
@@ -1195,7 +1196,7 @@ int SSL_shutdown(SSL *ssl) {
if (ssl->s3->write_shutdown != ssl_shutdown_close_notify) {
// Send a close_notify.
- if (ssl_send_alert(ssl, SSL3_AL_WARNING, SSL_AD_CLOSE_NOTIFY) <= 0) {
+ if (ssl_send_alert_impl(ssl, SSL3_AL_WARNING, SSL_AD_CLOSE_NOTIFY) <= 0) {
return -1;
}
} else if (ssl->s3->alert_dispatch) {
@@ -1242,7 +1243,15 @@ int SSL_send_fatal_alert(SSL *ssl, uint8_t alert) {
return ssl->method->dispatch_alert(ssl);
}
- return ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
+ return ssl_send_alert_impl(ssl, SSL3_AL_FATAL, alert);
+}
+
+void SSL_CTX_enable_pq_experiment_signal(SSL_CTX *ctx) {
+ ctx->pq_experiment_signal = true;
+}
+
+int SSL_pq_experiment_signal_seen(const SSL *ssl) {
+ return ssl->s3->pq_experiment_signal_seen;
}
int SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params,
@@ -1294,6 +1303,10 @@ void SSL_reset_early_data_reject(SSL *ssl) {
ssl->s3->wpend_pending = false;
}
+enum ssl_early_data_reason_t SSL_get_early_data_reason(const SSL *ssl) {
+ return ssl->s3->early_data_reason;
+}
+
static int bio_retry_reason_to_error(int reason) {
switch (reason) {
case BIO_RR_CONNECT: