aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
Commit message (Collapse)AuthorAge
* backport candidate (revert part of r9350):Roger Dingledine2007-08-19
| | | | | | | | | | Expire application streams in all cases if they've been around longer than SocksTimeout. Right now there are some cases where the stream will live forever, demanding a new circuit every 15 seconds. Bugfix on 0.1.2.7-alpha; fixes bug 454; reported by lodger. svn:r11186
* generalize circuit_find_to_cannibalize() so it knows whatRoger Dingledine2007-08-19
| | | | | | | purpose circuit we're planning to become svn:r11184
* make progress towards retrying our bridges when they're allRoger Dingledine2007-07-29
| | | | | | | down and we get a new socks request svn:r10967
* Refine r10571: more work on bridge stuff.Roger Dingledine2007-06-15
| | | | | | | | | | | | | - Only listen to responses for "authority" fetches if we're configured to use Bridges. Otherwise it's safe (and maybe smarter) to silently discard them like we used to. - React faster to download networkstatuses after the first bridge descriptor arrives. - Don't do dir fetches before we have any bridges, even when our dirport is open. svn:r10604
* More work towards making bridge users able to connect via bridges:Roger Dingledine2007-06-12
| | | | | | | | | | | | | | | | | | | | | - demand options->Bridges and options->TunnelDirConns if options->UseBridges is set. - after directory fetches, accept descriptors that aren't referenced by our networkstatuses, *if* they're for a configured bridge. - delay directory fetching until we have at least one bridge descriptor. - learn how to build a one-hop circuit when we have neither routerinfo nor routerstatus for our destination. - teach directory connections how to pick a bridge as the destination directory when doing non-anonymous fetches. - tolerate directory commands for which the dir_port is 0. - remember descriptors when the requested_resource was "authority", rather than just ignoring them. - put bridges on our entry_guards list once we have a descriptor for them. When UseBridges is set, only pick entry guards that are bridges. Else vice versa. svn:r10571
* trivial changes from my sandboxRoger Dingledine2007-05-31
| | | | svn:r10429
* r13070@catbus: nickm | 2007-05-29 15:53:21 -0400Nick Mathewson2007-05-29
| | | | | | | Fix handling of resolves with very long or otherwise malformed addresses, and comment dns_resolve better, and stop making what should be a BUG warning into an assert(0). This fixes bug 427, which was introduced around 9900/9931/9932. Not a backport candidate: 0.1.2.x never had this bug. svn:r10399
* polish r9726-r9903Roger Dingledine2007-05-13
| | | | svn:r10182
* New config option V2AuthoritativeDirectory that all directoryRoger Dingledine2007-05-02
| | | | | | | | | | | authorities should set. This will let future authorities choose not to serve V2 directory information. Also, go through and revamp all the authdir_mode stuff so it tries to do the right thing if you're an auth but not a V1 or V2 auth. svn:r10092
* identify the exit node correctly when we timeout and detachRoger Dingledine2007-04-30
| | | | | | | | | from a circuit, even if the exit node is in the middle. there are probably a few more places that need this fix too. svn:r10076
* r12565@catbus: nickm | 2007-04-30 10:09:07 -0400Nick Mathewson2007-04-30
| | | | | | | Misc cleanup and bulletproofing on r10056. svn:r10058
* Let the controller specify HOP=%d as an argument to ATTACHSTREAM,Roger Dingledine2007-04-30
| | | | | | | so we can exit from the middle of the circuit. svn:r10056
* Add a new config option __DisablePredictedCircuits designed forRoger Dingledine2007-04-30
| | | | | | | | use by the controller, when we don't want Tor to build any circuits preemptively. svn:r10054
* Make PreferTunneledDirConns and TunnelDirConns work even whenRoger Dingledine2007-04-27
| | | | | | | | we have no cached directory info. This means Tor clients can now do all of their connections protected by TLS. svn:r10035
* r12644@0-41-wifi: nickm | 2007-03-23 16:02:23 -0400Nick Mathewson2007-03-24
| | | | | | | Eliminate more redundant circuit_t arguments when edge_connection_t is already supplied and the circuit is already attached. svn:r9900
* r12074@catbus: nickm | 2007-03-04 15:11:43 -0500Nick Mathewson2007-03-04
| | | | | | | Make all LD_BUG log messsages get prefixed with "Bug: ". Remove manually-generated "Bug: "s from log-messages. (Apparently, we remembered to add them about 40% of the time.) svn:r9733
* bonus points if it builds on 64 bitRoger Dingledine2007-03-01
| | | | svn:r9698
* make the prefertunnel stuff less obviously brokenRoger Dingledine2007-03-01
| | | | svn:r9697
* doc pedantRoger Dingledine2007-02-24
| | | | svn:r9634
* r11877@catbus: nickm | 2007-02-22 02:24:50 -0500Nick Mathewson2007-02-22
| | | | | | | Fix doc about when circuit_build_needed_circs() is called. Resolves another xxxx012. svn:r9617
* r11858@catbus: nickm | 2007-02-21 00:27:44 -0500Nick Mathewson2007-02-21
| | | | | | | As a trivial optimization, remove a redundant call to router_have_minimum_dir_info. This might shave 2% on some systems by according to some profilers. svn:r9610
* r11832@catbus: nickm | 2007-02-16 15:31:59 -0500Nick Mathewson2007-02-16
| | | | | | | Fix 35 remaining DOCDOC comments. Yowza. svn:r9596
* r11775@catbus: nickm | 2007-02-12 16:39:09 -0500Nick Mathewson2007-02-12
| | | | | | | Update copyright dates. svn:r9570
* r11629@catbus: nickm | 2007-02-02 15:06:17 -0500Nick Mathewson2007-02-02
| | | | | | | Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were. Oops. Hey, kids! Fixing some of these could be your first Tor patch! svn:r9477
* Bring us one step closer to being able to establish an encryptedRoger Dingledine2007-01-27
| | | | | | | | | directory tunnel without knowing a descriptor first. Still not ready yet. As part of the change, now assume we can use a create_fast cell if we don't know anything about a router. svn:r9440
* Expire socks connections if they spend too long waiting for theRoger Dingledine2007-01-15
| | | | | | | | | | | | | handshake to finish. Previously we would let them sit around for days, if the connecting application didn't close them either. Also take this opportunity to refactor a duplicate bit of circuituse.c. And change the semantics of SocksTimeout slightly, but I think it'll be ok. svn:r9350
* r11824@Kushana: nickm | 2007-01-03 17:15:28 -0500Nick Mathewson2007-01-06
| | | | | | | | | | | | | | | | | | | control-spec: upcase arguments in status events; note unimplemented events individually r11825@Kushana: nickm | 2007-01-03 17:41:43 -0500 Implement EXTERNAL IP server status event. r11826@Kushana: nickm | 2007-01-03 17:47:10 -0500 Implement BAD_SERVER_DESCRIPTOR server status event. r11827@Kushana: nickm | 2007-01-03 18:01:56 -0500 Implement SOCKS_UNKNOWN_PROTOCOL and DANGEROUS_SOCKS client events. r11828@Kushana: nickm | 2007-01-03 18:23:22 -0500 Implement BUG controller events. Also, flush ERR-level status events just like ERR-level log messages. r11829@Kushana: nickm | 2007-01-03 23:37:27 -0500 Yet more status events: CLOCK_SKEW, GOOD/ACCEPTED_SERVER_DESCRIPTOR, {CHECKING_}REACHABILITY_{SUCCEEDED|FAILED} r11833@Kushana: nickm | 2007-01-05 16:56:37 -0500 Note some unimplementedness in control-spec.txt svn:r9279
* fix whitespace; add a todo itemRoger Dingledine2006-12-18
| | | | svn:r9148
* finish enabling begin-dir cells. require one-hop circs forRoger Dingledine2006-12-13
| | | | | | | | socks-command-connect-dir streams, so we don't open new anonymity questions. svn:r9099
* Infrastructure to test BEGIN_DIR cells.Roger Dingledine2006-12-13
| | | | | | | | | | New socks command CONNECT_DIR. New config option TunnelDirConns that builds a circ ending at the directory server and delivers a BEGIN_DIR cell if it's running 0.1.2.2-alpha or later. We still need to make one-hop circs when appropriate, while making other conns avoid them. svn:r9098
* a better fix. puts r8446 to bed.Roger Dingledine2006-12-12
| | | | svn:r9096
* Fix a bug in 0.1.2.2-alpha that prevented clients from askingRoger Dingledine2006-12-12
| | | | | | | | to resolve an address at a given exit node even when they ask for it by name. svn:r9095
* some more cleanups and a bugfix on r9052Roger Dingledine2006-12-10
| | | | svn:r9062
* r9855@Kushana: nickm | 2006-12-04 00:55:09 -0500Nick Mathewson2006-12-04
| | | | | | | Merge circuit_about_to_close_connection and connection_about_to_close_connection. svn:r9021
* r9060@totoro: nickm | 2006-10-17 11:12:48 -0400Nick Mathewson2006-10-17
| | | | | | | Apply patch from Mike Perry: add more reasons for circuit destroys. (Slightly tweaked to avoid allocating a number for an "internal" reason.) svn:r8739
* clean up and downgrade some log messagesRoger Dingledine2006-10-15
| | | | svn:r8727
* - Stop triggering asserts if the controller tries to extend hiddenRoger Dingledine2006-10-09
| | | | | | | | service circuits. (also found by mwenge) svn:r8682
* r8973@totoro: nickm | 2006-10-09 11:45:47 -0400Nick Mathewson2006-10-09
| | | | | | | | | | | Touch up last patch (to add REASON to CIRC events): make some reasons more sensible, send reasons only to controllers that have enabled extended events, and clean up whitespace. svn:r8672
* r8972@totoro: nickm | 2006-10-09 10:36:22 -0400Nick Mathewson2006-10-09
| | | | | | | Patch from Mike Perry: add a REASON field to closed and failed circ events. svn:r8671
* bugfix and cleanups re: entry guards.Roger Dingledine2006-10-06
| | | | svn:r8620
* r8861@totoro: nickm | 2006-10-03 14:49:54 -0400Nick Mathewson2006-10-03
| | | | | | | Fix bug in r8579: TrackHostExits .foo.bar implies TrackHostExits foo.bar; also fix logic error. svn:r8592
* r8850@totoro: nickm | 2006-10-02 17:21:11 -0400Nick Mathewson2006-10-02
| | | | | | | Make TrackExitHosts case-insensitive, and fix the behavior of .suffix TrackExitHosts items to avoid matching in the middle of an address. (Resolves an XXXX) svn:r8579
* if we fail to build a circuit to an intended enclave, and it'sRoger Dingledine2006-10-01
| | | | | | | not mandatory that we use that enclave, stop wanting it. svn:r8559
* r8973@Kushana: nickm | 2006-09-28 16:53:19 -0400Nick Mathewson2006-09-28
| | | | | | | | | | Refactor entry guard status logic a lot; allow more factors [like not having a Guard flag or being listed in ExcludeNodes] to render a guard "unlisted" (now called "unusable"); track guard down status (now called "unreachable") separately from is_running. svn:r8519
* r8895@Kushana: nickm | 2006-09-21 20:05:11 -0400Nick Mathewson2006-09-22
| | | | | | | Debug client-side reverse dns code. svn:r8452
* r8881@Kushana: nickm | 2006-09-21 17:27:59 -0400Nick Mathewson2006-09-21
| | | | | | | Allow resolve requests to non-exits when they are specifically requested (via resolve foo.bar.exit). svn:r8446
* r8877@Kushana: nickm | 2006-09-21 17:12:33 -0400Nick Mathewson2006-09-21
| | | | | | | Consider non-exit servers unsuitable for RESOLVE commands. svn:r8442
* good god, that was a bad idea. i've built 500 circuits in the past 5Roger Dingledine2006-09-18
| | | | | | | minutes, trying to establish reachability of my unreachable server. svn:r8415
* build testing circuits more rapidly. this has a failure modeRoger Dingledine2006-09-17
| | | | | | | | where if circuits fail quickly, we'll fail a lot of them very quickly and not retry for a while. so be it. svn:r8407
* make my bandwidth exercises actually happenRoger Dingledine2006-09-15
| | | | svn:r8400