Nick Mathewson [Sat, 20 Oct 2007 23:48:35 +0000 (23:48 +0000)]
r15989@catbus: nickm | 2007-10-20 19:48:29 -0400
Fix implementation of sdmap_size and rimap_size() and eimap_size(). Nobody was using them, so no backport needed.
Nick Mathewson [Fri, 19 Oct 2007 20:48:46 +0000 (20:48 +0000)]
r15974@catbus: nickm | 2007-10-19 16:47:27 -0400
When we decode to use consensus method 2 or later, compute Unnamed and Named more or less as described in 122. Don't actually use consensus method 2 yet, so we can be sure we didn't screw up v1..
Nick Mathewson [Fri, 19 Oct 2007 18:56:30 +0000 (18:56 +0000)]
r15968@catbus: nickm | 2007-10-19 14:39:51 -0400
Implement code to compute which method to use to compute a consensus. Also, fix leak in consensus calculation.
Nick Mathewson [Fri, 19 Oct 2007 18:56:28 +0000 (18:56 +0000)]
r15967@catbus: nickm | 2007-10-19 14:14:47 -0400
Change meaning of "freefn" argument to smartlist_uniq so that we can remove duplicates from a list without freeing them.
Nick Mathewson [Fri, 19 Oct 2007 16:41:32 +0000 (16:41 +0000)]
r15961@catbus: nickm | 2007-10-19 12:40:15 -0400
Learn the difference between "mismatched vote digest" and "mismatched vote times": the latter is more informative.
Nick Mathewson [Fri, 19 Oct 2007 02:15:47 +0000 (02:15 +0000)]
r15939@catbus: nickm | 2007-10-18 22:14:15 -0400
Remember the valid-until time of the most recent consensus that listed
a router, and (if we are a cache) never delete the routerdesc until
that conensus is expired. This is way easier than retaining multiple
consensuses. (Of course, the info isn't retained across restarts,
but that only affects a few caches at a time.)
Peter Palfrader [Fri, 19 Oct 2007 00:29:16 +0000 (00:29 +0000)]
Call routers_update_all_from_networkstatus() from router_reload_consensus_networkstatus() so that we warn about old versions when we startup Tor, not when we fetch the next consensus document
Nick Mathewson [Thu, 18 Oct 2007 19:51:14 +0000 (19:51 +0000)]
r15934@catbus: nickm | 2007-10-18 15:32:56 -0400
When we have plenty of directory information, don't try to launch descriptor downloads quite so eagerly.
Nick Mathewson [Thu, 18 Oct 2007 14:58:45 +0000 (14:58 +0000)]
r15919@catbus: nickm | 2007-10-18 10:57:47 -0400
Add a log message to router_remove_old_routers to try to figure out why peacetime has such a big cache.
Nick Mathewson [Thu, 18 Oct 2007 14:27:42 +0000 (14:27 +0000)]
r15915@catbus: nickm | 2007-10-18 10:26:44 -0400
Stop incessant notices about when we think the expected valid-after time should be, if we are not an authority.
Nick Mathewson [Thu, 18 Oct 2007 14:19:56 +0000 (14:19 +0000)]
r15907@catbus: nickm | 2007-10-18 10:18:53 -0400
Fix up logic for choosing the time at which to download a consensus: Never attempt it when the current consensus is still the most recent.
Nick Mathewson [Thu, 18 Oct 2007 11:50:20 +0000 (11:50 +0000)]
r15899@catbus: nickm | 2007-10-18 07:49:15 -0400
"if (!router_get_trusted_dirservers())" is a bad test: router_get_trusted_dirservers() always returns a list. Instead, check for whether the list is empty.
Nick Mathewson [Wed, 17 Oct 2007 21:47:28 +0000 (21:47 +0000)]
r15891@catbus: nickm | 2007-10-17 17:46:40 -0400
Apply changes to rend-spec.txt from Karsten's proposal-114 work. Points that need to be clarified are marked with a [XXXX].
Nick Mathewson [Wed, 17 Oct 2007 21:26:22 +0000 (21:26 +0000)]
r15887@catbus: nickm | 2007-10-17 17:25:32 -0400
When a networkstatus consensus download fails, do not wait 60 seconds to decide whether to retry. (Also, log the time at which we'll try to replace the current networkstatus.)
Nick Mathewson [Wed, 17 Oct 2007 19:23:56 +0000 (19:23 +0000)]
r15882@catbus: nickm | 2007-10-17 15:23:05 -0400
oprofile was telling me that a fair bit of our time in openssl was spent in base64_decode, so replace base64_decode with an all-at-once fairly optimized implementation. For decoding keys and digests, it seems 3-3.5x faster than calling out to openssl. (Yes, I wrote it from scratch.)
Nick Mathewson [Wed, 17 Oct 2007 16:55:44 +0000 (16:55 +0000)]
r15877@catbus: nickm | 2007-10-17 12:54:56 -0400
Make unverified-consensus get removed when it is accepted or rejected. Make a new get_datadir_fname*() set of functions to eliminate the common code of "get the options, get the datadir, append some stuff".
Nick Mathewson [Mon, 15 Oct 2007 23:44:32 +0000 (23:44 +0000)]
r15809@catbus: nickm | 2007-10-15 19:44:13 -0400
Do not call the more interesting parts of routers_update_all_from_networkstatus if there is no live networkstatus.
Nick Mathewson [Mon, 15 Oct 2007 23:15:24 +0000 (23:15 +0000)]
r15806@catbus: nickm | 2007-10-15 19:14:57 -0400
Implement v3 networkstatus client code. Remove v2 networkstatus client code, except as needed for caches to fetch and serve v2 networkstatues and the routers they list.
Nick Mathewson [Mon, 15 Oct 2007 14:59:48 +0000 (14:59 +0000)]
r15781@catbus: nickm | 2007-10-15 10:59:26 -0400
Make discard_old_votes part of the consensus publishing process, so we conform to spec, and so we avoid a weird bugs where publishing sets the consensus, setting the consensus makes us reschedule, and rescheduling makes us delay vote-discarding.
Nick Mathewson [Sun, 14 Oct 2007 00:13:06 +0000 (00:13 +0000)]
r15750@catbus: nickm | 2007-10-13 20:06:47 -0400
Eventually delete the obsolete cached-routers and cached-routers.new files, so they don't sit around on disk forever.
Roger Dingledine [Sat, 13 Oct 2007 22:31:35 +0000 (22:31 +0000)]
Stop publishing a new server descriptor just because we HUP or
when we find our DirPort to be reachable but won't actually publish
it. Extra descriptors without any real changes are dropped by the
authorities, and can screw up our "publish every 18 hours" schedule.
Nick Mathewson [Fri, 12 Oct 2007 21:33:39 +0000 (21:33 +0000)]
r15732@catbus: nickm | 2007-10-12 17:28:24 -0400
Start roughing out the functions that we'll use to replace the old ugly v2 networkstatus manipulation code".