diff options
-rw-r--r-- | src/core/include.am | 2 | ||||
-rw-r--r-- | src/core/mainloop/netstatus.c | 28 | ||||
-rw-r--r-- | src/core/mainloop/netstatus.h | 13 | ||||
-rw-r--r-- | src/feature/relay/router.c | 18 | ||||
-rw-r--r-- | src/feature/relay/router.h | 4 |
5 files changed, 44 insertions, 21 deletions
diff --git a/src/core/include.am b/src/core/include.am index 21cad6dc24..64a593ca51 100644 --- a/src/core/include.am +++ b/src/core/include.am @@ -20,6 +20,7 @@ LIBTOR_APP_A_SOURCES = \ src/core/mainloop/connection.c \ src/core/mainloop/cpuworker.c \ src/core/mainloop/mainloop.c \ + src/core/mainloop/netstatus.c \ src/core/mainloop/periodic.c \ src/core/or/address_set.c \ src/core/or/channel.c \ @@ -187,6 +188,7 @@ noinst_HEADERS += \ src/core/mainloop/connection.h \ src/core/mainloop/cpuworker.h \ src/core/mainloop/mainloop.h \ + src/core/mainloop/netstatus.h \ src/core/mainloop/periodic.h \ src/core/or/addr_policy_st.h \ src/core/or/address_set.h \ diff --git a/src/core/mainloop/netstatus.c b/src/core/mainloop/netstatus.c new file mode 100644 index 0000000000..f026474494 --- /dev/null +++ b/src/core/mainloop/netstatus.c @@ -0,0 +1,28 @@ +/* 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 */ + +#include "core/or/or.h" +#include "core/mainloop/netstatus.h" +#include "app/config/config.h" +#include "feature/hibernate/hibernate.h" + +/** Return true iff our network is in some sense disabled or shutting down: + * either we're hibernating, entering hibernation, or the network is turned + * off with DisableNetwork. */ +int +net_is_disabled(void) +{ + return get_options()->DisableNetwork || we_are_hibernating(); +} + +/** Return true iff our network is in some sense "completely disabled" either + * we're fully hibernating or the network is turned off with + * DisableNetwork. */ +int +net_is_completely_disabled(void) +{ + return get_options()->DisableNetwork || we_are_fully_hibernating(); +} diff --git a/src/core/mainloop/netstatus.h b/src/core/mainloop/netstatus.h new file mode 100644 index 0000000000..e9310c2929 --- /dev/null +++ b/src/core/mainloop/netstatus.h @@ -0,0 +1,13 @@ +/* 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_NETSTATUS_H +#define TOR_NETSTATUS_H + +int net_is_disabled(void); +int net_is_completely_disabled(void); + +#endif diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c index b3cfb6d8dd..05e3fb3b23 100644 --- a/src/feature/relay/router.c +++ b/src/feature/relay/router.c @@ -1311,24 +1311,6 @@ router_should_advertise_begindir(const or_options_t *options, supports_tunnelled_dir_requests); } -/** Return true iff our network is in some sense disabled or shutting down: - * either we're hibernating, entering hibernation, or the network is turned - * off with DisableNetwork. */ -int -net_is_disabled(void) -{ - return get_options()->DisableNetwork || we_are_hibernating(); -} - -/** Return true iff our network is in some sense "completely disabled" either - * we're fully hibernating or the network is turned off with - * DisableNetwork. */ -int -net_is_completely_disabled(void) -{ - return get_options()->DisableNetwork || we_are_fully_hibernating(); -} - /** Return true iff the combination of options in <b>options</b> and parameters * in the consensus mean that we don't want to allow exits from circuits * we got from addresses not known to be servers. */ diff --git a/src/feature/relay/router.h b/src/feature/relay/router.h index 90cc5abaf6..a9c7ac3fd5 100644 --- a/src/feature/relay/router.h +++ b/src/feature/relay/router.h @@ -16,6 +16,7 @@ #include "feature/nodelist/describe.h" #include "feature/nodelist/nickname.h" #include "feature/nodelist/routerinfo.h" +#include "core/mainloop/netstatus.h" struct curve25519_keypair_t; struct ed25519_keypair_t; @@ -59,9 +60,6 @@ int router_initialize_tls_context(void); int init_keys(void); int init_keys_client(void); -int net_is_disabled(void); -int net_is_completely_disabled(void); - uint16_t router_get_active_listener_port_by_type_af(int listener_type, sa_family_t family); uint16_t router_get_advertised_or_port(const or_options_t *options); |