summaryrefslogtreecommitdiff
path: root/src/or/or.h
AgeCommit message (Collapse)Author
2010-04-23Merge branch 'maint-0.2.1'Roger Dingledine
2010-04-23finally get rid of "clique mode"Roger Dingledine
2010-04-23close idle dir-fetch circs earlyRoger Dingledine
2010-04-21finally get rid of "clique mode"Roger Dingledine
2010-04-21stop authority reachability check on startupRoger Dingledine
2010-04-21immediate reachability check for new relaysRoger Dingledine
2010-04-20fetch unknown descriptors if we see them in a voteRoger Dingledine
2010-04-19Move the declaration of bandwidth_rate_rule_to_stringNick Mathewson
It's natural for the definition of bandwidth_rule_t to be with the functions that actually care about its values. Unfortunately, this means declaring bandwidth_rate_rule_to_string() out of sequence. Someday we'll just rename reasons.c to strings.c, and put it at the end of or.h, and this will all be better.
2010-04-12Log bandwidth_weight_rule_t as a string, not an integer.Nick Mathewson
I'm adding this because I can never remember what stuff like 'rule 3' means. That's the one where if somebody goes limp or taps out, the fight is over, right?
2010-03-10let people test the RefuseUnknownExits ideaRoger Dingledine
2010-02-27Merge remote branch 'origin/maint-0.2.1'Nick Mathewson
Conflicts: src/common/test.h src/or/test.c
2010-02-27Update Tor Project copyright yearsNick Mathewson
2010-02-27Merge remote branch 'origin/maint-0.2.1'Nick Mathewson
Conflicts: ChangeLog src/or/routerparse.c
2010-02-27Properly handle non-terminated stringsSebastian Hahn
Treat strings returned from signed_descriptor_get_body_impl() as not NUL-terminated. Since the length of the strings is available, this is not a big problem. Discovered by rieo.
2010-02-22Implement bw weighting selection algorithm.Mike Perry
2010-02-22Add parsing+verification for bw weight values.Mike Perry
2010-02-22Perform calculation of consensus bandwidth weights.Mike Perry
Also add bwweightscale consensus param. Use it as our fixed-point calculation width.
2010-02-18Move CBT params into consensus.Mike Perry
2010-02-18Add BUILDTIMEOUT_SET event for CBT stress testing.Mike Perry
2010-01-26Fix a memory corruption bug while collecting bridge statsKarsten Loesing
We accidentally freed the internal buffer for bridge stats when we were writing the bridge stats file or honoring a control port request for said data. Change the interfaces for geoip_get_bridge_stats* to prevent these problems, and remove the offending free/add a tor_strdup. Fixes bug 1208.
2009-12-29add config options to override.Roger Dingledine
somebody should add man page entries.
2009-12-29add separate per-conn write limitingRoger Dingledine
2009-12-25Remove some old, commented out codeSebastian Hahn
2009-12-21fix compileRoger Dingledine
2009-12-21Be more willing to use an unsuitable circuit for exit.Roger Dingledine
Specifically, there are two cases: a) are we willing to start a new circuit at a node not in your ExitNodes config option, and b) are we willing to make use of a circuit that's already established but has an unsuitable exit. Now we discard all your circuits when you set ExitNodes, so the only way you could end up with an exit circuit that ends at an unsuitable place is if we explicitly ran out of exit nodes, StrictNodes was 0, and we built this circuit to solve a stream that needs solving. Fixes bug in dc322931, which would ignore the just-built circuit because it has an unsuitable exit.
2009-12-21Make EntryNodes config option much more aggressive.Roger Dingledine
Before it would prepend your requested entrynodes to your list of guard nodes, but feel free to use others after that. Now it chooses only from your EntryNodes if any of those are available, and only falls back to others if a) they're all down and b) StrictNodes is not set. Also, now we refresh your entry guards from EntryNode at each consensus fetch (rather than just at startup and then they slowly rot as the network changes). The goal here is to make users less likely to set StrictNodes, since it's doing closer to what they expect it should be doing.
2009-12-21Switch to a StrictNodes config option.Roger Dingledine
This is step one of handling ExcludedNodes better. This first step is just to make EntryNodes and ExitNodes do what they did before.
2009-12-19fix some typosRoger Dingledine
2009-12-18Merge branch 'ewma'Nick Mathewson
2009-12-18Merge commit 'karsten/fix-bridge-stats-master-4'Nick Mathewson
2009-12-17Fix bridge statistics.Karsten Loesing
Fix statistics on client numbers by country as seen by bridges that were broken in 0.2.2.1-alpha. Also switch to reporting full 24-hour intervals instead of variable 12-to-48-hour intervals.
2009-12-17Remove v0 hidden service statistics code.Karsten Loesing
The HSAuthorityRecordStats option was used to track statistics of overall hidden service usage on the version 0 hidden service authorities. With the version 2 hidden service directories being deployed and version 0 descriptors being phased out, these statistics are not as useful anymore. Goodbye, you fine piece of software; my first major code contribution to Tor.
2009-12-15Merge branch 'safelogging2'Nick Mathewson
Conflicts: ChangeLog
2009-12-15Refactor the safe_str_*() API to make more sense.Nick Mathewson
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".
2009-12-15Stop using lround in or.h, and check for bad values of RECENT_CIRCUITSNick Mathewson
2009-12-15Merge branch 'mathlog'Nick Mathewson
2009-12-15Refactor a bit so that it is safe to include math.h, and mostly not needed.Nick Mathewson
2009-12-15Change interface for configuring cell ewma algorithm.Nick Mathewson
The rule is now: take the value from the CircuitPriorityHalflife config option if it is set. If it zero, disable the cell_ewma algorithm. If it is set, use it to calculate the scaling factor. If it is not set, look for a CircPriorityHalflifeMsec parameter in the consensus networkstatus. If *that* is zero, then disable the cell_ewma algorithm; if it is set, use it to calculate the scaling factor. If it is not set at all, disable the algorithm.
2009-12-15Fix various comment typos in ewma patch; found by arma.Nick Mathewson
2009-12-13Optimize cell-ewma circuit priority algorithm.Nick Mathewson
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).
2009-12-13New controller command "getinfo config-text"Roger Dingledine
It returns the contents that Tor would write if you send it a SAVECONF command, so the controller can write the file to disk itself.
2009-12-12Favor quiet circuits when choosing which order to relay cells in.Can Tang
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.]
2009-12-12Cache the parsed value of SafeLogging as an enum.Nick Mathewson
2009-12-12Allow SafeLogging to exclude client related informationSebastian Hahn
2009-11-21New config option "CircuitStreamTimeout"Roger Dingledine
New config option "CircuitStreamTimeout" to override our internal timeout schedule for how many seconds until we detach a stream from a circuit and try a new circuit. If your network is particularly slow, you might want to set this to a number like 60.
2009-10-27Implement DisableAllSwap to avoid putting secret info in page files.Jacob Appelbaum
This commit implements a new config option: 'DisableAllSwap' This option probably only works properly when Tor is started as root. We added two new functions: tor_mlockall() and tor_set_max_memlock(). tor_mlockall() attempts to mlock() all current and all future memory pages. For tor_mlockall() to work properly we set the process rlimits for memory to RLIM_INFINITY (and beyond) inside of tor_set_max_memlock(). We behave differently from mlockall() by only allowing tor_mlockall() to be called one single time. All other calls will result in a return code of 1. It is not possible to change DisableAllSwap while running. A sample configuration item was added to the torrc.complete.in config file. A new item in the man page for DisableAllSwap was added. Thanks to Moxie Marlinspike and Chris Palmer for their feedback on this patch. Please note that we make no guarantees about the quality of your OS and its mlock/mlockall implementation. It is possible that this will do nothing at all. It is also possible that you can ulimit the mlock properties of a given user such that root is not required. This has not been extensively tested and is unsupported. I have included some comments for possible ways we can handle this on win32.
2009-10-27Fix bug 1113.Karsten Loesing
Bridges do not use the default exit policy, but reject *:* by default.
2009-10-19Fix compile with warnings problems on Snow LeopardSebastian Hahn
2009-10-18Add functions to serve microdescs and flavored consensuses.Nick Mathewson
2009-10-18Document the microdescriptor code better.Nick Mathewson