Tor  0.4.7.0-alpha-dev
proxymode.c
Go to the documentation of this file.
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"
16 #include "core/or/port_cfg_st.h"
18 
19 /** Return true iff we are trying to proxy client connections. */
20 int
21 proxy_mode(const or_options_t *options)
22 {
23  (void)options;
25  if (p->type == CONN_TYPE_AP_LISTENER ||
26  p->type == CONN_TYPE_AP_TRANS_LISTENER ||
27  p->type == CONN_TYPE_AP_DNS_LISTENER ||
28  p->type == CONN_TYPE_AP_NATD_LISTENER)
29  return 1;
30  } SMARTLIST_FOREACH_END(p);
31  return 0;
32 }
const smartlist_t * get_configured_ports(void)
Definition: config.c:6687
Header file for config.c.
Header file for connection.c.
#define CONN_TYPE_AP_NATD_LISTENER
Definition: connection.h:66
#define CONN_TYPE_AP_LISTENER
Definition: connection.h:48
#define CONN_TYPE_AP_DNS_LISTENER
Definition: connection.h:68
#define CONN_TYPE_AP_TRANS_LISTENER
Definition: connection.h:63
Master header file for Tor-specific functionality.
Listener port configuration structure.
int proxy_mode(const or_options_t *options)
Definition: proxymode.c:21
Header file for proxymode.c.
#define SMARTLIST_FOREACH_BEGIN(sl, type, var)