| Commit message (Expand) | Author | Age |
* | Add a circuit_purpose_to_string() function, and use it•••We had a circuit_purpose_to_controller_string() function, but it was
pretty coarse-grained and didn't try to be human-readable.
| Nick Mathewson | 2011-04-27 |
* | When cannibalizing a circuit, make sure it has no ExcludeNodes on it•••This could happen if StrictNodes was 0 and we were forced to pick an
excluded node as the last hop of the circuit.
| Nick Mathewson | 2011-04-26 |
* | Note a slightly less likely way to violate ExcludeNodes | Nick Mathewson | 2011-04-26 |
* | Merge remote-tracking branch 'public/xxx_fixups' into maint-0.2.2•••Conflicts:
src/or/or.h
| Nick Mathewson | 2011-04-07 |
|\ |
|
| * | Add XXX023s for our timestamp_dirty abuse. | Nick Mathewson | 2011-03-25 |
* | | Use timevals, not time_t, when expiring circuits.•••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.
| Nick Mathewson | 2011-03-30 |
|/ |
|
* | Sanity-check consensus param values•••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.
| Sebastian Hahn | 2011-01-15 |
* | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts:
src/common/test.h
src/or/test.c
| Nick Mathewson | 2011-01-03 |
|\ |
|
| * | Bump copyright statements to 2011 | Nick Mathewson | 2011-01-03 |
* | | Send control port events for timeouts.•••We now differentiate between timeouts and cutoffs by the REASON string and
the PURPOSE string.
| Mike Perry | 2010-09-29 |
* | | Clear cell queues when marking or truncating a circuit.•••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.
| Nick Mathewson | 2010-07-30 |
* | | Create rephist.h | Sebastian Hahn | 2010-07-27 |
* | | Create relay.h | Sebastian Hahn | 2010-07-27 |
* | | Create onion.h | Sebastian Hahn | 2010-07-27 |
* | | Create networkstatus.h | Sebastian Hahn | 2010-07-27 |
* | | Create control.h | Sebastian Hahn | 2010-07-27 |
* | | Create connection_or.h | Sebastian Hahn | 2010-07-27 |
* | | Create connection_edge.h | Sebastian Hahn | 2010-07-27 |
* | | Create connection.h | Sebastian Hahn | 2010-07-27 |
* | | Create config.h | Sebastian Hahn | 2010-07-27 |
* | | Create circuituse.h | Sebastian Hahn | 2010-07-27 |
* | | Create circuitlist.h | Sebastian Hahn | 2010-07-27 |
* | | Create circuitbuild.h | Sebastian Hahn | 2010-07-27 |
* | | Create rendclient.h | Sebastian Hahn | 2010-07-27 |
* | | Create rendcommon.h | Sebastian Hahn | 2010-07-27 |
* | | Create routerlist.h | Sebastian Hahn | 2010-07-27 |
* | | print right controller purpose string for measure-timeout circs | Roger Dingledine | 2010-07-14 |
* | | Don't cannibalize one-hop circuits•••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.
| Sebastian Hahn | 2010-06-04 |
* | | Merge remote branch 'origin/maint-0.2.1'•••Conflicts:
src/common/test.h
src/or/test.c
| Nick Mathewson | 2010-02-27 |
|\| |
|
| * | Update Tor Project copyright years | Nick Mathewson | 2010-02-27 |
* | | Remove some old, commented out code | Sebastian Hahn | 2009-12-25 |
* | | Merge branch 'ewma' | Nick Mathewson | 2009-12-18 |
|\ \ |
|
| * | | Optimize cell-ewma circuit priority algorithm.•••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).
| Nick Mathewson | 2009-12-13 |
| * | | Favor quiet circuits when choosing which order to relay cells in.•••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.]
| Can Tang | 2009-12-12 |
* | | | Merge branch 'safelogging2'•••Conflicts:
ChangeLog
| Nick Mathewson | 2009-12-15 |
|\ \ \
| |/ /
|/| | |
|
| * | | Refactor the safe_str_*() API to make more sense.•••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".
| Nick Mathewson | 2009-12-15 |
* | | | Now that FOO_free(NULL) always works, remove checks before calling it. | Nick Mathewson | 2009-12-12 |
* | | | *_free functions now accept NULL•••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.
| Sebastian Hahn | 2009-12-12 |
|/ / |
|
* | | Merge commit 'origin/maint-0.2.1' | Roger Dingledine | 2009-11-23 |
|\| |
|
| * | fix race condition that can cause crashes at client or exit relay•••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.
| Roger Dingledine | 2009-11-23 |
| * | read the "circwindow" parameter from the consensus•••backport of c43859c5c12361fad505
backport of 0d13e0ed145f4c1b5bd1
| Roger Dingledine | 2009-10-14 |
| * | Update copyright to 2009. | Karsten Loesing | 2009-05-04 |
* | | stop assuming that our downcasts have a struct offset of 0•••shouldn't actually change anything, but who knows.
| Roger Dingledine | 2009-11-21 |
* | | Be more robust to bad circwindow values•••If the networkstatus consensus tells us that we should use a
negative circuit package window, ignore it. Otherwise we'll
believe it and then trigger an assert.
Also, change the interface for networkstatus_get_param() so we
don't have to lookup the consensus beforehand.
| Roger Dingledine | 2009-09-22 |
* | | Fix the math.h log() conflict.•••It was compiling, but causing segfaults.
Also, adjust when the timer starts for new test circs
and save state every 25 circuits.
| Mike Perry | 2009-09-16 |
* | | Clean up Fallon's partially complete GSoC project.•••The code actually isn't that bad. It's a shame she didn't finish.
Using it as the base for this feature.
| Mike Perry | 2009-09-16 |
* | | Read "circwindow=x" from the consensus and use it•••Tor now reads the "circwindow" parameter out of the consensus,
and uses that value for its circuit package window rather than the
default of 1000 cells. Begins the implementation of proposal 168.
| Roger Dingledine | 2009-09-15 |
* | | Write all statistics to disk exactly every 24 hours. | Karsten Loesing | 2009-08-19 |
* | | Remove ./configure option for cell statistics. | Karsten Loesing | 2009-08-17 |
* | | If configured, write cell statistics to disk periodically. | Karsten Loesing | 2009-07-05 |