aboutsummaryrefslogtreecommitdiff
path: root/src/or/dns.c
Commit message (Expand)AuthorAge
* make end relay cells have payloads•••move default exit policy into config files svn:r653 Roger Dingledine2003-10-22
* send the end cell when we realize we're going to end,•••not when we're closing the stream. this lets us put a payload in the end cell if we want to, to describe why we're closing the stream. there are still some places where we don't send the end cell immediately. i need to track them down. but it's a low priority, since i've made it send the end cell when we close the stream if we haven't already sent it. svn:r640 Roger Dingledine2003-10-21
* another minor memory leak•••make dnsconn->address reflect what it's currently resolving svn:r624 Roger Dingledine2003-10-18
* Stop using stdout for non-debugging cases•••svn:r592 Nick Mathewson2003-10-15
* change WARNING to WARN•••and fix a few typos svn:r571 Roger Dingledine2003-10-10
* wrap strdup; prefer time() to gettimeofday()•••svn:r538 Roger Dingledine2003-10-04
* refactor so connection_write_to_buf() never fails•••svn:r537 Roger Dingledine2003-10-04
* clean up receiver buckets; prepare for payloads in relay_end; note a few bugs•••svn:r502 Roger Dingledine2003-09-27
* connection_new() can't ever fail•••svn:r497 Roger Dingledine2003-09-27
* first pass: obey log convention•••ERR is if something fatal just happened WARNING is something bad happened, but we're still running. The bad thing is either a bug in the code, an attack or buggy protocol/implementation of the remote peer, etc. The operator should examine the bad thing and try to correct it. (No error or warning messages should be expected. I expect most people to run on -l warning eventually.) NOTICE is never ever used. INFO means something happened (maybe bad, maybe ok), but there's nothing you need to (or can) do about it. DEBUG is for everything louder than INFO. svn:r486 Roger Dingledine2003-09-26
* Refactor buffers; implement descriptors.•••'buf_t' is now an opaque type defined in buffers.c . Router descriptors now include all keys; routers generate keys as needed on startup (in a newly defined "data directory"), and generate their own descriptors. Descriptors are now self-signed. Implementation is not complete: descriptors are never published; and upon receiving a descriptor, the directory doesn't do anything with it. At least "routers.or" and orkeygen are now obsolete, BTW. svn:r483 Nick Mathewson2003-09-25
* refactor connects into connection_connect()•••svn:r460 Roger Dingledine2003-09-16
* fix the cpuworker circ-had-vanished bug (maybe)•••still several (many) tls-related bugs outstanding. svn:r454 Roger Dingledine2003-09-14
* note an assert bug that's still around•••svn:r417 Roger Dingledine2003-08-25
* implemented cpuworkers•••please poke at it and report bugs still needs polishing, and only handles onions now (should handle OR handshakes too) svn:r402 Roger Dingledine2003-08-20
* start refactoring dnsworker so testing won't be so darn hard•••add NumCpus config variable in preparation for cpuworkers hardcode /etc/torrc path for config (simplifies win32 port) improve exit policy debugging during router entry parsing svn:r397 Roger Dingledine2003-08-14
* bugfix: if a dnsworker dies, remember that.•••svn:r396 Roger Dingledine2003-08-13
* Adopt socketpair implementation from perl. For now, always use it.•••svn:r389 Nick Mathewson2003-08-12
* use the spawn_func / spawn_exit abstraction for dnsworkers•••svn:r388 Roger Dingledine2003-08-12
* Start of port to win32. Missing are:••• - signal support - forking for DNS farm - changes for async IO - daemonizing In other words, some files still don't build, and the ones that do build, do nonblocking IO incorrectly. I'm also not checking in the project files till I have a good place for them. svn:r380 Nick Mathewson2003-08-12
* if stream ends before resolve finishes, inform resolver•••svn:r359 Roger Dingledine2003-06-27
* entries in the dns cache now expire••• (expiry time set to 100 seconds so we can play with it) exit connections are now informed when pending resolves fail we kill off the oldest busy worker when we're under attack and need to resolve something new svn:r356 Roger Dingledine2003-06-25
* simplify fetch_from_buf; cull idle dnsworkers.•••svn:r354 Roger Dingledine2003-06-25
* a pointer to async-dns alternatives.•••apparently glibc 2.2.4 and windows both have async gethostbynames now. we'll want to make use of them if they're available (via autoconf). svn:r347 Roger Dingledine2003-06-24
* overhaul the dns farm: cut its size in half•••i've eliminated the master dns process, so now the workers just act like regular connections and are handled by the normal pollarray. everything seems to still work. ;) svn:r327 Roger Dingledine2003-06-17
* implement truncate and truncated (untested)•••clean up circuit_deliver_relay_cell convention svn:r312 Roger Dingledine2003-06-12
* add circuit-level sendme relay cells•••remove sendme cells replace malloc with tor_malloc patch (but not track down) bug in onion pending list streamline connection_ap handshake svn:r293 Roger Dingledine2003-05-20
* Add magic to end of C files to make emacs happy; split test invocation into s...•••svn:r224 Nick Mathewson2003-04-07
* make servers tolerate the dns bug.•••svn:r223 Roger Dingledine2003-04-05
* better comments and a few patches•••svn:r164 Roger Dingledine2003-03-04
* Bugfixes and enhancements in sendmes and dns farm•••svn:r161 Roger Dingledine2003-02-18
* bugfix: actually remember the answer in the cache :)•••svn:r159 Roger Dingledine2003-02-16
* rudimentary dns caching (of both resolves and resolve failures)•••serious performance increase over non-caching svn:r158 Roger Dingledine2003-02-14
* fix endian issues for topics -- they might work on bsd now•••(they wouldn't have before) alternate code which bypasses the dns farm, so we can compare speed svn:r154 Roger Dingledine2003-02-06
* make reusing circuits work (and be the default)•••performance is better, but not by much. not sure why yet. svn:r153 Roger Dingledine2003-02-06
* major overhaul: dns slave subsystem, topics•••on startup, it forks off a master dns handler, which forks off dns slaves (like the apache model). slaves as spawned as load increases, and then reused. excess slaves are not ever killed, currently. implemented topics. each topic has a receive window in each direction at each edge of the circuit, and sends sendme's at the data level, as per before. each circuit also has receive windows in each direction at each hop; an edge sends a circuit-level sendme as soon as enough data cells have arrived (regardless of whether the data cells were flushed to the exit conns). removed the 'connected' cell type, since it's now a topic command within data cells. at the edge of the circuit, there can be multiple connections associated with a single circuit. you find them via the linked list conn->next_topic. currently each new ap connection starts its own circuit, so we ought to see comparable performance to what we had before. but that's only because i haven't written the code to reattach to old circuits. please try to break it as-is, and then i'll make it reuse the same circuit and we'll try to break that. svn:r152 Roger Dingledine2003-01-26