commit ded6bbf70a3b63bb423b241c66684becefb1cff7 Author: Nick Mathewson nickm@torproject.org Date: Sat Jul 2 23:23:07 2011 -0400
Style and grammar tweaks on 2841 branch --- src/or/circuitbuild.c | 71 ++++++++++++++++++++++-------------------------- src/or/circuitbuild.h | 8 +++--- src/or/config.c | 39 ++++++++++++-------------- 3 files changed, 55 insertions(+), 63 deletions(-)
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index b00a35d..98d7ac3 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -4611,7 +4611,7 @@ transport_get_by_name(const char *name) if (!transport_list) return NULL;
- SMARTLIST_FOREACH_BEGIN(transport_list, transport_t *, transport) { + SMARTLIST_FOREACH_BEGIN(transport_list, const transport_t *, transport) { if (!strcmp(transport->name, name)) return transport; } SMARTLIST_FOREACH_END(transport); @@ -4628,14 +4628,15 @@ int transport_add_from_config(const tor_addr_t *addr, uint16_t port, const char *name, int socks_ver) { - transport_t *t = tor_malloc_zero(sizeof(transport_t)); + transport_t *t;
if (transport_get_by_name(name)) { /* check for duplicate names */ - log_notice(LD_CONFIG, "More than one transports have '%s' as " - "their name.", name); - goto err; + log_warn(LD_CONFIG, "More than one transport has '%s' as " + "its name.", name); + return -1; }
+ t = tor_malloc_zero(sizeof(transport_t)); tor_addr_copy(&t->addr, addr); t->port = port; t->name = tor_strdup(name); @@ -4646,10 +4647,6 @@ transport_add_from_config(const tor_addr_t *addr, uint16_t port,
smartlist_add(transport_list, t); return 0; - - err: - tor_free(t); - return -1; }
/** Warns the user of possible pluggable transport misconfiguration. */ @@ -4657,20 +4654,19 @@ void validate_pluggable_transports_config(void) { if (bridge_list) { - SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, b) - { - /* Skip bridges without transports. */ - if (!b->transport_name) - continue; - /* See if the user has Bridges that specify nonexistent - pluggable transports. We should warn the user in such case, - since it's probably misconfiguration. */ - if (!transport_get_by_name(b->transport_name)) - log_warn(LD_CONFIG, "You have a Bridge line using the %s " - "pluggable transport, but there doesn't seem to be a " - "corresponding ClientTransportPlugin line.", - b->transport_name); - } SMARTLIST_FOREACH_END(b); + SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, b) { + /* Skip bridges without transports. */ + if (!b->transport_name) + continue; + /* See if the user has Bridges that specify nonexistent + pluggable transports. We should warn the user in such case, + since it's probably misconfiguration. */ + if (!transport_get_by_name(b->transport_name)) + log_warn(LD_CONFIG, "You have a Bridge line using the %s " + "pluggable transport, but there doesn't seem to be a " + "corresponding ClientTransportPlugin line.", + b->transport_name); + } SMARTLIST_FOREACH_END(b); } }
@@ -4811,7 +4807,7 @@ find_bridge_by_digest(const char *digest) }
/** If <b>addr</b> and <b>port</b> match the address and port of a - * bridge of ours that uses pluggable transports, place it's transport + * bridge of ours that uses pluggable transports, place its transport * in <b>transport</b>. * * Return: @@ -4827,22 +4823,21 @@ find_transport_by_bridge_addrport(const tor_addr_t *addr, uint16_t port, if (!bridge_list) return 1;
- SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, bridge) - { - if (tor_addr_eq(&bridge->addr, addr) && - (bridge->port == port)) { /* bridge matched */ - if (bridge->transport_name) { /* it also uses pluggable transports */ - *transport = transport_get_by_name(bridge->transport_name); - if (*transport == NULL) { /* it uses pluggable transports, but - the transport could not be found! */ - return -1; - } - return 0; - } else { /* bridge matched, but it doesn't use transports. */ - break; + SMARTLIST_FOREACH_BEGIN(bridge_list, const bridge_info_t *, bridge) { + if (tor_addr_eq(&bridge->addr, addr) && + (bridge->port == port)) { /* bridge matched */ + if (bridge->transport_name) { /* it also uses pluggable transports */ + *transport = transport_get_by_name(bridge->transport_name); + if (*transport == NULL) { /* it uses pluggable transports, but + the transport could not be found! */ + return -1; } + return 0; + } else { /* bridge matched, but it doesn't use transports. */ + break; } - } SMARTLIST_FOREACH_END(bridge); + } + } SMARTLIST_FOREACH_END(bridge);
return 1; } diff --git a/src/or/circuitbuild.h b/src/or/circuitbuild.h index 54f8250..74715b7 100644 --- a/src/or/circuitbuild.h +++ b/src/or/circuitbuild.h @@ -14,13 +14,13 @@
/** Represents a pluggable transport proxy used by a bridge. */ typedef struct { - /* SOCKS version */ + /** SOCKS version: One of PROXY_SOCKS4, PROXY_SOCKS5. */ int socks_version; - /* Name of pluggable transport protocol */ + /** Name of pluggable transport protocol */ char *name; - /* Address of proxy */ + /** Address of proxy */ tor_addr_t addr; - /* Port of proxy */ + /** Port of proxy */ uint16_t port; } transport_t;
diff --git a/src/or/config.c b/src/or/config.c index 9096839..e172f73 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -205,7 +205,7 @@ static config_var_t _option_vars[] = { V(ClientDNSRejectInternalAddresses, BOOL,"1"), V(ClientOnly, BOOL, "0"), V(ClientRejectInternalAddresses, BOOL, "1"), - VAR("ClientTransportPlugin", LINELIST, ClientTransportPlugin, NULL), + V(ClientTransportPlugin, LINELIST, NULL), V(ConsensusParams, STRING, NULL), V(ConnLimit, UINT, "1000"), V(ConnDirectionStatistics, BOOL, "0"), @@ -3565,7 +3565,7 @@ options_validate(or_options_t *old_options, or_options_t *options, /* Check if more than one proxy type has been enabled. */ if (!!options->Socks4Proxy + !!options->Socks5Proxy + !!options->HTTPSProxy + !!options->ClientTransportPlugin > 1) - REJECT("You have configured more than one proxy types. " + REJECT("You have configured more than one proxy type. " "(Socks4Proxy|Socks5Proxy|HTTPSProxy|ClientTransportPlugin)");
if (options->Socks5ProxyUsername) { @@ -3686,18 +3686,14 @@ options_validate(or_options_t *old_options, or_options_t *options, if (options->UseBridges && !options->TunnelDirConns) REJECT("TunnelDirConns set to 0 only works with UseBridges set to 0");
- if (options->ClientTransportPlugin) { - for (cl = options->ClientTransportPlugin; cl; cl = cl->next) { - if (parse_client_transport_line(cl->value, 1)<0) - REJECT("Transport line did not parse. See logs for details."); - } + for (cl = options->ClientTransportPlugin; cl; cl = cl->next) { + if (parse_client_transport_line(cl->value, 1)<0) + REJECT("Transport line did not parse. See logs for details."); }
- if (options->Bridges) { - for (cl = options->Bridges; cl; cl = cl->next) { - if (parse_bridge_line(cl->value, 1)<0) - REJECT("Bridge line did not parse. See logs for details."); - } + for (cl = options->Bridges; cl; cl = cl->next) { + if (parse_bridge_line(cl->value, 1)<0) + REJECT("Bridge line did not parse. See logs for details."); }
if (options->ConstrainedSockets) { @@ -4605,8 +4601,9 @@ parse_bridge_line(const char *line, int validate_only) transport_name = field1; addrport = smartlist_get(items, 0); smartlist_del_keeporder(items, 0); - } else + } else { addrport = field1; + }
if (tor_addr_port_parse(addrport, &addr, &port)<0) { log_warn(LD_CONFIG, "Error parsing Bridge address '%s'", addrport); @@ -4632,21 +4629,21 @@ parse_bridge_line(const char *line, int validate_only) }
if (!validate_only) { - log_debug(LD_DIR, "Bridge at %s:%d (transport: %s) (%s)", - fmt_addr(&addr), (int)port, - transport_name ? transport_name : "no transport", - fingerprint ? fingerprint : "no key listed"); - bridge_add_from_config(&addr, port, - fingerprint ? digest : NULL,transport_name); + log_debug(LD_DIR, "Bridge at %s:%d (transport: %s) (%s)", + fmt_addr(&addr), (int)port, + transport_name ? transport_name : "no transport", + fingerprint ? fingerprint : "no key listed"); + bridge_add_from_config(&addr, port, + fingerprint ? digest : NULL, transport_name); }
r = 0; goto done;
- err: + err: r = -1;
- done: + done: SMARTLIST_FOREACH(items, char*, s, tor_free(s)); smartlist_free(items); tor_free(addrport);
tor-commits@lists.torproject.org