size_t ticklen; /* Session ticket length */
/* Session lifetime hint in seconds */
unsigned long tick_lifetime_hint;
+ uint32_t tick_age_add;
int tick_identity;
} ext;
# ifndef OPENSSL_NO_SRP
unsigned char *npn;
size_t npn_len;
- /* The selected PSK key exchange mode */
+ /* The available PSK key exchange modes */
int psk_kex_mode;
} ext;
__owur int tls1_set_server_sigalgs(SSL *s);
__owur int tls_get_ticket_from_client(SSL *s, CLIENTHELLO_MSG *hello,
SSL_SESSION **ret);
+
+/* Return codes for tls_decrypt_ticket */
+#define TICKET_FATAL_ERR_MALLOC -2
+#define TICKET_FATAL_ERR_OTHER -1
+#define TICKET_NO_DECRYPT 2
+#define TICKET_SUCCESS 3
+#define TICKET_SUCCESS_RENEW 4
+__owur int tls_decrypt_ticket(SSL *s, const unsigned char *etick,
+ size_t eticklen, const unsigned char *sess_id,
+ size_t sesslen, SSL_SESSION **psess);
+
__owur int tls_use_ticket(SSL *s);
__owur int tls12_get_sigandhash(SSL *s, WPACKET *pkt, const EVP_PKEY *pk,