Commit Graph

67 Commits

Author SHA1 Message Date
Roger Dingledine
3ff63b6f4e When the DANGEROUS_VERSION controller status event told us we're
running an obsolete version, it used the string "OLD" to describe
it. Yet the "getinfo" interface used the string "OBSOLETE". Now use
"OBSOLETE" in both cases.


svn:r12686
2007-12-05 19:32:58 +00:00
Roger Dingledine
343242d9ae update an XXX020 for nick later
svn:r12684
2007-12-05 19:23:03 +00:00
Roger Dingledine
d46b8a3eac Stop being so aggressive about fetching dir info if your DirPort is
on but your ORPort is off.

Add a new config option BridgeRelay that specifies you want to
be a bridge relay. Right now the only difference is that it makes
you answer begin_dir requests, and it makes you cache dir info,
even if your DirPort isn't on.

Refactor directory_caches_dir_info() into some more functions.


svn:r12668
2007-12-04 18:35:03 +00:00
Roger Dingledine
77e607cc0d Authorities and caches fetch the v2 networkstatus documents
less often, now that v3 is encouraged.


svn:r12627
2007-12-01 20:04:36 +00:00
Roger Dingledine
f8df8d791e start to refactor dirserver_mode()
svn:r12621
2007-12-01 04:58:53 +00:00
Roger Dingledine
0f22c584cd doxygen tweaks
svn:r12606
2007-11-29 15:23:41 +00:00
Roger Dingledine
91bb09cb28 Only update guard status (usable / not usable) once we have
enough directory information. This was causing us to always pick
two new guards on startup (bugfix on 0.2.0.9-alpha), and it was
causing us to discard all our guards on startup if we hadn't been
running for a few weeks (bugfix on 0.1.2.x). Fixes bug 448.


svn:r12570
2007-11-26 02:18:57 +00:00
Roger Dingledine
7870964e0c Don't reevaluate all the information from our consensus document
just because we've downloaded a v2 networkstatus that we intend
to cache. Fixes bug 545.


svn:r12479
2007-11-11 17:37:59 +00:00
Nick Mathewson
bed01a9003 r16525@catbus: nickm | 2007-11-07 12:10:01 -0500
Clean up log messages from bug 543 fix, and make old_routers also keep track of their indices.  This will probably crash some until all the bugs are fixed.


svn:r12412
2007-11-07 17:11:23 +00:00
Nick Mathewson
6bc071f765 r16456@catbus: nickm | 2007-11-06 12:59:04 -0500
Fix a dumb bug in networkstatus_free_all()


svn:r12397
2007-11-06 18:00:09 +00:00
Nick Mathewson
b4a50343d7 r16407@catbus: nickm | 2007-11-05 10:02:22 -0500
Add a log message when we start retrieving networkstatus


svn:r12378
2007-11-05 18:15:39 +00:00
Nick Mathewson
928c584ec2 r14700@tombo: nickm | 2007-11-03 22:29:21 -0400
Fix sign error in networkstatus_note_certs_arrived().


svn:r12371
2007-11-04 02:29:27 +00:00
Roger Dingledine
9ef72079ae fix an assert error on startup if we didn't already have the
consensus and certs cached in our datadirectory: we were
caching the consensus in consensus_waiting_for_certs but then
free'ing it right after.

more bugs remain here, i think.


svn:r12369
2007-11-04 01:26:00 +00:00
Nick Mathewson
bf2717ff3d r14678@tombo: nickm | 2007-11-03 16:12:31 -0400
Try to make hidden service directory lookup functions a bit more efficient: go for fewer O(n) operations, and look at the consensus rather than the routerinfo list.


