[tor-commits] [tor/master] Hiding crypt_path_t: Hiding 'crypto' using a macro.

dgoulet at torproject.org dgoulet at torproject.org
Wed May 8 12:21:47 UTC 2019


commit 55d35c0caa4142f92e2efd85bffe52568c173100
Author: George Kadianakis <desnacked at riseup.net>
Date:   Fri Apr 26 14:19:14 2019 +0300

    Hiding crypt_path_t: Hiding 'crypto' using a macro.
---
 src/core/or/crypt_path_st.h | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/core/or/crypt_path_st.h b/src/core/or/crypt_path_st.h
index 833cfefad..d18d23e93 100644
--- a/src/core/or/crypt_path_st.h
+++ b/src/core/or/crypt_path_st.h
@@ -24,15 +24,16 @@ struct onion_handshake_state_t {
   } u;
 };
 
+/** Macro to encapsulate private members of a struct.
+ *
+ *  Renames 'x' to 'x_crypt_path_private_field'.
+ */
+#define CRYPT_PATH_PRIV_FIELD(x) x ## _crypt_path_private_field
+
 #ifdef CRYPT_PATH_PRIVATE
 
-/* The private parts of crypt path that don't need to be exposed to all the
- * modules. */
-struct crypt_path_private_t {
-  /** Cryptographic state used for encrypting and authenticating relay
-   * cells to and from this hop. */
-  relay_crypto_t crypto;
-};
+/* Helper macro to access private members of a struct. */
+#define pvt_crypto CRYPT_PATH_PRIV_FIELD(crypto)
 
 #endif
 
@@ -74,9 +75,11 @@ struct crypt_path_t {
   int deliver_window; /**< How many cells are we willing to deliver originating
                        * at this step? */
 
-  /* Private parts of the crypt_path. Eventually everything should be
-   * private. */
-  struct crypt_path_private_t *private;
+  /*********************** Private members ****************************/
+
+  /** Private member: Cryptographic state used for encrypting and
+   * authenticating relay cells to and from this hop. */
+  relay_crypto_t CRYPT_PATH_PRIV_FIELD(crypto);
 };
 
 #endif





More information about the tor-commits mailing list