aboutsummaryrefslogtreecommitdiff
path: root/src/or/main.c
Commit message (Collapse)AuthorAge
* when event_add or event_del fail, tell us why.Roger Dingledine2005-11-26
| | | | | | | (nick, do i have my libevent strerror dance moves correct?) svn:r5462
* "How about 'never'? Does 'never' work for you?"Nick Mathewson2005-11-26
| | | | | | | | | | | | | | | | | Weasel says circuit_get_by_conn is his main timesink. Most of its users were just checking whether OR conns had circuits, so add a circuit count to OR conns, and check that. One was circuit_about_to_close_conn, which was doing an O(n^2) series of calls to get all circs on an OR conn, so make an O(n) function for that. Finally, circuit_get_by_edge_conn was using it as a sanity test that has been around for a while but never found any actualy insanity, so kill that. circuit_get_by_conn is finally dead, which is good, since it was never sane to begin with. svn:r5460
* Dump bytes held to store descriptors.Nick Mathewson2005-11-23
| | | | svn:r5443
* Recover better from TCP connections to Tor servers that are broken butRoger Dingledine2005-11-19
| | | | | | | | | | | | | | | | don't tell you (it happens!); and rotate TLS connections once a week. 1) If an OR conn becomes more than a week old, make it obsolete. 2) If it's obsolete and empty, kill it. 3) When an OR makes a second connection to you, allow it. 4) If we want to send a new create cell, but the best conn we've got is obsolete, and the router is 0.1.1.9-alpha-cvs or later, ask for a new conn instead. 5) When we time out on circuit building on the first hop, make that connection obsolete. svn:r5429
* 15*60 is 15 minutes, not 5Peter Palfrader2005-11-18
| | | | svn:r5424
* Remove ip address change flapping detection. It is not really needed and I ↵Peter Palfrader2005-11-18
| | | | | | do not think it works quite right. svn:r5423
* Make new logging stuff work on windows; fix a couple of windows typos.Nick Mathewson2005-11-15
| | | | svn:r5375
* shorten more of the startup log messagesRoger Dingledine2005-11-14
| | | | svn:r5368
* prevent duplicat mark-for-closeNick Mathewson2005-11-04
| | | | svn:r5347
* enable code to remove members of old_routers when it gets big.Nick Mathewson2005-11-01
| | | | svn:r5345
* Do round-robin writes of at most 16 kB per write. This mightRoger Dingledine2005-10-29
| | | | | | | | be more fair on loaded Tor servers, and it might resolve our Windows crash bug. It might also slow things down. svn:r5332
* Remove last vestiges of old logging interface.Nick Mathewson2005-10-25
| | | | svn:r5317
* Change more files to new loggin interface. 3 left.Nick Mathewson2005-10-25
| | | | svn:r5310
* fix some typosRoger Dingledine2005-10-18
| | | | svn:r5283
* Make a few INFO log lines into DEBUGPeter Palfrader2005-10-17
| | | | svn:r5257
* more log unclutteringRoger Dingledine2005-10-17
| | | | svn:r5254
* start the process of reducing clutter in server logsRoger Dingledine2005-10-17
| | | | svn:r5253
* cut out a warning that doesn't need to warnRoger Dingledine2005-10-16
| | | | svn:r5252
* Try to extract as many descriptors as possible from truncated http ↵Nick Mathewson2005-10-14
| | | | | | responses. (when DIR_PURPOSE_FETCH_ROUTERDESC) svn:r5249
* Check if our IP address has changed every 5 minutes. If it has, update our ↵Peter Palfrader2005-10-12
| | | | | | server descriptor, but not too often svn:r5246
* Once an hour (not just on startup) give OpenSSL some more entropy.Nick Mathewson2005-10-06
| | | | | | | | Add entropy in 512-bit chunks, not 160-bit chunks. (This latter change is voodoo.) svn:r5211
* Rate-limit warnings related to unrecognized MyFamily elements.Nick Mathewson2005-10-05
| | | | svn:r5204
* call circuit_expire_all_dirty_circs() on do_hup().Roger Dingledine2005-10-05
| | | | | | | there, now we use it. svn:r5202
* replace former relaunches of directory downloads with reset of failure count ↵Nick Mathewson2005-10-05
| | | | | | and relaunch of status downloads. Fix memory leak in trusted_dir_server_t. Reset "last download attempted" time when resetting failure counts. svn:r5195
* size_t int printf muckingRoger Dingledine2005-10-05
| | | | svn:r5194
* Note the two places where clients will still try to fetch old-style (v1) ↵Nick Mathewson2005-10-05
| | | | | | directory info. These should be fixed, I think. svn:r5193
* reset warning flags on SIGHUP. arma: is this everything?Nick Mathewson2005-10-05
| | | | svn:r5192
* Fix verbose compiler warnings, including one in routerlist.c that would have ↵Nick Mathewson2005-10-05
| | | | | | been an actual error. Normalize whitespace. Enforce convention that "address" is a hostname and "addr" is an IPv4 address. svn:r5190
* Give a less frequent and more helpful warning on failed serverdesc downloadsNick Mathewson2005-10-05
| | | | svn:r5187
* When we get an EOF or a timeout on a directory connection, note how many ↵Nick Mathewson2005-10-04
| | | | | | bytes of serverdesc we are dropping. This will help us determine whether it is smart to parse incomplete serverdesc responses. svn:r5186
* Reorganize some quick-and-dirty code to find out what openssl stuff is ↵Nick Mathewson2005-10-03
| | | | | | leaking, using dmalloc. svn:r5178
* free helper node status info on shutdownNick Mathewson2005-09-30
| | | | svn:r5177
* Try to hunt down a few more leaksNick Mathewson2005-09-30
| | | | svn:r5172
* Never call free() on tor_malloc()d memory. This is unlikely to be our ↵Nick Mathewson2005-09-30
| | | | | | current leak, but it may help dmalloc work. svn:r5168
* Reformat inconsistent function declarations.Nick Mathewson2005-09-30
| | | | svn:r5160
* better cleanups as i figure out what's going onRoger Dingledine2005-09-29
| | | | svn:r5154
* Decouple router downloads from old directory downloads entirelyNick Mathewson2005-09-23
| | | | svn:r5128
* Fix logic error (people who ask authorities should never split; others ↵Nick Mathewson2005-09-23
| | | | | | should always split). Also, fix timing error in main.c so retries really happen. svn:r5127
* Fix at least one overzealous download bug. (tor_malloc_zero new ↵Nick Mathewson2005-09-23
| | | | | | local_routerstatus_t objs); add a pile of logs back in; probe every 10sec; never autolaunch on failure. Let us see if this works better. svn:r5125
* I love the smell of C in the morning. Make router-download rules smarter ↵Nick Mathewson2005-09-22
| | | | | | (download more so long as we dont duplicate existing requests; relaunch at staggered intervals); relaunch one a minute or on failure; reset 60 minutes; always open 3 requests if we can; add authority opinion to networkstatus; make naming rule correct. There is a remaining bug where we retry servers too quickly; We need to look at that harder. svn:r5110
* Refactor new directory code a bit. Keep a big list of rolled-up router ↵Nick Mathewson2005-09-18
| | | | | | status info, including # of download failures (not yet used). Update this list from networkstatuses when they arrive, then update routers from this list. Only download 128 routers at a time, to avoid gargantuan URLs. svn:r5089
* Resolve/expand some XXXXs and improve a log message or twoNick Mathewson2005-09-16
| | | | svn:r5082
* make some functions static; clean dead networkstatus entries more often.Nick Mathewson2005-09-15
| | | | svn:r5072
* Stop downloading directories and download routers instead. This still needs ↵Nick Mathewson2005-09-15
| | | | | | some work, but at last clients are finally on the new architecture. Next comes the tuning and bugfixing. svn:r5070
* Fix a bunch of log messages. Deprecate some routerlist fields; remove ↵Nick Mathewson2005-09-14
| | | | | | others, and status_set_at from routerinfo_t. Compress routerlist.c cleanup functions. Update cached networkstatus mtime when we download the same one twice. Change some interfaces. svn:r5068
* Big commit: clients start downloading and using network-statuses.Nick Mathewson2005-09-14
| | | | | | | | | | | | | | | | | | | | | Only caches need to get running-routers; nobody needs to parse, store, or use it. Same for the router-status line in the directories. Add many #if 0's that can get removed once I'm convinced they don't contain anything I'm forgetting. Start all newly-parsed routers as non-running and non-valid; update them from the list of network statuses. Update all routers when a new networkstatus comes in. After 3 tries for a networkstatus, clients give up until they're told to try again. "Let's get those missles ready to **DESTROY THE UNIVERSE**!" -TMBG svn:r5063
* Add new config.c function to set options that can fail, and roll back if ↵Nick Mathewson2005-09-14
| | | | | | they do. This should solve the setconf-an-impossible-port bug. svn:r5046
* Only caches download network-status for now, and they use a different ↵Nick Mathewson2005-09-08
| | | | | | strategy. Add an element to connection_t to remember what we are downloading, and a function to recognize our own fingerprint. svn:r4944
* Download network-status at regular intervals. The code is probably iffy, and ↵Nick Mathewson2005-09-08
| | | | | | the constants need to be renamed. svn:r4921
* More stuff for new directories.Nick Mathewson2005-09-07
| | | | | | | | | | | | | | | | | | | | | | - Distinguish v1 authorities (all currently trusted directories) from v2 authorities (all trusted directories). - Add configuration option for which dirs are v1 authories. - Add configuration option for whether to be a v1 authority. - Make trusted dirserver selection functions take options to choose which functionality we need. - Remove option when getting directory cache to see whether they support running-routers; they all do now. Replace it with one to see whether caches support v2 stuff. - Parse, cache, and serve network-status objects properly. - Serve compressed groups of router descriptors. The compression logic here could be more memory-efficient. - svn:r4911