]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Add "stub" files for disabled modules.
authorNick Mathewson <nickm@torproject.org>
Sun, 15 Dec 2019 23:10:11 +0000 (18:10 -0500)
committerNick Mathewson <nickm@torproject.org>
Thu, 19 Dec 2019 12:54:56 +0000 (07:54 -0500)
These modules are only built when the selected modules are disabled.
The provide stub implementations of the subsystem blocks.  Later,
other stub implementations could move here.

Having real subsystem blocks here will let us handle disabled
configuration options better.

src/app/main/subsystem_list.c
src/core/include.am
src/feature/dirauth/dirauth_stub.c [new file with mode: 0644]
src/feature/dirauth/dirauth_sys.h
src/feature/relay/relay_stub.c [new file with mode: 0644]
src/feature/relay/relay_sys.h

index a343207c1c11db8027eeb66311eccc5d9aadc637..8b217715a5550ef7d46efddad27b2c4040988422 100644 (file)
@@ -66,13 +66,9 @@ const subsys_fns_t *tor_subsystems[] = {
   &sys_mainloop,
   &sys_or,
 
-#ifdef HAVE_MODULE_RELAY
   &sys_relay,
-#endif
 
-#ifdef HAVE_MODULE_DIRAUTH
   &sys_dirauth,
-#endif
 };
 
 const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems);
index 83230fb3caaed923f2e52b9c19478c6c7bef1cf7..ab4adeaf66c4db54bcf40fbb341a0a400a8b7d7a 100644 (file)
@@ -157,6 +157,11 @@ LIBTOR_APP_A_SOURCES =                             \
        src/feature/stats/rephist.c             \
        src/feature/stats/predict_ports.c
 
+#
+# Sources that we only add for the real libtor_a, and not for testing.
+#
+LIBTOR_APP_A_STUB_SOURCES =
+
 if BUILD_NT_SERVICES
 LIBTOR_APP_A_SOURCES += src/app/main/ntmain.c
 endif
@@ -199,13 +204,19 @@ MODULE_DIRAUTH_SOURCES =                                  \
 
 if BUILD_MODULE_RELAY
 LIBTOR_APP_A_SOURCES += $(MODULE_RELAY_SOURCES)
+else
+LIBTOR_APP_A_STUB_SOURCES += src/feature/relay/relay_stub.c
 endif
 
 if BUILD_MODULE_DIRAUTH
 LIBTOR_APP_A_SOURCES += $(MODULE_DIRAUTH_SOURCES)
+else
+LIBTOR_APP_A_STUB_SOURCES += src/feature/dirauth/dirauth_stub.c
 endif
 
-src_core_libtor_app_a_SOURCES = $(LIBTOR_APP_A_SOURCES)
+src_core_libtor_app_a_SOURCES = \
+       $(LIBTOR_APP_A_SOURCES) \
+       $(LIBTOR_APP_A_STUB_SOURCES)
 if UNITTESTS_ENABLED
 
 # Add the sources of the modules that are needed for tests to work here.
diff --git a/src/feature/dirauth/dirauth_stub.c b/src/feature/dirauth/dirauth_stub.c
new file mode 100644 (file)
index 0000000..fac68ed
--- /dev/null
@@ -0,0 +1,19 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2019, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * @file dirauth_stub.c
+ * @brief Stub declarations for use when dirauth module is disabled.
+ **/
+
+#include "orconfig.h"
+#include "feature/dirauth/dirauth_sys.h"
+
+const struct subsys_fns_t sys_dirauth = {
+  .name = "dirauth",
+  .supported = false,
+  .level = 70,
+};
index 86c8d8ba3eb009a6b87e64479ce5903e4ea0423f..2d5a0cb3e7cf73c5445959964f92aec783cca5e5 100644 (file)
 #ifndef DIRAUTH_SYS_H
 #define DIRAUTH_SYS_H
 
-#ifdef HAVE_MODULE_DIRAUTH
-
 extern const struct subsys_fns_t sys_dirauth;
 
-#endif
-
 #endif /* !defined(DIRAUTH_SYS_H) */
diff --git a/src/feature/relay/relay_stub.c b/src/feature/relay/relay_stub.c
new file mode 100644 (file)
index 0000000..a23b991
--- /dev/null
@@ -0,0 +1,20 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2019, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * @file relay_stub.c
+ * @brief Stub declarations for use when relay module is disabled.
+ **/
+
+#include "orconfig.h"
+#include "feature/relay/relay_sys.h"
+#include "lib/subsys/subsys.h"
+
+const struct subsys_fns_t sys_relay = {
+  .name = "relay",
+  .supported = false,
+  .level = 50,
+};
index aa387369b593d57ed0ae60e68ef2fad02681cbce..32e21d90d892b2618f0550c3e4276ebb74f0884e 100644 (file)
 #ifndef TOR_FEATURE_RELAY_RELAY_SYS_H
 #define TOR_FEATURE_RELAY_RELAY_SYS_H
 
-#ifdef HAVE_MODULE_RELAY
-
 extern const struct subsys_fns_t sys_relay;
 
-#endif
-
 #endif /* !defined(TOR_FEATURE_RELAY_RELAY_SYS_H) */