aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-12-21
|\
| * Fix a logic error in circuit_stream_is_being_handled.Nick Mathewson2013-12-21
| | | | | | | | | | | | | | | | | | | | When I introduced the unusable_for_new_circuits flag in 62fb209d837f3f551, I had a spurious ! in the circuit_stream_is_being_handled loop. This made us decide that non-unusable circuits (that is, usable ones) were the ones to avoid, and caused it to launch a bunch of extra circuits. Fixes bug 10456; bugfix on 0.2.4.12-alpha.
* | Merge branch 'prop221_squashed_024'Nick Mathewson2013-11-01
|\ \ | | | | | | | | | | | | Conflicts: src/or/or.h
| * | circuit_build_failed: distinguish "got DESTROY" caseNick Mathewson2013-11-01
| |/ | | | | | | | | | | | | Roger spotted this on tor-dev in his comments on proposal 221. We etect DESTROY vs everything else, since arma likes network timeout indicating failure but not overload indicating failure.
* | Add missing includes for circpathbias.hNick Mathewson2013-10-31
| |
* | fix two cases where we were printing unsigned int as %dRoger Dingledine2013-09-29
| |
* | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-09-04
|\| | | | | | | | | Conflicts: src/or/circuituse.c
| * Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson2013-09-04
| |\ | | | | | | | | | | | | Conflicts: src/or/circuitbuild.c
| | * use !cbt_disabled in place of LearnCBT to avoid needless circsNick Mathewson2013-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would make us do testing circuits "even when cbt is disabled by consensus, or when we're a directory authority, or when we've failed to write cbt history to our state file lately." (Roger's words.) This is a fix for 9671 and an improvement in our fix for 5049. The original misbehavior was in 0.2.2.14-alpha; the incomplete fix was in 0.2.3.17-beta.
* | | Separate mutable/const accessors for circuit_build_timesNick Mathewson2013-08-22
| | | | | | | | | | | | (These have proved invaluable for other global accessors.)
* | | Rename get_circuit_nbuild_* to end with _msNick Mathewson2013-08-22
| | |
* | | Make circ_times static and add accessor functions.vagrant2013-08-22
| | | | | | | | | | | | | | | | | | Change the global circ_times to a static variable and use accessor functions throughout the code, instead of accessing it directly.
* | | Rename circuit_get_global_list to remove trailing _Nick Mathewson2013-08-15
| | |
* | | Fix #9108 - make global_circuitlist a doubly linked listMarek Majkowski2013-06-20
| | |
* | | Don't access global_circuitlist variable directly. Use a getter instead.Marek Majkowski2013-06-20
|/ /
* | Don't relax the timeout for already opened 1-hop circuits.Mike Perry2013-03-29
| |
* | Add detail to log messages related to bug 7799.Mike Perry2013-03-29
| | | | | | | | Note this does not solve bug 7799, it is only to help us diagnose it.
* | Bug 6572: Use timestamp_created for liveness sanity checks.Mike Perry2013-03-26
| | | | | | | | This should eliminate potential regressions caused by #7341.
* | Fix an EOL@EOF in circuituse.cAndrea Shepard2013-03-20
| |
* | Merge branch 'bug7582_v2' into maint-0.2.4Nick Mathewson2013-03-19
|\ \
| * | On END_REASON_EXITPOLICY, mark circuit as unusable for that address.Nick Mathewson2013-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, don't call the exit node 'reject *' unless our decision to pick that node was based on a non-summarized version of that node's exit policy. rransom and arma came up with the ideas for this fix. Fix for 7582; the summary-related part is a bugfix on 0.2.3.2-alpha.
* | | Merge remote-tracking branch 'public/bug6174' into maint-0.2.4Nick Mathewson2013-03-18
|\ \ \ | |/ / |/| |
| * | Stop frobbing timestamp_dirty as our sole means to mark circuits unusableNick Mathewson2013-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a number of places, we decrement timestamp_dirty by MaxCircuitDirtiness in order to mark a stream as "unusable for any new connections. This pattern sucks for a few reasons: * It is nonobvious. * It is error-prone: decrementing 0 can be a bad choice indeed. * It really wants to have a function. It can also introduce bugs if the system time jumps backwards, or if MaxCircuitDirtiness is increased. So in this patch, I add an unusable_for_new_conns flag to origin_circuit_t, make it get checked everywhere it should (I looked for things that tested timestamp_dirty), and add a new function to frob it. For now, the new function does still frob timestamp_dirty (after checking for underflow and whatnot), in case I missed any cases that should be checking unusable_for_new_conns. Fixes bug 6174. We first used this pattern in 516ef41ac1fd26f338c, which I think was in 0.0.2pre26 (but it could have been 0.0.2pre27).
* | | Fix 8447: use %u to format circid_t.Nick Mathewson2013-03-10
|/ / | | | | | | | | | | | | | | | | Now that circid_t is 4 bytes long, the default integer promotions will leave it alone when sizeof(int) == 4, which will leave us formatting an unsigned as an int. That's technically undefined behavior. Fixes bug 8447 on bfffc1f0fc7616a25c32da2eb759dade4651659e. Bug not in any released Tor.
* | Merge remote-tracking branch 'public/easy_ratelim'Nick Mathewson2013-02-07
|\ \ | | | | | | | | | | | | Conflicts: src/or/connection.c
| * | Use log_fn_ratelim in a few places.Nick Mathewson2012-12-26
| | |
* | | Clarify state transition and related pathbias commentsMike Perry2013-02-01
| | |
* | | Prevent early close of path bias testing circuits.Mike Perry2013-01-20
| | | | | | | | | | | | We need to let them live long enough to perform the test.
* | | Don't immediately count cannibalized circs as used.Mike Perry2013-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since they use RELAY_EARLY (which can be seen by all hops on the path), it's not safe to say they actually count as a successful use. There are also problems with trying to allow them to finish extending due to the circuit purpose state machine logic. It is way less complicated (and possibly more semantically coherent) to simply wait until we actually try to do something with them before claiming we 'used' them. Also, we shouldn't call timed out circuits 'used' either, for semantic consistency.
* | | Implement Path use bias accounting.Mike Perry2013-01-18
| | | | | | | | | | | | | | | | | | | | | Path use bias measures how often we can actually succeed using the circuits we actually try to use. It is a subset of path bias accounting, but it is computed as a separate statistic because the rate of client circuit use may vary depending on use case.
* | | Aftermath of isin->contains renamingNick Mathewson2013-01-16
| | | | | | | | | | | | Fix wide lines and comments, and add a changes file
* | | Rename *_isin to *_containsNick Mathewson2013-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an automatically generated commit, from the following perl script, run with the options "-w -i -p". s/smartlist_string_num_isin/smartlist_contains_int_as_string/g; s/smartlist_string_isin((?:_case)?)/smartlist_contains_string$1/g; s/smartlist_digest_isin/smartlist_contains_digest/g; s/smartlist_isin/smartlist_contains/g; s/digestset_isin/digestset_contains/g;
* | | Update the copyright date to 201.Nick Mathewson2013-01-16
| | |
* | | Clean up odds and endsRoger Dingledine2013-01-15
| | |
* | | Bug 7341 code review fixes.Mike Perry2013-01-08
| | |
* | | Bug 7691: Send a probe cell down certain types of circs.Mike Perry2013-01-08
| | | | | | | | | | | | | | | | | | | | | | | | In general, if we tried to use a circ for a stream, but then decided to place that stream on a different circuit, we need to probe the original circuit before deciding it was a "success". We also need to do the same for cannibalized circuits that go unused.
* | | Fix bug 7341.Mike Perry2013-01-08
| | | | | | | | | | | | Fix cannibalize, rend circ and intro circ timeout handling.
* | | Merge branch 'ntor-resquashed'Nick Mathewson2013-01-03
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Conflicts: src/or/cpuworker.c src/or/or.h src/test/bench.c
| * | Enable the ntor handshake on the client side.Nick Mathewson2013-01-03
| | | | | | | | | | | | "works for me"
* | | Rate-limit "No circuits are opened" message to once-per-hourNick Mathewson2012-12-26
| | | | | | | | | | | | | | | | | | | | | | | | mr-4 reports on #7799 that he was seeing it several times per second, which suggests that things had gone very wrong. This isn't a real fix, but it should make Tor usable till we can figure out the real issue.
* | | Merge remote-tracking branch 'mikeperry/209-path-bias-changes'Nick Mathewson2012-12-25
|\ \ \
| * | | Clean up some XXX comments.Mike Perry2012-12-09
| | | |
| * | | Space fixes.Mike Perry2012-12-09
| | | |
| * | | Add intro+rend cannibalize param..Mike Perry2012-12-09
| | | |
| * | | Flag cannibalized circs as used (non-ideal).Mike Perry2012-12-09
| | | | | | | | | | | | | | | | Also add some comments.
| * | | Sadly, we can't safely count client intro circ successMike Perry2012-12-08
| | | |
| * | | Fix some hidden service edge cases.Mike Perry2012-12-08
| | | |
| * | | Add the ability to count circuit timeouts for guards.Mike Perry2012-12-07
| | | | | | | | | | | | | | | | This is purely for informational reasons for debugging.
* | | | Directory guard implementation.Nick Mathewson2012-12-25
|/ / / | | | | | | | | | Implements proposal 207; ticket 6526.
* | | Fix infinite loop in circuit_expire_buldingNick Mathewson2012-12-07
| | | | | | | | | | | | | | | Fixes bug 7663; bug introduced in 42e3c04a7a5fb47a9. Not in any released version of Tor.