aboutsummaryrefslogtreecommitdiff
path: root/src/or/router.c
Commit message (Expand)AuthorAge
* balance the reachability testing so a smidgen of it happens•••every 10 seconds. this way we don't try to do 500 tls's at once every 20 minutes. svn:r5763 Roger Dingledine2006-01-10
* remove typo•••svn:r5757 Roger Dingledine2006-01-08
* Fix bug where OPs would try to generate descriptor and crash.•••svn:r5738 Nick Mathewson2006-01-06
* Bugfix: dyndns tor servers were needing to wait 18 hours before they•••could start doing reachability testing using the new IP address and ports. This is because we were using the internal descriptor to learn what to test, yet we were only rebuilding the descriptor once we decided we were reachable. svn:r5723 Roger Dingledine2006-01-03
* Bite the bullet and limit all our source lines to 80 characters, the way IBM ...•••svn:r5582 Nick Mathewson2005-12-14
* when we changed from log_fn to debug/info/notice/warn/err,•••we screwed up the formatting in wild and unpredictable ways. fix it before it becomes convention to format logs in wild and unpredictable ways. still need to do src/common/ someday. svn:r5551 Roger Dingledine2005-12-10
* remove some functions that are not used; #if0 out some files that are not lik...•••svn:r5471 Nick Mathewson2005-11-30
* Rename connection_get_by_identity_digest to reflect that it is OR-only. Make...•••svn:r5469 Nick Mathewson2005-11-30
* Recover better from TCP connections to Tor servers that are broken but•••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 Roger Dingledine2005-11-19
* Remove ip address change flapping detection. It is not really needed and I d...•••svn:r5423 Peter Palfrader2005-11-18
* On directory servers, old_routers was wasting hundreds of bytes per supersede...•••svn:r5349 Nick Mathewson2005-11-05
* more doc cleanups and reorganizing•••svn:r5336 Roger Dingledine2005-11-01
* Remove last vestiges of old logging interface.•••svn:r5317 Nick Mathewson2005-10-25
* Convert circuituse, command, config, connection, relay, router, test to new l...•••svn:r5308 Nick Mathewson2005-10-25
* Use LD_BUG as appropriate; convert rend* and router* to new logging interface...•••svn:r5302 Nick Mathewson2005-10-24
* Avoid potential infinite recursion when building a descriptor•••svn:r5292 Nick Mathewson2005-10-24
* Refactor routerlist access slightly: always use router_get_by_routerlist(); c...•••svn:r5276 Nick Mathewson2005-10-18
* Downgrade a few INFO level logs to DEBUG again. Also add two or three new•••logs in cases where a calling function's log was downgraded and we wouldn't get any log message otherwise. svn:r5263 Peter Palfrader2005-10-17
* start calling it *ListenAddress rather than *BindAddress,•••since none of our users know what it means to bind an address or port. svn:r5260 Roger Dingledine2005-10-17
* Check if our IP address has changed every 5 minutes. If it has, update our s...•••svn:r5246 Peter Palfrader2005-10-12
* Do not check whether DirPort is reachable when we are suppressing it because ...•••svn:r5235 Nick Mathewson2005-10-12
* you can't declare variables in the middle of a block•••svn:r5214 Roger Dingledine2005-10-07
* Make doxygen marginally happier•••svn:r5208 Nick Mathewson2005-10-06
* Rate-limit warnings related to unrecognized MyFamily elements.•••svn:r5204 Nick Mathewson2005-10-05
* Check for named servers when looking them up by nickname;•••warn when we'recalling a non-named server by its nickname; don't warn twice about the same name. Fix a bug in routers_update_status_from_networkstatus that made nearly all clients never update routerinfo_t.is_named. Try to list MyFamily elements by key, not by nickname. Only warn about names that we generated ourself, or got from the local user. On TLS handshake, only check the other router's nickname against its expected nickname if is_named is set. svn:r5185 Nick Mathewson2005-10-04
* link nicknames to trusted directory servers; log these nicknames when mention...•••svn:r5184 Nick Mathewson2005-10-04
* we were leaking some memory every time the client changes IPs•••svn:r5165 Roger Dingledine2005-09-30
* resolve a docdoc•••svn:r5157 Roger Dingledine2005-09-30
* re-enable dirport testing again•••(still need the other half, to notice when it has worked.) svn:r5152 Roger Dingledine2005-09-29
* Be more conservative about whether to advertise our dirport.•••The main change is to not advertise if we're running at capacity and either a) we could hibernate or b) our capacity is low and we're using a default dirport. svn:r5148 Roger Dingledine2005-09-29
* make the numbers in read-history and write-history into uint64s,•••so they don't overflow and publish negatives in the descriptor. fixes bug 193. svn:r5119 Roger Dingledine2005-09-23
* simplify•••svn:r5081 Roger Dingledine2005-09-16
* correct "your server is reachable" log entries to indicate that it was•••self-testing that told us so. svn:r5034 Roger Dingledine2005-09-13
* Numerous changes to move towards client-side v2 directories.•••connection.c: - Add some more connection accessor functions to make directory download redundancy checking work. directory.c, or.h, router.c, routerlist.c: - Start on logic to note when networkstatus downloads fail. dirserv.c, routerlist.c, routerparse.c: - Start maintaining an is_named field in routerstatus_t. Don't actually look at it yet. dirserv.c, routerlist.c: - Remove expired networkstatus objects. or.h: - Make some booleans into bitfields - Add prototypes routerlist.c: - Sort networkstatus list by publication time - Function to remove old (older than 10 days) networkstatus objects. - Function to set a list of routerinfo_ts' status info from the current set of networkstatus objects. - Function to tell which routerinfos we need to download based no the current set of networkstatus objects. - Do not launch a networkstatus download if a redundant one is in progress. routerparse.c: - Keep router entries in networkstatus sorted by digest. svn:r5012 Nick Mathewson2005-09-12
* Only caches download network-status for now, and they use a different strateg...•••svn:r4944 Nick Mathewson2005-09-08
* dirserv_add_descriptor() doesn't chew up its argument anymore,•••so we can stop protecting it. svn:r4919 Roger Dingledine2005-09-08
* strip obsolete code•••svn:r4918 Roger Dingledine2005-09-08
* More stuff for new directories.•••- 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 Nick Mathewson2005-09-07
* if you're an auth dir server, start yourself out as verified.•••svn:r4907 Roger Dingledine2005-09-03
* when we think a router is unreachable, pass the message back to the•••server's logs, and make it a 'warn'. also, fix a memory leak for rejected router descriptors. svn:r4889 Roger Dingledine2005-08-31
* refactor -- no actual changes•••svn:r4885 Roger Dingledine2005-08-30
* fix compile complaints (and a bug)•••svn:r4862 Roger Dingledine2005-08-26
* No need to load cached directory twice•••svn:r4860 Nick Mathewson2005-08-26
* Clean up the "add myself as a trusted dirserver" code.•••svn:r4849 Nick Mathewson2005-08-26
* Add quotes around filenames in src/or•••svn:r4845 Nick Mathewson2005-08-26
* Add some documentation; move the signature generation logic into routerparse....•••svn:r4840 Nick Mathewson2005-08-26
* Make a new AssumeReachable config option that will publish anyway.•••Also, let authdirservers start without setting their Address field. Something is still not working though. Will fix in morning. svn:r4839 Roger Dingledine2005-08-26
* Start implementing the server side of the new directory protocol.•••Probably very buggy, since I can't actually run an authdir. Features - Generate and publish new network-status format - Code to cache and re-serve network-status objects generated by others. - Publish individual descriptors (by fingerprint, by "all", and by "tell me yours.") [Still needs compression logic] - Publish client and server recommended versions seprately. - Add digest of descriptor to routerinfo_t, so we can track them better, and length, so we can server them more easily. Cleanups - Unify code to sign directory-like things - Make resolve_my_address() able to tell you which name it wound up resolving. - Unify code to store and serve directory-like things so it all uses cached_dir_t. - Unify code to set the value of cached_dir_t objects. svn:r4835 Nick Mathewson2005-08-25
* be much more conservative about logging reachability complaints.•••the ones it logs now are probably genuine problem servers. svn:r4832 Roger Dingledine2005-08-24
* Dirservers now do their own external reachability testing of each•••Tor server, and only list them as running if they've been found to be reachable. Dirservers also log trouble servers, but only start complaining loudly after they've been up for an hour, to reduce false positives. We still need to do something about the fact that it is quite loud when there are many trouble servers. svn:r4829 Roger Dingledine2005-08-24