aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
Commit message (Collapse)AuthorAge
* Detect and remove unreachable intro pointsRobert Ransom2011-10-02
|
* Record intro point timeouts in rend_intro_point_tRobert Ransom2011-10-02
|
* Correct a commentRobert Ransom2011-06-24
|
* Comment out some obviously dead code.Sebastian Hahn2011-06-08
| | | | Coverity warned about it, it's harmless to comment out.
* Log descriptions of nodes, not just nicknames.Nick Mathewson2011-05-15
| | | | | | | | | | | | | | This patch introduces a few new functions in router.c to produce a more helpful description of a node than its nickame, and then tweaks nearly all log messages taking a nickname as an argument to call these functions instead. There are a few cases where I left the old log messages alone: in these cases, the nickname was that of an authority (whose nicknames are useful and unique), or the message already included an identity and/or an address. I might have missed a couple more too. This is a fix for bug 3045.
* Merge remote-tracking branch 'public/3122_memcmp_squashed' into ↵Nick Mathewson2011-05-11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug3122_memcmp_022 Conflicts throughout. All resolved in favor of taking HEAD and adding tor_mem* or fast_mem* ops as appropriate. src/common/Makefile.am src/or/circuitbuild.c src/or/directory.c src/or/dirserv.c src/or/dirvote.c src/or/networkstatus.c src/or/rendclient.c src/or/rendservice.c src/or/router.c src/or/routerlist.c src/or/routerparse.c src/or/test.c
| * Hand-conversion and audit phase of memcmp transitionNick Mathewson2011-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant.
| * Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson2011-05-11
| | | | | | | | | | | | | | | | | | | | | | | | This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h
* | Add a circuit_purpose_to_string() function, and use itNick Mathewson2011-04-27
| | | | | | | | | | We had a circuit_purpose_to_controller_string() function, but it was pretty coarse-grained and didn't try to be human-readable.
* | When cannibalizing a circuit, make sure it has no ExcludeNodes on itNick Mathewson2011-04-26
| | | | | | | | | | This could happen if StrictNodes was 0 and we were forced to pick an excluded node as the last hop of the circuit.
* | Note a slightly less likely way to violate ExcludeNodesNick Mathewson2011-04-26
| |
* | Merge remote-tracking branch 'public/xxx_fixups' into maint-0.2.2Nick Mathewson2011-04-07
|\ \ | | | | | | | | | | | | Conflicts: src/or/or.h
| * | Add XXX023s for our timestamp_dirty abuse.Nick Mathewson2011-03-25
| | |
* | | Use timevals, not time_t, when expiring circuits.Nick Mathewson2011-03-30
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | We've got millisecond timers now, we might as well use them. This change won't actually make circuits get expiered with microsecond precision, since we only call the expiry functions once per second. Still, it should avoid the situation where we have a circuit get expired too early because of rounding. A couple of the expiry functions now call tor_gettimeofday: this should be cheap since we're only doing it once per second. If it gets to be called more often, though, we should onsider having the current time be an argument again.
* | Sanity-check consensus param valuesSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to make sure that the worst thing that a weird consensus param can do to us is to break our Tor (and only if the other Tors are reliably broken in the same way) so that the majority of directory authorities can't pull any attacks that are worse than the DoS that they can trigger by simply shutting down. One of these worse things was the cbtnummodes parameter, which could lead to heap corruption on some systems if the value was sufficiently large. This commit fixes this particular issue and also introduces sanity checking for all consensus parameters.
* | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-03
|\| | | | | | | | | | | Conflicts: src/common/test.h src/or/test.c
| * Bump copyright statements to 2011Nick Mathewson2011-01-03
| |
* | Send control port events for timeouts.Mike Perry2010-09-29
| | | | | | | | | | We now differentiate between timeouts and cutoffs by the REASON string and the PURPOSE string.
* | Clear cell queues when marking or truncating a circuit.Nick Mathewson2010-07-30
| | | | | | | | | | | | | | | | | | At best, this patch helps us avoid sending queued relayed cells that would get ignored during the time between when a destroy cell is sent and when the circuit is finally freed. At worst, it lets us release some memory a little earlier than it would otherwise. Fix for bug #1184. Bugfix on 0.2.0.1-alpha.
* | Create rephist.hSebastian Hahn2010-07-27
| |
* | Create relay.hSebastian Hahn2010-07-27
| |
* | Create onion.hSebastian Hahn2010-07-27
| |
* | Create networkstatus.hSebastian Hahn2010-07-27
| |
* | Create control.hSebastian Hahn2010-07-27
| |
* | Create connection_or.hSebastian Hahn2010-07-27
| |
* | Create connection_edge.hSebastian Hahn2010-07-27
| |
* | Create connection.hSebastian Hahn2010-07-27
| |
* | Create config.hSebastian Hahn2010-07-27
| |
* | Create circuituse.hSebastian Hahn2010-07-27
| |
* | Create circuitlist.hSebastian Hahn2010-07-27
| |
* | Create circuitbuild.hSebastian Hahn2010-07-27
| |
* | Create rendclient.hSebastian Hahn2010-07-27
| |
* | Create rendcommon.hSebastian Hahn2010-07-27
| |
* | Create routerlist.hSebastian Hahn2010-07-27
| |
* | print right controller purpose string for measure-timeout circsRoger Dingledine2010-07-14
| |
* | Don't cannibalize one-hop circuitsSebastian Hahn2010-06-04
| | | | | | | | | | | | | | | | In rare cases, we could cannibalize a one-hop circuit, ending up with a two-hop circuit. This circuit would not be actually used, but we should prevent its creation in the first place. Thanks to outofwords and swissknife for helping to analyse this.
* | Merge remote branch 'origin/maint-0.2.1'Nick Mathewson2010-02-27
|\| | | | | | | | | | | Conflicts: src/common/test.h src/or/test.c
| * Update Tor Project copyright yearsNick Mathewson2010-02-27
| |
* | Remove some old, commented out codeSebastian Hahn2009-12-25
| |
* | Merge branch 'ewma'Nick Mathewson2009-12-18
|\ \
| * | Optimize cell-ewma circuit priority algorithm.Nick Mathewson2009-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two big changes here: - We store active circuits in a priority queue for each or_conn, rather than doing a linear search over all the active circuits before we send each cell. - Rather than multiplying every circuit's cell-ewma by a decay factor every time we send a cell (thus normalizing the value of a current cell to 1.0 and a past cell to alpha^t), we instead only scale down the cell-ewma every tick (ten seconds atm), normalizing so that a cell sent at the start of the tick has value 1.0).
| * | Favor quiet circuits when choosing which order to relay cells in.Can Tang2009-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each circuit is ranked in terms of how many cells from it have been relayed recently, using a time-weighted average. This patch has been tested this on a private Tor network on PlanetLab, and gotten improvements of 12-35% in time it takes to fetch a small web page while there's a simultaneous large data transfer going on simultaneously. [Commit msg by nickm based on mail from Ian Goldberg.]
* | | Merge branch 'safelogging2'Nick Mathewson2009-12-15
|\ \ \ | |/ / |/| | | | | | | | Conflicts: ChangeLog
| * | Refactor the safe_str_*() API to make more sense.Nick Mathewson2009-12-15
| | | | | | | | | | | | | | | | | | The new rule is: safe_str_X() means "this string is a piece of X information; make it safe to log." safe_str() on its own means "this string is a piece of who-knows-what; make it safe to log".
* | | Now that FOO_free(NULL) always works, remove checks before calling it.Nick Mathewson2009-12-12
| | |
* | | *_free functions now accept NULLSebastian Hahn2009-12-12
|/ / | | | | | | | | | | | | | | Some *_free functions threw asserts when passed NULL. Now all of them accept NULL as input and perform no action when called that way. This gains us consistence for our free functions, and allows some code simplifications where an explicit null check is no longer necessary.
* | Merge commit 'origin/maint-0.2.1'Roger Dingledine2009-11-23
|\|
| * fix race condition that can cause crashes at client or exit relayRoger Dingledine2009-11-23
| | | | | | | | | | | | Avoid crashing if the client is trying to upload many bytes and the circuit gets torn down at the same time, or if the flip side happens on the exit relay. Bugfix on 0.2.0.1-alpha; fixes bug 1150.
| * read the "circwindow" parameter from the consensusRoger Dingledine2009-10-14
| | | | | | | | | | backport of c43859c5c12361fad505 backport of 0d13e0ed145f4c1b5bd1
| * Update copyright to 2009.Karsten Loesing2009-05-04
| |