summaryrefslogtreecommitdiff
path: root/src/or/hs_service.c
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2016-12-12 16:45:28 -0500
committerNick Mathewson <nickm@torproject.org>2016-12-14 15:18:40 -0500
commit118691cd47e53521319cdcbf994f29ecca3db4d1 (patch)
tree78d64377d8a03653091601e18c3db6fc6424e65b /src/or/hs_service.c
parent7a204ae8f9c54c15e9bc05b9c2bd62c7e46d6ebb (diff)
downloadtor-118691cd47e53521319cdcbf994f29ecca3db4d1.tar.gz
tor-118691cd47e53521319cdcbf994f29ecca3db4d1.zip
crypto: Change crypto_mac_sha3_256 to use the key length in the construction
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/hs_service.c')
-rw-r--r--src/or/hs_service.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 69f83cfaa1..6f0836ca2e 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -60,7 +60,7 @@ set_cell_extensions(hs_cell_establish_intro_t *cell)
* returned cell is allocated on the heap and it's the responsibility of the
* caller to free it. */
STATIC hs_cell_establish_intro_t *
-generate_establish_intro_cell(const char *circuit_key_material,
+generate_establish_intro_cell(const uint8_t *circuit_key_material,
size_t circuit_key_material_len)
{
hs_cell_establish_intro_t *cell = NULL;
@@ -109,7 +109,7 @@ generate_establish_intro_cell(const char *circuit_key_material,
/* To calculate HANDSHAKE_AUTH, we dump the cell in bytes, and then derive
the MAC from it. */
uint8_t cell_bytes_tmp[RELAY_PAYLOAD_SIZE] = {0};
- char mac[TRUNNEL_SHA3_256_LEN];
+ uint8_t mac[TRUNNEL_SHA3_256_LEN];
encoded_len = hs_cell_establish_intro_encode(cell_bytes_tmp,
sizeof(cell_bytes_tmp),
@@ -125,7 +125,7 @@ generate_establish_intro_cell(const char *circuit_key_material,
/* Calculate MAC of all fields before HANDSHAKE_AUTH */
crypto_mac_sha3_256(mac, sizeof(mac),
circuit_key_material, circuit_key_material_len,
- (const char*)cell_bytes_tmp,
+ cell_bytes_tmp,
encoded_len - (ED25519_SIG_LEN + 2 + TRUNNEL_SHA3_256_LEN));
/* Write the MAC to the cell */
uint8_t *handshake_ptr =