Commit Graph

525 Commits

Author SHA1 Message Date
Nick Mathewson
8fa7071121 r16195@catbus: nickm | 2007-10-26 18:48:52 -0400
base "Guard" flag on WFU rather than MTBF.  Note an issue in the TODO. Roger: thoughts?


svn:r12219
2007-10-26 22:50:42 +00:00
Nick Mathewson
73c1cfe80b r16154@catbus: nickm | 2007-10-25 10:29:47 -0400
Fix more memory leaks, with help from dmalloc.


svn:r12188
2007-10-25 14:31:15 +00:00
Roger Dingledine
7a35dad007 Authorities no longer send back "400 you're unreachable please fix
it" errors to Tor servers that aren't online all the time. We're
supposed to tolerate these servers now.


svn:r12136
2007-10-24 03:34:03 +00:00
Roger Dingledine
cb2b49c9c4 When there's no concensus, we were forming a vote every 30
minutes, but writing the "valid-after" line in our vote based
on our configured V3AuthVotingInterval: so unless the intervals
matched up, we immediately rejected our own vote because it didn't
start at the voting interval that caused us to construct a vote.

This caused log entries like:

Oct 23 01:16:16.303 [notice] Choosing expected valid-after time
as 2007-10-23 05:30:00: consensus_set=0, interval=1800
...
Oct 23 01:20:01.203 [notice] Choosing valid-after time in vote as
2007-10-23 06:00:00: consensus_set=0, interval=3600
Oct 23 01:20:01.290 [warn] Rejecting vote with valid-after time of
2007-10-23 06:00:00; we were expecting 2007-10-23 05:30:00
Oct 23 01:20:01.291 [warn] Couldn't store my own vote! (I told
myself, 'Bad valid-after time'.)

Nick, you should look at this, as it's your design. :)


svn:r12129
2007-10-23 06:38:16 +00:00
Nick Mathewson
09bce19884 r16042@catbus: nickm | 2007-10-22 13:30:49 -0400
Move functions into and out of dirvote.c so that it contains all the v3 authority functionality, and no non-authority functionality.


svn:r12107
2007-10-22 17:31:26 +00:00
Nick Mathewson
5ada3cc09a r15991@catbus: nickm | 2007-10-20 20:08:29 -0400
Fix a nasty bug in DownloadExtraInfo implementation where we would discard, download, discard, download ad infinitum.


svn:r12069
2007-10-21 00:08:35 +00:00
Nick Mathewson
6ca4eebb57 r15966@catbus: nickm | 2007-10-19 13:56:28 -0400
Voting side of proposal 122


svn:r12052
2007-10-19 18:56:26 +00:00
Nick Mathewson
140ef7d0f8 r15957@catbus: nickm | 2007-10-19 12:22:18 -0400
Report our IP address in our vote if it turns out that our hostname isn't a fqdn.


svn:r12047
2007-10-19 16:28:13 +00:00
Nick Mathewson
f988f93b1a 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".


svn:r12000
2007-10-17 16:55:44 +00:00
Nick Mathewson
3ad6dc0e2e 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.


svn:r11957
2007-10-15 23:15:24 +00:00
Nick Mathewson
738d178f77 Make last commit compile
svn:r11953
2007-10-15 20:39:58 +00:00
Nick Mathewson
da955df111 Add some debugging logs related to dir vote timing.
svn:r11952
2007-10-15 20:37:59 +00:00
Nick Mathewson
783402f63a r15731@catbus: nickm | 2007-10-12 17:27:48 -0400
Move "sort a list of routerinfo_t" into its own function in routerlist.c


svn:r11903
2007-10-12 21:33:37 +00:00
Nick Mathewson
007d76543d r14887@Kushana: nickm | 2007-10-11 11:19:39 -0400
Fix some XXX020s in dirserv.c


svn:r11870
2007-10-11 16:06:51 +00:00
Nick Mathewson
9a56b17c54 r15679@catbus: nickm | 2007-10-11 09:51:33 -0400
Remove code to generate v1 directories.


svn:r11866
2007-10-11 13:56:33 +00:00
Nick Mathewson
487f985f5b r15670@catbus: nickm | 2007-10-10 20:08:14 -0400
Restore a removed assert.


svn:r11861
2007-10-11 00:13:06 +00:00
Roger Dingledine
dd920354c2 let bridge authorities write bridge descriptors to their
cached-descriptors* files.

