[tor-commits] [tor/master] sendme: Move note_cell_digest() to relay_crypto module
asn at torproject.org
asn at torproject.org
Thu May 2 15:16:21 UTC 2019
commit 67c22541830cf1dfc1c02843a1d4dd81c2df16ff
Author: David Goulet <dgoulet at torproject.org>
Date: Mon Apr 29 11:29:05 2019 -0400
sendme: Move note_cell_digest() to relay_crypto module
Because this function is poking within the relay_crypto_t object, move the
function to the module so we can keep it opaque as much as possible.
Part of #26288
Signed-off-by: David Goulet <dgoulet at torproject.org>
---
src/core/crypto/relay_crypto.c | 9 +++++++++
src/core/crypto/relay_crypto.h | 2 ++
src/core/or/sendme.c | 14 +++-----------
3 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/src/core/crypto/relay_crypto.c b/src/core/crypto/relay_crypto.c
index eddc4298e..3a6dad4b1 100644
--- a/src/core/crypto/relay_crypto.c
+++ b/src/core/crypto/relay_crypto.c
@@ -91,6 +91,15 @@ relay_crypt_one_payload(crypto_cipher_t *cipher, uint8_t *in)
crypto_cipher_crypt_inplace(cipher, (char*) in, CELL_PAYLOAD_SIZE);
}
+/** Record the b_digest from <b>crypto</b> and put it in the sendme_digest. */
+void
+relay_crypto_record_sendme_digest(relay_crypto_t *crypto)
+{
+ tor_assert(crypto);
+ crypto_digest_get_digest(crypto->b_digest, (char *) crypto->sendme_digest,
+ sizeof(crypto->sendme_digest));
+}
+
/** Do the appropriate en/decryptions for <b>cell</b> arriving on
* <b>circ</b> in direction <b>cell_direction</b>.
*
diff --git a/src/core/crypto/relay_crypto.h b/src/core/crypto/relay_crypto.h
index 45a21d14a..1009f1841 100644
--- a/src/core/crypto/relay_crypto.h
+++ b/src/core/crypto/relay_crypto.h
@@ -27,5 +27,7 @@ void relay_crypto_clear(relay_crypto_t *crypto);
void relay_crypto_assert_ok(const relay_crypto_t *crypto);
+void relay_crypto_record_sendme_digest(relay_crypto_t *crypto);
+
#endif /* !defined(TOR_RELAY_CRYPTO_H) */
diff --git a/src/core/or/sendme.c b/src/core/or/sendme.c
index b384a1916..b65f30ba9 100644
--- a/src/core/or/sendme.c
+++ b/src/core/or/sendme.c
@@ -12,6 +12,7 @@
#include "core/or/or.h"
#include "app/config/config.h"
+#include "core/crypto/relay_crypto.h"
#include "core/mainloop/connection.h"
#include "core/or/cell_st.h"
#include "core/or/circuitlist.h"
@@ -286,15 +287,6 @@ send_circuit_level_sendme(circuit_t *circ, crypt_path_t *layer_hint,
return 0;
}
-/* Put the crypto.b_digest in the sendme_digest. */
-static void
-note_cell_digest(const relay_crypto_t *crypto)
-{
- tor_assert(crypto);
- crypto_digest_get_digest(crypto->b_digest, (char *) crypto->sendme_digest,
- sizeof(crypto->sendme_digest));
-}
-
/*
* Public API
*/
@@ -305,7 +297,7 @@ void
sendme_circuit_note_outbound_cell(or_circuit_t *or_circ)
{
tor_assert(or_circ);
- note_cell_digest(&or_circ->crypto);
+ relay_crypto_record_sendme_digest(&or_circ->crypto);
}
/** Keep the current inbound cell digest for the next SENDME digest. This part
@@ -314,7 +306,7 @@ void
sendme_circuit_note_inbound_cell(crypt_path_t *cpath)
{
tor_assert(cpath);
- note_cell_digest(&cpath->crypto);
+ relay_crypto_record_sendme_digest(&cpath->crypto);
}
/** Return true iff the next cell for the given cell window is expected to be
More information about the tor-commits
mailing list