aboutsummaryrefslogtreecommitdiff
path: root/src/or/relay.c
Commit message (Expand)AuthorAge
...
* Specify and implement close-stream and close-circuit control messages•••svn:r3814 Nick Mathewson2005-03-22
* remove obsolete code•••svn:r3809 Roger Dingledine2005-03-22
* Commit fixes for several pending tor core tasks: document all DOCDOCed functi...•••svn:r3769 Nick Mathewson2005-03-17
* Raise common code for "detach this stream and try it with a different circuit...•••svn:r3756 Nick Mathewson2005-03-14
* bugfix: now that we don't do the client dns thing, our checks•••to see if somebody was contradicting his exit policy were wrong. svn:r3755 Roger Dingledine2005-03-13
* Remove unused macro; add a comment on remaining macros.•••svn:r3744 Nick Mathewson2005-03-11
* Fix error codes to work on windows•••svn:r3738 Nick Mathewson2005-03-10
* Still more code to make sure we send the right number and kind of RELAY END c...•••svn:r3723 Nick Mathewson2005-03-02
* Revise all calls to connection_edge_end to avoid sending MISC, and to take er...•••svn:r3720 Nick Mathewson2005-03-01
* Forward-port new reasons; clean up code more; add code to convert new reasons...•••svn:r3719 Nick Mathewson2005-03-01
* cache .exit address better (i think)•••svn:r3684 Roger Dingledine2005-02-24
* stop a potential overflow (pointed out by ilja)•••svn:r3681 Roger Dingledine2005-02-24
* Add a new AddressMap directive to rewrite incoming socks addresses.•••Add a new TrackHostExits directive to trigger addressmaps for certain incoming socks addresses, for sites that break when your exit keeps changing. Redo the client-side dns cache so it's just an addressmap too. svn:r3641 Roger Dingledine2005-02-22
* remove redundant unpack in critical path•••svn:r3620 Nick Mathewson2005-02-13
* be safe: if you got a resolvefailed end cell but you're not an AP, bail.•••svn:r3469 Roger Dingledine2005-01-30
* Introduce a notion of 'internal' circs, which are chosen without regard•••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 Roger Dingledine2005-01-17
* clean up string printing in relay logs•••svn:r3317 Roger Dingledine2005-01-06
* fix trivial typo in log entry•••svn:r3316 Roger Dingledine2005-01-06
* Fix a double-mark-for-close bug, where we were finding a conn•••for a cell even if that conn is already marked for close. Don't back-port to 0.0.9.x, since this fix could have weird implications. svn:r3235 Roger Dingledine2005-01-01
* clarify a log entry•••svn:r3142 Roger Dingledine2004-12-13
* clean up logging,•••make it clearer which warns are bugs, make the control log event match its specification, point out a bug in how we deal with failure when renewing the tls context. svn:r3138 Roger Dingledine2004-12-13
* avoid a sigpipe from a race: if we get the end right after•••the app has hung up on us, we shouldn't hold-open-until-flush. svn:r3109 Roger Dingledine2004-12-07
* Suggestion from weasel: Make tor --version --version dump the cvs Id of every...•••svn:r3019 Nick Mathewson2004-11-29
* wrong is ok, and right is fine, but in between is apparently•••totally unacceptable to me. svn:r3005 Roger Dingledine2004-11-28
* Normalize space: add one between every control keyword and control clause.•••svn:r3003 Nick Mathewson2004-11-28
* one of the debugging aids was misleading•••svn:r3000 Roger Dingledine2004-11-28
* give up trying to track down the reason we're calling package_inbuf•••with a package window of 0. it's safe to just catch the error cases there and do the right thing. svn:r2988 Roger Dingledine2004-11-26
* clean up some more.•••i think i'm getting closer. svn:r2931 Roger Dingledine2004-11-21
* some more debugging aids•••svn:r2929 Roger Dingledine2004-11-21
* be more greedy about filling up all relay cells.•••this may have some bugs in it still. and it may end up not being what we want to do. svn:r2928 Roger Dingledine2004-11-21
* clean up socks handling, refuse connections to port 0•••svn:r2888 Roger Dingledine2004-11-15
* Rename exit_policy to addr_policy, since it gets used for SOCKS and directory...•••svn:r2819 Nick Mathewson2004-11-12
* Normalize whitespace; add a "tell me about all the unnormalized whitespace" t...•••svn:r2758 Nick Mathewson2004-11-09
* Clean up copyrights.•••Break connection_consider_empty_buckets() out of connection_read_bucket_decrement(). svn:r2698 Roger Dingledine2004-11-07
* Make options no longer a global variable.•••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 Roger Dingledine2004-11-06
* Use a stricter set of warnings; make them all pass.•••svn:r2645 Nick Mathewson2004-11-02
* canonicalize "src" and "dest" arg order in crypto.c (and others)•••svn:r2644 Roger Dingledine2004-11-02
* don't assert multiple things in the same tor_assert()•••svn:r2544 Roger Dingledine2004-10-16
* Build without warnings on mac gcc 3.3•••svn:r2487 Nick Mathewson2004-10-14
* more int to size_t conversions, fixing one or more amd64 bugs•••plus a whitespace patch on config.c from vicman svn:r2482 Roger Dingledine2004-10-14
* fix assert triggers in 0.0.7.x: if the other side returns•••an address 0.0.0.0, don't put it into the client dns cache. svn:r2233 Roger Dingledine2004-08-15
* o clients choose nodes proportional to advertised bandwidth•••o and/or while avoiding unreliable nodes, depending on goals o 'fascistfirewall' option to pick dirservers on port 80 and ORs on port 443. o if a begin failed due to exit policy, but we believe the IP should have been allowed, switch that router to exitpolicy reject *:* until we get our next directory. svn:r2231 Roger Dingledine2004-08-15
* avoid racing the mark-for-close when the client hangs up on us•••at the same time we get an end relay cell. (thanks to wmf for reminding me) svn:r2181 Roger Dingledine2004-08-07
* bugfix: when you finish answering a 'resolve' request, hold the•••connection open so you can flush the answer svn:r2148 Roger Dingledine2004-08-05
* don't send an end back for a malformed resolved cell,•••since they don't establish streams svn:r2119 Roger Dingledine2004-07-23
* tor-resolve triggered a has_sent_end warning•••svn:r2116 Roger Dingledine2004-07-23
* clean whitespace and tabs•••svn:r2115 Roger Dingledine2004-07-22
* Implement RESOLVE/RESOLVED cells and socks resolve code•••svn:r1978 Nick Mathewson2004-06-17
* bugfix: if a circuit if borderline too old, then count it as too old.•••bugfix: we were retrying the same circuit after getting a resolve failure. so of course the next two tries would fail too. now we try a new circuit each time (at most three times). svn:r1867 Roger Dingledine2004-05-15
* Break files apart into more modules••• * \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 Roger Dingledine2004-05-13