diff options
author | George Kadianakis <desnacked@riseup.net> | 2012-01-26 00:42:30 +0200 |
---|---|---|
committer | George Kadianakis <desnacked@riseup.net> | 2012-07-03 21:26:03 +0300 |
commit | 17caec3676e857bf87f4b3c7d50114a9627b52a4 (patch) | |
tree | 3d6b011c6025815bb0ba30aab37ecd91e0c18a39 /src | |
parent | aecc728a5adce225c8415ca90121f2dd23f4f695 (diff) | |
download | tor-17caec3676e857bf87f4b3c7d50114a9627b52a4.tar.gz tor-17caec3676e857bf87f4b3c7d50114a9627b52a4.zip |
Make some transports.c functions static.
- Also reorder functions.
Diffstat (limited to 'src')
-rw-r--r-- | src/or/transports.c | 120 | ||||
-rw-r--r-- | 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 <b>name</b> listening at <b>addr</b>:<b>port</b> using + SOCKS version <b>socks_ver</b>. */ +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 <b>transport</b>. */ +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 <b>name</b> listening at <b>addr</b>:<b>port</b> using - SOCKS version <b>socks_ver</b>. */ -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 <b>transport</b>. */ -void -transport_free(transport_t *transport) -{ - if (!transport) - return; - - tor_free(transport->name); - tor_free(transport); -} - /** Return a deep copy of <b>transport</b>. */ 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 <b>addr</b>:<b>port</b>. - * <b>name</b> is set to the name of the protocol this proxy uses. - * <b>socks_ver</b> 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 <b>t</b> * might cause. * Return 0 if <b>t</b> 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 <b>addr</b>:<b>port</b>. + * <b>name</b> is set to the name of the protocol this proxy uses. + * <b>socks_ver</b> 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); |