aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
Commit message (Collapse)AuthorAge
* fix another rogue connection_free that was causing us troublesRoger Dingledine2005-01-31
| | | | | | | there are no doubt more lurking. svn:r3478
* make cannibalizing for rend circs prey on the pleb circs firstRoger Dingledine2005-01-19
| | | | | | | if possible, rather than the elite ones. svn:r3378
* Introduce a notion of 'internal' circs, which are chosen without regardRoger Dingledine2005-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the exit policy of the last hop. Intro and rendezvous circs must be internal circs, to avoid leaking information. Resolve and connect streams can use internal circs if they want. New circuit pooling algorithm: make sure to have enough circs around to satisfy any predicted ports, and also make sure to have 2 internal circs around if we've required internal circs lately (with high uptime if we've seen that lately). Split NewCircuitPeriod config option into NewCircuitPeriod (30 secs), which describes how often we retry making new circuits if current ones are dirty, and MaxCircuitDirtiness (10 mins), which describes how long we're willing to make use of an already-dirty circuit. Once rendezvous circuits are established, keep using the same circuit as long as you attach a new stream to it at least every 10 minutes. (So web browsing doesn't require you to build new rend circs every 30 seconds.) Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND circ as necessary, if there are any completed ones lying around when we try to launch one. Re-instate the ifdef's to use version-0 style introduce cells, since there was yet another bug in handling version-1 style. We'll try switching over again after 0.0.9 is obsolete. Bugfix: when choosing an exit node for a new non-internal circ, don't take into account whether it'll be useful for any pending x.onion addresses -- it won't. Bugfix: we weren't actually publishing the hidden service descriptor when it became dirty. So we only published it every 20 minutes or so, which means when you first start your Tor, the hidden service will seem broken. svn:r3360
* Suggestion from weasel: Make tor --version --version dump the cvs Id of ↵Nick Mathewson2004-11-29
| | | | | | every file. svn:r3019
* wrong is ok, and right is fine, but in between is apparentlyRoger Dingledine2004-11-28
| | | | | | | totally unacceptable to me. svn:r3005
* Normalize space: add one between every control keyword and control clause.Nick Mathewson2004-11-28
| | | | svn:r3003
* remove emacs droppings, since nick says he doesn't need them anymoreRoger Dingledine2004-11-26
| | | | svn:r2989
* Resolve FIXME items: make circuit_free_cpath_node staticNick Mathewson2004-11-10
| | | | svn:r2792
* Clean up copyrights.Roger Dingledine2004-11-07
| | | | | | | | Break connection_consider_empty_buckets() out of connection_read_bucket_decrement(). svn:r2698
* Make options no longer a global variable.Roger Dingledine2004-11-06
| | | | | | | | | Now we can try setting an option but back out if it fails to parse, or if it's disallowed (e.g. changing RunAsDaemon from 1 to 0). Use parse_line_from_str rather than parse_line_from_file. svn:r2692
* - Implement all of control interface except authentication, setconfig,Nick Mathewson2004-11-03
| | | | | | | | | and actually making the sockets. - Make sure that identity-based nicknames start with $. - Use new string_join interface. svn:r2661
* Tricksy compiler warnings! We hates them, hates them forever, my precious!Nick Mathewson2004-10-27
| | | | svn:r2615
* fix wrong commentRoger Dingledine2004-10-24
| | | | svn:r2585
* various tweaks and fixesRoger Dingledine2004-10-16
| | | | svn:r2548
* fix the stale pointer assert bug reported by joe magicRoger Dingledine2004-10-11
| | | | svn:r2436
* prefer tor_free to freeRoger Dingledine2004-09-29
| | | | | | | plus complain more loudly when we fail to parse a dir we just fetched svn:r2401
* fix a seg fault when you try to launch a circRoger Dingledine2004-07-03
| | | | svn:r2002
* More digest/nickname fixesNick Mathewson2004-07-02
| | | | svn:r2000
* some of the infrastructure to let ORs connect on demandRoger Dingledine2004-07-02
| | | | svn:r1998
* bugfix: while closing a circuit, we were freeing the conns that wereRoger Dingledine2004-06-02
| | | | | | | pending resolve, but not removing them from the pending resolve list svn:r1933
* when the dns resolve is cancelled, or fails, be sure to removeRoger Dingledine2004-05-21
| | | | | | | | | conn from circ->resolving_streams otherwise it gets freed and stays there, causing seg faults. svn:r1915
* Tighten assert_cpath_layer_ok assumptionsNick Mathewson2004-05-19
| | | | svn:r1904
* Resolve some XXXsNick Mathewson2004-05-18
| | | | svn:r1889
* assert_cpath_ok has always been brokenRoger Dingledine2004-05-13
| | | | | | | re-disable it. svn:r1864
* Break files apart into more modulesRoger Dingledine2004-05-13
* \file circuitbuild.c * \brief The actual details of building circuits. * \file circuitlist.c * \brief Manage the global circuit list. * \file circuituse.c * \brief Launch the right sort of circuits, attach streams to them. * \file connection_edge.c * \brief Handle edge streams. * \file onion.c * \brief Functions to queue create cells, and handle onionskin * parsing and creation. * \file relay.c * \brief Handle relay cell encryption/decryption, plus packaging and * receiving from circuits. svn:r1863