11 #ifndef TOR_TRANSPORTS_H 12 #define TOR_TRANSPORTS_H 37 const char *
name,
int socks_ver));
39 #define transport_free(tr) FREE_AND_NULL(transport_t, transport_free_, (tr)) 44 (
const smartlist_t *transport_list,
char **proxy_argv,
47 #define pt_kickstart_client_proxy(tl, pa) \ 48 pt_kickstart_proxy(tl, pa, 0) 49 #define pt_kickstart_server_proxy(tl, pa) \ 50 pt_kickstart_proxy(tl, pa, 1) 74 PT_PROTO_ACCEPTING_METHODS,
78 PT_PROTO_FAILED_LAUNCH
83 enum pt_proto_state conf_state;
88 unsigned int proxy_supported : 1;
93 process_handle_t *process_handle;
106 unsigned int was_around_before_config_read : 1;
117 const char *
name,
int socks_ver,
122 STATIC
int parse_version(
const char *line, managed_proxy_t *mp);
129 int also_terminate_process);
132 char **proxy_argv,
int is_server);
void pt_prepare_proxy_list_for_config_read(void)
Definition: transports.c:1479
void pt_free_all(void)
Definition: transports.c:1677
STATIC void free_execve_args(char **arg)
Definition: transports.c:1464
STATIC void managed_proxy_destroy(managed_proxy_t *mp, int also_terminate_process)
Definition: transports.c:726
Definition: transports.h:15
char * pt_stringify_socks_args(const smartlist_t *socks_args)
Definition: transports.c:1609
struct transport_t transport_t
STATIC void handle_proxy_line(const char *line, managed_proxy_t *mp)
Definition: transports.c:857
unsigned marked_for_removal
Definition: transports.h:27
MOCK_DECL(int, router_have_minimum_dir_info,(void))
char * name
Definition: transports.h:19
Definition: container.h:18
STATIC void parse_proxy_error(const char *line)
Definition: transports.c:1169
STATIC transport_t * transport_new(const tor_addr_t *addr, uint16_t port, const char *name, int socks_ver, const char *extra_info_args)
Definition: transports.c:139
STATIC int parse_version(const char *line, managed_proxy_t *mp)
Definition: transports.c:990
uint16_t port
Definition: transports.h:24
char * pt_get_extra_info_descriptor_string(void)
Definition: transports.c:1542
void pt_configure_remaining_proxies(void)
Definition: transports.c:556
char * extra_info_args
Definition: transports.h:30
void mark_transport_list(void)
Definition: transports.c:170
void sweep_transport_list(void)
Definition: transports.c:181
void sweep_proxy_list(void)
Definition: transports.c:1661
int socks_version
Definition: transports.h:17
STATIC void parse_env_error(const char *line)
Definition: transports.c:974
STATIC int parse_smethod_line(const char *line, managed_proxy_t *mp)
Definition: transports.c:1150
tor_addr_t addr
Definition: transports.h:22
STATIC int parse_cmethod_line(const char *line, managed_proxy_t *mp)
Definition: transports.c:1160
smartlist_t * get_transport_proxy_ports(void)
Definition: transports.c:1512
int pt_proxies_configuration_pending(void)
Definition: transports.c:364
STATIC char * get_pt_proxy_uri(void)
Definition: transports.c:758
STATIC managed_proxy_t * managed_proxy_create(const smartlist_t *with_transport_list, char **proxy_argv, int is_server)
Definition: transports.c:1383
void transport_free_(transport_t *transport)
Definition: transports.c:157
char * pt_get_socks_args_for_proxy_addrport(const tor_addr_t *addr, uint16_t port)
Definition: transports.c:1645
STATIC char * get_transport_options_for_server_proxy(const managed_proxy_t *mp)
Definition: transports.c:1186
STATIC int configure_proxy(managed_proxy_t *mp)
Definition: transports.c:613