summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-02-01Add EntryGuardPathUseBias to state file keyword list.Mike Perry
2013-02-01Increment an informational counter for use failed state.Mike Perry
This informational counter is probably now redundant, but might as well keep it consistent I guess.
2013-02-01Rename and relocate the bw weight scale param getter.Mike Perry
It had nothing to do with circuit build times.
2013-02-01Fix a log typo found by sysrqb.Mike Perry
2013-02-01Bounds-check path bias rate parameters.Mike Perry
The other remaining parameters don't really need range checks.
2013-02-01Refactor code that rolls back the use stateMike Perry
Also document it better. Mention this refactoring in the comments for the path state machine.
2013-02-01Refactor and rename pathbias rate evaluation.Mike Perry
2013-02-01Refactor the scaling parameter fetching into a single function.Mike Perry
Also, deprecate the torrc options for the scaling values. It's unlikely anyone but developers will ever tweak them, even if we provided a single ratio value.
2013-02-01Mark entry guard state dirty everwhere the pathbias code touches it.Mike Perry
2013-02-01Add a tristate to guard against unexpected circ purpose transitionsMike Perry
2013-02-01Clarify state transition and related pathbias commentsMike Perry
2013-02-01Merge branch 'rename_log_7599'Nick Mathewson
2013-02-01Help us track bug 8093:Roger Dingledine
Improve the log message when "Bug/attack: unexpected sendme cell from client" occurs.
2013-02-01fix wide lines from tor_log renameNick Mathewson
2013-02-01Fix a silly mistake in the tor_mathlog() documentation. Give it a unit test.Nick Mathewson
2013-02-01Remove old wrapper code and defines for keeping log() and log(3) apartNick Mathewson
This is the non-automated portion of bug 7599.
2013-02-01Rename log() to tor_log() for loggingNick Mathewson
This is meant to avoid conflict with the built-in log() function in math.h. It resolves ticket 7599. First reported by dhill. This was generated with the following perl script: #!/usr/bin/perl -w -i -p s/\blog\(LOG_(ERR|WARN|NOTICE|INFO|DEBUG)\s*,\s*/log_\L$1\(/g; s/\blog\(/tor_log\(/g;
2013-01-31typo in crypto_curve25519.c comment, spotted by rransomNick Mathewson
2013-01-31whitespace fixNick Mathewson
2013-01-31Merge branch 'double-0-check'Nick Mathewson
2013-01-30Use %d, not %02d, for decimal percentagesNick Mathewson
Cosmetic tweak on 5956; not in any released tor.
2013-01-30Merge branch 'rename_queue_macros_squashed'Nick Mathewson
2013-01-30Rename all of the macros in tor_queue.h to start with TOR_Nick Mathewson
2013-01-30Merge branch 'bug5956_squashed'Nick Mathewson
2013-01-30Parameterize FRAC_USABLE_NEEDED for fraction of circuitsNick Mathewson
Instead of hardcoding the minimum fraction of possible paths to 0.6, we take it from the user, and failing that from the consensus, and failing that we fall back to 0.6.
2013-01-30Compute whether we're ready to build circuits based on fraction of pathsNick Mathewson
Previously we did this based on the fraction of descriptors we had. But really, we should be going based on what fraction of paths we're able to build based on weighted bandwidth, since otherwise a directory guard or two could make us behave quite oddly. Implementation for feature 5956
2013-01-30Add an optional out-arg to count_usable_descriptorsNick Mathewson
This way we get the usable nodes themselves, so we can feed them into frac_nodes_with_descriptors
2013-01-30Add a function to compute fraction of nodes (by weighted bw) with descriptorsNick Mathewson
2013-01-29Detect platforms where memset(0) doesn't set doubles to 0.0.Nick Mathewson
This is allowed by the C statndard, which permits you to represent doubles any way you like, but in practice we have some code that assumes that memset() clears doubles in structs. Noticed as part of 7802 review; see 8081 for more info.
2013-01-29Fix unit test to not expect v2 directory request geoip infoNick Mathewson
When we implemented #5823 and removed v2 directory request info, we never actually changed the unit tests not to expect it. Fixes bug 8084; bug not in any released version of Tor.
2013-01-28Merge branch 'bug7802' of ssh://git-rw.torproject.org/mikeperry/torAndrea Shepard
2013-01-24Merge branch 'time_based_onionqueue_v2' of ssh://git-rw.torproject.org/nickm/torAndrea Shepard
2013-01-22Bug 8024: Check for null/closed channel before probing.Mike Perry
2013-01-22Merge remote-tracking branch 'public/bug8012'Nick Mathewson
2013-01-21More of b30d06255c24165 for #6826: fix compat_libevent compilationNick Mathewson
It looks like there was a compilation error for 6826 on some platforms. Removing even more now-uncallable code to handle detecting libevent versions before 1.3e. Fixes bug 8012; bug not in any released Tor.
2013-01-20squash! Remove a source of error during path bias scalingMike Perry
Improve debug logs and fix a state fencepost error.
2013-01-20squash! Implement Path use bias accounting.Mike Perry
Make a debug log more informative.
2013-01-20Prevent early close of path bias testing circuits.Mike Perry
We need to let them live long enough to perform the test.
2013-01-20squash! Remove a source of error during path bias scalingMike Perry
Move a log message about scaling to after we scale
2013-01-19Merge remote-tracking branch 'karsten/bug5823'Nick Mathewson
2013-01-18Bug 7802 changes file.Mike Perry
2013-01-18Document path use bias options in the manpage.Mike Perry
2013-01-18Remove a source of error during path bias scalingMike Perry
If any circuits were opened during a scaling event, we were scaling attempts and successes by different amounts. This leads to rounding error. The fix is to record how many circuits are in a state that hasn't been fully counted yet, and subtract that before scaling, and add it back afterwords.
2013-01-18Don't immediately count cannibalized circs as used.Mike Perry
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.
2013-01-18Roll back the path_state for circs if we detatch a stream.Mike Perry
An adversary could let the first stream request succeed (ie the resolve), but then tag and timeout the remainder (via cell dropping), forcing them on new circuits. Rolling back the state will cause us to probe such circuits, which should lead to probe failures in the event of such tagging due to either unrecognized cells coming in while we wait for the probe, or the cipher state getting out of sync in the case of dropped cells.
2013-01-18Implement Path use bias accounting.Mike Perry
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.
2013-01-18Remove -v flag from autoreconf by defaultNick Mathewson
You can get it back by saying ./autogen.sh -v Patch from onizuka; for bug 4664. This isn't a complete fix, since starting from a clean checkout still reports that it's installing stuff
2013-01-18Split smartlist_choose_node_by_bandwidth_weightsNick Mathewson
This is a minimal refactoring to expose the weighted bandwidth calculations for each node so I can use them to see what fraction of nodes, weighted by bandwidth, we have descriptors for.
2013-01-17Replace base-{16,32,64} with base{16,32,64} in the codeNick Mathewson
Patch from onizuka generated with find ./ -type f -perm -u+rw -exec sed -ri 's/(Base)-(16|32|64)/\1\2/gi' {} \; Fixes issue 6875 on Tor.
2013-01-17Merge branch '024_msvc_more'Nick Mathewson