aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
Commit message (Expand)AuthorAge
* when returning a list of circuits, don't return a list of the same•••conn over and over. that's really bad for memory. svn:r5463 Roger Dingledine2005-11-28
* "How about 'never'? Does 'never' work for you?"•••Weasel says circuit_get_by_conn is his main timesink. Most of its users were just checking whether OR conns had circuits, so add a circuit count to OR conns, and check that. One was circuit_about_to_close_conn, which was doing an O(n^2) series of calls to get all circs on an OR conn, so make an O(n) function for that. Finally, circuit_get_by_edge_conn was using it as a sanity test that has been around for a while but never found any actualy insanity, so kill that. circuit_get_by_conn is finally dead, which is good, since it was never sane to begin with. svn:r5460 Nick Mathewson2005-11-26
* Start the process of treating internal circuits and exit circuits•••separately. It's important to keep them separate because internal circuits have their last hops picked like middle hops, rather than like exit hops. So exiting on them will break the user's expectations. - Stop cannibalizing internal circuits for general exits, and stop cannibalizing exit circuits for rendezvous stuff. - Don't let new exit streams attach to internal circuits. - When deciding if we have enough circuits for internal and for exit, don't count the wrong ones. - Treat predicted resolves as predicted port 80 exits. svn:r5457 Roger Dingledine2005-11-25
* Replace balanced trees with hash tables: this should make stuff significantly...•••svn:r5441 Nick Mathewson2005-11-23
* misc cleanups•••svn:r5428 Roger Dingledine2005-11-19
* remove some redundant (and misleading) code•••svn:r5425 Roger Dingledine2005-11-19
* speed up the lookup-by-circid-orconn now that it seems that•••our code works. svn:r5358 Roger Dingledine2005-11-11
* when we were cannibalizing a circuit with a particular exit•••node in mind, we weren't checking to see if that exit node was already present earlier in the circuit. oops. svn:r5357 Roger Dingledine2005-11-11
* make circ->onionskin a pointer, not a static array. moria2 was using•••125000 circuit_t's after it had been up for a few weeks, which translates to 20+ megs of wasted space. svn:r5333 Roger Dingledine2005-10-29
* Remove last vestiges of old logging interface.•••svn:r5317 Nick Mathewson2005-10-25
* fix another segv, this time in circid fix.•••svn:r5312 Nick Mathewson2005-10-25
* Efficiency hack: call tor_fix_source_file late, not early. Add "BUG" domain....•••svn:r5309 Nick Mathewson2005-10-25
* Fix one possible source of reuse-a-circuit-id bug; convert circuitbuild to ne...•••svn:r5301 Nick Mathewson2005-10-24
* Update more files to new log stuff.•••svn:r5286 Nick Mathewson2005-10-18
* fix some typos•••svn:r5283 Roger Dingledine2005-10-18
* fix a few comments•••svn:r5262 Roger Dingledine2005-10-17
* Using RAND_pseudo_bytes instead of RAND_bytes is an accident waiting to happe...•••svn:r5210 Nick Mathewson2005-10-06
* infrastructure for the 'change pseudonym' button.•••not used yet. svn:r5199 Roger Dingledine2005-10-05
* Reformat inconsistent function declarations.•••svn:r5160 Nick Mathewson2005-09-30
* suppress all our usual compiler warnings, including a longstanding one from t...•••svn:r5149 Nick Mathewson2005-09-29
* Be consistent about preferring foo* to struct foo*•••svn:r4637 Nick Mathewson2005-07-22
* remove pointless XXXX. It was there to remind me to do something I already did.•••svn:r4557 Nick Mathewson2005-07-14
* trivial changes on nick's rendezvous commit•••svn:r4553 Roger Dingledine2005-07-14
* fix another compile warn•••svn:r4516 Roger Dingledine2005-07-01
* Logic to implement rendezvous/introduction via unknown servers.•••- 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 Nick Mathewson2005-06-29
* Implement all the rest of the new controller protocol, debug a little, add so...•••svn:r4460 Nick Mathewson2005-06-19
* Docment or add DOCDOC comments to undocumented functions in src/or. Make fun...•••svn:r4411 Nick Mathewson2005-06-11
* Change end-of-file NLNL convention. It turns out arma I and I agree.•••svn:r4382 Nick Mathewson2005-06-09
* New whitespace normalization rule: no blank line at EOF.•••svn:r4378 Nick Mathewson2005-06-09
* first iteration of scrubbing sensitive strings from logs.•••also generally clean up log messages. svn:r4174 Roger Dingledine2005-05-03
* New and frightening code to implement fast-path first-hop CREATE_FAST cells. ...•••svn:r4162 Nick Mathewson2005-05-02
* Fixs a signed/unsigned comparison•••svn:r4055 Nick Mathewson2005-04-08
* Add missing "char"•••svn:r4054 Nick Mathewson2005-04-08
* Improve conn_*_to_string; add circuit_state_to_string; make skewed-descriptor...•••svn:r4047 Nick Mathewson2005-04-07
* Try RB_TREE instead of SPLAY_TREE, but with a single-entry caching optimization.•••svn:r4041 Nick Mathewson2005-04-07
* Make compare_orconn_circid_entries marginally faster and inlined, if that helps•••svn:r4040 Nick Mathewson2005-04-07
* Rename circuit_get_by_stream to circuit_get_by_edge_conn, and actually start ...•••svn:r4026 Nick Mathewson2005-04-06
* Add a pointer from edge connections to their corresponding circuit (ulp!); ad...•••svn:r4024 Nick Mathewson2005-04-06
* Hopefully, this will make ORs much faster, and not break them: keep a big spl...•••svn:r4020 Nick Mathewson2005-04-06
* clean up the circuit-mark-for-close patch•••svn:r3994 Roger Dingledine2005-04-03
* Move most of *_mark_for_close out of macros.•••svn:r3992 Nick Mathewson2005-04-03
* update copyright notices.•••svn:r3982 Nick Mathewson2005-04-01
* resolve another 'hasn't sent end yet' bug•••svn:r3911 Roger Dingledine2005-03-29
* Add a magic value to cpath_layer_t to make sure that we can tell valid cpaths...•••svn:r3831 Nick Mathewson2005-03-23
* clean up and refactor some more•••svn:r3798 Roger Dingledine2005-03-22
* Implement controller's "extendcircuit" directive.•••Also refactor circuit building so we plan the whole path ahead of time. svn:r3797 Roger Dingledine2005-03-22
* if our clock jumps forward by 100 seconds or more, assume something•••has gone wrong with our network and abandon all not-yet-used circs. svn:r3792 Roger Dingledine2005-03-19
* Commit fixes for several pending tor core tasks: document all DOCDOCed functi...•••svn:r3769 Nick Mathewson2005-03-17
* Implement the common case of ATTACHSTREAM.•••svn:r3751 Nick Mathewson2005-03-12
* Still more code to make sure we send the right number and kind of RELAY END c...•••svn:r3723 Nick Mathewson2005-03-02