Merge branch 'tor-gitlab/mr/490'

This commit is contained in:
David Goulet 2022-03-16 13:35:33 -04:00
commit f64a88e72d
16 changed files with 29 additions and 29 deletions

View File

@ -457,7 +457,7 @@ AM_CONDITIONAL(BUILD_HTML_DOCS, [test "x$enable_html_manual" != "xno"])
AM_PROG_CC_C_O AM_PROG_CC_C_O
dnl Before autoconf 2.70, AC_PROG_CC_C99 is supposedly necessary for some dnl Before autoconf 2.70, AC_PROG_CC_C99 is supposedly necessary for some
dnl compilers if you wan't C99 support. Starting with 2.70, it is obsolete and dnl compilers if you want C99 support. Starting with 2.70, it is obsolete and
dnl forbidden. dnl forbidden.
m4_version_prereq([2.70], [:], [AC_PROG_CC_C99]) m4_version_prereq([2.70], [:], [AC_PROG_CC_C99])

View File

@ -424,7 +424,7 @@ def bug_html(m):
try: try:
disp_prefix, url_prefix = ISSUE_PREFIX_MAP[prefix] disp_prefix, url_prefix = ISSUE_PREFIX_MAP[prefix]
except KeyError: except KeyError:
print("Can't figure out URL for {}{}".formt(prefix,bugno), print("Can't figure out URL for {}{}".format(prefix,bugno),
file=sys.stderr) file=sys.stderr)
return "{} {}{}".format(kind, prefix, bugno) return "{} {}{}".format(kind, prefix, bugno)

View File

@ -376,7 +376,7 @@ congestion_control_new(const circuit_params_t *params, cc_path_t path)
} }
/** /**
* Free a congestion control object and its asssociated state. * Free a congestion control object and its associated state.
*/ */
void void
congestion_control_free_(congestion_control_t *cc) congestion_control_free_(congestion_control_t *cc)

View File

@ -235,7 +235,7 @@ circuit_send_stream_xon(edge_connection_t *stream)
* Process a stream XOFF, parsing it, and then stopping reading on * Process a stream XOFF, parsing it, and then stopping reading on
* the edge connection. * the edge connection.
* *
* Record that we have recieved an xoff, so we know not to resume * Record that we have received an xoff, so we know not to resume
* reading on this edge conn until we get an XON. * reading on this edge conn until we get an XON.
* *
* Returns false if the XOFF did not validate; true if it does. * Returns false if the XOFF did not validate; true if it does.

View File

@ -53,7 +53,7 @@ congestion_control_nola_set_params(congestion_control_t *cc)
* *
* To handle the case where the local orconn blocks, TOR_NOLA uses * To handle the case where the local orconn blocks, TOR_NOLA uses
* the 'piecewise' BDP estimate, which uses more a conservative BDP * the 'piecewise' BDP estimate, which uses more a conservative BDP
* estimate method when blocking occurrs, but a more aggressive BDP * estimate method when blocking occurs, but a more aggressive BDP
* estimate when there is no local blocking. This minimizes local * estimate when there is no local blocking. This minimizes local
* client queues. * client queues.
*/ */

View File

