aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendclient.c
Commit message (Expand)AuthorAge
* Handle unavailable hidden services better. We try each intro point•••until none are left, then we try to refetch the descriptor. If it's the same one we had before, then close streams right then. Whenever a new stream arrives, even if it's right after, optimistically try refetching the descriptor, just in case. svn:r3379 Roger Dingledine2005-01-19
* bugfix for cvs: we were needing a rendezvous circ, so we cannibalized•••a general circ, and called rend_client_rendcirc_has_opened(), which called connection_ap_attach_pending(), which was needing a rendezvous circ, so it cannibalized a general circuit, and called ... svn:r3370 Roger Dingledine2005-01-19
* 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
* start generating version 1 style introduce cells•••svn:r3352 Roger Dingledine2005-01-13
* Use correct logic to decide whether there are more directory servers to retry.•••svn:r3257 Nick Mathewson2005-01-03
* clean two more minor memory leaks•••svn:r3115 Roger Dingledine2004-12-07
* Spell-check strings and comments•••svn:r3052 Nick Mathewson2004-12-01
* Suggestion from weasel: Make tor --version --version dump the cvs Id of every...•••svn:r3019 Nick Mathewson2004-11-29
* put in initial support for ".nickname.exit" addresses, to let alice•••decide what exit node to use; based on a patch by geoff goodell. needs more work: e.g. it goes bananas building new circuits when the chosen exit node's exit policy rejects the connection. svn:r3015 Roger Dingledine2004-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
* remove emacs droppings, since nick says he doesn't need them anymore•••svn:r2989 Roger Dingledine2004-11-26
* 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
* Resolve a bunch of FIXME items; mark a lot more for attention; ask for clarif...•••svn:r2808 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
* canonicalize "src" and "dest" arg order in crypto.c (and others)•••svn:r2644 Roger Dingledine2004-11-02
* Hidden service operators had a bug in version 1 style INTRODUCE cells•••that made them fail. Fix the bug, and revert clients to use version 0 until 0.0.9pre4 is obsolete. svn:r2641 Roger Dingledine2004-11-01
* start generating new version of introduce1 cells•••svn:r2586 Roger Dingledine2004-10-24
* 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
* better warn message for failed hidserv desc fetch•••svn:r2412 Roger Dingledine2004-10-03
* More digest/nickname fixes•••svn:r2000 Nick Mathewson2004-07-02
* 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
* clean up directory.c API•••svn:r1860 Roger Dingledine2004-05-12
* break connection_edge_end out of connection_mark_for_close•••svn:r1858 Roger Dingledine2004-05-12
* Make some functions static•••svn:r1857 Nick Mathewson2004-05-12
* More doxygenation.•••svn:r1832 Nick Mathewson2004-05-10
* more doxygen markup•••plenty more remains svn:r1824 Roger Dingledine2004-05-09
* Comments for nearly all non-tricky files•••svn:r1796 Nick Mathewson2004-05-05
* use tor_assert•••remove obsolete BUF_OK macro svn:r1697 Roger Dingledine2004-04-25
* when you get an intro ack, don't also count it as an intro nack•••svn:r1666 Roger Dingledine2004-04-18
* if an intro circ waiting for an ack dies before getting one, then•••count it as a nack svn:r1665 Roger Dingledine2004-04-18
* fix another rare bug: when we had tried all the intro•••points for a hidden service, we fetched the descriptor again, but we left our introcirc thinking it had already sent an intro, so it kept waiting for a response... svn:r1644 Roger Dingledine2004-04-16
* more useful logging for rend services and clients•••svn:r1641 Roger Dingledine2004-04-16
* i was wrong about one of my invariants•••now it's commented this should fix asserts when you try an intro point, get a nack, and try a second one and it works. svn:r1637 Roger Dingledine2004-04-16
* put in an extra assert, might find a bug these way•••svn:r1636 Roger Dingledine2004-04-16
* make rendezvous points work again•••(yay. now time to mess them up again.) svn:r1619 Roger Dingledine2004-04-14
* remove unused variable•••svn:r1615 Roger Dingledine2004-04-13
* let introcircs receive acks. rend streams now deal correctly again.•••(i think) svn:r1614 Roger Dingledine2004-04-13
* clean up circuit rebuilding some; fix some bugs we hadn't hit yet•••svn:r1606 Roger Dingledine2004-04-13
* Handle the rendezvous-circ elements of retrying introductions.•••svn:r1604 Nick Mathewson2004-04-13
* <arma> you should make r and i and use r for r and i for i•••svn:r1603 Nick Mathewson2004-04-13
* Handle introduce naks. Arma: Is this right?•••svn:r1602 Nick Mathewson2004-04-13
* Get the rest of intro-ack/nak handling in ... except for the tricky "pick a n...•••svn:r1601 Nick Mathewson2004-04-13
* ACK/NAK INTRODUCE1 requests. (We do no useful processing on them yet)•••svn:r1597 Nick Mathewson2004-04-12
* bugfix: alice would crash if bob advertised 0 intro points•••svn:r1559 Roger Dingledine2004-04-08
* Use CIRCUIT_IS_ORIGIN in favor of boolean circ->cpath•••svn:r1555 Nick Mathewson2004-04-08
* clean up rend_client_get_random_intro•••svn:r1552 Roger Dingledine2004-04-08