svn:r12361
2007-11-03 20:12:41 +00:00
Roger Dingledine
d4e339ed87 Nov 03 11:15:13.103 [info] connection_dir_client_reached_eof(): Received consensus directory (size 330543) from server '86.59.21.38:80'
Nov 03 11:15:13.129 [info] networkstatus_set_current_consensus(): Got a consensus we already have
Nov 03 11:15:13.129 [warn] Unable to load consensus directory dowloaded from server '86.59.21.38:80'


svn:r12359
2007-11-03 15:55:15 +00:00
Nick Mathewson
c0c2001a5b r16279@catbus: nickm | 2007-10-30 11:14:29 -0400
Improved skew reporting:  "You are 365 days in the duture" is more useful than "You are 525600 minutes in the future".  Also, when we get something that proves we are at least an hour in the past, tell the controller "CLOCK_SKEW MIN_SKEW=-3600" rather than just "CLOCK_SKEW"


svn:r12283
2007-10-30 15:17:07 +00:00
Nick Mathewson
7709fb7143 r16278@catbus: nickm | 2007-10-30 09:46:28 -0400
Accept future networkstatus documents, but warn about skew when we get them.


svn:r12282
2007-10-30 15:17:01 +00:00
Nick Mathewson
e136f00ca8 r16262@catbus: nickm | 2007-10-29 13:21:35 -0400
Patch from Karsten: Code to act as (and use) v2 hidden service directories.


svn:r12272
2007-10-29 19:10:42 +00:00
Nick Mathewson
f09d53bbf1 r16246@catbus: nickm | 2007-10-28 19:34:58 -0400
Implement a FallbackNetworkstatusFile (default to $prefix/share/tor/fallback-consensus) to that we know about lots of directory servers and routers when we start up the first time.


svn:r12259
2007-10-28 23:44:53 +00:00
Nick Mathewson
20b1085989 r16242@catbus: nickm | 2007-10-28 16:28:13 -0400
Implement if-modified-since for consensus networkstatuses so that we do not download duplicates needlessly.


svn:r12258
2007-10-28 20:30:21 +00:00
Roger Dingledine
6ca7c118ec we need to send nick to the chalkboard to type 'un' 1000 times:
Stop servers from crashing if they set a Family option (or
maybe in other situations too). Bugfix on 0.2.0.9-alpha; reported
by Fabian Keil.


svn:r12235
2007-10-27 21:40:32 +00:00
Roger Dingledine
a92b2083d2 don't warn so loudly when we couldn't load the unverified-consensus
file. we can live without it.


svn:r12221
2007-10-27 10:40:08 +00:00
Nick Mathewson
d5a0eeb57e r16157@catbus: nickm | 2007-10-25 10:36:34 -0400
Free v2_network_status_map on exit.


svn:r12189
2007-10-25 14:37:49 +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
Nick Mathewson
0421e14c21 r16130@catbus: nickm | 2007-10-24 23:28:00 -0400
Fix null-pointer dereference in set_current_consensus.


svn:r12174
2007-10-25 03:29:11 +00:00
Nick Mathewson
beb73c90ab r16124@catbus: nickm | 2007-10-24 22:11:09 -0400
We want to extend the valid_until for "reasonably live", not the valid_after time


svn:r12169
2007-10-25 02:12:16 +00:00
Nick Mathewson
93331ebf69 r16115@catbus: nickm | 2007-10-24 21:52:33 -0400
Tolerate a slightly dead consensus when deciding whether to download descriptors and build circuits.


svn:r12167
2007-10-25 01:53:49 +00:00
Nick Mathewson
e0204f2119 r16112@catbus: nickm | 2007-10-24 15:52:03 -0400
Fix logic for downloading consensuses: make getting an duplicate or not-currently-valid consensus count as a failure.  Make running out of time to get certificates count as a failure.  Delay while fetching certificates.


svn:r12159
2007-10-24 19:53:11 +00:00
Nick Mathewson
9767415dca r16111@catbus: nickm | 2007-10-24 15:03:57 -0400
Allow multiple download schedules to exist.  At the moment, we use one for consensus, and the other one for everything else.


