summaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
AgeCommit message (Collapse)Author
2007-10-28Separate "SOCKS_COMMAND_CONNECT_DIR" into two flags inRoger Dingledine
edge_connection_t: want_onehop if it must attach to a circuit with only one hop (e.g. for the current tunnelled connections that use begin_dir), and use_begindir if we mean to use a BEGIN_DIR relay command to establish the stream rather than the normal BEGIN. Now we can make anonymized begin_dir connections for (e.g.) more secure hidden service posting and fetching. svn:r12244
2007-10-11minor cleanupsRoger Dingledine
svn:r11890
2007-08-19backport candidate (revert part of r9350):Roger Dingledine
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
2007-08-19generalize circuit_find_to_cannibalize() so it knows whatRoger Dingledine
purpose circuit we're planning to become svn:r11184
2007-07-29make progress towards retrying our bridges when they're allRoger Dingledine
down and we get a new socks request svn:r10967
2007-06-15Refine r10571: more work on bridge stuff.Roger Dingledine
- 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
2007-06-12More work towards making bridge users able to connect via bridges:Roger Dingledine
- 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
2007-05-31trivial changes from my sandboxRoger Dingledine
svn:r10429
2007-05-29 r13070@catbus: nickm | 2007-05-29 15:53:21 -0400Nick Mathewson
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
2007-05-13polish r9726-r9903Roger Dingledine
svn:r10182
2007-05-02New config option V2AuthoritativeDirectory that all directoryRoger Dingledine
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
2007-04-30identify the exit node correctly when we timeout and detachRoger Dingledine
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
2007-04-30 r12565@catbus: nickm | 2007-04-30 10:09:07 -0400Nick Mathewson
Misc cleanup and bulletproofing on r10056. svn:r10058
2007-04-30Let the controller specify HOP=%d as an argument to ATTACHSTREAM,Roger Dingledine
so we can exit from the middle of the circuit. svn:r10056
2007-04-30Add a new config option __DisablePredictedCircuits designed forRoger Dingledine
use by the controller, when we don't want Tor to build any circuits preemptively. svn:r10054
2007-04-27Make PreferTunneledDirConns and TunnelDirConns work even whenRoger Dingledine
we have no cached directory info. This means Tor clients can now do all of their connections protected by TLS. svn:r10035
2007-03-24 r12644@0-41-wifi: nickm | 2007-03-23 16:02:23 -0400Nick Mathewson
Eliminate more redundant circuit_t arguments when edge_connection_t is already supplied and the circuit is already attached. svn:r9900
2007-03-04 r12074@catbus: nickm | 2007-03-04 15:11:43 -0500Nick Mathewson
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
2007-03-01bonus points if it builds on 64 bitRoger Dingledine
svn:r9698
2007-03-01make the prefertunnel stuff less obviously brokenRoger Dingledine
svn:r9697
2007-02-24doc pedantRoger Dingledine
svn:r9634
2007-02-22 r11877@catbus: nickm | 2007-02-22 02:24:50 -0500Nick Mathewson
Fix doc about when circuit_build_needed_circs() is called. Resolves another xxxx012. svn:r9617
2007-02-21 r11858@catbus: nickm | 2007-02-21 00:27:44 -0500Nick Mathewson
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
2007-02-16 r11832@catbus: nickm | 2007-02-16 15:31:59 -0500Nick Mathewson
Fix 35 remaining DOCDOC comments. Yowza. svn:r9596
2007-02-12 r11775@catbus: nickm | 2007-02-12 16:39:09 -0500Nick Mathewson
Update copyright dates. svn:r9570
2007-02-02 r11629@catbus: nickm | 2007-02-02 15:06:17 -0500Nick Mathewson
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
2007-01-27Bring us one step closer to being able to establish an encryptedRoger Dingledine
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
2007-01-15Expire socks connections if they spend too long waiting for theRoger Dingledine
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
2007-01-06 r11824@Kushana: nickm | 2007-01-03 17:15:28 -0500Nick Mathewson
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
2006-12-18fix whitespace; add a todo itemRoger Dingledine
svn:r9148
2006-12-13finish enabling begin-dir cells. require one-hop circs forRoger Dingledine
socks-command-connect-dir streams, so we don't open new anonymity questions. svn:r9099
2006-12-13Infrastructure to test BEGIN_DIR cells.Roger Dingledine
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
2006-12-12a better fix. puts r8446 to bed.Roger Dingledine
svn:r9096
2006-12-12Fix a bug in 0.1.2.2-alpha that prevented clients from askingRoger Dingledine
to resolve an address at a given exit node even when they ask for it by name. svn:r9095
2006-12-10some more cleanups and a bugfix on r9052Roger Dingledine
svn:r9062
2006-12-04 r9855@Kushana: nickm | 2006-12-04 00:55:09 -0500Nick Mathewson
Merge circuit_about_to_close_connection and connection_about_to_close_connection. svn:r9021
2006-10-17 r9060@totoro: nickm | 2006-10-17 11:12:48 -0400Nick Mathewson
Apply patch from Mike Perry: add more reasons for circuit destroys. (Slightly tweaked to avoid allocating a number for an "internal" reason.) svn:r8739
2006-10-15clean up and downgrade some log messagesRoger Dingledine
svn:r8727
2006-10-09- Stop triggering asserts if the controller tries to extend hiddenRoger Dingledine
service circuits. (also found by mwenge) svn:r8682
2006-10-09 r8973@totoro: nickm | 2006-10-09 11:45:47 -0400Nick Mathewson
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
2006-10-09 r8972@totoro: nickm | 2006-10-09 10:36:22 -0400Nick Mathewson
Patch from Mike Perry: add a REASON field to closed and failed circ events. svn:r8671
2006-10-06bugfix and cleanups re: entry guards.Roger Dingledine
svn:r8620
2006-10-03 r8861@totoro: nickm | 2006-10-03 14:49:54 -0400Nick Mathewson
Fix bug in r8579: TrackHostExits .foo.bar implies TrackHostExits foo.bar; also fix logic error. svn:r8592
2006-10-02 r8850@totoro: nickm | 2006-10-02 17:21:11 -0400Nick Mathewson
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
2006-10-01if we fail to build a circuit to an intended enclave, and it'sRoger Dingledine
not mandatory that we use that enclave, stop wanting it. svn:r8559
2006-09-28 r8973@Kushana: nickm | 2006-09-28 16:53:19 -0400Nick Mathewson
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
2006-09-22 r8895@Kushana: nickm | 2006-09-21 20:05:11 -0400Nick Mathewson
Debug client-side reverse dns code. svn:r8452
2006-09-21 r8881@Kushana: nickm | 2006-09-21 17:27:59 -0400Nick Mathewson
Allow resolve requests to non-exits when they are specifically requested (via resolve foo.bar.exit). svn:r8446
2006-09-21 r8877@Kushana: nickm | 2006-09-21 17:12:33 -0400Nick Mathewson
Consider non-exit servers unsuitable for RESOLVE commands. svn:r8442
2006-09-18good god, that was a bad idea. i've built 500 circuits in the past 5Roger Dingledine
minutes, trying to establish reachability of my unreachable server. svn:r8415