Commit 0c8f901e authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Merge branch 'maint-0.3.3'

parents 6bdfaa8b f9ba0c65
Loading
Loading
Loading
Loading

changes/bug24989

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Minor bugfixes (hidden services):
    - Re-instate counting pending client HSDir fetch circuits against the
      MaxClientCircuitsPending rate limit. Fixes bug 24989; bugfix on
      0.3.3.0-alpha-dev.
+1 −1
Original line number Diff line number Diff line
@@ -383,7 +383,7 @@ count_pending_general_client_circuits(void)
  SMARTLIST_FOREACH_BEGIN(circuit_get_global_list(), circuit_t *, circ) {
    if (circ->marked_for_close ||
        circ->state == CIRCUIT_STATE_OPEN ||
        circ->purpose != CIRCUIT_PURPOSE_C_GENERAL ||
        !CIRCUIT_PURPOSE_COUNTS_TOWARDS_MAXPENDING(circ->purpose) ||
        !CIRCUIT_IS_ORIGIN(circ))
      continue;

+8 −0
Original line number Diff line number Diff line
@@ -586,6 +586,14 @@ typedef enum {
/** True iff the circuit_t c is actually an or_circuit_t */
#define CIRCUIT_IS_ORCIRC(c) (((circuit_t *)(c))->magic == OR_CIRCUIT_MAGIC)

/** True iff this circuit purpose should count towards the global
 * pending rate limit (set by MaxClientCircuitsPending). We count all
 * general purpose circuits, as well as the first step of client onion
 * service connections (HSDir gets). */
#define CIRCUIT_PURPOSE_COUNTS_TOWARDS_MAXPENDING(p) \
    ((p) == CIRCUIT_PURPOSE_C_GENERAL || \
     (p) == CIRCUIT_PURPOSE_C_HSDIR_GET)

/** How many circuits do we want simultaneously in-progress to handle
 * a given stream? */
#define MIN_CIRCUITS_HANDLING_STREAM 2