aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Collapse)AuthorAge
* r18195@catbus: nickm | 2008-02-19 14:11:15 -0500Nick Mathewson2008-02-19
| | | | | | | TOR_PERF has not not been a sane thing for ages. Remove it. svn:r13579
* Start choosing which bridge to use proportional to its advertisedRoger Dingledine2008-02-12
| | | | | | | | bandwidth, rather than uniformly at random. This should speed up Tor for bridge users. Also do this for people who set StrictEntryNodes. svn:r13486
* note a simplification for the futureRoger Dingledine2008-02-11
| | | | svn:r13466
* r14102@tombo: nickm | 2008-02-10 13:30:04 -0500Nick Mathewson2008-02-10
| | | | | | | Remove some deadcode. svn:r13459
* doxygen and other cleanupsRoger Dingledine2008-02-09
| | | | svn:r13440
* r14063@tombo: nickm | 2008-02-08 15:48:32 -0500Nick Mathewson2008-02-08
| | | | | | | Add a bunch more code documentation; change the interface of fetch_var_cell_from_buf() so it takes the current link protocol into account and can't get confused by weird command bytes on v1 connections. svn:r13430
* Update some copyright notices: it is now 2008.Nick Mathewson2008-02-07
| | | | svn:r13412
* r17930@catbus: nickm | 2008-02-05 18:20:40 -0500Nick Mathewson2008-02-05
| | | | | | | Initial attempts to track down bug 600, and refactor possibly offending code. 1) complain early if circuit state is set to OPEN when an onionskin is pending. 2) refactor onionskin field into one only used when n_conn is pending, and a separate onionskin field waiting for attention by a cpuworker. This might even fix the bug. More likely, it will make it fail with a more useful core. svn:r13394
* If we're a relay, avoid picking ourselves as an introduction point,Roger Dingledine2008-02-04
| | | | | | | | a rendezvous point, or as the final hop for internal circuits. Bug reported by taranis and lodger. Bugfix on 0.1.2.x. svn:r13372
* r17611@catbus: nickm | 2008-01-14 13:44:16 -0500Nick Mathewson2008-01-14
| | | | | | | add some missing checks for failing return values. svn:r13130
* bugfix on r10612:Roger Dingledine2007-12-24
| | | | | | | | | When we load a bridge descriptor from the cache, and it was previously unreachable, mark it as retriable so we won't just ignore it. Also, try fetching a new copy immediately. svn:r12950
* r15653@tombo: nickm | 2007-12-23 14:15:12 -0500Nick Mathewson2007-12-23
| | | | | | | Refactor circuit_launch* functions to take a bitfield of flags rather than 4 separate nonconsecutive flags arguments. Also, note a possible but in circuit_find_to_cannibalize, which seems to be ignoring its purpose argument. svn:r12948
* Fix a crash when we load a bridge descriptor from disk but we don'tRoger Dingledine2007-12-22
| | | | | | | | currently have a Bridge line for it in our torrc. Bugfix on 0.2.0.12-alpha. svn:r12921
* Fix a crash when we fetch a descriptor that turns out to beRoger Dingledine2007-12-21
| | | | | | | | | unexpected (it used to be in our networkstatus when we started fetching it, but it isn't in our current networkstatus), and we aren't using bridges. Bugfix on 0.2.0.x. svn:r12911
* clean up copyrights, and assign 2007 copyrights to The Tor Project, IncRoger Dingledine2007-12-12
| | | | svn:r12786
* If we can't expand our list of entry guards (e.g. because we'reRoger Dingledine2007-12-10
| | | | | | | | | using bridges or we have StrictEntryNodes set), don't mark relays down when they fail a directory request. Otherwise we're too quick to mark all our entry points down. svn:r12755
* We were ignoring our RelayBandwidthRate for the first 30 secondsRoger Dingledine2007-12-02
| | | | | | | | after opening a circuit -- even relayed circuits. Bugfix on 0.2.0.3-alpha. svn:r12638
* minor cleanupsRoger Dingledine2007-11-26
| | | | svn:r12571
* Only update guard status (usable / not usable) once we haveRoger Dingledine2007-11-26
| | | | | | | | | | enough directory information. This was causing us to always pick two new guards on startup (bugfix on 0.2.0.9-alpha), and it was causing us to discard all our guards on startup if we hadn't been running for a few weeks (bugfix on 0.1.2.x). Fixes bug 448. svn:r12570
* If we're using bridges or have strictentrynodes set, and ourRoger Dingledine2007-11-16
| | | | | | | | chosen exit is in the same family as all our bridges/entry guards, then be flexible about families. svn:r12514
* i'm a little teapot, ...Roger Dingledine2007-11-16
| | | | svn:r12513
* If we're trying to fetch a bridge descriptor and there's no wayRoger Dingledine2007-11-16
| | | | | | | | | the bridge authority could help us (for example, we don't know a digest, or there is no bridge authority), don't be so eager to fall back to asking the bridge authority. svn:r12512
* Fix a small memory leak whenever we decide against using aRoger Dingledine2007-11-15
| | | | | | | newly picked entry guard. Reported by Mike Perry. svn:r12506
* If bridge users set UpdateBridgesFromAuthority, but the digestRoger Dingledine2007-11-04
| | | | | | | | they ask for is a 404 from the bridge authority, they now fall back to trying the bridge directly. svn:r12368
* r16242@catbus: nickm | 2007-10-28 16:28:13 -0400Nick Mathewson2007-10-28
| | | | | | | Implement if-modified-since for consensus networkstatuses so that we do not download duplicates needlessly. svn:r12258
* bugfix on r11298:Roger Dingledine2007-10-11
| | | | | | | | Fix a minor memory leak whenever we parse guards from our state file. Bugfix on 0.2.0.7-alpha. svn:r11862
* i heard that users know the phrase 'system clock' better than 'clock'. hm.Roger Dingledine2007-10-09
| | | | svn:r11820
* r15530@catbus: nickm | 2007-10-04 12:16:27 -0400Nick Mathewson2007-10-04
| | | | | | | Add a bunch of function documentation; clean up a little code; fix some XXXXs; tag the nonsensical EXTRAINFO_PURPOSE_GENERAL as nonsesnse; note another bit of "do not cache special routers" code to nuke. svn:r11761
* Make "UpdateBridgesFromAuthority" torrc option work: when bridgeRoger Dingledine2007-09-21
| | | | | | | | | | | users configure that and specify a bridge with an identity fingerprint, now they will lookup the bridge descriptor at the default bridge authority via a one-hop tunnel, but once circuits are established they will switch to a three-hop tunnel for later connections to the bridge authority. svn:r11550
* r14294@Kushana: nickm | 2007-09-01 13:50:03 -0400Nick Mathewson2007-09-01
| | | | | | | Oops. Initialize "changed" variable when removing obsolete guards. svn:r11346
* r14826@catbus: nickm | 2007-08-29 13:19:55 -0400Nick Mathewson2007-08-29
| | | | | | | Add a line to the state file for each guard to let us know which version added the guard. If the line is absent, assume the guard was added by whatever version of Tor last wrote the state file. Remove guards if the version that added them was using a bad guard selection algorithm. (Previously, we removed guards if the version that wrote the file was using a bad guard selection algorithm, even if the guards themselves were chosen by a good version.) svn:r11298
* r14821@catbus: nickm | 2007-08-27 19:57:56 -0400Nick Mathewson2007-08-28
| | | | | | | Check for absent nickname when making extend info. I still dont know when this happens, but it is easy enough to check for. Fixes bug 467. svn:r11293
* r14200@kushana: nickm | 2007-08-24 08:33:41 -0400Nick Mathewson2007-08-24
| | | | | | | In new code, let's try to prefer named flags to mazes of twisted boolean arguments, all alike. svn:r11267
* patch from mike perry to a) stop overloading guards as much, andRoger Dingledine2007-08-24
| | | | | | | b) raise the max-believable-bandwidth to 10MB/s. svn:r11258
* backport candidate:Roger Dingledine2007-08-22
| | | | | | | | Fix a minor memory leak when we fail to find enough suitable servers to choose a circuit. Bugfix on 0.1.2.x. svn:r11247
* r14659@catbus: nickm | 2007-08-18 14:19:34 -0400Nick Mathewson2007-08-18
| | | | | | | When we are loading state info from disk, never believe any date in the future. Doing so can keep us from retrying guards, rotating onion keys, storing bandwidth info, etc. Fixes bug 434, and others. Backport candidate, once it has been tested. svn:r11166
* Be even more aggressive about separating local traffic from relayedRoger Dingledine2007-07-29
| | | | | | | traffic when RelayBandwidthRate is set. (Refines proposal 111.) svn:r10974
* make progress towards retrying our bridges when they're allRoger Dingledine2007-07-29
| | | | | | | down and we get a new socks request svn:r10967
* r13920@catbus: nickm | 2007-07-26 16:25:25 -0400Nick Mathewson2007-07-26
| | | | | | | whitespace fixes svn:r10935
* r13858@catbus: nickm | 2007-07-22 18:44:02 -0400Nick Mathewson2007-07-22
| | | | | | | Fix/note some relatively trivial mem usage issues svn:r10905
* handle fetching bridge descriptors from the bridge authority too.Roger Dingledine2007-07-22
| | | | svn:r10898
* when requesting tor/server/authority, ask for tor/server/authority.zRoger Dingledine2007-07-21
| | | | | | | | instead. same functionality, saves a bit of bandwidth. and might even work. svn:r10896
* timeout and retry schedules for fetching bridge descriptorsRoger Dingledine2007-07-18
| | | | svn:r10867
* using fascistfirewall and having your bridge on an unreachableRoger Dingledine2007-07-18
| | | | | | | port silently didn't mix. now they loudly don't mix. svn:r10862
* free bridge list on exit; try harder to free buffer freelists on exit.Roger Dingledine2007-07-17
| | | | svn:r10854
* If there's a never-before-connected-to guard node in our list,Roger Dingledine2007-07-02
| | | | | | | | | | | | never choose any guards past it. This way we don't expand our guard list unless we need to. [Bugfix in 0.1.2.x] I'm not sure if this will solve all our problems, but it is at least something. svn:r10730
* if we already have a bridge in our state file, it won't beRoger Dingledine2007-06-15
| | | | | | | | | in the networkstatuses, so we'll mark it unusable when we load it, and then when we get a new routerinfo for it, we'll still think it's unusable. fix that. svn:r10612
* bugfix on r10609: don't fail asserts when closing circuitsRoger Dingledine2007-06-15
| | | | | | | that were connected to an unkeyed connection. svn:r10611
* now we can specify a bridge without specifying its key,Roger Dingledine2007-06-15
| | | | | | | and we will still connect to it and use it. getting closer! svn:r10609
* 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