diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2017-06-23 16:05:26 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-08-28 14:56:57 +0200 |
commit | 69039fd1fa3e65e2f5737b2a4044dcb8fbabb76d (patch) | |
tree | 45490b3472aea76af548851766c1a26aa98b5d22 /lib/vtls/openssl.c | |
parent | 118b074fba6ac9d8128410ce14cd05d46ad6dfa5 (diff) |
getinfo: access SSL internals via Curl_ssl
In the ongoing endeavor to abstract out all SSL backend-specific
functionality, this is the next step: Instead of hard-coding how the
different SSL backends access their internal data in getinfo.c, let's
implement backend-specific functions to do that task.
This will also allow for switching SSL backends as a runtime option.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 'lib/vtls/openssl.c')
-rw-r--r-- | lib/vtls/openssl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index fcd4539d5..40bd8ee86 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -3394,6 +3394,14 @@ static bool Curl_ossl_cert_status_request(void) #endif } +static void *Curl_ossl_get_internals(struct ssl_connect_data *connssl, + CURLINFO info) +{ + /* Legacy: CURLINFO_TLS_SESSION must return an SSL_CTX pointer. */ + return info == CURLINFO_TLS_SESSION ? + (void *)connssl->ctx : (void *)connssl->handle; +} + const struct Curl_ssl Curl_ssl_openssl = { "openssl", /* name */ @@ -3413,6 +3421,7 @@ const struct Curl_ssl Curl_ssl_openssl = { Curl_ossl_cert_status_request, /* cert_status_request */ Curl_ossl_connect, /* connect */ Curl_ossl_connect_nonblocking, /* connect_nonblocking */ + Curl_ossl_get_internals, /* get_internals */ Curl_ossl_close, /* close */ Curl_ossl_close_all, /* close_all */ Curl_ossl_session_free, /* session_free */ |