aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
Commit message (Expand)AuthorAge
* Merge remote-tracking branch 'public/feature7706'Nick Mathewson2013-02-01
|\
| * When excluding nodes by country, exclude {??} and {A1} too•••This is ticket 7706, reported by "bugcatcher." The rationale here is that if somebody says 'ExcludeNodes {tv}', then they probably don't just want to block definitely Tuvaluan nodes: they also want to block nodes that have unknown country, since for all they know such nodes are also in Tuvalu. This behavior is controlled by a new GeoIPExcludeUnknown autobool option. With the default (auto) setting, we exclude ?? and A1 if any country is excluded. If the option is 1, we add ?? and A1 unconditionally; if the option is 0, we never add them. (Right now our geoip file doesn't actually seem to include A1: I'm including it here in case it comes back.) This feature only takes effect if you have a GeoIP file. Otherwise you'd be excluding every node. Nick Mathewson2013-01-17
* | Refactor code that rolls back the use state•••Also document it better. Mention this refactoring in the comments for the path state machine. Mike Perry2013-02-01
* | Refactor the scaling parameter fetching into a single function.•••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. Mike Perry2013-02-01
* | Add a tristate to guard against unexpected circ purpose transitionsMike Perry2013-02-01
* | Clarify state transition and related pathbias commentsMike Perry2013-02-01
* | Merge branch 'bug5956_squashed'Nick Mathewson2013-01-30
|\ \
| * | Parameterize FRAC_USABLE_NEEDED for fraction of circuits•••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. Nick Mathewson2013-01-30
| |/
* | Merge branch 'bug7802' of ssh://git-rw.torproject.org/mikeperry/torAndrea Shepard2013-01-28
|\ \
| * | Implement Path use bias accounting.•••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. Mike Perry2013-01-18
| |/
* | Merge branch 'time_based_onionqueue_v2' of ssh://git-rw.torproject.org/nickm/torAndrea Shepard2013-01-24
|\ \ | |/ |/|
| * Use a TAILQ, not a singly-linked queue, for the onion queue.•••This makes removing items from the middle of the queue into an O(1) operation, which could prove important as we let onionqueues grow longer. Doing this actually makes the code slightly smaller, too. Nick Mathewson2013-01-03
| * Eliminate MaxOnionsPending; replace it with MaxOnionQueueDelay•••The right way to set "MaxOnionsPending" was to adjust it until the processing delay was appropriate. So instead, let's measure how long it takes to process onionskins (sampling them once we have a big number), and then limit the queue based on its expected time to finish. This change is extra-necessary for ntor, since there is no longer a reasonable way to set MaxOnionsPending without knowing what mix of onionskins you'll get. This patch also reserves 1/3 of the onionskin spots for ntor handshakes, on the theory that TAP handshakes shouldn't be allowed to starve their speedier cousins. We can change this later if need be. Resolves 7291. Nick Mathewson2013-01-03
* | Merge branch '024_msvc_squashed'•••Conflicts: src/or/or.h srcwin32/orconfig.h Nick Mathewson2013-01-16
|\ \
| * | Fix an instance of snprintf; don't use _snprintf directlyNick Mathewson2013-01-16
| * | When building with MSVC, call every enum bitfield unsigned•••Fixes bug 7305. Nick Mathewson2013-01-16
* | | Update the copyright date to 201.Nick Mathewson2013-01-16
* | | Clean up odds and endsRoger Dingledine2013-01-15
* | | Bug 7691 review fixes.•••Also add in the random nonce generation. Mike Perry2013-01-08
* | | Bug 7691: Send a probe cell down certain types of circs.•••In general, if we tried to use a circ for a stream, but then decided to place that stream on a different circuit, we need to probe the original circuit before deciding it was a "success". We also need to do the same for cannibalized circuits that go unused. Mike Perry2013-01-08
| |/ |/|
* | Merge branch 'ntor-resquashed'•••Conflicts: src/or/cpuworker.c src/or/or.h src/test/bench.c Nick Mathewson2013-01-03
|\ \
| * | Enable the ntor handshake on the client side.•••"works for me" Nick Mathewson2013-01-03
| * | Use new wrappers for making,sending,processing create/extend cellsNick Mathewson2013-01-03
| * | Teach cpuworker and others about create_cell_t and friends•••The unit of work sent to a cpuworker is now a create_cell_t; its response is now a created_cell_t. Several of the things that call or get called by this chain of logic now take create_cell_t or created_cell_t too. Since all cpuworkers are forked or spawned by Tor, they don't need a stable wire protocol, so we can just send structs. This saves us some insanity, and helps p Nick Mathewson2013-01-03
| * | Code to parse and format CREATE{,2,_FAST} cells and their allies•••As elsewhere, it makes sense when adding or extending a cell type to actually make the code to parse it into a separate tested function. This commit doesn't actually make anything use these new functions; that's for a later commit. Nick Mathewson2013-01-03
| * | Rename handshake_digest to rend_circ_nonce•••The handshake_digest field was never meaningfully a digest *of* the handshake, but rather is a digest *from* the handshake that we exapted to prevent replays of ESTABLISH_INTRO cells. The ntor handshake will generate it as more key material rather than taking it from any part of the circuit handshake reply.. Nick Mathewson2013-01-03
| * | Massive refactoring of the various handshake types•••The three handshake types are now accessed from a unified interface; their state is abstracted from the rest of the cpath state, and so on. Nick Mathewson2013-01-03
| * | Refactor the CREATE_FAST handshake code to match the others.Nick Mathewson2013-01-03
| * | Wrangle curve25519 onion keys: generate, store, load, publish, republish•••Here we try to handle curve25519 onion keys from generating them, loading and storing them, publishing them in our descriptors, putting them in microdescriptors, and so on. This commit is untested and probably buggy like whoa Nick Mathewson2013-01-02
* | | Merge remote-tracking branch 'mikeperry/209-path-bias-changes'Nick Mathewson2012-12-25
|\ \ \
| * | | Tags on relay cells can result in certain reason codes.•••Close the circuit (it's probably junk anyways), and make sure we don't probe it/count it as a success. Mike Perry2012-12-11
| * | | Rename first_hop to circ_attempt.•••Since we've generalized what we can count from (first or second hop), we should generalize the variable and constant naming too. Mike Perry2012-12-09
| * | | Refactor path use bias code into own function.•••Also, improve and log some failure cases. Mike Perry2012-12-07
| * | | Document that care needs to be taken with any_streams_attached.Mike Perry2012-12-07
| * | | Prop 209: Add in hidserv path bias counts for usage.Mike Perry2012-12-07
| * | | Prop 209: Add path bias counts for timeouts and other mechanisms.•••Turns out there's more than one way to block a tagged circuit. This seems to successfully handle all of the normal exit circuits. Hidden services need additional tweaks, still. Mike Perry2012-12-07
| * | | Update with code review changes from Nick.Mike Perry2012-12-07
| * | | Update pathbias parameters to match Proposal 209.•••Needs manpage update and testing still.. Mike Perry2012-12-07
| * | | Add the ability to count circuit timeouts for guards.•••This is purely for informational reasons for debugging. Mike Perry2012-12-07
* | | | Add configuration options for directory guards•••In addition to all the other ways to make directory gurads not go, you can now set UseEntryGuardsAsDirGuards to 0. Nick Mathewson2012-12-25
* | | | Make ECDHE group configurable: 224 for public, 256 for bridges (default)Nick Mathewson2012-12-25
| |_|/ |/| |
* | | Add missing doxygen for DNS and automap codeNick Mathewson2012-12-17
* | | Per-listener option to prefer IPv6 automaps when possible.Nick Mathewson2012-12-17
* | | Build and test most of the machinery needed for IPv6 virtualaddrmaps•••With an IPv6 virtual address map, we can basically hand out a new IPv6 address for _every_ address we connect to. That'll be cool, and will let us maybe get around prop205 issues. This uses some fancy logic to try to make the code paths in the ipv4 and the ipv6 case as close as possible, and moves to randomly generated addresses so we don't need to maintain those stupid counters that will collide if Tor restarts but apps don't. Also has some XXXX items to fix to make this useful. More design needed. Nick Mathewson2012-12-17
* | | Add options to turn DNS cache use on or off per client port.•••(This is part 1 of making DNS cache use enabled/disabled on a per-client port basis. These options are shuffled around correctly, but don't do anything yet.) Nick Mathewson2012-12-17
* | | Merge branch 'fallback_dirsource_v3'Nick Mathewson2012-12-13
|\ \ \ | |/ / |/| |
| * | Drop FallbackNetworkstatusFile; it never worked.Nick Mathewson2012-12-06
| * | Add an option to weight down authorities when choosing a fallbackNick Mathewson2012-12-06
| * | When choosing among dirserver_ts, consider their weightsNick Mathewson2012-12-06
| * | New FallbackDir option to add extra directories for bootstraping•••This replaces the old FallbackConsensus notion, and should provide a way -- assuming we pick reasonable nodes! -- to give clients suggestions of placs to go to get their first consensus. Nick Mathewson2012-12-06