svn:r12158
2007-10-24 19:53:08 +00:00
Nick Mathewson
03eb85b122 r16057@catbus: nickm | 2007-10-23 00:08:31 -0400
What the heck is wrong with me that I can not type un?


svn:r12128
2007-10-23 04:09:18 +00:00
Nick Mathewson
9ec9266374 r16049@catbus: nickm | 2007-10-22 15:31:16 -0400
fix trunk compile


svn:r12110
2007-10-22 19:31:50 +00:00
Nick Mathewson
246cb2071f r16047@catbus: nickm | 2007-10-22 14:00:46 -0400
Resolve some XXX020s in networkstatus.c


svn:r12109
2007-10-22 18:21:22 +00:00
Nick Mathewson
4165d53daf r16045@catbus: nickm | 2007-10-22 13:35:02 -0400
Oops; fix a typo that would have messed with the Unnamed implementation.


svn:r12108
2007-10-22 17:43:07 +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
4bab46d5d7 r16041@catbus: nickm | 2007-10-22 13:02:14 -0400
Reattempt certificate downloads immediately on failure, as appropriate.


svn:r12106
2007-10-22 17:31:22 +00:00
Nick Mathewson
f06ac50d45 r16034@catbus: nickm | 2007-10-22 12:30:38 -0400
Move an XXX020 to the logical place.


svn:r12104
2007-10-22 16:32:08 +00:00
Nick Mathewson
c47eb2c8d9 r16032@catbus: nickm | 2007-10-22 11:56:53 -0400
When our directory status or our v3 authority status changes, reschedule operations as appropriate. (Fixes some xxxx020 items)


svn:r12102
2007-10-22 16:32:04 +00:00
Nick Mathewson
7bb202fd19 r15965@catbus: nickm | 2007-10-19 13:32:11 -0400
Client-side implementation for proposal 122.


svn:r12051
2007-10-19 18:56:24 +00:00
Nick Mathewson
ee2b770dee r15964@catbus: nickm | 2007-10-19 12:43:49 -0400
Sort out that need_to_mirror is for routerstatuses in v2 networkstatuses only.


svn:r12050
2007-10-19 18:56:21 +00:00
Nick Mathewson
29dfdac923 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.) 
 


svn:r12041
2007-10-19 02:15:47 +00:00
Peter Palfrader
829801c476 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
svn:r12038
2007-10-19 00:29:16 +00:00
Roger Dingledine
0a865bc277 various fixes from reading or-cvs the past few days
svn:r12035
2007-10-18 23:14:58 +00:00
Nick Mathewson
5ff0e4ed56 r15917@catbus: nickm | 2007-10-18 10:50:01 -0400
Better log messages about extrainfo downloads.


svn:r12023
2007-10-18 14:50:59 +00:00
Nick Mathewson
192e3d71d4 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.


svn:r12022
2007-10-18 14:27:42 +00:00
Nick Mathewson
8f21a0a0b7 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.


svn:r12020
2007-10-18 14:19:56 +00:00
Nick Mathewson
c96167a6bd r15906@catbus: nickm | 2007-10-18 10:00:08 -0400
Remove the obsolete warned_conflicts field: a v3 consensus cannot conflict with itself.


svn:r12019
2007-10-18 14:19:53 +00:00
Nick Mathewson
59b1b08753 r15905@catbus: nickm | 2007-10-18 09:58:54 -0400
Document some functions while I can still rememberf what they do.  Fix up some whitespace.


svn:r12018
2007-10-18 14:19:51 +00:00
Nick Mathewson
54ac72f6b0 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.)


svn:r12005
2007-10-17 21:26:22 +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
0dab1a14a5 r15860@catbus: nickm | 2007-10-16 13:09:57 -0400
Avoid an infinite loop in networkstatus_reset_download_failures().


svn:r11990
2007-10-16 17:21:03 +00:00