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>
This commit is contained in:
parent
75ea3632bd
commit
f2baac27d5
34
doc/ssl/SSL_SESSION_has_ticket.pod
Normal file
34
doc/ssl/SSL_SESSION_has_ticket.pod
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
=pod
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint - check whether a session has an associated ticket, and get its lifetime hint.
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
|
||||||
|
int SSL_SESSION_has_ticket(const SSL_SESSION *s);
|
||||||
|
unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s);
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
SSL_SESSION_has_ticket() returns 1 if there is a Session Ticket associated with
|
||||||
|
this session, and 0 otherwise.
|
||||||
|
|
||||||
|
SSL_SESSION_get_ticket_lifetime_hint returns the lifetime hint in seconds
|
||||||
|
associated with the session ticket.
|
||||||
|
|
||||||
|
=head1 SEE ALSO
|
||||||
|
|
||||||
|
L<ssl(3)|ssl(3)>,
|
||||||
|
L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>,
|
||||||
|
L<SSL_SESSION_get_time(3)|SSL_SESSION_get_time(3)>,
|
||||||
|
L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>
|
||||||
|
|
||||||
|
=head1 HISTORY
|
||||||
|
|
||||||
|
SSL_SESSION_has_ticket and SSL_SESSION_get_ticket_lifetime_hint were added in
|
||||||
|
OpenSSL 1.1.0.
|
||||||
|
|
||||||
|
=cut
|
@ -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_set_time(SSL_SESSION *s, long t);
|
||||||
long SSL_SESSION_get_timeout(const SSL_SESSION *s);
|
long SSL_SESSION_get_timeout(const SSL_SESSION *s);
|
||||||
long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
|
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);
|
void SSL_copy_session_id(SSL *to, const SSL *from);
|
||||||
X509 *SSL_SESSION_get0_peer(SSL_SESSION *s);
|
X509 *SSL_SESSION_get0_peer(SSL_SESSION *s);
|
||||||
int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx,
|
int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx,
|
||||||
|
@ -848,6 +848,16 @@ long SSL_SESSION_set_time(SSL_SESSION *s, long t)
|
|||||||
return (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)
|
X509 *SSL_SESSION_get0_peer(SSL_SESSION *s)
|
||||||
{
|
{
|
||||||
return s->peer;
|
return s->peer;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user