@ -19,12 +19,12 @@ typedef enum {
CC_ALG_SENDME = 0, CC_ALG_SENDME = 0,
/** /**
* Prop#324 TOR_WESTWOOD - Deliberately agressive. Westwood may not even * Prop#324 TOR_WESTWOOD - Deliberately aggressive. Westwood may not even
* converge to fairness in some cases because max RTT will also increase * converge to fairness in some cases because max RTT will also increase
* on congesgtion, which boosts the Westwood RTT congestion threshhold. So it * on congestion, which boosts the Westwood RTT congestion threshold. So it
* can cause runaway queue bloat, which may or may not lead to a robot * can cause runaway queue bloat, which may or may not lead to a robot
* uprising... Ok that's Westworld, not Westwood. Still, we need to test * uprising... Ok that's Westworld, not Westwood. Still, we need to test
* Vegas and NOLA against something more agressive to ensure they do not * Vegas and NOLA against something more aggressive to ensure they do not
* starve in the presence of cheaters. We also need to make sure cheaters * starve in the presence of cheaters. We also need to make sure cheaters
* trigger the oomkiller in those cases. * trigger the oomkiller in those cases.
*/ */
@ -32,7 +32,7 @@ typedef enum {
/** /**
* Prop#324 TOR_VEGAS - TCP Vegas-style BDP tracker. Because Vegas backs off * Prop#324 TOR_VEGAS - TCP Vegas-style BDP tracker. Because Vegas backs off
* whenever it detects queue delay, it can be beaten out by more agressive * whenever it detects queue delay, it can be beaten out by more aggressive
* algs. However, in live network testing, it seems to do just fine against * algs. However, in live network testing, it seems to do just fine against
* current SENDMEs. It outperforms Westwood and does not stall. */ * current SENDMEs. It outperforms Westwood and does not stall. */
CC_ALG_VEGAS = 2, CC_ALG_VEGAS = 2,
@ -40,7 +40,7 @@ typedef enum {
/** /**
* Prop#324: TOR_NOLA - NOLA looks the BDP right in the eye and uses it * Prop#324: TOR_NOLA - NOLA looks the BDP right in the eye and uses it
* immediately as CWND. No slow start, no other congestion signals, no delay, * immediately as CWND. No slow start, no other congestion signals, no delay,
* no bullshit. Like TOR_VEGAS, it also uses agressive BDP estimates, to * no bullshit. Like TOR_VEGAS, it also uses aggressive BDP estimates, to
* avoid out-competition. It seems a bit better throughput than Vegas, * avoid out-competition. It seems a bit better throughput than Vegas,
* but its agressive BDP and rapid updates may lead to more queue latency. */ * but its agressive BDP and rapid updates may lead to more queue latency. */
CC_ALG_NOLA = 3, CC_ALG_NOLA = 3,
@ -147,7 +147,7 @@ struct congestion_control_t {
/** /**
* For steady-state: the number of sendme acks until we will acknowledge * For steady-state: the number of sendme acks until we will acknowledge
* a congestion event again. It starts out as the number of sendme acks * a congestion event again. It starts out as the number of sendme acks
* in a congestion windowm and is decremented each ack. When this reaches * in a congestion window and is decremented each ack. When this reaches
* 0, it means we should examine our congestion algorithm conditions. * 0, it means we should examine our congestion algorithm conditions.
* In this way, we only react to one congestion event per congestion window. * In this way, we only react to one congestion event per congestion window.
* *
@ -193,7 +193,7 @@ struct congestion_control_t {
bdp_alg_t bdp_alg; bdp_alg_t bdp_alg;
/** Algorithm-specific parameters. The specific struct that is used /** Algorithm-specific parameters. The specific struct that is used
* depends upon the algoritghm selected by the cc_alg parameter. * depends upon the algorithm selected by the cc_alg parameter.
* These should not be accessed anywhere other than the algorithm-specific * These should not be accessed anywhere other than the algorithm-specific
* files. */ * files. */
union { union {
@ -204,7 +204,7 @@ struct congestion_control_t {
}; };
/** /**
* Returns the number of sendme acks we will recieve before we update cwnd. * Returns the number of sendme acks we will receive before we update cwnd.
* *
* Congestion control literature recommends only one update of cwnd per * Congestion control literature recommends only one update of cwnd per
* cwnd worth of acks. However, we can also tune this to be more frequent * cwnd worth of acks. However, we can also tune this to be more frequent

View File

@ -65,10 +65,10 @@ congestion_control_westwood_set_params(congestion_control_t *cc)
} }
/** /**
* Return the RTT threshhold that signals congestion. * Return the RTT threshold that signals congestion.
* *
* Computed from the threshold parameter that specifies a * Computed from the threshold parameter that specifies a
* percent between the min and max RTT obseved so far. * percent between the min and max RTT observed so far.
*/ */
static inline uint64_t static inline uint64_t
westwood_rtt_signal(const congestion_control_t *cc) westwood_rtt_signal(const congestion_control_t *cc)
@ -111,7 +111,7 @@ westwood_is_congested(const congestion_control_t *cc)
westwood_rtt_signal(cc) - cc->min_rtt_usec < USEC_ONE_MS) westwood_rtt_signal(cc) - cc->min_rtt_usec < USEC_ONE_MS)
return false; return false;
/* If the EWMA-smoothed RTT exceeds the westwood RTT threshhold, /* If the EWMA-smoothed RTT exceeds the westwood RTT threshold,
* then it is congestion. */ * then it is congestion. */
if (cc->ewma_rtt_usec > westwood_rtt_signal(cc)) if (cc->ewma_rtt_usec > westwood_rtt_signal(cc))
return true; return true;
@ -123,11 +123,11 @@ westwood_is_congested(const congestion_control_t *cc)
* Process a SENDME and update the congestion window according to the * Process a SENDME and update the congestion window according to the
* rules specified in TOR_WESTWOOD of Proposal #324. * rules specified in TOR_WESTWOOD of Proposal #324.
* *
* Essentially, this algorithm uses a threshhold of 'rtt_thresh', which * Essentially, this algorithm uses a threshold of 'rtt_thresh', which
* is a midpoint between the min and max RTT. If the RTT exceeds this * is a midpoint between the min and max RTT. If the RTT exceeds this
* threshhold, then queue delay due to congestion is assumed to be present, * threshold, then queue delay due to congestion is assumed to be present,
* and the algirithm reduces the congestion window. If the RTT is below the * and the algorithm reduces the congestion window. If the RTT is below the
* threshhold, the circuit is not congested (ie: queue delay is low), and we * threshold, the circuit is not congested (ie: queue delay is low), and we
* increase the congestion window. * increase the congestion window.
* *
* The congestion window is updated only once every congestion window worth of * The congestion window is updated only once every congestion window worth of

View File

@ -513,7 +513,7 @@ conn_update_on_connect(conn_client_stats_t *stats, const tor_addr_t *addr)
/* Assess connect counter. Mark it if counter is down to 0 and we haven't /* Assess connect counter. Mark it if counter is down to 0 and we haven't
* marked it before or it was reset. This is to avoid to re-mark it over and * marked it before or it was reset. This is to avoid to re-mark it over and
* over again extending continously the blocked time. */ * over again extending continuously the blocked time. */
if (token_bucket_ctr_get(&stats->connect_count) == 0 && if (token_bucket_ctr_get(&stats->connect_count) == 0 &&
stats->marked_until_ts == 0) { stats->marked_until_ts == 0) {
conn_mark_client(stats); conn_mark_client(stats);

View File

@ -108,7 +108,7 @@ struct edge_connection_t {
/** /**
* The following fields are used to count the total bytes sent on this * The following fields are used to count the total bytes sent on this
* stream, and compare them to the number of XON and XOFFs recieved, so * stream, and compare them to the number of XON and XOFFs received, so
* that clients can check rate limits of XOFF/XON to prevent dropmark * that clients can check rate limits of XOFF/XON to prevent dropmark
* attacks. */ * attacks. */
uint32_t total_bytes_xmit; uint32_t total_bytes_xmit;

View File

@ -32,7 +32,7 @@ typedef struct half_edge_t {
int data_pending; int data_pending;
/** /**
* Monotime timestamp of when the other end should have successfuly * Monotime timestamp of when the other end should have successfully
* shut down the stream and stop sending data, based on the larger * shut down the stream and stop sending data, based on the larger
* of circuit RTT and CBT. Used if 'used_ccontrol' is true, to expire * of circuit RTT and CBT. Used if 'used_ccontrol' is true, to expire
* the half_edge at this monotime timestamp. */ * the half_edge at this monotime timestamp. */

View File

@ -30,7 +30,7 @@
* Flow Control * Flow Control
*/ */
/* Emitted everytime the flow_control_decide_xon() function is called. */ /* Emitted every time the flow_control_decide_xon() function is called. */
TRACEPOINT_EVENT(tor_cc, flow_decide_xon, TRACEPOINT_EVENT(tor_cc, flow_decide_xon,
TP_ARGS(const edge_connection_t *, stream, size_t, n_written), TP_ARGS(const edge_connection_t *, stream, size_t, n_written),
TP_FIELDS( TP_FIELDS(

View File

@ -403,7 +403,7 @@ dump_desc_compare_fifo_entries(const void **a_v, const void **b_v)
} }
} else { } else {
/* /*
* We shouldn't see this, but what the hell, NULLs precede everythin * We shouldn't see this, but what the hell, NULLs precede everything
* else * else
*/ */
return 1; return 1;

View File

@ -712,7 +712,7 @@ ed_key_init_from_file(const char *fname, uint32_t flags,
} }
/** /**
* Create a new signing key and (optionally) certficiate; do not read or write * Create a new signing key and (optionally) certificate; do not read or write
* from disk. See ed_key_init_from_file() for more information. * from disk. See ed_key_init_from_file() for more information.
*/ */
ed25519_keypair_t * ed25519_keypair_t *

View File

@ -190,7 +190,7 @@ describe_relay_port(const port_cfg_t *port)
/** Return true iff port p1 is equal to p2. /** Return true iff port p1 is equal to p2.
* *
* This does a field by field comparaison. */ * This does a field by field comparison. */
static bool static bool
port_cfg_eq(const port_cfg_t *p1, const port_cfg_t *p2) port_cfg_eq(const port_cfg_t *p1, const port_cfg_t *p2)
{ {

View File

@ -60,7 +60,7 @@ get_output(const metrics_store_t *store, buf_t *data, fmt_driver_fn_t fmt)
tor_assert(fmt); tor_assert(fmt);
STRMAP_FOREACH(store->entries, key, const smartlist_t *, entries) { STRMAP_FOREACH(store->entries, key, const smartlist_t *, entries) {
/* Indicate that we've formatted the coment already for the entries. */ /* Indicate that we've formatted the comment already for the entries. */
bool comment_formatted = false; bool comment_formatted = false;
SMARTLIST_FOREACH_BEGIN(entries, const metrics_store_entry_t *, entry) { SMARTLIST_FOREACH_BEGIN(entries, const metrics_store_entry_t *, entry) {
fmt(entry, data, comment_formatted); fmt(entry, data, comment_formatted);

View File

@ -146,7 +146,7 @@ tor_cond_wait(tor_cond_t *cond, tor_mutex_t *lock_, const struct timeval *tv)
{ {
// recursive SRW locks are not supported because they need extra logic for // recursive SRW locks are not supported because they need extra logic for
// acquiring and releasing but SleepConditionVariableSRW will use the OS // acquiring and releasing but SleepConditionVariableSRW will use the OS
// lock relase function which lacks our extra logic // lock release function which lacks our extra logic
tor_assert(lock_->type == NON_RECURSIVE); tor_assert(lock_->type == NON_RECURSIVE);
SRWLOCK *lock = &lock_->mutex; SRWLOCK *lock = &lock_->mutex;
DWORD ms = INFINITE; DWORD ms = INFINITE;