aboutsummaryrefslogtreecommitdiff
path: root/src/or/dns.c
Commit message (Collapse)AuthorAge
* another minor memory leakRoger Dingledine2003-10-18
| | | | | | | make dnsconn->address reflect what it's currently resolving svn:r624
* Stop using stdout for non-debugging casesNick Mathewson2003-10-15
| | | | svn:r592
* change WARNING to WARNRoger Dingledine2003-10-10
| | | | | | | and fix a few typos svn:r571
* wrap strdup; prefer time() to gettimeofday()Roger Dingledine2003-10-04
| | | | svn:r538
* refactor so connection_write_to_buf() never failsRoger Dingledine2003-10-04
| | | | svn:r537
* clean up receiver buckets; prepare for payloads in relay_end; note a few bugsRoger Dingledine2003-09-27
| | | | svn:r502
* connection_new() can't ever failRoger Dingledine2003-09-27
| | | | svn:r497
* first pass: obey log conventionRoger Dingledine2003-09-26
| | | | | | | | | | | | | | | | | | | | | 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
* Refactor buffers; implement descriptors.Nick Mathewson2003-09-25
| | | | | | | | | | | | | | | | | '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
* refactor connects into connection_connect()Roger Dingledine2003-09-16
| | | | svn:r460
* fix the cpuworker circ-had-vanished bug (maybe)Roger Dingledine2003-09-14
| | | | | | | still several (many) tls-related bugs outstanding. svn:r454
* note an assert bug that's still aroundRoger Dingledine2003-08-25
| | | | svn:r417
* implemented cpuworkersRoger Dingledine2003-08-20
| | | | | | | | | | please poke at it and report bugs still needs polishing, and only handles onions now (should handle OR handshakes too) svn:r402
* start refactoring dnsworker so testing won't be so darn hardRoger Dingledine2003-08-14
| | | | | | | | | 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
* bugfix: if a dnsworker dies, remember that.Roger Dingledine2003-08-13
| | | | svn:r396
* Adopt socketpair implementation from perl. For now, always use it.Nick Mathewson2003-08-12
| | | | svn:r389
* use the spawn_func / spawn_exit abstraction for dnsworkersRoger Dingledine2003-08-12
| | | | svn:r388
* Start of port to win32. Missing are:Nick Mathewson2003-08-12
| | | | | | | | | | | | | | | | - 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
* if stream ends before resolve finishes, inform resolverRoger Dingledine2003-06-27
| | | | svn:r359
* entries in the dns cache now expireRoger Dingledine2003-06-25
| | | | | | | | | | (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
* simplify fetch_from_buf; cull idle dnsworkers.Roger Dingledine2003-06-25
| | | | svn:r354
* a pointer to async-dns alternatives.Roger Dingledine2003-06-24
| | | | | | | | 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
* overhaul the dns farm: cut its size in halfRoger Dingledine2003-06-17
| | | | | | | | | | 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
* implement truncate and truncated (untested)Roger Dingledine2003-06-12
| | | | | | | clean up circuit_deliver_relay_cell convention svn:r312
* add circuit-level sendme relay cellsRoger Dingledine2003-05-20
| | | | | | | | | | remove sendme cells replace malloc with tor_malloc patch (but not track down) bug in onion pending list streamline connection_ap handshake svn:r293
* Add magic to end of C files to make emacs happy; split test invocation into ↵Nick Mathewson2003-04-07
| | | | | | separate file. svn:r224
* make servers tolerate the dns bug.Roger Dingledine2003-04-05
| | | | svn:r223
* better comments and a few patchesRoger Dingledine2003-03-04
| | | | svn:r164
* Bugfixes and enhancements in sendmes and dns farmRoger Dingledine2003-02-18
| | | | svn:r161
* bugfix: actually remember the answer in the cache :)Roger Dingledine2003-02-16
| | | | svn:r159
* rudimentary dns caching (of both resolves and resolve failures)Roger Dingledine2003-02-14
| | | | | | | serious performance increase over non-caching svn:r158
* fix endian issues for topics -- they might work on bsd nowRoger Dingledine2003-02-06
| | | | | | | | | (they wouldn't have before) alternate code which bypasses the dns farm, so we can compare speed svn:r154
* make reusing circuits work (and be the default)Roger Dingledine2003-02-06
| | | | | | | performance is better, but not by much. not sure why yet. svn:r153
* major overhaul: dns slave subsystem, topicsRoger Dingledine2003-01-26
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