aboutsummaryrefslogtreecommitdiff
path: root/src/or/relay.c
Commit message (Collapse)AuthorAge
...
* Specify and implement close-stream and close-circuit control messagesNick Mathewson2005-03-22
| | | | svn:r3814
* remove obsolete codeRoger Dingledine2005-03-22
| | | | svn:r3809
* 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
* Raise common code for "detach this stream and try it with a different ↵Nick Mathewson2005-03-14
| | | | | | circuit" into a separate function; make that function handle controller-managed streams right. svn:r3756
* bugfix: now that we don't do the client dns thing, our checksRoger Dingledine2005-03-13
| | | | | | | to see if somebody was contradicting his exit policy were wrong. svn:r3755
* Remove unused macro; add a comment on remaining macros.Nick Mathewson2005-03-11
| | | | svn:r3744
* Fix error codes to work on windowsNick Mathewson2005-03-10
| | | | svn:r3738
* Still more code to make sure we send the right number and kind of RELAY END ↵Nick Mathewson2005-03-02
| | | | | | cells svn:r3723
* Revise all calls to connection_edge_end to avoid sending MISC, and to take ↵Nick Mathewson2005-03-01
| | | | | | errno into account where possible. svn:r3720
* Forward-port new reasons; clean up code more; add code to convert new ↵Nick Mathewson2005-03-01
| | | | | | reasons to SOCKS5 reply codes; add code to convert errnos to reasons. New code still needs to get invoked. svn:r3719
* cache .exit address better (i think)Roger Dingledine2005-02-24
| | | | svn:r3684
* stop a potential overflow (pointed out by ilja)Roger Dingledine2005-02-24
| | | | svn:r3681
* Add a new AddressMap directive to rewrite incoming socks addresses.Roger Dingledine2005-02-22
| | | | | | | | | | 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
* remove redundant unpack in critical pathNick Mathewson2005-02-13
| | | | svn:r3620
* be safe: if you got a resolvefailed end cell but you're not an AP, bail.Roger Dingledine2005-01-30
| | | | svn:r3469
* 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
* clean up string printing in relay logsRoger Dingledine2005-01-06
| | | | svn:r3317
* fix trivial typo in log entryRoger Dingledine2005-01-06
| | | | svn:r3316
* Fix a double-mark-for-close bug, where we were finding a connRoger Dingledine2005-01-01
| | | | | | | | | 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
* clarify a log entryRoger Dingledine2004-12-13
| | | | svn:r3142
* clean up logging,Roger Dingledine2004-12-13
| | | | | | | | | 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
* avoid a sigpipe from a race: if we get the end right afterRoger Dingledine2004-12-07
| | | | | | | the app has hung up on us, we shouldn't hold-open-until-flush. svn:r3109
* 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
* one of the debugging aids was misleadingRoger Dingledine2004-11-28
| | | | svn:r3000
* give up trying to track down the reason we're calling package_inbufRoger Dingledine2004-11-26
| | | | | | | | with a package window of 0. it's safe to just catch the error cases there and do the right thing. svn:r2988
* clean up some more.Roger Dingledine2004-11-21
| | | | | | | i think i'm getting closer. svn:r2931
* some more debugging aidsRoger Dingledine2004-11-21
| | | | svn:r2929
* be more greedy about filling up all relay cells.Roger Dingledine2004-11-21
| | | | | | | | this may have some bugs in it still. and it may end up not being what we want to do. svn:r2928
* clean up socks handling, refuse connections to port 0Roger Dingledine2004-11-15
| | | | svn:r2888
* Rename exit_policy to addr_policy, since it gets used for SOCKS and ↵Nick Mathewson2004-11-12
| | | | | | directory connections too. Make all policies get validated in options_validate, and make SOCKS/directory policies get set in options_act. svn:r2819
* Normalize whitespace; add a "tell me about all the unnormalized whitespace" ↵Nick Mathewson2004-11-09
| | | | | | target; fix a braino in dirserv.c svn:r2758
* 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
* Use a stricter set of warnings; make them all pass.Nick Mathewson2004-11-02
| | | | svn:r2645
* canonicalize "src" and "dest" arg order in crypto.c (and others)Roger Dingledine2004-11-02
| | | | svn:r2644
* don't assert multiple things in the same tor_assert()Roger Dingledine2004-10-16
| | | | svn:r2544
* Build without warnings on mac gcc 3.3Nick Mathewson2004-10-14
| | | | svn:r2487
* more int to size_t conversions, fixing one or more amd64 bugsRoger Dingledine2004-10-14
| | | | | | | plus a whitespace patch on config.c from vicman svn:r2482
* fix assert triggers in 0.0.7.x: if the other side returnsRoger Dingledine2004-08-15
| | | | | | | an address 0.0.0.0, don't put it into the client dns cache. svn:r2233
* o clients choose nodes proportional to advertised bandwidthRoger Dingledine2004-08-15
| | | | | | | | | | 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
* avoid racing the mark-for-close when the client hangs up on usRoger Dingledine2004-08-07
| | | | | | | | at the same time we get an end relay cell. (thanks to wmf for reminding me) svn:r2181
* bugfix: when you finish answering a 'resolve' request, hold theRoger Dingledine2004-08-05
| | | | | | | connection open so you can flush the answer svn:r2148
* don't send an end back for a malformed resolved cell,Roger Dingledine2004-07-23
| | | | | | | since they don't establish streams svn:r2119
* tor-resolve triggered a has_sent_end warningRoger Dingledine2004-07-23
| | | | svn:r2116
* clean whitespace and tabsRoger Dingledine2004-07-22
| | | | svn:r2115
* Implement RESOLVE/RESOLVED cells and socks resolve codeNick Mathewson2004-06-17
| | | | svn:r1978
* bugfix: if a circuit if borderline too old, then count it as too old.Roger Dingledine2004-05-15
| | | | | | | | | 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
* 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