diff options
author | Matt Caswell <matt@openssl.org> | 2015-02-08 16:43:16 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-02-10 23:54:09 +0100 |
commit | f2baac27d5f95326fa441e1cb08925b46f88b21c (patch) | |
tree | 9a8b14802d81f8833971f24480a56d6f79470f85 /ssl | |
parent | Make tlsext_tick_lifetime_hint an unsigned long (from signed long). (diff) | |
download | openssl-f2baac27d5f95326fa441e1cb08925b46f88b21c.tar.xz openssl-f2baac27d5f95326fa441e1cb08925b46f88b21c.zip |
Provide the API functions SSL_SESSION_has_ticket and
SSL_SESSION_get_ticket_lifetime_hint. The latter has been reported as
required to fix Qt for OpenSSL 1.1.0. I have also added the former in order
to determine whether a ticket is present or not - otherwise it is difficult
to know whether a zero lifetime hint is because the server set it to 0, or
because there is no ticket.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/ssl.h | 2 | ||||
-rw-r--r-- | ssl/ssl_sess.c | 10 |
2 files changed, 12 insertions, 0 deletions
@@ -1460,6 +1460,8 @@ long SSL_SESSION_get_time(const SSL_SESSION *s); long SSL_SESSION_set_time(SSL_SESSION *s, long t); long SSL_SESSION_get_timeout(const SSL_SESSION *s); long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +int SSL_SESSION_has_ticket(const SSL_SESSION *s); +unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); void SSL_copy_session_id(SSL *to, const SSL *from); X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 0eda59e1e7..0f07ed58a1 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -848,6 +848,16 @@ long SSL_SESSION_set_time(SSL_SESSION *s, long t) return (t); } +int SSL_SESSION_has_ticket(const SSL_SESSION *s) +{ + return (s->tlsext_ticklen > 0) ? 1 : 0; +} + +unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s) +{ + return s->tlsext_tick_lifetime_hint; +} + X509 *SSL_SESSION_get0_peer(SSL_SESSION *s) { return s->peer; |