aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
Commit message (Collapse)AuthorAge
* fix another compile warnRoger Dingledine2005-07-01
| | | | svn:r4516
* Logic to implement rendezvous/introduction via unknown servers.Nick Mathewson2005-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new extend_info_t datatype to hold information needed to extend a circuit (addr,port,keyid,onion_key). Use it in cpath and build_state. Make appropriate functions take or return it instead of routerinfo_t or keyid. - #if 0 needless check in circuit_get_by_edge_conn; if nobody triggers this error in 0.1.0.10, nobody will trigger it. - Implement new hidden service descriptor format, which contains "extend info" for introduction points, along with protocol version list. - Parse new format. - Generate new format - Cache old and new formats alongside each other. - Directories serve "old" format if asked in old way, "newest available" format if asked in new way. - Use new format to find introduction points if possible; otherwise fall back. Keep nickname lists and extendinfo lists in sync. - Tests for new format. - Implement new "v2" INTRODUCE cell format. - Accept new format - Use new format if we have a versioned service descriptor that says the server accepts the new format. - Add documentation for functions and data types. svn:r4506
* Implement all the rest of the new controller protocol, debug a little, add ↵Nick Mathewson2005-06-19
| | | | | | some new features, add ADDRMAP events. svn:r4460
* Docment or add DOCDOC comments to undocumented functions in src/or. Make ↵Nick Mathewson2005-06-11
| | | | | | function definition format uniform. svn:r4411
* Change end-of-file NLNL convention. It turns out arma I and I agree.Nick Mathewson2005-06-09
| | | | svn:r4382
* New whitespace normalization rule: no blank line at EOF.Nick Mathewson2005-06-09
| | | | svn:r4378
* first iteration of scrubbing sensitive strings from logs.Roger Dingledine2005-05-03
| | | | | | | also generally clean up log messages. svn:r4174
* New and frightening code to implement fast-path first-hop CREATE_FAST cells. ↵Nick Mathewson2005-05-02
| | | | | | Watch out when we bump the version to 0.1.0.6-rc! svn:r4162
* Fixs a signed/unsigned comparisonNick Mathewson2005-04-08
| | | | svn:r4055
* Add missing "char"Nick Mathewson2005-04-08
| | | | svn:r4054
* Improve conn_*_to_string; add circuit_state_to_string; make ↵Nick Mathewson2005-04-07
| | | | | | skewed-descriptor messages better. svn:r4047
* Try RB_TREE instead of SPLAY_TREE, but with a single-entry caching optimization.Nick Mathewson2005-04-07
| | | | svn:r4041
* Make compare_orconn_circid_entries marginally faster and inlined, if that helpsNick Mathewson2005-04-07
| | | | svn:r4040
* Rename circuit_get_by_stream to circuit_get_by_edge_conn, and actually start ↵Nick Mathewson2005-04-06
| | | | | | using it. Watch out, kids! svn:r4026
* Add a pointer from edge connections to their corresponding circuit (ulp!); ↵Nick Mathewson2005-04-06
| | | | | | add some debugging sanity-checking for cirid_orconn_map stuff svn:r4024
* Hopefully, this will make ORs much faster, and not break them: keep a big ↵Nick Mathewson2005-04-06
| | | | | | splay tree of (circid,orconn)->circuit mappings to make circuit_get_by_circid_conn much faster. svn:r4020
* clean up the circuit-mark-for-close patchRoger Dingledine2005-04-03
| | | | svn:r3994
* Move most of *_mark_for_close out of macros.Nick Mathewson2005-04-03
| | | | svn:r3992
* update copyright notices.Nick Mathewson2005-04-01
| | | | svn:r3982
* resolve another 'hasn't sent end yet' bugRoger Dingledine2005-03-29
| | | | svn:r3911
* Add a magic value to cpath_layer_t to make sure that we can tell valid ↵Nick Mathewson2005-03-23
| | | | | | cpaths from freed ones. I audited this once; it could use another audit. svn:r3831
* clean up and refactor some moreRoger Dingledine2005-03-22
| | | | svn:r3798
* Implement controller's "extendcircuit" directive.Roger Dingledine2005-03-22
| | | | | | | | Also refactor circuit building so we plan the whole path ahead of time. svn:r3797
* if our clock jumps forward by 100 seconds or more, assume somethingRoger Dingledine2005-03-19
| | | | | | | has gone wrong with our network and abandon all not-yet-used circs. svn:r3792
* Commit fixes for several pending tor core tasks: document all DOCDOCed ↵Nick Mathewson2005-03-17
| | | | | | functions; time out uncontrolled unattached streams; feed reasons to SOCKS5 (refactoring connection_ap_handshake_socks_reply in the process); change DirFetchPeriod/StatusFetchPeriod to have a special "Be smart" value. svn:r3769
* Implement the common case of ATTACHSTREAM.Nick Mathewson2005-03-12
| | | | svn:r3751
* Still more code to make sure we send the right number and kind of RELAY END ↵Nick Mathewson2005-03-02
| | | | | | cells svn:r3723
* Free even more things on shutdown. Temporarily move tor_free_all out from ↵Nick Mathewson2005-02-11
| | | | | | #ifdef so it gets tested more. svn:r3614
* 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