aboutsummaryrefslogtreecommitdiff
path: root/src/or/onion_tap.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-02-02 16:31:32 -0500
committerNick Mathewson <nickm@torproject.org>2015-02-02 16:31:32 -0500
commitd03e1da232ada2e0d3a3de3dbf6885caec74e4e0 (patch)
treecd3fc872abd2f7fa80af365887a0ea87564199b8 /src/or/onion_tap.c
parent3b96bf68315083f83a5f807ccf6f41feafeeb445 (diff)
parent41ba4f5627326e1745f0eea143f038677170c596 (diff)
downloadtor-d03e1da232ada2e0d3a3de3dbf6885caec74e4e0.tar.gz
tor-d03e1da232ada2e0d3a3de3dbf6885caec74e4e0.zip
Merge remote-tracking branch 'public/bug9635_warnings_025'
Conflicts: src/test/test.c
Diffstat (limited to 'src/or/onion_tap.c')
-rw-r--r--src/or/onion_tap.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/or/onion_tap.c b/src/or/onion_tap.c
index 8879a22ca2..487cbeec04 100644
--- a/src/or/onion_tap.c
+++ b/src/or/onion_tap.c
@@ -183,7 +183,8 @@ int
onion_skin_TAP_client_handshake(crypto_dh_t *handshake_state,
const char *handshake_reply, /* TAP_ONIONSKIN_REPLY_LEN bytes */
char *key_out,
- size_t key_out_len)
+ size_t key_out_len,
+ const char **msg_out)
{
ssize_t len;
char *key_material=NULL;
@@ -196,14 +197,15 @@ onion_skin_TAP_client_handshake(crypto_dh_t *handshake_state,
handshake_reply, DH_KEY_LEN, key_material,
key_material_len);
if (len < 0) {
- log_warn(LD_PROTOCOL,"DH computation failed.");
+ if (msg_out)
+ *msg_out = "DH computation failed.";
goto err;
}
if (tor_memneq(key_material, handshake_reply+DH_KEY_LEN, DIGEST_LEN)) {
/* H(K) does *not* match. Something fishy. */
- log_warn(LD_PROTOCOL,"Digest DOES NOT MATCH on onion handshake. "
- "Bug or attack.");
+ if (msg_out)
+ *msg_out = "Digest DOES NOT MATCH on onion handshake. Bug or attack.";
goto err;
}