From 17caec3676e857bf87f4b3c7d50114a9627b52a4 Mon Sep 17 00:00:00 2001 From: George Kadianakis Date: Thu, 26 Jan 2012 00:42:30 +0200 Subject: [PATCH] Make some transports.c functions static. - Also reorder functions. --- src/or/transports.c | 120 ++++++++++++++++++++++---------------------- src/or/transports.h | 6 +-- 2 files changed, 61 insertions(+), 65 deletions(-) diff --git a/src/or/transports.c b/src/or/transports.c index 348b93179d..6ba080e51c 100644 --- a/src/or/transports.c +++ b/src/or/transports.c @@ -130,6 +130,34 @@ static INLINE void free_execve_args(char **arg); /** A list of pluggable transports found in torrc. */ static smartlist_t *transport_list = NULL; +/** Returns a transport_t struct for a transport proxy supporting the + protocol name listening at addr:port using + SOCKS version socks_ver. */ +static transport_t * +transport_new(const tor_addr_t *addr, uint16_t port, + const char *name, int socks_ver) +{ + transport_t *t = tor_malloc_zero(sizeof(transport_t)); + + tor_addr_copy(&t->addr, addr); + t->port = port; + t->name = tor_strdup(name); + t->socks_version = socks_ver; + + return t; +} + +/** Free the pluggable transport struct transport. */ +void +transport_free(transport_t *transport) +{ + if (!transport) + return; + + tor_free(transport->name); + tor_free(transport); +} + /** Mark every entry of the transport list to be removed on our next call to * sweep_transport_list unless it has first been un-marked. */ void @@ -158,7 +186,7 @@ sweep_transport_list(void) /** Initialize the pluggable transports list to empty, creating it if * needed. */ -void +static void clear_transport_list(void) { if (!transport_list) @@ -167,34 +195,6 @@ clear_transport_list(void) smartlist_clear(transport_list); } -/** Returns a transport_t struct for a transport proxy supporting the - protocol name listening at addr:port using - SOCKS version socks_ver. */ -transport_t * -transport_new(const tor_addr_t *addr, uint16_t port, - const char *name, int socks_ver) -{ - transport_t *t = tor_malloc_zero(sizeof(transport_t)); - - tor_addr_copy(&t->addr, addr); - t->port = port; - t->name = tor_strdup(name); - t->socks_version = socks_ver; - - return t; -} - -/** Free the pluggable transport struct transport. */ -void -transport_free(transport_t *transport) -{ - if (!transport) - return; - - tor_free(transport->name); - tor_free(transport); -} - /** Return a deep copy of transport. */ static transport_t * transport_copy(const transport_t *transport) @@ -232,36 +232,6 @@ transport_get_by_name(const char *name) return NULL; } -/** Remember a new pluggable transport proxy at addr:port. - * name is set to the name of the protocol this proxy uses. - * socks_ver is set to the SOCKS version of the proxy. */ -int -transport_add_from_config(const tor_addr_t *addr, uint16_t port, - const char *name, int socks_ver) -{ - transport_t *t = transport_new(addr, port, name, socks_ver); - - int r = transport_add(t); - - switch (r) { - case -1: - default: - log_notice(LD_GENERAL, "Could not add transport %s at %s:%u. Skipping.", - t->name, fmt_addr(&t->addr), t->port); - transport_free(t); - return -1; - case 1: - log_info(LD_GENERAL, "Succesfully registered transport %s at %s:%u.", - t->name, fmt_addr(&t->addr), t->port); - transport_free(t); /* falling */ - return 0; - case 0: - log_info(LD_GENERAL, "Succesfully registered transport %s at %s:%u.", - t->name, fmt_addr(&t->addr), t->port); - return 0; - } -} - /** Resolve any conflicts that the insertion of transport t * might cause. * Return 0 if t is OK and should be registered, 1 if there is @@ -321,7 +291,7 @@ transport_resolve_conflicts(transport_t *t) * Returns 0 if the transport was added correctly, 1 if the same * transport was already registered (in this case the caller must * free the transport) and -1 if there was an error. */ -int +static int transport_add(transport_t *t) { int r; @@ -340,6 +310,36 @@ transport_add(transport_t *t) } } +/** Remember a new pluggable transport proxy at addr:port. + * name is set to the name of the protocol this proxy uses. + * socks_ver is set to the SOCKS version of the proxy. */ +int +transport_add_from_config(const tor_addr_t *addr, uint16_t port, + const char *name, int socks_ver) +{ + transport_t *t = transport_new(addr, port, name, socks_ver); + + int r = transport_add(t); + + switch (r) { + case -1: + default: + log_notice(LD_GENERAL, "Could not add transport %s at %s:%u. Skipping.", + t->name, fmt_addr(&t->addr), t->port); + transport_free(t); + return -1; + case 1: + log_info(LD_GENERAL, "Succesfully registered transport %s at %s:%u.", + t->name, fmt_addr(&t->addr), t->port); + transport_free(t); /* falling */ + return 0; + case 0: + log_info(LD_GENERAL, "Succesfully registered transport %s at %s:%u.", + t->name, fmt_addr(&t->addr), t->port); + return 0; + } +} + /** List of unconfigured managed proxies. */ static smartlist_t *managed_proxy_list = NULL; /** Number of still unconfigured proxies. */ diff --git a/src/or/transports.h b/src/or/transports.h index aeca87312e..39f7bf4024 100644 --- a/src/or/transports.h +++ b/src/or/transports.h @@ -28,15 +28,11 @@ typedef struct { void mark_transport_list(void); void sweep_transport_list(void); -void clear_transport_list(void); int transport_add_from_config(const tor_addr_t *addr, uint16_t port, const char *name, int socks_ver); -int transport_add(transport_t *t); void transport_free(transport_t *transport); -transport_t *transport_new(const tor_addr_t *addr, uint16_t port, - const char *name, int socks_ver); -transport_t *transport_get_by_name(const char *name); +transport_t *transport_get_by_name(const char *name); void pt_kickstart_proxy(const smartlist_t *transport_list, char **proxy_argv, int is_server);