summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
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-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-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-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-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-17Add ntor-related modules to the Makefiles.nmakeNick Mathewson
2013-01-17Fix an MSVC warning in onion.h prototypesNick Mathewson
2013-01-17Add a missing part of bug 7311's makefile.nmake tweaksNick Mathewson
Fix by "ultramage". This already has a changes entry.
2013-01-17Merge remote-tracking branch 'public/bug6302'Nick Mathewson
2013-01-17Remove dirreq-v2-* lines from extra-info descriptors.Karsten Loesing
Implements the rest of #5823.
2013-01-16Implement proposal 204: ignore subdomains in hidden service addressesJérémy Bobbio
The implementation is pretty straightforward: parse_extended_hostname() is modified to drop any leading components from an address like 'foo.aaaaaaaaaaaaaaaa.onion'.
2013-01-16Merge branch '024_msvc_squashed'Nick Mathewson
Conflicts: src/or/or.h srcwin32/orconfig.h
2013-01-16Fix an instance of snprintf; don't use _snprintf directlyNick Mathewson
2013-01-16When building with MSVC, call every enum bitfield unsignedNick Mathewson
Fixes bug 7305.
2013-01-16use the /Fe flag with msvcNick Mathewson
Fixes 7309
2013-01-16Add missing objects to Makefile.nmakeNick Mathewson
2013-01-16Add missing includes and libs to makefile.nmakeNick Mathewson
Fixes bugs 7312 and 7310.
2013-01-16Aftermath of isin->contains renamingNick Mathewson
Fix wide lines and comments, and add a changes file
2013-01-16Rename *_isin to *_containsNick Mathewson
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;
2013-01-16Remove two extrneous semicolons in dirserv.cNick Mathewson
In 6fbdf635 we added a couple of statements like: if (test) { ... }; The extraneous semicolons there get flagged as worrisome empty statements by the cparser library, so let's fix them. Patch by Christian Grothoff; fixes bug 7115.
2013-01-16Refactor: Use SOCK_ERRNO to avoid some #ifdef _WIN32sNick Mathewson
Fixes ticket 6302
2013-01-16Merge branch 'bug7972'Nick Mathewson
2013-01-16Actually link against nacl when we want to use itNick Mathewson
Fixes more of bug 7972
2013-01-16Removee dirrec-v*-sharestatisticsNick Mathewson
These were unused and sometimes inaccurate. Resolves 5823.
2013-01-16Merge remote-tracking branch 'asn/bug7896'Nick Mathewson
2013-01-16Update the copyright date to 201.Nick Mathewson
2013-01-15Forward-port fix for 7889Nick Mathewson
2013-01-15Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2013-01-15Clean up odds and endsRoger Dingledine
2013-01-15Fix handling of ntor handshakes received via CREATE cellsNick Mathewson
Fixes bug 7959; bugfix on 0.2.4.8-alpha.
2013-01-15Better log message to diagnose #7959Nick Mathewson
2013-01-14Revert junk accidentally included with "start folding in the changes entries"Nick Mathewson
Looks like Roger's debugging code wanted to take a tour of the world outside his sandbox. This reverts part of commit 19d37202362c0298ae2f3954b0065ccfcef0dbda.
2013-01-14Reject create/begin/etc cells with {circ,stream}ID 0.Nick Mathewson
Otherwise, it's possible to create streams or circuits with these bogus IDs, leading to orphaned circuits or streams, or to ones that can cause bandwidth DOS problems. Fixes bug 7889; bugfix on all released Tors.
2013-01-14start folding in the changes entriesRoger Dingledine
2013-01-14Merge branch 'bug7869'Nick Mathewson
2013-01-09Mention name of the transport used when we learn the fpr of a bridge.George Kadianakis