nick, did i get this right?


svn:r11855
2007-10-10 23:11:53 +00:00
Roger Dingledine
d9a99b9ba6 get r11842 closer to what i want
svn:r11851
2007-10-10 20:13:52 +00:00
Roger Dingledine
f6b25613b8 Tweak the implementation of proposal 109 slightly: allow at most
two Tor servers on the same IP address, except if it's the location
of a directory authority, in which case allow five.


svn:r11842
2007-10-10 19:53:08 +00:00
Nick Mathewson
97fa3fdf16 r15599@catbus: nickm | 2007-10-09 16:44:36 -0400
Fix the bug that was making moria1 set valid-after wrong in its votes: we were looking at the preferred timing when we should have been looking at the consensus timing.


svn:r11818
2007-10-09 20:44:51 +00:00
Nick Mathewson
6f7847b378 r15530@catbus: nickm | 2007-10-04 12:16:27 -0400
Add a bunch of function documentation; clean up a little code; fix some XXXXs; tag the nonsensical EXTRAINFO_PURPOSE_GENERAL as nonsesnse; note another bit of "do not cache special routers" code to nuke.


svn:r11761
2007-10-04 16:21:58 +00:00
Nick Mathewson
b5c8a8ae53 r15422@catbus: nickm | 2007-09-27 16:42:35 -0400
Use descriptor annotations to record the source, download t time, and purpose of every descriptor we add to the store.  The remaining to-do item is to stop setting do_not_cache on bridges.


svn:r11680
2007-09-27 20:46:30 +00:00
Nick Mathewson
28946069ee r15412@catbus: nickm | 2007-09-27 12:04:24 -0400
More annotated-store work: handle annotations in lists correctly.  Add ability to prepend annotations to a routerdesc (and to every rtouredesc in a list), while verifying that the routerdesc is not already annotated.


svn:r11665
2007-09-27 16:08:10 +00:00
Nick Mathewson
034524f4b7 r15400@catbus: nickm | 2007-09-26 12:13:12 -0400
Backend for descriptor annotations: parse annotations as keywords; only allow them to appear in the cache; do not serve them as part of the descriptor if we are a dirserver.  Still need mechanism to set annotations.  Still need to rename cache file.


svn:r11654
2007-09-26 16:19:44 +00:00
Nick Mathewson
921f9f774d r15279@catbus: nickm | 2007-09-22 02:00:06 -0400
V3 authority work: fetch missing votes and/or signatures as needed.


svn:r11575
2007-09-22 06:06:05 +00:00
Roger Dingledine
90d1345d90 bugfix on r11110:
Fix a bug that made servers send a "404 Not found" in response to
attempts to fetch their server descriptor. This caused Tor servers
to take many minutes to establish reachability for their DirPort,
and it totally crippled bridges. Bugfix on 0.2.0.5-alpha.



svn:r11545
2007-09-20 22:08:40 +00:00
Roger Dingledine
088c4cd8ce it works better when it compiles
svn:r11531
2007-09-20 04:54:50 +00:00
Roger Dingledine
0914883339 Resume listing "AUTHORITY" flag for authorities in network status.
Bugfix on 0.2.0.3-alpha; reported by Alex de Joode.


svn:r11530
2007-09-20 04:37:17 +00:00
Roger Dingledine
ffce9d3368 trivial doxygen thing
svn:r11463
2007-09-17 21:59:07 +00:00
Nick Mathewson
8c13967803 r14448@Kushana: nickm | 2007-09-17 14:26:56 -0400
Unify all of the divergent median/nth-percentile code in container.[ch]


svn:r11457
2007-09-17 18:27:49 +00:00
Nick Mathewson
c65131b171 r14185@Kushana: nickm | 2007-08-22 11:07:01 -0400
Add some voting-related documentation.


svn:r11255
2007-08-22 15:07:44 +00:00
Nick Mathewson
7dbe7fd4d8 r14758@catbus: nickm | 2007-08-21 01:36:03 -0400
Finish implementing and documenting proposal 108: Authorities now use MTBF data to set their stability flags, once they have at least 4 days of data to use.


svn:r11240
2007-08-21 05:37:24 +00:00
Roger Dingledine
3f186e6510 help nick work on proposal 108
svn:r11148
2007-08-17 01:29:58 +00:00
Nick Mathewson
d5bd7d9fa3 r14032@Kushana: nickm | 2007-08-15 11:35:16 -0400
Add unit tests for median functions; enforce sensible ranges for intervals and delays.


