diff options
author | Ander Juaristi <a@juaristi.eus> | 2017-12-16 12:58:39 +0100 |
---|---|---|
committer | Ander Juaristi <a@juaristi.eus> | 2017-12-16 17:11:21 +0100 |
commit | cdb1d028a4aaf61531e6e7d9d9a8759d5956daa9 (patch) | |
tree | 20f7ccbc37ee613b2c1eff7cdeb6123101fa40ff | |
parent | 2b81285286e397ea19d893f3bc4884655ea51b9f (diff) | |
download | gnutls-cdb1d028a4aaf61531e6e7d9d9a8759d5956daa9.tar.gz |
Merge from upstream
Signed-off-by: Ander Juaristi <a@juaristi.eus>
-rw-r--r-- | lib/ext/pre_shared_key.c | 6 | ||||
-rw-r--r-- | lib/handshake.c | 3 | ||||
-rw-r--r-- | lib/secrets.c | 7 | ||||
-rw-r--r-- | lib/tls13/finished.c | 4 |
4 files changed, 8 insertions, 12 deletions
diff --git a/lib/ext/pre_shared_key.c b/lib/ext/pre_shared_key.c index 36df5d7099..8056882af1 100644 --- a/lib/ext/pre_shared_key.c +++ b/lib/ext/pre_shared_key.c @@ -40,10 +40,6 @@ compute_binder_key(const mac_entry_st *prf, char label[] = "ext_binder"; size_t label_len = strlen(label); uint8_t tmp_key[MAX_HASH_SIZE]; - size_t tmp_key_len = _gnutls_mac_get_algo_len(prf); - - if (tmp_key_len == 0) - return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); /* Compute HKDF-Extract(0, psk) */ /* TODO try to use the existing functions here */ @@ -58,7 +54,7 @@ compute_binder_key(const mac_entry_st *prf, ret = _tls13_derive_secret2(prf, label, label_len, NULL, 0, - tmp_key, tmp_key_len, + tmp_key, out); if (ret < 0) return ret; diff --git a/lib/handshake.c b/lib/handshake.c index 5658f9af4f..b9bbea8156 100644 --- a/lib/handshake.c +++ b/lib/handshake.c @@ -1780,7 +1780,8 @@ read_server_hello(gnutls_session_t session, } ret = _tls13_derive_secret(session, DERIVED_LABEL, sizeof(DERIVED_LABEL)-1, - NULL, 0, session->key.temp_secret); + NULL, 0, session->key.proto.tls13.temp_secret, + session->key.proto.tls13.temp_secret); if (ret < 0) gnutls_assert(); } diff --git a/lib/secrets.c b/lib/secrets.c index 5ca6ad3f89..374e1bf1eb 100644 --- a/lib/secrets.c +++ b/lib/secrets.c @@ -83,7 +83,7 @@ int _tls13_derive_secret2(const mac_entry_st *prf, if (ret < 0) return gnutls_assert_val(ret); - return _tls13_expand_secret2(prf, label, label_size, digest, digest_size, secret, out_size, out); + return _tls13_expand_secret2(prf, label, label_size, digest, digest_size, secret, digest_size, out); } /* Derive-Secret(Secret, Label, Messages) */ @@ -96,9 +96,8 @@ int _tls13_derive_secret(gnutls_session_t session, if (unlikely(session->security_parameters.prf == NULL)) return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); - return _tls13_derive_secret2(session->security_parameters.prf, label, label_size, msg, msg_size, - session->key.temp_secret, - session->key.temp_secret_size, + return _tls13_derive_secret2(session->security_parameters.prf, label, label_size, tbh, tbh_size, + secret, out); } diff --git a/lib/tls13/finished.c b/lib/tls13/finished.c index 873ebfb255..c28d24a19d 100644 --- a/lib/tls13/finished.c +++ b/lib/tls13/finished.c @@ -77,9 +77,9 @@ int _gnutls13_recv_finished(gnutls_session_t session) hash_size = session->security_parameters.prf->output_size; if (session->security_parameters.entity == GNUTLS_CLIENT) - base_key = session->key.hs_skey; + base_key = session->key.proto.tls13.hs_skey; else - base_key = session->key.hs_ckey; + base_key = session->key.proto.tls13.hs_ckey; ret = _gnutls13_compute_finished(session->security_parameters.prf, base_key, hash_size, |