]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Disable dns.c when relay mode is disabled.
authorNick Mathewson <nickm@torproject.org>
Tue, 18 Feb 2020 17:32:00 +0000 (12:32 -0500)
committerNick Mathewson <nickm@torproject.org>
Tue, 18 Feb 2020 17:46:10 +0000 (12:46 -0500)
This saves about 1% for me on a binary compiled without relay mode.

Closes ticket 33366.

changes/ticket33366 [new file with mode: 0644]
src/feature/relay/dns.h
src/feature/relay/include.am

diff --git a/changes/ticket33366 b/changes/ticket33366
new file mode 100644 (file)
index 0000000..1310c49
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor features (compilation size):
+    - Most Server-side DNS code is now disabled when building without
+      support for relay mode. Closes ticket 33366.
index a2275c724aabb54c80e94018e9508427803c9aa5..4e5766af0c36c7b41268daaeb55b0ba5ef5dc81a 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef TOR_DNS_H
 #define TOR_DNS_H
 
+#ifdef HAVE_MODULE_RELAY
+
 int dns_init(void);
 int has_dns_init_failed(void);
 void dns_free_all(void);
@@ -29,6 +31,43 @@ size_t dns_cache_total_allocation(void);
 void dump_dns_mem_usage(int severity);
 size_t dns_cache_handle_oom(time_t now, size_t min_remove_bytes);
 
+#else /* !defined(HAVE_MODULE_RELAY) */
+
+#define dns_init() (0)
+#define dns_seems_to_be_broken() (0)
+#define has_dns_init_failed() (0)
+#define dns_cache_total_allocation() (0)
+
+#define dns_reset_correctness_checks() STMT_NIL
+
+#define assert_connection_edge_not_dns_pending(conn) \
+  ((void)(conn))
+#define dump_dns_mem_usage(severity)\
+  ((void)(severity))
+#define dns_cache_handle_oom(now, bytes) \
+  ((void)(now), (void)(bytes), 0)
+
+#define connection_dns_remove(conn) \
+  STMT_BEGIN                        \
+  (void)(conn);                     \
+  tor_assert_nonfatal_unreached();  \
+  STMT_END
+
+static inline int
+dns_reset(void)
+{
+  return 0;
+}
+static inline int
+dns_resolve(edge_connection_t *exitconn)
+{
+  (void)exitconn;
+  tor_assert_nonfatal_unreached();
+  return -1;
+}
+
+#endif /* defined(HAVE_MODULE_RELAY) */
+
 #ifdef DNS_PRIVATE
 #include "feature/relay/dns_structs.h"
 
index a4c025ae127e76d620638c173a663f407ef4904f..ad81e60d75f3647df8d1a6230fe4840363d0384a 100644 (file)
@@ -1,7 +1,6 @@
 
 # Legacy shared relay code: migrate to the relay module over time
 LIBTOR_APP_A_SOURCES +=                        \
-       src/feature/relay/dns.c                 \
        src/feature/relay/ext_orport.c          \
        src/feature/relay/onion_queue.c         \
        src/feature/relay/router.c              \
@@ -12,6 +11,7 @@ LIBTOR_APP_A_SOURCES +=                       \
 
 # ADD_C_FILE: INSERT SOURCES HERE.
 MODULE_RELAY_SOURCES =                                                 \
+       src/feature/relay/dns.c                                 \
        src/feature/relay/routermode.c                          \
        src/feature/relay/relay_config.c                        \
        src/feature/relay/relay_periodic.c                      \