[tor-commits] [tor/master] Clean up odds and ends
nickm at torproject.org
nickm at torproject.org
Tue Jan 15 21:02:53 UTC 2013
commit 6e4a4002c5f988615299f0160ff4bbfb9dfdda3e
Author: Roger Dingledine <arma at torproject.org>
Date: Tue Jan 15 15:40:17 2013 -0500
Clean up odds and ends
---
src/common/compat.h | 3 +-
src/common/crypto_curve25519.c | 1 +
src/or/circuitbuild.c | 61 +++++++++++++++++++++------------------
src/or/circuituse.c | 6 ++--
src/or/onion.c | 4 +-
src/or/or.h | 2 +-
6 files changed, 42 insertions(+), 35 deletions(-)
diff --git a/src/common/compat.h b/src/common/compat.h
index f597c12..af6bc75 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -546,7 +546,8 @@ const char *tor_socket_strerror(int e);
#endif
#define ERRNO_IS_EINPROGRESS(e) ((e) == EINPROGRESS)
#define ERRNO_IS_CONN_EINPROGRESS(e) ((e) == EINPROGRESS)
-#define ERRNO_IS_ACCEPT_EAGAIN(e) (ERRNO_IS_EAGAIN(e) || (e) == ECONNABORTED)
+#define ERRNO_IS_ACCEPT_EAGAIN(e) \
+ (ERRNO_IS_EAGAIN(e) || (e) == ECONNABORTED)
#define ERRNO_IS_ACCEPT_RESOURCE_LIMIT(e) \
((e) == EMFILE || (e) == ENFILE || (e) == ENOBUFS || (e) == ENOMEM)
#define ERRNO_IS_EADDRINUSE(e) ((e) == EADDRINUSE)
diff --git a/src/common/crypto_curve25519.c b/src/common/crypto_curve25519.c
index aead4f8..e9d24d6 100644
--- a/src/common/crypto_curve25519.c
+++ b/src/common/crypto_curve25519.c
@@ -208,3 +208,4 @@ curve25519_public_from_base64(curve25519_public_key_t *pkey,
return -1;
}
}
+
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index e934acc..12b58e1 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -1437,7 +1437,7 @@ pathbias_count_build_success(origin_circuit_t *circ)
}
/* Don't count cannibalized/reused circs for path bias
- * build success.. They get counted under use success */
+ * "build" success, since they get counted under "use" success. */
if (!circ->has_opened) {
if (circ->cpath && circ->cpath->extend_info) {
guard = entry_guard_get_by_id_digest(
@@ -1515,7 +1515,7 @@ pathbias_count_build_success(origin_circuit_t *circ)
* are not possible to differentiate from unresponsive servers.
*
* The probe is sent at the end of the circuit lifetime for two
- * reasons: to prevent cyptographic taggers from being able to
+ * reasons: to prevent cryptographic taggers from being able to
* drop cells to cause timeouts, and to prevent easy recognition
* of probes before any real client traffic happens.
*
@@ -1556,7 +1556,7 @@ pathbias_send_usable_probe(circuit_t *circ)
circuit_change_purpose(circ, CIRCUIT_PURPOSE_PATH_BIAS_TESTING);
- /* Update timestamp for circuit_expire_building to kill us */
+ /* Update timestamp for when circuit_expire_building() should kill us */
tor_gettimeofday(&circ->timestamp_began);
/* Generate a random address for the nonce */
@@ -1596,8 +1596,8 @@ pathbias_send_usable_probe(circuit_t *circ)
RELAY_COMMAND_BEGIN, payload,
payload_len, cpath_layer) < 0) {
log_notice(LD_CIRC,
- "Failed to send pathbias probe cell on circuit %d.",
- ocirc->global_identifier);
+ "Failed to send pathbias probe cell on circuit %d.",
+ ocirc->global_identifier);
return -1;
}
@@ -1710,7 +1710,7 @@ pathbias_check_close(origin_circuit_t *ocirc, int reason)
} else {
if (reason & END_CIRC_REASON_FLAG_REMOTE) {
- /* Unused remote circ close reasons all could be bias */
+ /* Remote circ close reasons on an unused circuit all could be bias */
log_info(LD_CIRC,
"Circuit %d remote-closed without successful use for reason %d. "
"Circuit purpose %d currently %d,%s. Len %d.",
@@ -1836,6 +1836,8 @@ pathbias_count_unusable(origin_circuit_t *circ)
/* In rare cases, CIRCUIT_PURPOSE_TESTING can get converted to
* CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT and have no guards here.
* No need to log that case. */
+ /* XXX note cut-and-paste code in this function compared to nearby
+ * functions. Would be nice to refactor. -RD */
log_info(LD_CIRC,
"Stream-failing circuit has no known guard. "
"Circuit is a %s currently %s",
@@ -1886,11 +1888,11 @@ pathbias_count_timeout(origin_circuit_t *circ)
double
pathbias_get_closed_count(entry_guard_t *guard)
{
- circuit_t *circ = global_circuitlist;
+ circuit_t *circ;
int open_circuits = 0;
- /* Count currently open circuits. Give them the benefit of the doubt */
- for ( ; circ; circ = circ->next) {
+ /* Count currently open circuits. Give them the benefit of the doubt. */
+ for (circ = global_circuitlist; circ; circ = circ->next) {
origin_circuit_t *ocirc = NULL;
if (!CIRCUIT_IS_ORIGIN(circ) || /* didn't originate here */
circ->marked_for_close) /* already counted */
@@ -1903,8 +1905,8 @@ pathbias_get_closed_count(entry_guard_t *guard)
if (ocirc->path_state >= PATH_STATE_BUILD_SUCCEEDED &&
fast_memeq(guard->identity,
- ocirc->cpath->extend_info->identity_digest,
- DIGEST_LEN)) {
+ ocirc->cpath->extend_info->identity_digest,
+ DIGEST_LEN)) {
open_circuits++;
}
}
@@ -1928,9 +1930,10 @@ pathbias_get_success_count(entry_guard_t *guard)
}
/** Increment the number of times we successfully extended a circuit to
- * 'guard', first checking if the failure rate is high enough that we should
- * eliminate the guard. Return -1 if the guard looks no good; return 0 if the
- * guard looks fine. */
+ * <b>guard</b>, first checking if the failure rate is high enough that
+ * we should eliminate the guard. Return -1 if the guard looks no good;
+ * return 0 if the guard looks fine.
+ */
static int
entry_guard_inc_circ_attempt_count(entry_guard_t *guard)
{
@@ -1949,7 +1952,7 @@ entry_guard_inc_circ_attempt_count(entry_guard_t *guard)
if (!guard->path_bias_disabled) {
log_warn(LD_CIRC,
"Your Guard %s=%s is failing an extremely large amount of "
- "circuits. To avoid potential route manipluation attacks, "
+ "circuits. To avoid potential route manipulation attacks, "
"Tor has disabled use of this guard. "
"Success counts are %ld/%ld. %ld circuits completed, %ld "
"were unusable, %ld collapsed, and %ld timed out. For "
@@ -1992,7 +1995,7 @@ entry_guard_inc_circ_attempt_count(entry_guard_t *guard)
"Your Guard %s=%s is failing a very large amount of "
"circuits. Most likely this means the Tor network is "
"overloaded, but it could also mean an attack against "
- "you or the potentially the guard itself. "
+ "you or potentially the guard itself. "
"Success counts are %ld/%ld. %ld circuits completed, %ld "
"were unusable, %ld collapsed, and %ld timed out. For "
"reference, your timeout cutoff is %ld seconds.",
@@ -2058,10 +2061,9 @@ entry_guard_inc_circ_attempt_count(entry_guard_t *guard)
return 0;
}
-/** A created or extended cell came back to us on the circuit, and it included
- * reply_cell as its body. (If <b>reply_type</b> is CELL_CREATED, the body
- * contains (the second DH key, plus KH). If <b>reply_type</b> is
- * CELL_CREATED_FAST, the body contains a secret y and a hash H(x|y).)
+/** A "created" cell <b>reply</b> came back to us on circuit <b>circ</b>.
+ * (The body of <b>reply</b> varies depending on what sort of handshake
+ * this is.)
*
* Calculate the appropriate keys and digests, make sure KH is
* correct, and initialize this hop of the cpath.
@@ -2117,9 +2119,9 @@ circuit_finish_handshake(origin_circuit_t *circ,
/** We received a relay truncated cell on circ.
*
- * Since we don't ask for truncates currently, getting a truncated
+ * Since we don't send truncates currently, getting a truncated
* means that a connection broke or an extend failed. For now,
- * just give up: for circ to close, and return 0.
+ * just give up: force circ to close, and return 0.
*/
int
circuit_truncated(origin_circuit_t *circ, crypt_path_t *layer, int reason)
@@ -2130,7 +2132,7 @@ circuit_truncated(origin_circuit_t *circ, crypt_path_t *layer, int reason)
tor_assert(circ);
tor_assert(layer);
- /* XXX Since we don't ask for truncates currently, getting a truncated
+ /* XXX Since we don't send truncates currently, getting a truncated
* means that a connection broke or an extend failed. For now,
* just give up.
*/
@@ -2223,15 +2225,18 @@ onionskin_answer(or_circuit_t *circ,
return 0;
}
-/** Choose a length for a circuit of purpose <b>purpose</b>.
- * Default length is 3 + the number of endpoints that would give something
- * away. If the routerlist <b>routers</b> doesn't have enough routers
+/** Choose a length for a circuit of purpose <b>purpose</b>: three + the
+ * number of endpoints that would give something away about our destination.
+ *
+ * If the routerlist <b>nodes</b> doesn't have enough routers
* to handle the desired path length, return as large a path length as
* is feasible, except if it's less than 2, in which case return -1.
+ * XXX ^^ I think this behavior is a hold-over from back when we had only a
+ * few relays in the network, and certainly back before guards existed.
+ * We should very likely get rid of it. -RD
*/
static int
-new_route_len(uint8_t purpose, extend_info_t *exit,
- smartlist_t *nodes)
+new_route_len(uint8_t purpose, extend_info_t *exit, smartlist_t *nodes)
{
int num_acceptable_routers;
int routelen;
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index bdaf7d8..ada2d69 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -452,15 +452,15 @@ circuit_expire_building(void)
SET_CUTOFF(stream_cutoff, MAX(options->CircuitStreamTimeout,15)*1000 + 1000);
/* Be lenient with cannibalized circs. They already survived the official
- * CBT, and they're usually not perf-critical. */
+ * CBT, and they're usually not performance-critical. */
SET_CUTOFF(cannibalized_cutoff,
MAX(circ_times.close_ms*(4/6.0),
options->CircuitStreamTimeout * 1000) + 1000);
- // Intro circs have an extra round trip (and are also 4 hops long)
+ /* Intro circs have an extra round trip (and are also 4 hops long) */
SET_CUTOFF(c_intro_cutoff, circ_times.timeout_ms * (14/6.0) + 1000);
- // Server intro circs have an extra round trip
+ /* Server intro circs have an extra round trip */
SET_CUTOFF(s_intro_cutoff, circ_times.timeout_ms * (9/6.0) + 1000);
SET_CUTOFF(close_cutoff, circ_times.close_ms);
diff --git a/src/or/onion.c b/src/or/onion.c
index 329b01c..1043936 100644
--- a/src/or/onion.c
+++ b/src/or/onion.c
@@ -374,10 +374,10 @@ onion_skin_server_handshake(int type,
/** Perform the final (client-side) step of a circuit-creation handshake of
* type <b>type</b>, using our state in <b>handshake_state</b> and the
- * server's response in <b>reply</b> On success, generate <b>keys_out_len</b>
+ * server's response in <b>reply</b>. On success, generate <b>keys_out_len</b>
* bytes worth of key material in <b>keys_out_len</b>, set
* <b>rend_authenticator_out</b> to the "KH" field that can be used to
- * establish introduction points at this hop, and return 0. On failure,
+ * establish introduction points at this hop, and return 0. On failure,
* return -1. */
int
onion_skin_client_handshake(int type,
diff --git a/src/or/or.h b/src/or/or.h
index eb0dc81..9f5bec7 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2578,7 +2578,7 @@ typedef enum {
struct fast_handshake_state_t;
struct ntor_handshake_state_t;
-#define ONION_HANDSHAKE_TYPE_TAP 0x0000
+#define ONION_HANDSHAKE_TYPE_TAP 0x0000
#define ONION_HANDSHAKE_TYPE_FAST 0x0001
#define ONION_HANDSHAKE_TYPE_NTOR 0x0002
typedef struct {
More information about the tor-commits
mailing list