From 6e3f5cc7e16b8ab1b0a924c60f14332cb1697217 Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Wed, 14 Sep 2016 14:43:14 -0400 Subject: [PATCH] Add SSL_CTX_get_keylog_callback. Conscrypt would like to write a CTS test that the callback isn't set unexpectedly. Change-Id: I11f987422daf0544e90f5cff4d7aaf557ac1f5a2 Reviewed-on: https://boringssl-review.googlesource.com/11060 Reviewed-by: Kenny Root Reviewed-by: David Benjamin Commit-Queue: David Benjamin CQ-Verified: CQ bot account: commit-bot@chromium.org --- include/openssl/ssl.h | 5 +++++ ssl/ssl_lib.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 4ff25ce8..996ee7b5 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -2847,6 +2847,11 @@ OPENSSL_EXPORT void SSL_set_msg_callback_arg(SSL *ssl, void *arg); OPENSSL_EXPORT void SSL_CTX_set_keylog_callback( SSL_CTX *ctx, void (*cb)(const SSL *ssl, const char *line)); +/* SSL_CTX_get_keylog_callback returns the callback configured by + * |SSL_CTX_set_keylog_callback|. */ +OPENSSL_EXPORT void (*SSL_CTX_get_keylog_callback(const SSL_CTX *ctx))( + const SSL *ssl, const char *line); + /* SSL_CTX_set_current_time_cb configures a callback to retrieve the current * time, which should be set in |*out_clock|. This can be used for testing * purposes; for example, a callback can be configured that returns a time diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 04a14117..0978d757 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -2524,6 +2524,11 @@ void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, ctx->keylog_callback = cb; } +void (*SSL_CTX_get_keylog_callback(const SSL_CTX *ctx))(const SSL *ssl, + const char *line) { + return ctx->keylog_callback; +} + void SSL_CTX_set_current_time_cb(SSL_CTX *ctx, void (*cb)(const SSL *ssl, struct timeval *out_clock)) {