summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
Diffstat (limited to 'src/or')
-rw-r--r--src/or/hs_intropoint.c18
-rw-r--r--src/or/hs_intropoint.h2
-rw-r--r--src/or/hs_service.c6
-rw-r--r--src/or/hs_service.h2
4 files changed, 14 insertions, 14 deletions
diff --git a/src/or/hs_intropoint.c b/src/or/hs_intropoint.c
index fb8637b14e..b5f62aa21b 100644
--- a/src/or/hs_intropoint.c
+++ b/src/or/hs_intropoint.c
@@ -42,7 +42,7 @@ get_auth_key_from_establish_intro_cell(ed25519_public_key_t *auth_key_out,
* given <b>circuit_key_material</b>. Return 0 on success else -1 on error. */
STATIC int
verify_establish_intro_cell(const hs_cell_establish_intro_t *cell,
- const char *circuit_key_material,
+ const uint8_t *circuit_key_material,
size_t circuit_key_material_len)
{
/* We only reach this function if the first byte of the cell is 0x02 which
@@ -62,7 +62,7 @@ verify_establish_intro_cell(const hs_cell_establish_intro_t *cell,
return -1;
}
- const char *msg = (char*) cell->start_cell;
+ const uint8_t *msg = cell->start_cell;
/* Verify the sig */
{
@@ -79,7 +79,7 @@ verify_establish_intro_cell(const hs_cell_establish_intro_t *cell,
ed25519_public_key_t auth_key;
get_auth_key_from_establish_intro_cell(&auth_key, cell);
- const size_t sig_msg_len = (char*) (cell->end_sig_fields) - msg;
+ const size_t sig_msg_len = cell->end_sig_fields - msg;
int sig_mismatch = ed25519_checksig_prefixed(&sig_struct,
(uint8_t*) msg, sig_msg_len,
ESTABLISH_INTRO_SIG_PREFIX,
@@ -92,11 +92,11 @@ verify_establish_intro_cell(const hs_cell_establish_intro_t *cell,
/* Verify the MAC */
{
- const size_t auth_msg_len = (char*) (cell->end_mac_fields) - msg;
- char mac[DIGEST256_LEN];
+ const size_t auth_msg_len = cell->end_mac_fields - msg;
+ uint8_t mac[DIGEST256_LEN];
crypto_mac_sha3_256(mac, sizeof(mac),
- circuit_key_material, circuit_key_material_len,
- msg, auth_msg_len);
+ circuit_key_material, circuit_key_material_len,
+ msg, auth_msg_len);
if (tor_memneq(mac, cell->handshake_mac, sizeof(mac))) {
log_warn(LD_PROTOCOL, "ESTABLISH_INTRO handshake_auth not as expected");
return -1;
@@ -198,8 +198,8 @@ handle_establish_intro(or_circuit_t *circ, const uint8_t *request,
}
cell_ok = verify_establish_intro_cell(parsed_cell,
- circ->rend_circ_nonce,
- sizeof(circ->rend_circ_nonce));
+ (uint8_t *) circ->rend_circ_nonce,
+ sizeof(circ->rend_circ_nonce));
if (cell_ok < 0) {
log_warn(LD_PROTOCOL, "Failed to verify ESTABLISH_INTRO cell.");
goto err;
diff --git a/src/or/hs_intropoint.h b/src/or/hs_intropoint.h
index 651e2dcc0f..b7846a4d8f 100644
--- a/src/or/hs_intropoint.h
+++ b/src/or/hs_intropoint.h
@@ -28,7 +28,7 @@ int hs_intro_circuit_is_suitable(const or_circuit_t *circ);
STATIC int
verify_establish_intro_cell(const hs_cell_establish_intro_t *out,
- const char *circuit_key_material,
+ const uint8_t *circuit_key_material,
size_t circuit_key_material_len);
STATIC void
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 =
diff --git a/src/or/hs_service.h b/src/or/hs_service.h
index 4a7600767e..a54a960b8c 100644
--- a/src/or/hs_service.h
+++ b/src/or/hs_service.h
@@ -17,7 +17,7 @@
#ifdef TOR_UNIT_TESTS
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);
STATIC ssize_t