aboutsummaryrefslogtreecommitdiff
path: root/src/or/main.c
Commit message (Collapse)AuthorAge
* 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
* non-buggy robustness, evenRoger Dingledine2003-06-24
| | | | svn:r353
* improve robustness: connection_get_by_* ignores conns marked for closeRoger Dingledine2003-06-24
| | | | svn:r352
* Remove false warnings from printf checksNick Mathewson2003-06-21
| | | | svn:r340
* question for nick about daemonizingRoger Dingledine2003-06-18
| | | | svn:r334
* Change many files to new log_fn formatNick Mathewson2003-06-17
| | | | svn:r333
* 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
* Add RNG seedingNick Mathewson2003-06-13
| | | | svn:r318
* OPport is gone. So is conn type OP.Roger Dingledine2003-05-28
| | | | svn:r298
* 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
* work on versioning; new log_fn functionNick Mathewson2003-05-09
| | | | svn:r288
* make router_dump_token only for debugging; clean backslashesRoger Dingledine2003-05-09
| | | | svn:r287
* more debugging on build_directoryNick Mathewson2003-05-09
| | | | svn:r281
* more debugging on build_directoryNick Mathewson2003-05-09
| | | | svn:r280
* Thats the letter I and the number 2. (Apologies to Negativland)Nick Mathewson2003-05-09
| | | | svn:r279
* Get directories working.Nick Mathewson2003-05-08
| | | | | | | | | | | | | | | | | | | | Or at least, directories get generated, signed, download, and checked, with nobody seeming to crash. In config/*, added 'signing-key' blocks to dirservers and routers.or, so that everyone will know about the directories' signing keys. In or/directory.c, refrained from using a dirserver's signing key when no such key is known; added more debugging output. In or/main.c, added debugging output and fixed a few logic errors. In or/routers.c, added debugging output and prevented a segfault on routers_resolve_directory. The interleaving of arrays and lists on routerinfo_t is still messy, but at least it seems to work again. svn:r278
* Call the right signed-directory functions; try to describe the difference ↵Nick Mathewson2003-05-08
| | | | | | between everything; remove some unused interfaces svn:r276
* sign directories with the signing keyRoger Dingledine2003-05-07
| | | | svn:r274
* Tested backends for directory signing and checking. Directory parser ↵Nick Mathewson2003-05-07
| | | | | | completely refactored. Need documentation and integration. Explanitory mail forthcoming. svn:r271
* fix double-semicolon parse errorRoger Dingledine2003-05-07
| | | | svn:r270
* More work on directories. Signed directories not yet tested. No support for ↵Nick Mathewson2003-05-07
| | | | | | checking sigs yet svn:r268
* Refactor directories; add unit tests; add router keywordNick Mathewson2003-05-06
| | | | svn:r266
* incremental path building in; uses ephemeral DH; onions are goneRoger Dingledine2003-05-05
| | | | | | | still need to change circuit-level sendmes svn:r264
* cpath is now a doubly linked list, not an arrayRoger Dingledine2003-05-01
| | | | svn:r260
* bugfix: only close old circuits if they have no connections!Roger Dingledine2003-04-18
| | | | svn:r251
* Factor out timeval-related functions.Nick Mathewson2003-04-16
| | | | svn:r237
* divorce circuit building from user connectionsRoger Dingledine2003-04-16
| | | | | | | | now we rebuild the circuit periodically (but only if it's been used), and we can further abstract it to do incremental circuit building, etc. svn:r233
* put most of the remaining exit policy stuff inRoger Dingledine2003-04-08
| | | | | | | route selection still doesn't pay attention to exit policies though svn:r227
* Add magic to end of C files to make emacs happy; split test invocation into ↵Nick Mathewson2003-04-07
| | | | | | separate file. svn:r224
* greatly simplify this notion of 'roles':Roger Dingledine2003-03-18
| | | | | | | | if your ORPort is non-zero then you must connect to all nodes if your DirPort is non-zero then you must act like a directory server svn:r192
* Add daemon logicNick Mathewson2003-03-17
| | | | svn:r185
* Make ACI anti-collision logic work; make sure that cells are filled with 0s.Nick Mathewson2003-03-11
| | | | svn:r176
* lazy (just in time) directory rebuildingRoger Dingledine2003-03-11
| | | | svn:r174
* clean up prepare_for_poll() so it's fastRoger Dingledine2003-03-06
| | | | svn:r167
* better comments and a few patchesRoger Dingledine2003-03-04
| | | | svn:r164
* rudimentary dns caching (of both resolves and resolve failures)Roger Dingledine2003-02-14
| | | | | | | serious performance increase over non-caching svn:r158
* 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
* use a rbtree for replay detection, rather than linear searchRoger Dingledine2002-12-31
| | | | | | | | when we had lots of new onions coming in, we were using 40% of our time searching through the tracked_onions linked list. svn:r150
* create cells are now queued and processed only when idleRoger Dingledine2002-11-27
| | | | | | | | | | | we also queue data cells destined for a circuit that is pending, and process them once the circuit opens destroys reach into the queue and remove the pending onion, along with its collected data cells svn:r142
* per-second cell statistics to help with profilingRoger Dingledine2002-11-24
| | | | svn:r140
* added OnionsPerSecond to prevent create floodingRoger Dingledine2002-11-23
| | | | | | | first cut, probably needs more playing with svn:r137
* remove popt dependency, consolidate config stuffRoger Dingledine2002-11-23
| | | | | | | reformat parts of onion.c svn:r136
* expire unfinished handshakes tooRoger Dingledine2002-10-13
| | | | | | | don't list non-open ORs in the directory svn:r134
* cleanup and a variety of bugfixesRoger Dingledine2002-10-02
| | | | svn:r132
* preemptive bugfixRoger Dingledine2002-10-02
| | | | svn:r129
* introduced a periodic keepalive padding cellRoger Dingledine2002-10-01
| | | | | | | | | now tor can be run safely inside nat'ed areas that kill idle connections; and the proxy can handle when you suspend your laptop and then emerge hours later from a new domain. svn:r125
* catch hup to reload directory/router listRoger Dingledine2002-09-28
| | | | svn:r121
* cleanupRoger Dingledine2002-09-28
| | | | | | | | | | prkey is only fetched when it's needed tor nodes who aren't dirservers now fetch directories and autoconnect to new nodes listed in the directory default role is a non-dirserver node svn:r120
* dirserver should include itself in the directoryRoger Dingledine2002-09-26
| | | | | | | if connecting to a dirserver fails, remove it from the router array svn:r113
* directory servers in and functionalRoger Dingledine2002-09-26
| | | | | | | | proxies now periodically pull down an hourly-updated directory, and replace their router list with it if it parses correctly. svn:r112