[tor-commits] [tor/master] Extract addr_policy_t into a new header.

nickm at torproject.org nickm at torproject.org
Tue Jul 3 15:11:30 UTC 2018


commit f54a5cbfb6d58399ee152306fcd7e0c55292a173
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sun Jul 1 14:00:37 2018 -0400

    Extract addr_policy_t into a new header.
---
 src/or/addr_policy_st.h   | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 src/or/include.am         |  1 +
 src/or/or.h               | 33 +--------------------------------
 src/or/policies.c         |  1 +
 src/or/routerparse.c      |  1 +
 src/or/routerset.c        |  1 +
 src/test/test_dir.c       |  1 +
 src/test/test_policy.c    |  1 +
 src/test/test_routerset.c |  2 +-
 9 files changed, 54 insertions(+), 33 deletions(-)

diff --git a/src/or/addr_policy_st.h b/src/or/addr_policy_st.h
new file mode 100644
index 000000000..be3e9d8f0
--- /dev/null
+++ b/src/or/addr_policy_st.h
@@ -0,0 +1,46 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_ADDR_POLICY_ST_H
+#define TOR_ADDR_POLICY_ST_H
+
+#include "lib/cc/torint.h"
+#include "lib/net/address.h"
+
+/** What action type does an address policy indicate: accept or reject? */
+typedef enum {
+  ADDR_POLICY_ACCEPT=1,
+  ADDR_POLICY_REJECT=2,
+} addr_policy_action_t;
+#define addr_policy_action_bitfield_t ENUM_BF(addr_policy_action_t)
+
+/** A reference-counted address policy rule. */
+typedef struct addr_policy_t {
+  int refcnt; /**< Reference count */
+  /** What to do when the policy matches.*/
+  addr_policy_action_bitfield_t policy_type:2;
+  unsigned int is_private:1; /**< True iff this is the pseudo-address,
+                              * "private". */
+  unsigned int is_canonical:1; /**< True iff this policy is the canonical
+                                * copy (stored in a hash table to avoid
+                                * duplication of common policies) */
+  maskbits_t maskbits; /**< Accept/reject all addresses <b>a</b> such that the
+                 * first <b>maskbits</b> bits of <b>a</b> match
+                 * <b>addr</b>. */
+  /** Base address to accept or reject.
+   *
+   * Note that wildcards are treated
+   * differntly depending on address family. An AF_UNSPEC address means
+   * "All addresses, IPv4 or IPv6." An AF_INET address with maskbits==0 means
+   * "All IPv4 addresses" and an AF_INET6 address with maskbits == 0 means
+   * "All IPv6 addresses".
+  **/
+  tor_addr_t addr;
+  uint16_t prt_min; /**< Lowest port number to accept/reject. */
+  uint16_t prt_max; /**< Highest port number to accept/reject. */
+} addr_policy_t;
+
+#endif
diff --git a/src/or/include.am b/src/or/include.am
index 491341374..ce195c92e 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -180,6 +180,7 @@ endif
 
 ORHEADERS = \
 	src/or/addressmap.h				\
+	src/or/addr_policy_st.h				\
 	src/or/authority_cert_st.h			\
 	src/or/auth_dirs.inc				\
 	src/or/bridges.h				\
diff --git a/src/or/or.h b/src/or/or.h
index e18726cd7..1a24ef1b7 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1152,38 +1152,7 @@ typedef struct or_connection_t or_connection_t;
 /** Cast a entry_connection_t subtype pointer to a connection_t **/
 #define ENTRY_TO_CONN(c) (TO_CONN(ENTRY_TO_EDGE_CONN(c)))
 