svn:r11121
2007-08-15 15:38:58 +00:00
Nick Mathewson
486166f9a8 r14020@Kushana: nickm | 2007-08-14 16:07:37 -0400
return 404 properly when somebody requests a bunch of nonexistent statuses/servers


svn:r11110
2007-08-14 20:19:58 +00:00
Nick Mathewson
a1ce60f9a6 r14546@catbus: nickm | 2007-08-13 17:19:01 -0400
Make if-modified-since work on consensuses


svn:r11095
2007-08-13 21:19:54 +00:00
Nick Mathewson
936edd901d r13985@Kushana: nickm | 2007-08-13 16:05:07 -0400
Fix some simple logic errors in voting.


svn:r11089
2007-08-13 20:05:25 +00:00
Nick Mathewson
2d07cce67f r14536@catbus: nickm | 2007-08-13 15:54:17 -0400
Make voting actually function.


svn:r11088
2007-08-13 19:55:08 +00:00
Roger Dingledine
5920484083 dirserv.c:782: warning: `set_v1_dirty' might be used uninitialized in this function
svn:r11068
2007-08-10 03:07:00 +00:00
Nick Mathewson
77508edd36 r13989@catbus: nickm | 2007-07-29 19:11:07 -0400
More directory voting code.  Now, if everything works, and I haven't forgotten anything, it is possible to set up some v3 authorities and start voting. Of course, I have probably forgotten something, and there are probably bugs in there somewhere too.


svn:r10976
2007-07-29 23:11:44 +00:00
Nick Mathewson
616152486f r13986@catbus: nickm | 2007-07-29 09:15:03 -0400
Answer comment from Roger.


svn:r10971
2007-07-29 13:18:52 +00:00
Roger Dingledine
a68e6e23c9 patches on r10968: compare advertised capacity, not bandwidthrate;
and make the sorting order deterministic to avoid flapping.

also note that we could take the "is_auth" checks out of the
sorting entirely.


svn:r10970
2007-07-29 05:56:30 +00:00
Nick Mathewson
9031bbd4d8 r13982@catbus: nickm | 2007-07-29 01:31:53 -0400
Actually, we missed a rule about what routers to prefer: first prefer authority to non-authority, *then* running, *then* bandwidth.


svn:r10969
2007-07-29 05:32:03 +00:00
Nick Mathewson
1b665b3c7e r13979@catbus: nickm | 2007-07-29 01:20:20 -0400
Implement proposal 109:  As an authority, never call more than 3 servers per IP Running and Valid.  Prefer Running servers to non-running ones; then prefer high-bandwidth to low-bandwidth.  Needs testing.


svn:r10968
2007-07-29 05:20:31 +00:00
Nick Mathewson
43f64d09ea r13951@catbus: nickm | 2007-07-27 18:39:28 -0400
Make it so we can actually compile with FULL_V1_DIRECTORIES disabled.


svn:r10952
2007-07-27 23:18:58 +00:00
Nick Mathewson
a66f259354 r13902@catbus: nickm | 2007-07-25 17:43:52 -0400
Some dirvote code to handle generating votes and slinging them around.  More code is still needed.


svn:r10927
2007-07-25 22:56:44 +00:00
Nick Mathewson
1b7a704c34 r13901@catbus: nickm | 2007-07-25 16:23:51 -0400
Make all code to generate v1 directories into conditional code.


svn:r10926
2007-07-25 22:56:40 +00:00
Roger Dingledine
56d3119581 Directory authorities now call routers Fast if their bandwidth is
at least 100KB/s, and consider their bandwidth adequate to be a
Guard if it is at least 250KB/s. This fix complements proposal
107. [Bugfix on 0.1.2.x]


svn:r10897
2007-07-21 23:40:55 +00:00
Nick Mathewson
d920683718 r13821@catbus: nickm | 2007-07-18 16:29:17 -0400
Initial code to manipulate vote timing correctly.


svn:r10873
2007-07-18 20:46:12 +00:00
Peter Palfrader
3052bf6a84 Change routerlist_remove to not take an index argument we do not need anyway.
Now the only remaining caller of _routerlist_find_elt is an assert()

svn:r10869
2007-07-18 14:02:47 +00:00