/src/tor/src/feature/client/proxymode.c
Line | Count | Source |
1 | | /* Copyright (c) 2001 Matej Pfajfar. |
2 | | * Copyright (c) 2001-2004, Roger Dingledine. |
3 | | * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. |
4 | | * Copyright (c) 2007-2021, The Tor Project, Inc. */ |
5 | | /* See LICENSE for licensing information */ |
6 | | |
7 | | /** |
8 | | * @file proxymode.c |
9 | | * @brief Determine whether we are trying to be a proxy. |
10 | | **/ |
11 | | |
12 | | #include "core/or/or.h" |
13 | | |
14 | | #include "app/config/config.h" |
15 | | #include "core/mainloop/connection.h" |
16 | | #include "core/or/port_cfg_st.h" |
17 | | #include "feature/client/proxymode.h" |
18 | | |
19 | | /** Return true iff we are trying to proxy client connections. */ |
20 | | int |
21 | | proxy_mode(const or_options_t *options) |
22 | 0 | { |
23 | 0 | (void)options; |
24 | 0 | SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) { |
25 | 0 | if (p->type == CONN_TYPE_AP_LISTENER || |
26 | 0 | p->type == CONN_TYPE_AP_TRANS_LISTENER || |
27 | 0 | p->type == CONN_TYPE_AP_DNS_LISTENER || |
28 | 0 | p->type == CONN_TYPE_AP_NATD_LISTENER) |
29 | 0 | return 1; |
30 | 0 | } SMARTLIST_FOREACH_END(p); |
31 | 0 | return 0; |
32 | 0 | } |