Nick Mathewson
842a33ff20
Update some copyright notices: it is now 2008.
...
svn:r13412
2008-02-07 05:31:47 +00:00
Nick Mathewson
a869574c56
r17947@catbus: nickm | 2008-02-06 11:57:53 -0500
...
Fix a bunch of DOCDOC items; document the --quiet flag; refactor a couple of XXXX020 items.
svn:r13405
2008-02-06 16:58:05 +00:00
Roger Dingledine
f76cdc1a61
misc small fixes
...
svn:r13403
2008-02-06 12:46:46 +00:00
Nick Mathewson
83e740fa91
r17911@catbus: nickm | 2008-02-05 15:53:22 -0500
...
Fix a potential bug that would make authorities fail to vote under bizarre circumstances that probably never happened.
svn:r13385
2008-02-05 21:39:36 +00:00
Nick Mathewson
c8a689c9e8
r17909@catbus: nickm | 2008-02-05 14:48:22 -0500
...
As planned, rename networkstatus_vote_t to networkstatus_t, now that v3 networkstatuses are working and standard and v2 networkstatuses are obsolete.
svn:r13383
2008-02-05 21:39:29 +00:00
Nick Mathewson
3958d7b16f
r17898@catbus: nickm | 2008-02-05 14:01:35 -0500
...
Add (and use) a MAP_DEL_CURRENT macro to augment a non-const variant of MAP_FOREACH.
svn:r13379
2008-02-05 19:40:17 +00:00
Roger Dingledine
06047bcec9
Avoid going directly to the directory authorities even if you're a
...
relay, if you haven't found yourself reachable yet or if you've
decided not to advertise your dirport yet. Addresses bug 556.
svn:r13172
2008-01-18 04:42:22 +00:00
Nick Mathewson
04263648c4
r17554@catbus: nickm | 2008-01-10 12:48:29 -0500
...
Do not send bridge descriptors over unencrypted connections.
svn:r13094
2008-01-10 17:48:40 +00:00
Nick Mathewson
ca5f670fab
r17548@catbus: nickm | 2008-01-10 11:08:12 -0500
...
Make proposal-109 behavior optional.
svn:r13090
2008-01-10 16:08:47 +00:00
Nick Mathewson
614dc52623
r17467@catbus: nickm | 2008-01-05 19:54:20 -0500
...
fix whitespace
svn:r13035
2008-01-06 00:54:22 +00:00
Roger Dingledine
15c048bdc5
Fix several remotely triggerable asserts based on DirPort requests
...
for a v2 or v3 networkstatus object before we were prepared. This
was particularly bad for 0.2.0.13 and later bridge relays, who
would never have a v2 networkstatus and would thus always crash
when used. Bugfixes on 0.2.0.x.
Estimate the v3 networkstatus size more accurately, rather than
estimating it at zero bytes and giving it artificially high priority
compared to other directory requests. Bugfix on 0.2.0.x.
svn:r12952
2007-12-24 11:25:45 +00:00
Roger Dingledine
9ebf86bb66
new config option FetchDirInfoEarly for tup/ioerror and the tordnsel
...
svn:r12896
2007-12-21 06:08:00 +00:00
Roger Dingledine
f0e7c4f0da
Only Tors that want to mirror the v2 directory info should
...
create the "cached-status" directory in their datadir. All Tors
used to create it. Bugfix on 0.1.2.x.
Bridge relays with DirPort set to 0 no longer cache v1 or v2
directory information; there's no point. Bugfix on trunk.
svn:r12887
2007-12-20 06:47:59 +00:00
Roger Dingledine
74d05f4b2c
answer getinfo ns/purpose/bridge queries
...
svn:r12860
2007-12-18 22:39:15 +00:00
Roger Dingledine
b63a247c68
Make bridge authorities test reachability of bridges.
...
Added two XXX020's that we need to think harder about.
svn:r12859
2007-12-18 21:37:58 +00:00
Roger Dingledine
1d8a8063b9
clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
...
svn:r12786
2007-12-12 21:09:01 +00:00
Roger Dingledine
ee6ae92670
New config options AuthDirBadDir and AuthDirListBadDirs for
...
authorities to mark certain relays as "bad directories" in the
networkstatus documents. Also supports the "!baddir" directive in
the approved-routers file.
svn:r12754
2007-12-10 16:49:54 +00:00
Roger Dingledine
d95e7c7d67
also clear the hsdir status flag in routerinfo_t when the relay is no
...
longer listed in the relevant networkstatus document.
svn:r12752
2007-12-10 16:40:14 +00:00
Roger Dingledine
75c38a2c88
Bridges now behave like clients with respect to time intervals for
...
downloading new consensus documents. Bridge users now wait until
the end of the interval, so their bridge will be sure to have a
new consensus document.
svn:r12696
2007-12-06 17:01:16 +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
3229117d3a
minor touchups
...
svn:r12657
2007-12-03 22:04:19 +00:00
Roger Dingledine
b54240d38f
Reject uploaded descriptors and extrainfo documents if they're
...
huge. Otherwise we'll cache them all over the network and it'll
clog everything up.
svn:r12633
2007-12-02 06:11:53 +00:00
Roger Dingledine
1a254477fc
minor cleanups
...
svn:r12631
2007-12-02 04:39:56 +00:00
Roger Dingledine
f901cd064c
clean up the dirserv_add_multiple_descriptors() api
...
svn:r12630
2007-12-02 02:47:42 +00:00
Roger Dingledine
f8df8d791e
start to refactor dirserver_mode()
...
svn:r12621
2007-12-01 04:58:53 +00:00
Roger Dingledine
aaf35cccf7
karsten's second refactoring patch
...
svn:r12607
2007-11-29 15:25:04 +00:00
Roger Dingledine
094096d320
get rid of the __ConsiderAllRoutersAsHidServDirectories config option
...
svn:r12528
2007-11-17 12:28:18 +00:00
Roger Dingledine
d62ef13d0a
get rid of the separate reachability window for the hsdir flag.
...
svn:r12527
2007-11-17 12:15:32 +00:00
Roger Dingledine
c336dedd21
The fix in 0.2.0.12-alpha cleared the "hsdir" flag in v3 network
...
consensus documents when there are too many relays at a single
IP address. Now clear it in v2 network status documents too.
svn:r12522
2007-11-17 07:00:14 +00:00
Roger Dingledine
d6f8ba25c9
back out r12509 and fix a better bug instead:
...
When authorities detected more than two relays running on the same
IP address, they were clearing all the status flags but forgetting
to clear the "hsdir" flag. So clients were being told that a
given relay was the right choice for a v2 hsdir lookup, yet they
never had its descriptor because it was marked as 'not running'
in the consensus.
svn:r12515
2007-11-17 01:53:33 +00:00
Nick Mathewson
1bdbd3b98e
r16582@catbus: nickm | 2007-11-08 13:14:16 -0500
...
Try to bulletproof the parse logic for router-stability.
svn:r12441
2007-11-08 18:15:49 +00:00
Nick Mathewson
e0b9c893bc
r16573@catbus: nickm | 2007-11-08 11:57:16 -0500
...
Mess with the formula for the Guard flag again. Now it requires that you be in the most familiar 7/8 of nodes, and have above median wfu for that 7/8th. See spec for details. Also, log thresholds better.
svn:r12440
2007-11-08 16:58:59 +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
Peter Palfrader
471163ffd5
Downgrade the mismatched fpr warning to info
...
svn:r12257
2007-10-28 20:01:22 +00:00
Nick Mathewson
66a39ac358
r16238@catbus: nickm | 2007-10-28 15:46:10 -0400
...
Whitespace fix.
svn:r12256
2007-10-28 19:48:19 +00:00
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
Nick Mathewson
670db47e1b
r13801@catbus: nickm | 2007-07-17 13:49:12 -0400
...
More tweaks to dir-spec.txt; not complete, but closing in.
svn:r10856
2007-07-17 17:49:16 +00:00
Nick Mathewson
3df7fc5e5a
r13438@catbus: nickm | 2007-06-15 15:01:42 -0400
...
document some functions
svn:r10637
2007-06-17 15:10:43 +00:00
Roger Dingledine
6a2f045163
extra points for making the function name reflect what it does
...
svn:r10608
2007-06-15 04:23:36 +00:00
Roger Dingledine
73f7310d9b
Directories no longer return a "304 not modified" when they don't
...
have the networkstatus the client asked for. Also fix a memory
leak when returning 304 not modified. [Bugfixes on 0.2.0.2-alpha]
svn:r10607
2007-06-15 04:20:51 +00:00
Roger Dingledine
9f9ee13dc0
point out a bug in our If-Modified-Since handling in 0.2.0.2-alpha.
...
svn:r10605
2007-06-15 03:14:02 +00:00
Nick Mathewson
c3626cdba7
r13395@catbus: nickm | 2007-06-13 15:01:23 -0400
...
Unit tests and debugging for generating and parsing consensus networkstatus documents. Still need to test actual contents.
svn:r10589
2007-06-13 19:06:23 +00:00
Nick Mathewson
05cf945a1c
r13393@catbus: nickm | 2007-06-13 14:29:14 -0400
...
More vote unit tests: check that we are parsing routerstatuses correctly.
svn:r10588
2007-06-13 18:29:16 +00:00
Nick Mathewson
0cf38ddef6
r13387@catbus: nickm | 2007-06-13 14:15:49 -0400
...
Unit tests and debugging for vote generation and parsing code.
svn:r10587
2007-06-13 18:16:05 +00:00
Nick Mathewson
932f2c79eb
r13338@catbus: nickm | 2007-06-10 15:13:32 -0400
...
Fix bug in 10533: put "opt v" line at the end of a routerstatus section; overwriting is bad.
svn:r10549
2007-06-10 19:13:40 +00:00
Roger Dingledine
a97c3b8c2d
Be clearer on the various roles for auth dir types.
...
Bridge authorities no longer write bridge descriptors to their
cached-routers file -- this gets complex because of extrainfo documents.
svn:r10545
2007-06-09 07:05:19 +00:00
Roger Dingledine
8dfde75ef6
don't complain when approved-routers isn't there and we
...
don't need it.
svn:r10544
2007-06-09 05:28:11 +00:00
Nick Mathewson
1d6db7ec3d
r13325@catbus: nickm | 2007-06-08 15:02:37 -0400
...
Parse networkstatuses (v2, vote, and consensus) after generating them, and fail fast if there is a parse error.
svn:r10540
2007-06-08 19:02:39 +00:00
Nick Mathewson
678110570a
r13315@catbus: nickm | 2007-06-08 14:33:24 -0400
...
Make versions get added to networkstatuses correctly again.
svn:r10535
2007-06-08 18:41:14 +00:00
Nick Mathewson
7a6f3cd223
r13313@catbus: nickm | 2007-06-08 14:23:11 -0400
...
Refactor v3 vote generation code into "build a networkstatus_vote_t" and "format a networkstatus_vote_t". This should make testing possible.
svn:r10533
2007-06-08 18:41:09 +00:00
Nick Mathewson
8b0e6a4466
r13250@catbus: nickm | 2007-06-04 18:28:55 -0400
...
Adapt code to parse v3 networkstatus votes so it can also parse a consensus. Make networkstatus_vote_t the catch-all type for votes and conensuses. Correct/clarify the second argument to directory-signature.
svn:r10491
2007-06-04 22:29:00 +00:00
Nick Mathewson
bb6f53d60c
r13243@catbus: nickm | 2007-06-04 15:17:15 -0400
...
Start of code to compute consensus network-status stuff from a bunch of votes. Strangely, it does not yet feel like an enormous ugly hack.
svn:r10489
2007-06-04 19:19:01 +00:00
Nick Mathewson
e0d828299a
r13165@catbus: nickm | 2007-06-02 22:55:22 -0400
...
Remove an obsoleted function
svn:r10460
2007-06-03 03:05:07 +00:00
Nick Mathewson
aee7f01624
r13154@catbus: nickm | 2007-06-02 11:26:44 -0400
...
Server-side support for If-Modified-Since in HTTP requsts for v1 stuff, and for network-status documents.
svn:r10451
2007-06-02 15:26:57 +00:00
Nick Mathewson
534c55f531
r13111@catbus: nickm | 2007-05-31 15:03:41 -0400
...
Cleanup whitespace.
svn:r10425
2007-05-31 19:03:49 +00:00
Nick Mathewson
884cb0c7a1
r13109@catbus: nickm | 2007-05-31 14:59:30 -0400
...
More code for voting and vote parsing (checkpointing)
svn:r10423
2007-05-31 19:03:44 +00:00
Nick Mathewson
77502ac82d
r13102@catbus: nickm | 2007-05-31 13:56:25 -0400
...
Make "authdir_newdesc rejected" work again.
svn:r10421
2007-05-31 18:48:28 +00:00
Nick Mathewson
8b1e9398a8
r13079@catbus: nickm | 2007-05-29 17:05:38 -0400
...
Oops. Authorities should recommend nodes as exits.
svn:r10403
2007-05-29 21:05:49 +00:00
Nick Mathewson
c5b3a8db84
r13057@catbus: nickm | 2007-05-29 14:39:27 -0400
...
fix for bug 439: make _sure_ *msg is set when we leave dirserv_add_multiple_descriptors().
svn:r10396
2007-05-29 18:39:56 +00:00
Nick Mathewson
f89a3b1448
r13050@catbus: nickm | 2007-05-29 13:31:11 -0400
...
Resolve all but 3 DOCDOCs.
svn:r10393
2007-05-29 17:31:13 +00:00
Nick Mathewson
63035cdb33
r13041@catbus: nickm | 2007-05-29 10:40:05 -0400
...
More messing around to try to address possible root causes of bug 436.
svn:r10388
2007-05-29 14:41:20 +00:00
Peter Palfrader
3425f2c11f
Segfault less. Somebody needs to look over why exactly this helps. re #436
...
svn:r10376
2007-05-28 21:34:42 +00:00
Nick Mathewson
d0a5c4f984
r12915@catbus: nickm | 2007-05-24 12:12:34 -0400
...
Do not send a warning when somebody uploads an extrainfo that we will reject, if it happens to be newer than our current routerdesc.
svn:r10303
2007-05-24 17:12:54 +00:00
Nick Mathewson
ca9e13f2a0
r12906@catbus: nickm | 2007-05-22 20:43:13 -0400
...
s/32/64/; s/breaks/works/;
svn:r10297
2007-05-23 00:43:20 +00:00
Nick Mathewson
38300735cd
r12902@catbus: nickm | 2007-05-22 14:52:29 -0400
...
First draft of code to generate votes. needs testing. does not yet upload or serve votes. Shares most of its code with the old generate_v2_networkstatus.
svn:r10295
2007-05-22 18:52:32 +00:00
Nick Mathewson
9e0acc0c11
r12899@catbus: nickm | 2007-05-22 13:51:26 -0400
...
Extract common code from networkstatus_getinfo_helper_single() and generate_v2_networkstatus().
svn:r10294
2007-05-22 17:58:30 +00:00
Nick Mathewson
4ec5e139c8
r12850@catbus: nickm | 2007-05-21 22:20:42 -0400
...
Partial backport candidate: do not rely on finding a \0 after an mmaped() router/extrainfo file. Also, set journal length correctly when starting up.
svn:r10248
2007-05-22 02:20:52 +00:00
Nick Mathewson
21a72520ce
r13021@Kushana: nickm | 2007-05-20 14:03:10 -0400
...
Provide actual reasons when dropping an uploaded extrainfo for incompatibility; also, clean whitespace.
svn:r10230
2007-05-20 18:03:26 +00:00
Nick Mathewson
07199e3d09
r12804@catbus: nickm | 2007-05-19 14:21:18 -0400
...
Disable a blatantly incorrect control event with potential for memory corruption.
svn:r10219
2007-05-19 18:31:02 +00:00
Roger Dingledine
84c3a19170
found this in my sandbox
...
svn:r10214
2007-05-19 00:14:34 +00:00
Nick Mathewson
ca32b4d5b5
r12761@catbus: nickm | 2007-05-15 03:13:52 -0400
...
Be a lot smarter when parsing lists of routers and extrainfos.
svn:r10193
2007-05-15 07:13:56 +00:00
Nick Mathewson
ceac39aa8a
r12697@catbus: nickm | 2007-05-09 00:15:40 -0400
...
Change authority_type_t to a set of flags; use it more consistently.
svn:r10144
2007-05-09 04:15:46 +00:00
Roger Dingledine
dc795203aa
early skeletal support for running a bridge directory authority
...
svn:r10112
2007-05-04 08:04:27 +00:00
Roger Dingledine
1b95bbdba6
New config option V2AuthoritativeDirectory that all directory
...
authorities should set. This will let future authorities choose
not to serve V2 directory information.
Also, go through and revamp all the authdir_mode stuff so it tries
to do the right thing if you're an auth but not a V1 or V2 auth.
svn:r10092
2007-05-02 09:12:04 +00:00
Nick Mathewson
979b90001b
r12622@catbus: nickm | 2007-05-01 16:29:19 -0400
...
Look at the version in the routerinfo as well as the versino in the networkstatus when deciding whether to upload extrainfo
svn:r10088
2007-05-01 20:29:32 +00:00
Nick Mathewson
c9c0d2846d
r12621@catbus: nickm | 2007-05-01 16:22:56 -0400
...
Authority patch; backport candidate: include micro-versions in network status documents.
svn:r10087
2007-05-01 20:29:26 +00:00
Nick Mathewson
ae40e7f633
r12585@catbus: nickm | 2007-04-30 14:38:37 -0400
...
(Needs review.) Allow directory authorities to accept multiple router descriptors and extra info documents in a single POST. This will make implementing the client side of proposal 104 a lot simpler.
svn:r10069
2007-04-30 19:48:33 +00:00
Nick Mathewson
f7acc3cfa0
r12553@catbus: nickm | 2007-04-30 01:32:54 -0400
...
Backport candidate: Add asserts to dirserv_remove_invalid, and fix a bug in dirserv_remove_invalid that could mess with pointers in a freed routerinfo right after it was freed.
svn:r10052
2007-04-30 05:32:57 +00:00
Nick Mathewson
362fbc79d2
r12414@catbus: nickm | 2007-04-16 17:37:17 -0400
...
More proposal-104 stuff: actually remember extra-info stuff.
svn:r9975
2007-04-16 21:37:21 +00:00
Nick Mathewson
6d32d9cb2d
r12406@catbus: nickm | 2007-04-16 14:39:33 -0400
...
More proposal-104 stuff: add most of the code for authorities to accept and serve extra-info documents. The back-end to store the things is missing.
svn:r9971
2007-04-16 18:39:39 +00:00
Nick Mathewson
38a5f09502
r12349@catbus: nickm | 2007-04-11 09:18:15 -0400
...
Add code to shrink the cell memory pool by discarding empty chunks that have been empty for the last 60 seconds. Also, instead of having test.c duplicate declarations for exposed functions, put them inside #ifdef foo_PRIVATE blocks in the headers. This prevents bugs where test.c gets out of sync.
svn:r9944
2007-04-11 13:18:25 +00:00
Nick Mathewson
d1ad950ca8
Turn bool_neq and bool_eq into macros.
...
svn:r9914
2007-03-29 02:37:06 +00:00
Nick Mathewson
d1381aef82
r12652@Kushana: nickm | 2007-03-25 15:01:48 -0400
...
A surprisingly simple patch to stop reading on edge connections when their circuits get too full, and start again when they empty out. This lets us remove the logic to block begin_dir conns when the corresponding or conns get full: it was already broken by cell queues anyway.
svn:r9905
2007-03-26 14:08:18 +00:00
Roger Dingledine
75754b4d8e
other minor fixes lurking in my sandbox
...
svn:r9854
2007-03-17 04:34:31 +00:00
Roger Dingledine
4813ff04e8
Fix an infinite loop introduced in 0.1.2.7-alpha when we serve
...
directory information requested inside Tor connections (i.e. via
begin_dir cells). It only triggered when the same connection was
serving other data at the same time. Reported by seeess.
Backport candidate.
svn:r9841
2007-03-16 06:55:09 +00:00
Roger Dingledine
bf3b3a44f3
Stop allowing hibernating servers to be "stable" or "fast".
...
This is what I meant to do in r9690 but didn't actually do.
svn:r9808
2007-03-13 01:59:09 +00:00
Roger Dingledine
a247792169
Directory authorities now call routers stable if they have an
...
uptime of at least 30 days, even if that's not the median uptime
in the network. Implements proposal 1xx, suggested by Kevin Bauer
and Damon McCoy.
svn:r9788
2007-03-10 05:43:35 +00:00
Roger Dingledine
6b191f854c
resolve another xxx012
...
svn:r9701
2007-03-01 04:40:43 +00:00
Nick Mathewson
df5a8aa931
r12013@catbus: nickm | 2007-02-28 18:26:13 -0500
...
Note a piece of code that needs to get resolved, before we forget it.
svn:r9695
2007-03-01 00:41:33 +00:00
Roger Dingledine
b78f67dbf5
- Stop calling servers that have been hibernating for a long time
...
"stable". Also, stop letting hibernating or obsolete servers affect
uptime and bandwidth cutoffs.
- Stop listing hibernating servers in the v1 directory.
svn:r9690
2007-02-28 21:06:05 +00:00
Roger Dingledine
5fd4f7c131
the other half of r9572, suggested by seeess: when we receive
...
a v1 dir or rr that is too old, don't even cache it.
svn:r9649
2007-02-25 03:43:00 +00:00
Nick Mathewson
dde4bc1fd3
r11933@catbus: nickm | 2007-02-24 18:55:33 -0500
...
Fix a bug in 9572: after we decref a defunct v1 directory, drop the main reference to it. Should fix bug 396. Many thanks to seeess for tracking this one down.
svn:r9648
2007-02-24 23:55:36 +00:00
Roger Dingledine
50f22e858a
doc pedant
...
svn:r9634
2007-02-24 07:50:38 +00:00
Roger Dingledine
33430d3a9e
bugfix on r9568: we were throwing around an uninitialized
...
nickname array, and only treating a server as reachable if
the array magically has the right nickname in it. this was
causing the authorities to label only themselves as running,
and clients were "mysteriously" failing.
svn:r9628
2007-02-24 01:26:09 +00:00
Roger Dingledine
9946bb7fbd
cosmetic, comment, and todo fixes
...
svn:r9627
2007-02-24 01:12:53 +00:00
Nick Mathewson
d2893398f6
r11832@catbus: nickm | 2007-02-16 15:31:59 -0500
...
Fix 35 remaining DOCDOC comments. Yowza.
svn:r9596
2007-02-16 20:39:37 +00:00
Nick Mathewson
95b828b685
r11781@catbus: nickm | 2007-02-12 18:31:33 -0500
...
Discard any v1 directory info that is so old as to be useless. (Fixes bug 387)
svn:r9572
2007-02-12 23:39:24 +00:00
Nick Mathewson
759c58151e
r11775@catbus: nickm | 2007-02-12 16:39:09 -0500
...
Update copyright dates.
svn:r9570
2007-02-12 21:39:53 +00:00
Nick Mathewson
fefba95363
r11629@catbus: nickm | 2007-02-02 15:06:17 -0500
...
Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were. Oops. Hey, kids! Fixing some of these could be your first Tor patch!
svn:r9477
2007-02-02 20:06:43 +00:00
Nick Mathewson
a701cd7e97
r11591@catbus: nickm | 2007-01-29 17:31:02 -0500
...
Add an XXXX comment to dirserv.c so I can take it out of my todo email folder.
svn:r9459
2007-01-29 23:09:22 +00:00
Roger Dingledine
88796acf4b
fix all the bugs i could find in nick's bridge dir commit.
...
let's hope i got them all.
svn:r9442
2007-01-27 20:44:09 +00:00
Nick Mathewson
9984cad6e8
r11552@catbus: nickm | 2007-01-27 03:55:02 -0500
...
This one is a little tricky. Our BEGIN_DIR implementation has a
problem: the dirserv conns will decide they can flush all their data
immediately, since the edge_conns will read greedily.
For our 0.1.2 workaround, we track which or_conn a bridged dirserv
conn is attached to, and stop writing when its outbuf is too full, and
start writing again when the or_conn's outbuf empties out a little.
This requires a bit of pointer management. Let's hope it works.
svn:r9432
2007-01-27 08:55:06 +00:00
Roger Dingledine
e9f6456b2c
Bugfix: If we're not marking exits as guards, ignore exit bandwidth
...
when we're deciding the required bandwidth to become a guard.
svn:r9423
2007-01-26 09:03:20 +00:00
Nick Mathewson
79dd306527
r11278@catbus: nickm | 2007-01-23 14:22:27 -0500
...
More doxygen comments: this time mainly around spooling and storing directory information.
svn:r9392
2007-01-23 19:22:52 +00:00
Nick Mathewson
af857f2da5
r11967@Kushana: nickm | 2007-01-15 16:13:15 -0500
...
tidy up more whitespace issues
svn:r9356
2007-01-15 21:21:14 +00:00
Nick Mathewson
0c77ae2fcb
r11930@Kushana: nickm | 2007-01-11 09:05:27 -0500
...
fix recently-introduced segfault when not running as a dirserver
svn:r9332
2007-01-11 14:13:04 +00:00
Nick Mathewson
8835bb844e
r11922@Kushana: nickm | 2007-01-10 15:43:18 -0500
...
Clear untrusted networkstatuses after 10 days too. (This is not a terribly awful bug, since we would only ever retain 16 of them, but it still might be nice to backport.) Resolves part A of bug 372.
svn:r9324
2007-01-10 20:43:40 +00:00
Nick Mathewson
03d6e98111
r11868@Kushana: nickm | 2007-01-06 01:32:55 -0500
...
Document how we set Guard a little better.
svn:r9283
2007-01-06 06:32:59 +00:00
Nick Mathewson
aa7b72c97d
r11863@Kushana: nickm | 2007-01-06 01:12:24 -0500
...
Fix computation of total_exit_bandwidth; this will cause exits not to get recommended as guards if the total exit bandwidth if they constitute less than a third of total available bandwidth. There may be problems here with flapping; lets see if they occur in practice.
svn:r9281
2007-01-06 06:26:53 +00:00
Roger Dingledine
ee0d2d486d
fix a bug, defer a bug, bump to 0.1.2.5-alpha
...
svn:r9270
2007-01-05 06:30:31 +00:00
Roger Dingledine
658c09c06f
more progress and cleanups
...
svn:r9269
2007-01-05 06:03:10 +00:00
Roger Dingledine
50f0e36094
man page entries for TunnelDirConns and PreferTunneledDirConns
...
and add a todo item for nick in case he gets bored :)
svn:r9260
2007-01-04 04:35:18 +00:00
Roger Dingledine
88c3c84bda
be slightly less eager to yell at a server for being unreachable
...
svn:r9259
2007-01-03 23:58:03 +00:00
Nick Mathewson
2963d4acc2
r11820@Kushana: nickm | 2007-01-03 14:54:05 -0500
...
Add (and specify) a BadDirectory flag to networkstatuses, so authorities can tell clients that some caches are broken. Also, implement an as-yet-unused function to estimate how many bytes will be sent on a directory connection.
svn:r9255
2007-01-03 19:58:00 +00:00
Roger Dingledine
50e36dc11b
more cleanups, including a shiny new XXX012
...
svn:r9250
2007-01-03 10:30:26 +00:00
Nick Mathewson
cbdd21cbf5
r11799@Kushana: nickm | 2007-01-02 16:38:34 -0500
...
Simplify and remove most of dirserv_orconn_tls_cone
svn:r9243
2007-01-02 21:47:21 +00:00
Nick Mathewson
722a3ab544
r11784@Kushana: nickm | 2007-01-02 01:13:04 -0500
...
Spec-conformance on r9181: make "opt v" strings start with "Tor".
svn:r9233
2007-01-02 06:13:10 +00:00
Nick Mathewson
6ae3ba9b2d
r11777@Kushana: nickm | 2007-01-01 21:01:10 -0500
...
Fix an idiot bug in r9181: snprintf returns <0 on error, not !=0.
svn:r9232
2007-01-02 02:01:15 +00:00
Nick Mathewson
46092f8163
r11765@Kushana: nickm | 2006-12-29 16:04:22 -0500
...
Remove duplicated code in dirserv_get_networkstatus_v2; document dirserv_get_networkstatus_v2_fingerprints. Down to 13 XXXX012 items.
svn:r9220
2006-12-30 02:41:14 +00:00
Nick Mathewson
8728e2826f
r11744@Kushana: nickm | 2006-12-28 23:43:53 -0500
...
Refactor connection_write_to_buf_zlib back into connection_write_to_buf. Hooray for dumping duplicate code.
svn:r9209
2006-12-29 05:07:04 +00:00
Nick Mathewson
b59573949e
r11736@Kushana: nickm | 2006-12-28 17:46:23 -0500
...
Mark a pile of XXXX comments as targetted for 0.1.2: some because they look important, some because they look easy.
svn:r9205
2006-12-29 02:47:51 +00:00
Nick Mathewson
2e538d9918
r11694@Kushana: nickm | 2006-12-23 23:09:20 -0500
...
Add a version entry to networkstatus documents; have this entry get parsed and used to calculate whether begin_dir is supported.
svn:r9181
2006-12-24 04:09:48 +00:00
Roger Dingledine
488b4726a7
reinstate the most important dead chickens for limiting
...
impact of directory writes now that we're write limiting.
a few more dead chickens remain.
svn:r9170
2006-12-23 08:48:16 +00:00
Nick Mathewson
280692d65f
r11643@Kushana: nickm | 2006-12-19 13:15:14 -0500
...
Stop recommmending exits as guards when the exit bandwidth is less than a third of the total bandwidth.
svn:r9154
2006-12-19 19:48:48 +00:00
Nick Mathewson
cf04e1e6e7
r11479@Kushana: nickm | 2006-12-07 23:38:54 -0500
...
Refactor GETINFO into a table-driven dispatch, as suggested by arma. My brain hurts.
svn:r9052
2006-12-08 04:39:13 +00:00
Nick Mathewson
1567e13dc8
r11475@Kushana: nickm | 2006-12-07 20:49:21 -0500
...
Make GETINFO dir/status/... work even when we are not a directory. Needs a little cleanup. Closes bug 263.
svn:r9051
2006-12-08 01:50:02 +00:00
Roger Dingledine
44c55dad23
Fix an assert failure when the directory authority sets
...
AuthDirRejectUnlisted and then receives a descriptor from an
unlisted router (reported by seeess).
svn:r9023
2006-12-04 18:54:01 +00:00
Roger Dingledine
69ae0a2986
we were leaking all the fingerprints for !reject, !invalid,
...
and !badexit lines in the approved-routers file.
svn:r8974
2006-11-20 16:36:44 +00:00
Nick Mathewson
b1dc014fc6
r9347@totoro: nickm | 2006-11-20 11:24:46 -0500
...
11:23 < armadev> typo
11:23 < nickm> ?
11:23 < armadev> did you get the coffee yet? :)
11:23 < nickm> no
11:23 < armadev> i'm at an advantage..i haven't slept yet
svn:r8972
2006-11-20 16:26:52 +00:00
Nick Mathewson
b4ea6136a4
r9345@totoro: nickm | 2006-11-20 11:22:10 -0500
...
Fix a small and unlikely memory leak in dirserv.c. I think this is not the one arma is looking for.
svn:r8971
2006-11-20 16:22:46 +00:00
Nick Mathewson
9243e54177
r9313@totoro: nickm | 2006-11-13 20:07:41 -0500
...
Try to compile with fewer warnings on irix64's MIPSpro compiler /
environment, which apparently believes that:
- off_t can be bigger than size_t.
- only mean kids assign things they do not subsequently inspect.
I don't try to fix the "error" that makes it say:
cc-3970 cc: WARNING File = main.c, Line = 1277
conversion from pointer to same-sized integral type (potential portability
problem)
uintptr_t sig = (uintptr_t)arg;
Because really, what can you do about a compiler that claims to be c99
but doesn't understand that void* x = NULL; uintptr_t y = (uintptr_t) x;
is safe?
svn:r8948
2006-11-14 01:07:52 +00:00
Nick Mathewson
1bf1f9d2fc
r9449@Kushana: nickm | 2006-10-31 00:12:02 -0500
...
Dump breakdown of PK operations when we get a USR2 signal. This should help us figure out of we are doing some of them for stupid reasons.
svn:r8881
2006-10-31 19:17:07 +00:00
Roger Dingledine
8a781f7f34
general cleanups from looking through or-cvs
...
svn:r8855
2006-10-29 07:41:25 +00:00
Nick Mathewson
5b72dc77ad
r9395@Kushana: nickm | 2006-10-26 22:06:51 -0400
...
Fix Bug 349: Have GETINFO network-status return even old routers, and use long nicknames where appropriate. Document this.
svn:r8834
2006-10-27 02:07:04 +00:00
Nick Mathewson
4df90e455c
r9164@totoro: nickm | 2006-10-24 17:50:43 -0400
...
Oops: 17:50 < armadev> today is opposite day?
svn:r8822
2006-10-24 21:51:06 +00:00
Nick Mathewson
6b7d1c94da
r9162@totoro: nickm | 2006-10-24 17:41:35 -0400
...
Make "boolean !=" logic more obvious.
svn:r8821
2006-10-24 21:41:48 +00:00
Nick Mathewson
a5bf6df14a
r9160@totoro: nickm | 2006-10-24 17:38:07 -0400
...
More dirserver oops: actually set the digest for a given name in the case when the name is not yet recognized.
svn:r8820
2006-10-24 21:38:31 +00:00
Nick Mathewson
ba1b04c736
r9158@totoro: nickm | 2006-10-24 16:50:18 -0400
...
Oops on last authority patch: handle routers with unrecognized fingerprints correctly
svn:r8819
2006-10-24 20:51:28 +00:00
Nick Mathewson
42bab1c6d3
r9318@Kushana: nickm | 2006-10-22 15:22:57 -0400
...
Let directory authorities set the BadExit flag if they like. Also, refactor directory authority code so we can believe multiple things about a single router, and do fewer linear searches.
svn:r8794
2006-10-23 03:48:42 +00:00
Nick Mathewson
e5f064c983
r9290@31-35-219: nickm | 2006-10-20 10:32:33 -0400
...
Add a GETINFO target so controllers can ask Tor for the current state of a router. (Results given in networkstatus format.)
svn:r8772
2006-10-20 14:58:29 +00:00
Nick Mathewson
7551c44a53
r9274@Kushana: nickm | 2006-10-19 16:16:58 -0400
...
Add unit tests for tor_mmap_file(); make tor_mmap_t.size always be the size of the file (not the size of the mapping); add an extra argument to read_file_to_str() so it can return the size of the result string.
svn:r8762
2006-10-19 23:05:02 +00:00
Nick Mathewson
c6f2d725d0
r8957@totoro: nickm | 2006-10-08 22:35:17 -0400
...
The otherwise regrettable MIPSpro C compiler warns about values set but never used, and about mixing enums and ints; these are good warnings, and so should be fixed. This removes some dead code and some potential bugs. Thanks to pnx.
svn:r8664
2006-10-09 02:35:51 +00:00
Roger Dingledine
538c54e376
try dirport reachability testing five times less often.
...
it's already so darn thorough per test -- it chews through
like four circuits before giving up.
svn:r8646
2006-10-08 06:33:02 +00:00
Nick Mathewson
8992bf6204
r8776@totoro: nickm | 2006-09-29 00:50:46 -0400
...
Reserve the nickname "Unnamed" for routers that can't pick a hostname; any
router can call itself Unnamed; directory servers will never allocate Unnamed
to any particular router; clients won't believe that any router is the
canonical Unnamed.
svn:r8529
2006-09-29 04:51:28 +00:00
Roger Dingledine
4791a4f1c9
combine the cutoff log entries
...
svn:r8524
2006-09-29 00:19:43 +00:00
Nick Mathewson
907fc6c73e
r8977@Kushana: nickm | 2006-09-28 19:56:41 -0400
...
Make "is a v1 authority", "is a v2 authority", and "is a hidden service authority" into separate flags so we can eventually migrate more trust away from moria.
svn:r8523
2006-09-28 23:57:59 +00:00
Peter Palfrader
540fbaae75
r9889@danube: weasel | 2006-09-29 00:57:42 +0200
...
bandwidth is not measured in bytes
svn:r8515
2006-09-28 22:59:36 +00:00
Peter Palfrader
9e6c0b8b3b
r9888@danube: weasel | 2006-09-29 00:57:02 +0200
...
Also log guard bandwidth cutoff
svn:r8514
2006-09-28 22:59:25 +00:00
Nick Mathewson
ce83f43629
r8817@Kushana: nickm | 2006-09-14 18:31:29 -0400
...
Patch from steve hildrey: Generate network status correctly on non-versioning dirservers
svn:r8395
2006-09-14 22:34:57 +00:00
Nick Mathewson
4f888c9dfc
r8808@senior-two-eighty: nickm | 2006-09-14 00:59:54 -0400
...
House style for no-args functions is old-style C, not C++
svn:r8388
2006-09-14 05:00:02 +00:00
Peter Palfrader
984e8f6efb
r9736@danube: weasel | 2006-09-14 05:53:06 +0200
...
Refactor dirserv_parse_fingerprint_file(fname) into dirserv_load_fingerprint_file():
There is not need to put together the path to the approved-routers file in more than one place.
svn:r8386
2006-09-14 04:53:23 +00:00
Roger Dingledine
6fdc63aed2
simplify the connection_write_to_buf_zlib() wrapper.
...
svn:r7042
2006-08-13 23:38:30 +00:00
Nick Mathewson
09a895e222
r7324@Kushana: nickm | 2006-08-10 23:23:15 -0700
...
Add more warnings to the list of those we tolerate. Start using GCC attributes more, for better error checking and better code generation.
svn:r7020
2006-08-11 07:09:17 +00:00
Nick Mathewson
4ff4577beb
r6908@Kushana: nickm | 2006-07-26 12:38:52 -0400
...
Refactor connection_t into edge, or, dir, control, and base subtypes. This might save some RAM on busy exit servers, but really matters most in terms of correctness.
svn:r6906
2006-07-26 19:07:26 +00:00
Roger Dingledine
4d5fab4f9a
tweak
...
svn:r6799
2006-07-21 07:53:21 +00:00
Roger Dingledine
ee5f512e13
parameterize the loudness of resolve_my_address(), and call things
...
IP addresses, not IPs.
svn:r6764
2006-07-15 20:26:05 +00:00
Roger Dingledine
c4411841d2
Avoid an integer underflow when the dir authority decides whether a
...
router is stable: we might wrongly label it stable, and compute a slightly
wrong median stability, when a descriptor is published later than now.
Inspired by Matt's Vidalia checkin:
http://trac.vidalia-project.net/changeset/1074
svn:r6758
2006-07-14 03:14:02 +00:00
Roger Dingledine
7f01dc9c1c
whitespace/tab fixes
...
svn:r6734
2006-07-06 02:45:46 +00:00
Roger Dingledine
05d0b70573
Get rid of the router_retry_connections notion. Now routers no longer
...
try to rebuild long-term connections to directory authorities, and
directory authorities no longer try to rebuild long-term connections to
all servers.
We still don't hang up connections in these two cases though -- we need
to look at it more carefully to avoid flapping, and we likely need to
wait til 0.1.1.x is obsolete.
svn:r6712
2006-07-04 03:31:27 +00:00
Nick Mathewson
475eb5d6fe
Apparent 311 fix: apparently passing Z_FINISH an empty string is problematic.
...
svn:r6702
2006-06-29 11:19:52 +00:00
Nick Mathewson
b82dfdd4a3
Make some more verbose gcc warnings go away.
...
svn:r6680
2006-06-22 07:34:04 +00:00
Nick Mathewson
52b8dfa95a
Fix a bunch of spaces.
...
svn:r6678
2006-06-22 07:25:15 +00:00
Nick Mathewson
b7910202a3
Next batch of memory miserdom: mmap cached-routers file. This is sure to break somewhere.
...
svn:r6675
2006-06-22 07:01:54 +00:00
Nick Mathewson
e2697a62ac
When requesting or serving resources via fingerprint/digest, request and respond in-order, removing duplicates.
...
svn:r6673
2006-06-21 04:57:12 +00:00
Peter Palfrader
7b6c435066
<nickm> ooh, that log shouldn't be there. can you take it out?
...
svn:r6671
2006-06-20 23:11:15 +00:00
Nick Mathewson
0799154ae1
Fix bug in networkstatus spooling: spool more than the first networkstatus.
...
svn:r6670
2006-06-20 23:06:52 +00:00
Nick Mathewson
0e09b26112
Fishy, but harmless.
...
svn:r6669
2006-06-20 16:48:32 +00:00
Roger Dingledine
ef78e4245f
add a note for nick to fix
...
svn:r6668
2006-06-20 13:14:07 +00:00
Nick Mathewson
a9e1a4c33c
Ah. We need a new zlib_state for each networkstatus we spool out.
...
svn:r6667
2006-06-20 06:27:13 +00:00
Nick Mathewson
4283b81a48
Start spooling v2 networkstatus docs as well.
...
svn:r6664
2006-06-20 00:48:23 +00:00
Nick Mathewson
3f7f069a05
Fix a tricky crash: making the_directory heap-allocated (so we could refcount it and have multiple instances as neeeded) means that calls to dirserv_regenerate_directory could invalidate the auth_dir value passed to dirserv_pick_cached_dir_obj. Big fun.
...
svn:r6663
2006-06-18 21:30:03 +00:00
Nick Mathewson
2552d5e60f
Fix an assert that still isnt the assert we are hunting.
...
svn:r6662
2006-06-18 21:15:01 +00:00
Nick Mathewson
f1993b8b30
Become capable of noticing that we are done sending a directory.
...
svn:r6659
2006-06-18 20:58:27 +00:00
Nick Mathewson
537104c908
write_to_buf != connection_write_to_buf. Also, add a connection_write_to_buf_zlib wrapper that sucks.
...
svn:r6650
2006-06-18 08:46:55 +00:00
Nick Mathewson
4d02ccfed8
Stop trying to refresh when we are out of data.
...
svn:r6647
2006-06-18 08:19:35 +00:00
Nick Mathewson
347bcec84a
Fix a couple of bugs in last patch.
...
svn:r6644
2006-06-18 08:07:16 +00:00
Nick Mathewson
c58cc8c16c
add coverage for a default case
...
svn:r6643
2006-06-18 07:57:47 +00:00
Nick Mathewson
b1a8b7869a
Oops. conn->requested_resource is client only.
...
svn:r6642
2006-06-18 07:55:04 +00:00
Nick Mathewson
1d9923da7c
Instead of adding servers and v1 directories to buffers en masse, directory servers add them on the fly as their outbufs are depleted. This will save ram on busy dirservers.
...
svn:r6641
2006-06-18 07:38:55 +00:00
Roger Dingledine
b4e415ba3c
now we can tell dirserv_dump_directory_to_string() whether we want
...
it to include down/invalid descriptors or not.
svn:r6618
2006-06-13 11:11:19 +00:00
Nick Mathewson
853e2d99b6
Add a new warning to our "warn a lot" list: unused parameters. This means we have to explicitly "use" unuseds, but it can catch bugs. (It caught two coding mistakes so far.)
...
svn:r6532
2006-06-04 22:42:13 +00:00
Roger Dingledine
f6ff3e6f0e
directory authorities should be more tolerant of failed reachability
...
tests before crying foul to the server operator.
svn:r6509
2006-05-28 16:14:26 +00:00
Roger Dingledine
0cee3e1fc7
if the bottom eighth of the servers by bandwidth is really crummy,
...
try the bottom quartile instead.
svn:r6387
2006-04-15 07:15:23 +00:00
Nick Mathewson
e258276c2b
Change a dumb interface. Also, increment trusted_dir_server_t.n_networkstatus_failures when an all.z download fails entirely or partially.
...
svn:r6345
2006-04-10 01:35:56 +00:00
Roger Dingledine
0871f4ef90
Remove about 30% of the v1 directory bulk by not including down or
...
invalid nodes.
This will make exitlist's running on v1 not very good. I feel sorry for
them, but not as sorry as I feel for the directory mirrors.
svn:r6332
2006-04-09 01:00:24 +00:00
Roger Dingledine
b7cadc0db5
If you're not a versioning dirserver, don't put the string
...
"client-versions \nserver-versions \n" in your network status.
svn:r6329
2006-04-08 21:59:15 +00:00
Roger Dingledine
24b2e0530a
clean up the log lines more, and note a future work.
...
svn:r6324
2006-04-08 21:12:07 +00:00
Roger Dingledine
f1692ebefc
when we do reachability testing and the tls cert at the other
...
end disagrees with a descriptor we already have, be more useful
at explaining it.
svn:r6322
2006-04-08 20:35:19 +00:00
Nick Mathewson
5d466b7611
Fix a couple of things that make GCC complain with verbose warnings on. Also, fix some whitespace.
...
svn:r6317
2006-04-08 05:43:52 +00:00
Nick Mathewson
eba6204315
fix some xxxs.
...
svn:r6307
2006-04-03 06:23:24 +00:00
Nick Mathewson
d663bfa306
Versions that drop connections for having used idle circs are as bad for stable as for guard
...
svn:r6296
2006-04-02 23:01:01 +00:00
Roger Dingledine
6fb27741ba
Fix dirserv_get_networkstatus_v2's api: its function comments
...
did not at all match its behavior, and I can't think of a case
when it should return anything other than 0.
This fix may allow getinfo dir/status/foo to work.
svn:r6285
2006-04-01 22:00:49 +00:00
Roger Dingledine
4c996757ae
We can remove about 30% of the v1 directory bulk by taking
...
out down or invalid nodes. We should do this once we're ready.
svn:r6273
2006-03-29 09:21:23 +00:00
Roger Dingledine
db1209a852
Refactor the decision of whether to include a router's descriptor
...
in the v1 directory. No actual changes yet.
svn:r6272
2006-03-29 08:56:39 +00:00
Roger Dingledine
1f4d0d2479
When deciding whether a router is Fast or Guard-worthy, consider
...
his advertised BandwidthRate and not just the BandwidthCapacity.
This is a bug in 0.1.0.x as well, but let's not bother backporting.
svn:r6266
2006-03-28 12:01:58 +00:00
Roger Dingledine
6f08d121d9
Refactor and consolidate addr/exit policies into a new policies.c.
...
Fix some minor bugs and memory leaks along the way.
svn:r6246
2006-03-27 02:25:34 +00:00
Roger Dingledine
7edfec2ae6
bump up the magic number for how quickly we start notifying
...
a server that it's unreachable.
svn:r6234
2006-03-24 20:57:55 +00:00
Roger Dingledine
20e66a799b
Resolve problem found by weasel: the v1 directory was including
...
servers as much as 48 hours old, because that's how the new
routerlist->routers works. Now only include them if they're
20 hours old or less.
svn:r6230
2006-03-22 21:32:42 +00:00
Peter Palfrader
58307cd8de
Maybe it compiles for devilproxy now
...
svn:r6229
2006-03-22 11:23:00 +00:00
Roger Dingledine
5399e394a8
and dirservers don't call you a guard if you're running a
...
buggy version either.
svn:r6216
2006-03-21 23:10:26 +00:00
Nick Mathewson
08aba015ab
Make guard bandwidth threshold higher than fast bandwidth threshold.
...
svn:r6204
2006-03-20 21:49:55 +00:00
Nick Mathewson
1272485cd4
Make "Fast" based on median capacity, just like "Stable" is based on median uptime.
...
svn:r6203
2006-03-20 21:41:12 +00:00
Roger Dingledine
c06e6ddadd
Finish the transition from the word 'verified' to the words
...
'named' and 'valid'.
svn:r6188
2006-03-19 01:21:59 +00:00
Roger Dingledine
cf6ba3e76f
let an authdir that's not a naming authdir start even
...
if it doesn't have an approved-routers file. if it does,
read it and parse it as usual.
svn:r6182
2006-03-18 00:22:23 +00:00
Nick Mathewson
fb7b5545ce
Implement GETINFO(dir/server/foo); status will be harder.
...
svn:r6165
2006-03-15 05:06:56 +00:00
Peter Palfrader
a4ec555228
change INET_NTOA_BUF_LEN+1 to INET_NTOA_BUF_LEN
...
add a comment in a few places where we add weird numbers to buffer lengths
svn:r6161
2006-03-14 23:40:37 +00:00
Peter Palfrader
2ef8f772a1
Fix an off-by-one buffer size in dirserv.c that magically never hit our
...
three authorities but broke sjmurdoch's own tor network.
svn:r6157
2006-03-14 22:43:52 +00:00
Nick Mathewson
474c60b743
Cleanup on time-relaqted constants. New conventions:
...
1) Surround all constants by (parens), whether we'll be using them
in a denominator or not.
2) Express all time periods as products (24*60*60), not as multiplied-out
constants (86400).
3) Comments like "(60*60) /* one hour */" are as pointless as comments
like "c = a + b; /* set c to the sum of a and b */". Remove them.
4) All time periods should be #defined constants, not given inline.
5) All time periods should have doxygen comments.
6) All time periods, unless specified, are in seconds. It's not necessary
to say so.
To summarize, the old (lack of) style would allow:
#define FOO_RETRY_INTERVAL 60*60 /* one hour (seconds) */
next_try = now + 3600;
The new style is:
/** How often do we reattempt foo? */
#define FOO_RETRY_INTERVAL (60*60)
next_try = now + RETRY_INTERVAL;
svn:r6142
2006-03-12 22:48:18 +00:00
Roger Dingledine
b67a5ba498
lower the reachability timeout, so we're more likely to act
...
quickly if a server stops being reachable.
svn:r6141
2006-03-12 21:24:03 +00:00
Roger Dingledine
1fc5eb329b
We screwed up in anticipating how to add new dirservers:
...
Old servers won't realize they're supposed to stay connected
to the new dirservers, so they'll expire connections to them,
but that means the dirservers will list them as unreachable.
So the fix is to stop requiring an open connection when deciding
if a server is reachable. This makes us slightly less accurate,
but at least it will work.
svn:r6140
2006-03-12 20:57:52 +00:00
Nick Mathewson
4d3e709c4b
Use escaped() for remaining cases.
...
svn:r6117
2006-03-11 02:21:30 +00:00
Nick Mathewson
1ce3713889
Possible bug 265 fix: authorities must be more strict than clients about age of acceptable routers; make routers publish every 12 hours; client ROUTER_MAX_AGE must be greater than NETWORKSTATUS_MAX_AGE+authoirty ROUTER_MAX_AGE.
...
svn:r6095
2006-03-08 06:29:52 +00:00
Nick Mathewson
5777ee0e1a
Add some functions to escape values from the network before sending them to the log. Use them everywhere except for routerinfo->plaftorm, routerinfo->contact_info, and rend*.c. (need sleep now)
...
svn:r6087
2006-03-05 09:50:26 +00:00
Roger Dingledine
aa63a84fe1
the things we do for our windows users.
...
i hope they appreciate it.
svn:r6004
2006-02-13 09:37:53 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Nick Mathewson
e5a574ce2e
Move "sort list of versions" logic into routerparse.c; make version-checking code say which versions it would have accepted. (not tested.)
...
svn:r5927
2006-02-06 05:04:27 +00:00
Roger Dingledine
6535087845
when building v2 statuses or v1 running-routers, don't admit the
...
existence of descriptors older than a day.
we still cache them in case anybody asks, but we don't actively
mention them.
svn:r5913
2006-02-05 02:33:40 +00:00
Nick Mathewson
bfe285be61
Add a missing printf arg
...
svn:r5861
2006-01-24 04:01:13 +00:00
Nick Mathewson
9f42c9d650
Make dirservers generate a separate "guard" flag to mean, "would make a good entry guard". Make clients parse it and vote on it.
...
svn:r5856
2006-01-24 00:31:16 +00:00
Nick Mathewson
2dd566d5d5
Indirect access to the signed_descriptor field to make it easier to keep them lazily on disk.
...
svn:r5827
2006-01-12 18:04:17 +00:00
Nick Mathewson
5c78c89471
Appease verbose gcc warning: make dirserv_compute_stable_uptime() static.
...
svn:r5792
2006-01-11 03:59:55 +00:00
Roger Dingledine
c8e6003412
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
2006-01-10 07:21:01 +00:00
Nick Mathewson
43a4f8c7f3
Be more aggressive about throwing away expired router descriptors: they are of no use to anybody. Better still: dont serve expired descriptors by fingerprint. The only people who ask for them are busted 0.1.1.10 Tors that will throw them away and re-request them after 30 minutes.
...
svn:r5762
2006-01-10 04:57:12 +00:00
Nick Mathewson
5d709e8517
Fix bug in last commit. Also, fix bug 231: authorities should never treat their own descriptor changes as cosmetic.
...
svn:r5755
2006-01-08 21:33:15 +00:00
Nick Mathewson
e30516f33f
Fix bug 236: caches should cache up to 16 unrecognized network-status docs.
...
svn:r5754
2006-01-08 21:26:33 +00:00
Roger Dingledine
f8a59965a1
cleanups, and remove some unreachable code.
...
svn:r5727
2006-01-04 06:43:03 +00:00
Roger Dingledine
485aa9415d
authdirs now stop whining so loudly about bad descriptors that they fetch
...
from other dirservers. now when there's a log complaint, it's for sure
from a freshly uploaded descriptor.
svn:r5726
2006-01-04 04:42:10 +00:00
Roger Dingledine
9af33ef39c
when we choose not to use a server descriptor from our cache, don't
...
log it so loudly.
svn:r5713
2006-01-03 10:42:20 +00:00
Roger Dingledine
2efa056777
make the "stable" flag in network-status be the median of the uptimes
...
of running valid servers. that way the cutoff adapts to the stability
of the network as a whole.
svn:r5693
2006-01-02 03:32:55 +00:00
Nick Mathewson
89eded7b17
Add "panic" option to reject all servers not in fingerprint list.
...
svn:r5601
2005-12-15 21:39:38 +00:00
Nick Mathewson
280c62314e
Make clients look at the fast and stable flags in networkstatus, not at the bandwidth and uptime declared in the router descriptors.
...
svn:r5599
2005-12-15 21:30:57 +00:00
Nick Mathewson
24e79df0b6
Whitespace fixes; comments.
...
svn:r5596
2005-12-15 21:17:40 +00:00
Nick Mathewson
1af630d32c
Bite the bullet and limit all our source lines to 80 characters, the way IBM intended.
...
svn:r5582
2005-12-14 20:40:40 +00:00
Nick Mathewson
27a201ac80
Have dirctory authorites note which servers make good V2 directory caches in publishe network-status.
...
svn:r5574
2005-12-12 01:03:28 +00:00
Roger Dingledine
58366ffd24
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
2005-12-10 09:36:26 +00:00
Roger Dingledine
9b0a40ec78
crank the max line limit down to 150 chars.
...
svn:r5550
2005-12-10 08:27:01 +00:00
Nick Mathewson
39265dd72e
In my private little universe, terminals are still 80 columns. Impose a 160-character-per-line limit; this will creep down.
...
svn:r5548
2005-12-09 05:37:26 +00:00
Roger Dingledine
a438f2abcd
let the user configure a sockslistenaddress on other private IPs
...
besides 127.x.y.z without complaining.
and give a better message in the log.
svn:r5544
2005-12-09 02:46:46 +00:00
Nick Mathewson
b1d034d2ab
Fix bug 212: Directory authorities should not try to download server descriptors that they know they will reject.
...
svn:r5514
2005-12-06 06:55:43 +00:00
Nick Mathewson
3bd613b44d
Rename connection_get_by_identity_digest to reflect that it is OR-only. Make it use a hashtable instead of a linear search.
...
svn:r5469
2005-11-30 03:01:16 +00:00
Nick Mathewson
447a3a7ff2
Funny. I could have sworn that it compiled.
...
svn:r5467
2005-11-29 17:17:02 +00:00
Nick Mathewson
94e8dcef44
Fix a bug weasel found: when we are an authority and somebody requests "all" statuses, cconsider regenerating our own.
...
svn:r5466
2005-11-29 17:14:10 +00:00
Peter Palfrader
a48b722432
Ancient gcc does not like you when you declare variables in the middle of a block
...
svn:r5437
2005-11-20 16:53:49 +00:00
Peter Palfrader
b9d37a2d58
Add a new controller event type that allows controllers to get all
...
server descriptors that were uploaded to a router in its role as authoritative
dirserver.
svn:r5436
2005-11-19 18:35:43 +00:00
Roger Dingledine
7aae63994f
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
2005-11-19 06:57:44 +00:00
Nick Mathewson
75d85c8214
On directory servers, old_routers was wasting hundreds of bytes per superseded router descriptor. Roll the signed descriptor info and identifying info into a cache_info struct, and use only that for old_routers.
...
svn:r5349
2005-11-05 20:15:27 +00:00
Roger Dingledine
1991f6cf48
more doc cleanups and reorganizing
...
svn:r5336
2005-11-01 03:48:51 +00:00
Nick Mathewson
f2617c6b79
Free the v2 directory networkstatus on exit. (Not a leak.)
...
svn:r5330
2005-10-29 05:01:12 +00:00
Nick Mathewson
4cb2435388
aaand another leak. Oops, I guess I lied to weasel when I told him there was no leak here.
...
svn:r5329
2005-10-28 19:10:53 +00:00
Nick Mathewson
e594ce92fe
Start making directory caches retain old routerinfo_t. The code to remove old ones is definitely some textbook C problem.
...
svn:r5323
2005-10-27 00:34:39 +00:00
Nick Mathewson
e5633c2e66
fix a nasty corruption bug
...
svn:r5319
2005-10-25 18:33:33 +00:00