summaryrefslogtreecommitdiff
path: root/lib/ext/pre_shared_key.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ext/pre_shared_key.c')
-rw-r--r--lib/ext/pre_shared_key.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/ext/pre_shared_key.c b/lib/ext/pre_shared_key.c
index b12d853af8..dc56d1dc49 100644
--- a/lib/ext/pre_shared_key.c
+++ b/lib/ext/pre_shared_key.c
@@ -201,8 +201,7 @@ client_send_params(gnutls_session_t session,
unsigned next_idx;
const mac_entry_st *prf_res = NULL;
const mac_entry_st *prf_psk = NULL;
- time_t cur_time;
- int ticket_age;
+ time_t cur_time, ticket_age;
uint32_t ob_ticket_age;
int free_username = 0;
psk_auth_info_t info = NULL;
@@ -340,6 +339,13 @@ client_send_params(gnutls_session_t session,
binders_len += 1 + _gnutls_mac_get_algo_len(prf_psk);
}
+ /* if no tickets or identities to be sent */
+ if (psk_id_len == 0) {
+ /* reset extensions buffer */
+ extdata->length = spos;
+ return 0;
+ }
+
_gnutls_write_uint16(psk_id_len, &extdata->data[spos]);
binders_pos = extdata->length-spos;
@@ -470,7 +476,7 @@ static int server_recv_params(gnutls_session_t session,
struct psk_st psk;
psk_auth_info_t info;
tls13_ticket_t ticket_data;
- int ticket_age;
+ time_t ticket_age;
bool resuming;
ret = _gnutls13_psk_ext_parser_init(&psk_parser, data, len);