]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge ocirc and orconn events into or subsystem.
authorNick Mathewson <nickm@torproject.org>
Fri, 14 Feb 2020 14:34:51 +0000 (09:34 -0500)
committerNick Mathewson <nickm@torproject.org>
Mon, 24 Feb 2020 12:49:39 +0000 (07:49 -0500)
Pubsub events are not supposed to have their own subsystems; they're
supposed to be part of a parent subsystem.

src/app/main/subsystem_list.c
src/core/or/include.am
src/core/or/ocirc_event.c
src/core/or/ocirc_event_sys.h [deleted file]
src/core/or/or_sys.c
src/core/or/or_sys.h
src/core/or/orconn_event.c
src/core/or/orconn_event_sys.h [deleted file]

index 84c6e6ec0e14db073349d489bc4ec9a6f98e45a9..06f39df2e621c152acba6437787cfd3cbe60e6d0 100644 (file)
@@ -14,9 +14,7 @@
 #include "lib/cc/torint.h"
 
 #include "core/mainloop/mainloop_sys.h"
-#include "core/or/ocirc_event_sys.h"
 #include "core/or/or_sys.h"
-#include "core/or/orconn_event_sys.h"
 #include "feature/control/btrack_sys.h"
 #include "lib/compress/compress_sys.h"
 #include "lib/crypt_ops/crypto_sys.h"
@@ -61,8 +59,6 @@ const subsys_fns_t *tor_subsystems[] = {
 
   &sys_mainloop,
   &sys_or,
-  &sys_orconn_event,
-  &sys_ocirc_event,
 
   &sys_relay,
 
index 4dd251d2e40ea5588eefd41c9c9094c6bda7fb06..3626e76bed9386b7b2c027400e7124ff4e1d4a9a 100644 (file)
@@ -74,13 +74,11 @@ noinst_HEADERS +=                                   \
        src/core/or/or_periodic.h                       \
        src/core/or/or_sys.h                            \
        src/core/or/orconn_event.h                      \
-       src/core/or/orconn_event_sys.h                  \
        src/core/or/or_circuit_st.h                     \
        src/core/or/or_connection_st.h                  \
        src/core/or/or_handshake_certs_st.h             \
        src/core/or/or_handshake_state_st.h             \
        src/core/or/ocirc_event.h                       \
-       src/core/or/ocirc_event_sys.h                   \
        src/core/or/origin_circuit_st.h                 \
        src/core/or/policies.h                          \
        src/core/or/port_cfg_st.h                       \
index 6aa7f684e07e01337edfab733c2272c23df9aad1..fa16459175c705f87143b91a0a486ffc5ba26768 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "core/or/cpath_build_state_st.h"
 #include "core/or/ocirc_event.h"
-#include "core/or/ocirc_event_sys.h"
+#include "core/or/or_sys.h"
 #include "core/or/origin_circuit_st.h"
 #include "lib/subsys/subsys.h"
 
@@ -84,7 +84,7 @@ static dispatch_typefns_t ocirc_cevent_fns = {
   .fmt_fn = ocirc_cevent_fmt,
 };
 
-static int
+int
 ocirc_add_pubsub(struct pubsub_connector_t *connector)
 {
   if (DISPATCH_REGISTER_TYPE(connector, ocirc_state, &ocirc_state_fns))
@@ -119,10 +119,3 @@ ocirc_cevent_publish(ocirc_cevent_msg_t *msg)
 {
   PUBLISH(ocirc_cevent, msg);
 }
-
-const subsys_fns_t sys_ocirc_event = {
-  .name = "ocirc_event",
-  .supported = true,
-  .level = 22,
-  .add_pubsub = ocirc_add_pubsub,
-};
diff --git a/src/core/or/ocirc_event_sys.h b/src/core/or/ocirc_event_sys.h
deleted file mode 100644 (file)
index abb89b0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2007-2020, The Tor Project, Inc. */
-
-/**
- * \file ocirc_event_sys.h
- * \brief Declare subsystem object for the origin circuit event module.
- **/
-
-#ifndef TOR_OCIRC_EVENT_SYS_H
-#define TOR_OCIRC_EVENT_SYS_H
-
-extern const struct subsys_fns_t sys_ocirc_event;
-
-#endif /* !defined(TOR_OCIRC_EVENT_SYS_H) */
index 394b7945e11f32746cd9a055bba00fcabf62de14..126f5448cf83ccdce3daf61fba81ba95e96bcc4f 100644 (file)
@@ -34,10 +34,22 @@ subsys_or_shutdown(void)
   policies_free_all();
 }
 
+static int
+subsys_or_add_pubsub(struct pubsub_connector_t *connector)
+{
+  int rv = 0;
+  if (orconn_add_pubsub(connector) < 0)
+    rv = -1;
+  if (ocirc_add_pubsub(connector) < 0)
+    rv = -1;
+  return rv;
+}
+
 const struct subsys_fns_t sys_or = {
   .name = "or",
   .supported = true,
   .level = 20,
   .initialize = subsys_or_initialize,
   .shutdown = subsys_or_shutdown,
+  .add_pubsub = subsys_or_add_pubsub,
 };
index 3ae09f7b52e715ed46bc47ef7f3d84210ead94f9..7ee56c86820223055957c39c5249df3092fbb82c 100644 (file)
@@ -14,4 +14,8 @@
 
 extern const struct subsys_fns_t sys_or;
 
+struct pubsub_connector_t;
+int ocirc_add_pubsub(struct pubsub_connector_t *connector);
+int orconn_add_pubsub(struct pubsub_connector_t *connector);
+
 #endif /* !defined(TOR_CORE_OR_OR_SYS_H) */
index 7ed6b5fdfa7df74e43c6edf4debff0a73db74d78..c30e2dd22ff5ec68e1f427cadde2e14bbaed5c5d 100644 (file)
@@ -22,7 +22,7 @@
 
 #define ORCONN_EVENT_PRIVATE
 #include "core/or/orconn_event.h"
-#include "core/or/orconn_event_sys.h"
+#include "core/or/or_sys.h"
 
 DECLARE_PUBLISH(orconn_state);
 DECLARE_PUBLISH(orconn_status);
@@ -65,7 +65,7 @@ static dispatch_typefns_t orconn_status_fns = {
   .fmt_fn = orconn_status_fmt,
 };
 
-static int
+int
 orconn_add_pubsub(struct pubsub_connector_t *connector)
 {
   if (DISPATCH_REGISTER_TYPE(connector, orconn_state, &orconn_state_fns))
@@ -90,10 +90,3 @@ orconn_status_publish(orconn_status_msg_t *msg)
 {
   PUBLISH(orconn_status, msg);
 }
-
-const subsys_fns_t sys_orconn_event = {
-  .name = "orconn_event",
-  .supported = true,
-  .level = 22,
-  .add_pubsub = orconn_add_pubsub,
-};
diff --git a/src/core/or/orconn_event_sys.h b/src/core/or/orconn_event_sys.h
deleted file mode 100644 (file)
index 02f0b81..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* Copyright (c) 2007-2020, The Tor Project, Inc. */
-
-/**
- * \file orconn_event_sys.h
- * \brief Declare subsystem object for the OR connection event module.
- **/
-#ifndef TOR_ORCONN_EVENT_SYS_H
-#define TOR_ORCONN_EVENT_SYS_H
-
-extern const struct subsys_fns_t sys_orconn_event;
-
-#endif /* !defined(TOR_ORCONN_EVENT_SYS_H) */