aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_edge.c
Commit message (Expand)AuthorAge
...
* Addressmap tweak: Make "addressmap x x" remove any mapping from the address x.•••svn:r3666 Nick Mathewson2005-02-23
* Change from inet_ntoa to a threadproof tor_inet_ntoa.•••svn:r3656 Nick Mathewson2005-02-22
* make the addressmap internals less noisy•••svn:r3643 Roger Dingledine2005-02-22
* 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
* forward-port some fixes•••svn:r3631 Roger Dingledine2005-02-17
* Fix another crash bug found by Jaroslaw--it is possible for dns_resolve to ma...•••svn:r3623 Nick Mathewson2005-02-14
* Add more functions to free things to help dmalloc allong.•••svn:r3613 Nick Mathewson2005-02-10
* Avoid double-free on tor-resolve failure•••svn:r3567 Nick Mathewson2005-02-05
* Fix tor-resolve implementation to prevent crashes and send resolves when we s...•••svn:r3561 Nick Mathewson2005-02-05
* forward-port the logic skew and double-free thing•••svn:r3549 Roger Dingledine2005-02-04
* reject odd-looking addresses at the client, rather than having•••the server drop them because they're malformed. svn:r3493 Roger Dingledine2005-02-01
* define TOR_FRAGILE if you want tor to give you a core when•••something goes wrong. this should only be used by people actively tracking bugs. svn:r3487 Roger Dingledine2005-02-01
* stop a sigpipe.•••apparently when we get an eof, at least sometimes it *does* mean you'd better not try writing. svn:r3481 Roger Dingledine2005-01-31
* forward-port the dns and maxconn fixes•••svn:r3448 Roger Dingledine2005-01-28
* 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
* get rid of 0.0.8 backwards compatibility•••svn:r3353 Roger Dingledine2005-01-13
* Make Tor use Niels Provos's libevent instead of it's current•••poll-but-sometimes-select mess. This will let us use faster async cores (like epoll, kpoll, and /dev/poll), and hopefully work better on Windows too. There are some fairly nasty changes to main.c here; this will almost certainly break something. But hey, that's what alphas are for. svn:r3341 Nick Mathewson2005-01-12
* don't connection_edge_end() on eof if we're already marked for close,•••because if we are then it's because we already got an end. svn:r3223 Roger Dingledine2004-12-24
* 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
* resolve tequila's crash bug: you can't free something•••and then keep using it. svn:r3117 Roger Dingledine2004-12-07
* fix the other half of the pipe race•••svn:r3111 Roger Dingledine2004-12-07
* answer resolved ip in network order•••svn:r3087 Roger Dingledine2004-12-06
* avoid using uninitialized variable•••svn:r3086 Roger Dingledine2004-12-06
* don't use cache for resolving .foo.exit names, but do reply immediately•••if we're asked to resolve an IP.foo.exit. svn:r3085 Roger Dingledine2004-12-06
* fix indenting•••svn:r3084 Roger Dingledine2004-12-06
* check if we have a cached resolve for a tor-resolve address *after*•••we remove the .foo.exit part of the address. svn:r3082 Roger Dingledine2004-12-05
* New circuit building strategy: keep a list of ports that we've used in ...•••that will handle each such port. (We can extend this to include addresses if exit policies shift to require that.) Seed us with port 80 so web browsers won't complain that Tor is "slow to start up". This was necessary because our old circuit building strategy just involved counting circuits, and as time went by we would build up a big pile of circuits that had peculiar exit policies (e.g. only exit to 9001-9100) which would take up space in the circuit pile but never get used. Fix router_compare_addr_to_addr_policy: it was not treating a port of * as always matching, so we were picking reject *:* nodes as exit nodes too. If you haven't used a clean circuit in an hour, throw it away, just to be on the safe side. This means after 6 hours a totally unused Tor client will have no circuits open. svn:r3078 Roger Dingledine2004-12-05
* Now we allow writing to the buffer even when the stream if marked for•••close, if we're planning to wait to flush it. This is important because we were sending a socks reject back if we're closing and hadn't already sent one, but it wasn't actually getting written since the conn was already marked-for-close. svn:r3074 Roger Dingledine2004-12-04
* React to eof immediately on non-open edge connections.•••Stop keeping track of num_retries for apconns, since they expire after 60 seconds anyway. When warning about retrying or giving up, print the address, so the user knows which one it's talking about. svn:r3073 Roger Dingledine2004-12-04
* bugfix: When we were checking to see if an ap_conn should time out•••waiting for its connected cell, we were calculating time from when the ap_conn was created. So if it waited say 20 seconds before being attached, then we would immediately decide that the circuit had timed out. Also, make circuit_dump_by_conn() display actual circuit progress, including circuits that haven't been attached to the conn yet but hope to when it finishes connecting. svn:r3072 Roger Dingledine2004-12-04
* Add function to check that addr_policy_t is okay; change struct addr_policy_t...•••svn:r3070 Nick Mathewson2004-12-04
* clean up the other "Tell Roger" log that dfc keeps getting•••svn:r3042 Roger Dingledine2004-11-30
* Let resolve conns retry/expire also, rather than sticking around forever.•••Put the check-if-requested-exitrouter-will-reject-us code in the circuit_attach loop, so it gets checked periodically and not just once at the beginning. This is useful in case the routerlist changes, but also in case the address gets resolved into something that we learn we'll reject. svn:r3039 Roger Dingledine2004-11-30
* refuse .exit addresses immediately if the requested node would•••refuse the request (e.g. due to exit policy or wrong version) svn:r3038 Roger Dingledine2004-11-30
* Fix last patch•••svn:r3031 Nick Mathewson2004-11-30
* Rename parse_address to parse_extended_hostname (since we have other kinds of...•••svn:r3029 Nick Mathewson2004-11-30
* 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
* make tor-resolve work, uh, more. this time for sure!•••svn:r2974 Roger Dingledine2004-11-24
* make tor-resolve work again•••svn:r2973 Roger Dingledine2004-11-24
* bugfix: let socks do multiple rounds of negotiation again•••(which is needed for socks5) svn:r2970 Roger Dingledine2004-11-24
* Normalize a few more kinds of whitespace. We now dislike:••• - func (args) - if (x){ This doesn't normalize if(x), for(x); while(x), and friends. svn:r2943 Nick Mathewson2004-11-22
* The crowning bugfix.•••The problem was that with high load, circuit package window was reaching 0. Whenever we got a circuit-level sendme, we were reading a lot on each socket, but only writing out a bit. So we would eventually reach eof. This would be noticed and acted on even when there are still bytes sitting in the inbuf. svn:r2932 Roger Dingledine2004-11-21
* break reached_eof() out of process_inbuf()•••svn:r2930 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
* allow StrictEntryNode and StrictExitNode to be singular•••svn:r2922 Roger Dingledine2004-11-20