aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_edge.c
Commit message (Collapse)AuthorAge
* Refactor code that rolls back the use stateMike Perry2013-02-01
| | | | | | Also document it better. Mention this refactoring in the comments for the path state machine.
* Roll back the path_state for circs if we detatch a stream.Mike Perry2013-01-18
| | | | | | | | | | | 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.
* Implement Path use bias accounting.Mike Perry2013-01-18
| | | | | | | 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.
* Implement proposal 204: ignore subdomains in hidden service addressesJérémy Bobbio2013-01-16
| | | | | | The implementation is pretty straightforward: parse_extended_hostname() is modified to drop any leading components from an address like 'foo.aaaaaaaaaaaaaaaa.onion'.
* Aftermath of isin->contains renamingNick Mathewson2013-01-16
| | | | Fix wide lines and comments, and add a changes file
* Rename *_isin to *_containsNick Mathewson2013-01-16
| | | | | | | | | | | 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;
* Update the copyright date to 201.Nick Mathewson2013-01-16
|
* Bug 7691: Send a probe cell down certain types of circs.Mike Perry2013-01-08
| | | | | | | | 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.
* Fix a crash bug when running an node without IPv6-exit support.Nick Mathewson2012-12-29
| | | | Fixes bug 7814; bugfix on 0.2.4.7-alpha.
* Fix compilation warning: must not format u64 as long.Nick Mathewson2012-12-25
|
* Merge remote-tracking branch 'mikeperry/209-path-bias-changes'Nick Mathewson2012-12-25
|\
| * Changes from Nick's code review 'part 1'Mike Perry2012-12-18
| | | | | | | | I think this is actually his third code review of this branch so far.
| * Space fixes.Mike Perry2012-12-09
| |
| * Allow any valid 'end' cell to mean a circuit was used successfully.Mike Perry2012-12-08
| | | | | | | | Also improve some log messages.
| * Refactor path use bias code into own function.Mike Perry2012-12-07
| | | | | | | | Also, improve and log some failure cases.
| * Note a strange case for SOCKS streams.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.Mike Perry2012-12-07
| | | | | | | | | | | | | | 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.
* | Per-listener option to prefer IPv6 automaps when possible.Nick Mathewson2012-12-17
| |
* | Build and test most of the machinery needed for IPv6 virtualaddrmapsNick Mathewson2012-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Refactor the code to check if an address is matched by automapsuffixesNick Mathewson2012-12-17
| |
* | Fixed an unused-variable warningNick Mathewson2012-12-17
| |
* | Implement option to turn off DNS cache modification by a client portNick Mathewson2012-12-17
| | | | | | | | | | (This is part 3 of making DNS cache use enabled/disabled on a per-client port basis. This implements the UseCacheIPv[46]DNS options)
* | Implement option to turn off DNS cache use on a client portNick Mathewson2012-12-17
|/ | | | | | (This is part 2 of making DNS cache use enabled/disabled on a per-client port basis. This implements the CacheIPv[46]DNS options, but not the UseCachedIPv[46] ones.)
* Fix some wide linesNick Mathewson2012-12-07
|
* Merge branch 'win64-7260'Nick Mathewson2012-12-07
|\ | | | | | | | | Conflicts: src/or/dns.c
| * Add a TOR_SOCKET_T_FORMAT construction for logging sockets.Nick Mathewson2012-11-02
| | | | | | | | | | | | We need this since win64 has a 64-bit SOCKET type. Based on a patch from yayooo for 7260, forward-ported to 0.2.4.
* | Merge remote-tracking branch 'asn/bug7592_take2'Nick Mathewson2012-12-04
|\ \
| * | Return connection_exit_connect() if payload creation failed.George Kadianakis2012-12-05
| | | | | | | | | | | | | | | | | | Fixes bug #7592; bugfix on 882b389668067a29bb539d0f5bd5cb2f83b93012. The bug is not present in any released versions of Tor.
* | | fix some typosRoger Dingledine2012-12-03
|/ /
* | Fix up some comments in connection_edge.cNick Mathewson2012-11-15
| |
* | Accept reverse resolve requests for IPv6 addressesNick Mathewson2012-11-14
| |
* | Add some missing doxygen for ipv6 exit codeNick Mathewson2012-11-14
| |
* | Actually send back correctly-formed IPv6 CONNECTED cellsNick Mathewson2012-11-14
| | | | | | | | | | We had some old code to send back connected cells for IPv6 addresses, but it was wrong. Fortunately, it was also unreachable.
* | Implement a PreferIPv6 flag for SocksPortsNick Mathewson2012-11-14
| |
* | Change signature of router_compare_to_my_exit_policy so dns can use itNick Mathewson2012-11-14
| | | | | | | | Also, fix the function so it actually looks at our ipv6 exit policy.
* | Whitespace cleanupNick Mathewson2012-11-14
| |
* | Actually send BEGIN cell flagsNick Mathewson2012-11-14
| | | | | | | | This uses advertised IPv6 ports as an implicit version check.
* | When asking for a specific address type, others aren't acceptableNick Mathewson2012-11-14
| |
* | I think it is correct to decorate these addresses.Nick Mathewson2012-11-14
| |
* | Better checking of exit policies for connections by hostnameNick Mathewson2012-11-14
| |
* | Only send begin cell flags when we have some to sendNick Mathewson2012-11-14
| |
* | Never support IPv6 traffic on a SOCKS4 connection.Nick Mathewson2012-11-14
| |
* | Get the client side of receiving an IPv6 address to workNick Mathewson2012-11-14
| | | | | | | | | | | | | | | | | | | | | | | | This makes it so we can handle getting an IPv6 in the 3 different formats we specified it for in RESOLVED cells, END_STREAM_REASON_EXITPOLICY cells, and CONNECTED cells. We don't cache IPv6 addresses yet, since proposal 205 isn't implemented. There's a refactored function for parsing connected cells; it has unit tests.
* | Reject IPv4 or IPv6 addresses from the user depending on SOCKS settingsNick Mathewson2012-11-14
| |
* | Add an IPv6Exit configuration optionNick Mathewson2012-11-14
| | | | | | | | | | Don't advertise an IPv6 exit policy, or accept IPv6 exit requests, if IPv6Exit is not true.
* | Simplest version of server-side IPv6 support (no dns)Nick Mathewson2012-11-14
| | | | | | | | | | | | | | This is a relatively simple set of changes: we mostly need to remove a few "but not for IPv6" changes. We also needed to tweak the handling of DNS code to generate RESOLVED cells that could get an IPv6 answer in return.
* | Record, send, and receive flags in BEGIN cellsNick Mathewson2012-11-14
| |
* | Refactor begin cell parsing into its own function, with tests.Nick Mathewson2012-11-14
| | | | | | | | Add 'flags' argument to begin cells, per proposal 208.
* | Refactor client_dns_set_{reverse_,}addressmap() to take a circNick Mathewson2012-11-14
| | | | | | | | | | | | | | | | We'd like these functions to be circuit-relative so that we can implement a per-circuit DNS cache and per-circuit DNS cache rules for proposal 205 or its successors. I'm doing this now, as a part of the IPv6 exits code, since there are about to be a few more instances of code using this.