aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
Commit message (Collapse)AuthorAge
* speed up the lookup-by-circid-orconn now that it seems thatRoger Dingledine2005-11-11
| | | | | | | our code works. svn:r5358
* when we were cannibalizing a circuit with a particular exitRoger Dingledine2005-11-11
| | | | | | | | node in mind, we weren't checking to see if that exit node was already present earlier in the circuit. oops. svn:r5357
* make circ->onionskin a pointer, not a static array. moria2 was usingRoger Dingledine2005-10-29
| | | | | | | | 125000 circuit_t's after it had been up for a few weeks, which translates to 20+ megs of wasted space. svn:r5333
* Remove last vestiges of old logging interface.Nick Mathewson2005-10-25
| | | | svn:r5317
* fix another segv, this time in circid fix.Nick Mathewson2005-10-25
| | | | svn:r5312
* Efficiency hack: call tor_fix_source_file late, not early. Add "BUG" ↵Nick Mathewson2005-10-25
| | | | | | domain. Domains are now bitmasks... just in case. Make some err msgs non-general. svn:r5309
* Fix one possible source of reuse-a-circuit-id bug; convert circuitbuild to ↵Nick Mathewson2005-10-24
| | | | | | new logging svn:r5301
* Update more files to new log stuff.Nick Mathewson2005-10-18
| | | | svn:r5286
* fix some typosRoger Dingledine2005-10-18
| | | | svn:r5283
* fix a few commentsRoger Dingledine2005-10-17
| | | | svn:r5262
* Using RAND_pseudo_bytes instead of RAND_bytes is an accident waiting to ↵Nick Mathewson2005-10-06
| | | | | | happen, and does not really speed us up much when we do it. So stop doing it. svn:r5210
* infrastructure for the 'change pseudonym' button.Roger Dingledine2005-10-05
| | | | | | | not used yet. svn:r5199
* Reformat inconsistent function declarations.Nick Mathewson2005-09-30
| | | | svn:r5160
* suppress all our usual compiler warnings, including a longstanding one from ↵Nick Mathewson2005-09-29
| | | | | | tree.h svn:r5149
* Be consistent about preferring foo* to struct foo*Nick Mathewson2005-07-22
| | | | svn:r4637
* remove pointless XXXX. It was there to remind me to do something I already did.Nick Mathewson2005-07-14
| | | | svn:r4557
* trivial changes on nick's rendezvous commitRoger Dingledine2005-07-14
| | | | svn:r4553
* 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