-/** What action type does an address policy indicate: accept or reject? */
-typedef enum {
-  ADDR_POLICY_ACCEPT=1,
-  ADDR_POLICY_REJECT=2,
-} addr_policy_action_t;
-#define addr_policy_action_bitfield_t ENUM_BF(addr_policy_action_t)
-
-/** A reference-counted address policy rule. */
-typedef struct addr_policy_t {
-  int refcnt; /**< Reference count */
-  /** What to do when the policy matches.*/
-  addr_policy_action_bitfield_t policy_type:2;
-  unsigned int is_private:1; /**< True iff this is the pseudo-address,
-                              * "private". */
-  unsigned int is_canonical:1; /**< True iff this policy is the canonical
-                                * copy (stored in a hash table to avoid
-                                * duplication of common policies) */
-  maskbits_t maskbits; /**< Accept/reject all addresses <b>a</b> such that the
-                 * first <b>maskbits</b> bits of <b>a</b> match
-                 * <b>addr</b>. */
-  /** Base address to accept or reject.
-   *
-   * Note that wildcards are treated
-   * differntly depending on address family. An AF_UNSPEC address means
-   * "All addresses, IPv4 or IPv6." An AF_INET address with maskbits==0 means
-   * "All IPv4 addresses" and an AF_INET6 address with maskbits == 0 means
-   * "All IPv6 addresses".
-  **/
-  tor_addr_t addr;
-  uint16_t prt_min; /**< Lowest port number to accept/reject. */
-  uint16_t prt_max; /**< Highest port number to accept/reject. */
-} addr_policy_t;
+typedef struct addr_policy_t addr_policy_t;
 
 typedef struct cached_dir_t cached_dir_t;
 
diff --git a/src/or/policies.c b/src/or/policies.c
index 78bf369cb..749b163cf 100644
--- a/src/or/policies.c
+++ b/src/or/policies.c
@@ -31,6 +31,7 @@
 #include "ht.h"
 #include "lib/encoding/confline.h"
 
+#include "or/addr_policy_st.h"
 #include "or/dir_server_st.h"
 #include "or/microdesc_st.h"
 #include "or/node_st.h"
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index a095c222b..f07080a4d 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -82,6 +82,7 @@
 
 #include "or/dirauth/dirvote.h"
 
+#include "or/addr_policy_st.h"
 #include "or/authority_cert_st.h"
 #include "or/document_signature_st.h"
 #include "or/extend_info_st.h"
diff --git a/src/or/routerset.c b/src/or/routerset.c
index 61b7dc121..285ef9d82 100644
--- a/src/or/routerset.c
+++ b/src/or/routerset.c
@@ -36,6 +36,7 @@ n * Copyright (c) 2001-2004, Roger Dingledine.
 #include "or/routerparse.h"
 #include "or/routerset.h"
 
+#include "or/addr_policy_st.h"
 #include "or/extend_info_st.h"
 #include "or/node_st.h"
 #include "or/routerinfo_st.h"
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index 0cdef0645..5551b5558 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -48,6 +48,7 @@
 #include "or/voting_schedule.h"
 #include "lib/compress/compress.h"
 
+#include "or/addr_policy_st.h"
 #include "or/authority_cert_st.h"
 #include "or/document_signature_st.h"
 #include "or/extrainfo_st.h"
diff --git a/src/test/test_policy.c b/src/test/test_policy.c
index a723e82eb..a6906af41 100644
--- a/src/test/test_policy.c
+++ b/src/test/test_policy.c
@@ -11,6 +11,7 @@
 #include "lib/encoding/confline.h"
 #include "test/test.h"
 
+#include "or/addr_policy_st.h"
 #include "or/node_st.h"
 #include "or/port_cfg_st.h"
 #include "or/routerinfo_st.h"
diff --git a/src/test/test_routerset.c b/src/test/test_routerset.c
index e64c24e89..ea8b43498 100644
--- a/src/test/test_routerset.c
+++ b/src/test/test_routerset.c
@@ -10,6 +10,7 @@
 #include "or/policies.h"
 #include "or/nodelist.h"
 
+#include "or/addr_policy_st.h"
 #include "or/extend_info_st.h"
 #include "or/node_st.h"
 #include "or/routerinfo_st.h"
@@ -2227,4 +2228,3 @@ struct testcase_t routerset_tests[] = {
   TEST_CASE(routerset_free),
   END_OF_TESTCASES
 };
-





More information about the tor-commits mailing list