diff options
Diffstat (limited to 'src/ssl/ssl_lib.cc')
-rw-r--r-- | src/ssl/ssl_lib.cc | 19 |
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: |