diff options
author | teor <teor@torproject.org> | 2019-10-18 13:21:36 +1000 |
---|---|---|
committer | teor <teor@torproject.org> | 2019-10-20 17:52:38 +1000 |
commit | 7944b55ad1dbadaeb2a4f72b959d23bdc15b8d20 (patch) | |
tree | bec2a39f0f52bc7c0f5b0a5d5659340ea64bf01d /src/feature/client | |
parent | fdf47e0f0b82c10b943ed69717f4f62c0bdff402 (diff) | |
download | tor-7944b55ad1dbadaeb2a4f72b959d23bdc15b8d20.tar.gz tor-7944b55ad1dbadaeb2a4f72b959d23bdc15b8d20.zip |
feature: Move proxy_mode() into new files
proxy_mode() was in routermode.[ch], but it's actually a client
mode. Move it into client/proxymode.[ch].
Part of 32123.
Diffstat (limited to 'src/feature/client')
-rw-r--r-- | src/feature/client/proxymode.c | 27 | ||||
-rw-r--r-- | src/feature/client/proxymode.h | 17 |
2 files changed, 44 insertions, 0 deletions
diff --git a/src/feature/client/proxymode.c b/src/feature/client/proxymode.c new file mode 100644 index 0000000000..3b5fba5cda --- /dev/null +++ b/src/feature/client/proxymode.c @@ -0,0 +1,27 @@ +/* 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 */ + +#include "core/or/or.h" + +#include "app/config/config.h" +#include "core/mainloop/connection.h" +#include "core/or/port_cfg_st.h" +#include "feature/client/proxymode.h" + +/** Return true iff we are trying to proxy client connections. */ +int +proxy_mode(const or_options_t *options) +{ + (void)options; + SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) { + if (p->type == CONN_TYPE_AP_LISTENER || + p->type == CONN_TYPE_AP_TRANS_LISTENER || + p->type == CONN_TYPE_AP_DNS_LISTENER || + p->type == CONN_TYPE_AP_NATD_LISTENER) + return 1; + } SMARTLIST_FOREACH_END(p); + return 0; +} diff --git a/src/feature/client/proxymode.h b/src/feature/client/proxymode.h new file mode 100644 index 0000000000..f8352922c7 --- /dev/null +++ b/src/feature/client/proxymode.h @@ -0,0 +1,17 @@ +/* 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 proxymode.h + * \brief Header file for proxymode.c. + **/ + +#ifndef TOR_PROXYMODE_H +#define TOR_PROXYMODE_H + +int proxy_mode(const or_options_t *options); + +#endif |