Nick Mathewson
bb22d8fc45
Add functions to serve microdescs and flavored consensuses.
2009-10-18 18:46:12 -04:00
Nick Mathewson
3b2fc659a8
Refactor consensus signature storage for multiple digests and flavors.
...
This patch introduces a new type called document_signature_t to represent the
signature of a consensus document. Now, each consensus document can have up
to one document signature per voter per digest algorithm. Also, each
detached-signatures document can have up to one signature per <voter,
algorithm, flavor>.
2009-10-15 15:17:13 -04:00
Roger Dingledine
7f518873eb
Notice v3 cert parsing failures
...
If any the v3 certs we download are unparseable, we should actually
notice the failure so we don't retry indefinitely. Bugfix on 0.2.0.x;
reported by "rotator".
2009-08-20 16:50:51 -04:00
Roger Dingledine
bdca5476da
the second piece of bug 969 fixing
...
whenever we remove a relay from the main routerlist, tell the
rephist module that it's no longer running.
2009-06-30 10:10:13 -04:00
Roger Dingledine
9fc3d87827
stop capping bandwidths we see in the consensus
...
but continue capping bandwidths we see in local server
descriptors, if we have no consensus weights for them.
2009-06-25 11:38:05 -04:00
Roger Dingledine
1aaab8288d
Clients now use bandwidth values in the consensus
...
rather than the bandwidth values in each relay descriptor. This approach
opens the door to more accurate bandwidth estimates once the directory
authorities start doing active measurements. Implements more of proposal
141.
2009-06-22 14:01:34 -04:00
Nick Mathewson
e8ac2a8477
Make the second argument to routerset_contains_extendinfo const
2009-05-31 19:15:36 -04:00
Nick Mathewson
ec7e054668
Spell-check Tor.
2009-05-27 17:55:51 -04:00
Nick Mathewson
c0515b307c
Fix valgrind error when marking a descriptor as never-downloadable.
...
When we got a descriptor that we (as an authority) rejected as totally
bad, we were freeing it, then using the digest in its RAM to look up its
download status. Caught by arma with valgrind. Bugfix on 0.2.1.9-alpha.
2009-05-17 02:01:09 -04:00
Karsten Loesing
9b32e8c141
Update copyright to 2009.
2009-05-04 11:28:27 -04:00
Karsten Loesing
4e6120cffb
Documentation fix.
...
svn:r19337
2009-04-16 08:25:36 +00:00
Sebastian Hahn
8390787a5f
Directory authorities should accept a descriptor as changed when the relay operator changed the bandwithrate or bandwithburst settings.
...
svn:r19259
2009-04-11 00:12:52 +00:00
Nick Mathewson
ad7ebec24c
Free very-old descriptors that we do not want to add. Fix for bug 672. Backport candidate
...
svn:r19057
2009-03-16 18:47:45 +00:00
Roger Dingledine
4774e593b8
Bugfix on r17756:
...
Avoid trying to print raw memory to the logs when we decide to
give up on downloading a given relay descriptor. Bugfix on
0.2.1.9-alpha.
svn:r18831
2009-03-09 22:05:17 +00:00
Nick Mathewson
b13496b62a
Possible fix for broken country settings in ExcludeExitNodes.
...
It turns out that we weren't updating the _ExcludeExitNodesUnion set's
country numbers when we reloaded (or first loaded!) the IP-to-country
file. Spotted by Lark. Bugfix on 0.2.1.6-alpha.
svn:r18575
2009-02-16 15:15:06 +00:00
Nick Mathewson
356b40f58b
Clients and non-caches do not need to cache unrecognized authority certificates.
...
svn:r18480
2009-02-10 20:28:30 +00:00
Nick Mathewson
6bf5d49b8a
Now that we can hit the end of router_rebuild_store before chunk_list is set, we need to test it before freeing it.
...
svn:r18101
2009-01-14 06:36:30 +00:00
Nick Mathewson
a33452c401
Fix up (I hope) most ot the things that coverity suddenly claimed were REVERSE_INULL. This is what we get for bragging about being down to 0 issues.
...
svn:r18096
2009-01-13 14:43:51 +00:00
Roger Dingledine
c123163043
Discard router descriptors as we load them if they are more than
...
five days old. Otherwise if Tor is off for a long time and then
starts with cached descriptors, it will try to use the onion
keys in those obsolete descriptors when building circuits. Bugfix
on 0.2.0.x. Fixes bug 887.
svn:r17993
2009-01-07 02:13:42 +00:00
Nick Mathewson
92ce533f71
Another round of downgrading removing or postponing XXXX021 issues. Some remain, though.
...
svn:r17888
2009-01-04 19:47:21 +00:00
Nick Mathewson
360a059948
Fix an xxx021: do not remove routerinfos as too old and unlisted unless we have a consensus. Backport candidate.
...
svn:r17886
2009-01-04 19:47:12 +00:00
Nick Mathewson
c4b8fef362
Remove svn $Id$s from our source, and remove tor --version --version.
...
The subversion $Id$ fields made every commit force a rebuild of
whatever file got committed. They were not actually useful for
telling the version of Tor files in the wild.
svn:r17867
2009-01-04 00:35:51 +00:00
Nick Mathewson
9201586ed5
Another attempt at fixing coverity scan CID 361.
...
svn:r17863
2009-01-03 23:06:12 +00:00
Nick Mathewson
272b007268
coverity thinks it's dumb to check networkstatus_v2_list in one place and not another. Coverity has a point, even though the check may be redundant. CID 361.
...
svn:r17809
2008-12-29 14:06:47 +00:00
Nick Mathewson
870fd18b8f
Refactor some exit-policy-related functions that showed up in oprofile.
...
Specifically, split compare_tor_addr_to_addr_policy() from a loop with a bunch
of complicated ifs inside into some ifs, each with a simple loop. Rearrange
router_find_exact_exit_enclave() to run a little faster. Bizarrely,
router_policy_rejects_all() shows up on oprofile, so precalculate it per
routerinfo.
svn:r17802
2008-12-29 01:47:28 +00:00
Nick Mathewson
f7adc017c4
Document and make more conservative the logic for picking the size of the bloom filter to use for retaining descriptors.
...
svn:r17786
2008-12-26 17:35:36 +00:00
Nick Mathewson
df5e8f65bc
Add more missing documentation, and correct an error in container.c documentation: Don't introduce two parameters called n when you're calling an algorithm O(n).
...
svn:r17783
2008-12-26 17:35:08 +00:00
Roger Dingledine
a12c3f2c86
some fixes i found in my sandbox
...
svn:r17771
2008-12-25 15:37:47 +00:00
Nick Mathewson
ac2f6b608a
Patch from Sebiastian for bug 888: mark a descriptor as "Impossible" if we reject it after downloading it so that we do not download it again
...
svn:r17756
2008-12-23 21:17:52 +00:00
Nick Mathewson
1e5f457461
Fix most DOCDOCs remaining and/or added by redox.
...
svn:r17734
2008-12-22 17:53:04 +00:00
Nick Mathewson
167d266dbf
Documentation and conformance for WRA_* returns.
...
shahn: "Add some documentation for the WRA_* family of functions, also make
sure that (hopefully) all functions that return was_router_added_t
don't return ints directly and that they don't refer to integers in
their documentation anymore."
svn:r17731
2008-12-22 16:37:20 +00:00
Nick Mathewson
1725c0c8a5
Add DOCDOC comments for all undocumented functions. Add missing *s to other comments so that they will get recognized as doxygen.
...
svn:r17729
2008-12-22 14:56:28 +00:00
Nick Mathewson
55348884b5
Fix all of the doxygen warnings not pertaining to missing documentation.
...
svn:r17727
2008-12-22 14:56:16 +00:00
Nick Mathewson
98a376fab1
More propagating of things that need to be was_router_added_t now.
...
svn:r17721
2008-12-22 04:53:11 +00:00
Nick Mathewson
16f1d4cb72
Doc RRS_DONT_REMOVE_OLD; improve router_rebuild_store documentation.
...
svn:r17704
2008-12-19 18:51:44 +00:00
Nick Mathewson
122170c1d3
Downlgrade tweak, and answer lots of XXX021s. No actual code fixes in this patch.
...
svn:r17686
2008-12-18 16:11:24 +00:00
Nick Mathewson
c449e6e5be
whitespace fixes.
...
svn:r17683
2008-12-18 16:11:08 +00:00
Nick Mathewson
6693f32530
Resolve many DOCDOCs.
...
svn:r17662
2008-12-17 22:58:20 +00:00
Nick Mathewson
33e2053ebc
Make return code from router_add_to_routerlist a nice sensible enum. Based on patch from Sebastian.
...
svn:r17656
2008-12-17 21:50:01 +00:00
Nick Mathewson
f3b52e331e
Avoid multiple descriptor-fetch connections to authorities. Fixes bug 366.
...
svn:r17594
2008-12-11 19:12:55 +00:00
Nick Mathewson
043b4fc59e
Add a PDS_ flag to exclude authorities from which we are fetching descs.
...
Yes, this is maybe a little overspecific. Part of a bug 366 fix.
svn:r17593
2008-12-11 19:12:48 +00:00
Nick Mathewson
29f5a65a16
Change directory_get_from_dirserver to take a set of flags to be passed to pick_(trusted_)dirserver. This lets us make its interface smarter, and makes code that calls it a little more readable.
...
svn:r17592
2008-12-11 19:12:45 +00:00
Nick Mathewson
7aa7d1a3e7
Give a better error when something has changed our descriptor cache out from under us. Based on patch from Karsten. Addresses bug 885.
...
svn:r17550
2008-12-10 03:01:26 +00:00
Roger Dingledine
e5be0504ab
When the client is choosing entry guards, now it selects at most
...
one guard from a given relay family. Otherwise we could end up with
all of our entry points into the network run by the same operator.
Suggested by Camilo Viecco. Fix on 0.1.1.11-alpha.
Not a backport candidate, since I think this might break for users
who only have a given /16 in their reachableaddresses, or something
like that.
svn:r17514
2008-12-08 00:04:29 +00:00
Nick Mathewson
0fa698d84f
apply sebastian's bug 867 fix: make routerset_equal() work as documented with NULL arguments
...
svn:r17287
2008-11-16 18:25:20 +00:00
Nick Mathewson
00a90177fa
oops, remove debugging log message.
...
svn:r17247
2008-11-11 16:02:23 +00:00
Nick Mathewson
8157b8b766
be less aggressive about deleting expired certs. based on patch from rovv. partial fix for bug 854.
...
svn:r17246
2008-11-11 16:01:57 +00:00
Nick Mathewson
9f1e06bd0e
but to not attempt to download a specific certificate we already have.
...
svn:r17214
2008-11-07 15:01:49 +00:00
Nick Mathewson
bda4ca065c
Aaaaand, do not reset the download count just because we have a certificate that is listed in a consensus.
...
svn:r17212
2008-11-07 14:57:14 +00:00
Nick Mathewson
5e2cdc1666
When we get a duplicated certificate, treat it as a failure and increment the download count. Do not claim to be downloading certificates that we merely want.
...
svn:r17209
2008-11-07 14:01:44 +00:00
Roger Dingledine
c7af43a624
Now NodeFamily and MyFamily config options allow spaces in
...
identity fingerprints, so it's easier to paste them in.
Suggested by Lucky Green.
svn:r17021
2008-10-01 03:41:33 +00:00
Nick Mathewson
e147e867be
Proposal 152 implementation from Josh Albrecht, with tweaks.
...
svn:r16983
2008-09-26 18:58:45 +00:00
Nick Mathewson
02c71a7eb4
Widen the conditions under which we whine about not having a geoip file to include "a country code was configured in a node list."
...
svn:r16968
2008-09-25 21:06:32 +00:00
Nick Mathewson
8bbbbaf87b
Add country-code support to configured node lists to implement the ever-popular "no exits in Monaco" feature (ExcludeExitNodes {MC}). Also allow country codes and IP ranges in ExitNodes. (EntryNodes needs more work.) Based on code by Robert Hogan. Needs more testing.
...
svn:r16966
2008-09-25 20:21:35 +00:00
Karsten Loesing
f2ff3e74ae
All relays now store and serve v2 hidden service descriptors by default (not only directory mirrors).
...
svn:r16961
2008-09-24 22:33:47 +00:00
Karsten Loesing
9a7098487b
If we are not using BEGIN_DIR cells, don't attempt to contact hidden service directories with non-open dir port.
...
svn:r16960
2008-09-24 22:29:22 +00:00
Nick Mathewson
3db8c15287
Add a circuit_conforms_to_options() function for use in debugging paths [and inother stuff too]. Untested, and so far unused.
...
svn:r16914
2008-09-15 22:29:47 +00:00
Karsten Loesing
f0a5ef804f
Directory mirrors store and serve v2 hidden service descriptors by default.
...
svn:r16858
2008-09-11 20:06:04 +00:00
Roger Dingledine
ef7af1d61e
karsten's patch for bug 767.
...
svn:r16808
2008-09-09 08:41:58 +00:00
Peter Palfrader
24da63ea7b
Add exit policy and bw to dirvotes - unfortunately also to v2 statuses
...
svn:r16536
2008-08-14 12:37:00 +00:00
Nick Mathewson
960a0f0a99
r17641@31-33-44: nickm | 2008-08-05 16:07:53 -0400
...
Initial conversion of uint32_t addr to tor_addr_t addr in connection_t and related types. Most of the Tor wire formats using these new types are in, but the code to generate and use it is not. This is a big patch. Let me know what it breaks for you.
svn:r16435
2008-08-05 20:08:19 +00:00
Nick Mathewson
016adc9a08
r17359@pc-10-8-1-079: nickm | 2008-07-25 16:42:48 +0200
...
whitespace fixes
svn:r16209
2008-07-25 14:47:19 +00:00
Nick Mathewson
3ce6e2fba2
r17346@aud-055: nickm | 2008-07-24 15:37:19 +0200
...
Make generic address manipulation functions work better. Switch address policy code to use tor_addr_t, so it can handle IPv6. That is a good place to start.
svn:r16178
2008-07-24 13:44:04 +00:00
Nick Mathewson
ed781e6971
r17338@aud-055: nickm | 2008-07-24 11:21:06 +0200
...
Refactor the router_choose_random_node interface: any function with 10 parameters, most of which are boolean and one of which is unused, should get refactored like this.
svn:r16167
2008-07-24 09:22:34 +00:00
Nick Mathewson
26746d7578
r17220@tombo: nickm | 2008-07-18 15:11:27 -0400
...
Fix bug in last patch: ADDR_POLICY_REJECT is not the same as ADDR_POLICY_REJECTED.
svn:r16065
2008-07-18 19:11:30 +00:00
Nick Mathewson
c8160bce1f
r17188@tombo: nickm | 2008-07-18 14:35:18 -0400
...
Add new ExcludeExitNodes option. Also add a new routerset type to handle Exclude[Exit]Nodes. It is optimized for O(1) membership tests, so as to make choosing a random router run in O(N_routers) time instead of in O(N_routers*N_Excluded_Routers).
svn:r16061
2008-07-18 18:36:32 +00:00
Nick Mathewson
c717e19a29
r16881@tombo: nickm | 2008-07-10 14:19:21 -0400
...
fix a rare segfault in bw-share-measuring code
svn:r15820
2008-07-10 18:31:28 +00:00
Karsten Loesing
33ced73597
Added prefixes to testing-network-only configuration options.
...
svn:r15375
2008-06-20 17:03:13 +00:00
Roger Dingledine
ad6b2e7523
check-spaces, fix a typo
...
svn:r15355
2008-06-18 20:14:25 +00:00
Nick Mathewson
dd6324b0c6
More bug 707 fixes: no #if/#endif pairs inside macro arguments.
...
svn:r15307
2008-06-16 18:35:21 +00:00
Nick Mathewson
0831cc3dbc
Patch from Karsten to implement proposal 135 ("Testing Tor Networks").
...
svn:r15253
2008-06-14 16:01:29 +00:00
Nick Mathewson
4630f0453d
Explain how my emacs setup works in the HACKING file. Someone else may care too.
...
svn:r15228
2008-06-13 19:57:52 +00:00
Roger Dingledine
15680ce8d2
some cleanups in preparation for moving stuff around
...
svn:r15112
2008-06-10 23:13:14 +00:00
Nick Mathewson
67a1658da5
Fix last geoip bugs.
...
svn:r15106
2008-06-10 20:11:59 +00:00
Nick Mathewson
b87a7760e0
r16129@tombo: nickm | 2008-06-10 14:28:06 -0400
...
More geoip tweaks. Include in the file a rough estimator of our total share.
svn:r15099
2008-06-10 18:28:10 +00:00
Nick Mathewson
55975452b4
r16121@tombo: nickm | 2008-06-09 16:14:39 -0400
...
fix compile with warnings on osx 10.5: double+int apparently gives a 64-bit value on some gccs
svn:r15093
2008-06-09 20:52:59 +00:00
Roger Dingledine
6aeb79af06
report partial bootstrapping progress as we fetch descriptors
...
svn:r15083
2008-06-09 06:33:29 +00:00
Roger Dingledine
eafb07ec96
extra points if you make it compile. boy, i'm on a roll.
...
svn:r15077
2008-06-09 05:17:52 +00:00
Roger Dingledine
3b730c7556
whoops -- the other half of r15074
...
svn:r15076
2008-06-09 05:16:47 +00:00
Roger Dingledine
5aeb89447e
infrastructure for the 'bootstrap status event' feature, so we can
...
tell the controller how we're doing at bootstrapping, and it can
tell the user.
svn:r15008
2008-06-07 05:27:34 +00:00
Roger Dingledine
b4d697688e
revert r14970, since it didn't fix anything.
...
leave r14971 in place though.
svn:r15005
2008-06-07 05:00:06 +00:00
Roger Dingledine
ebab48769d
Stop reloading the router list from disk for no reason when we
...
run out of reachable directory mirrors. Once upon a time reloading
it would set the 'is_running' flag back to 1 for them. It hasn't
done that for a long time.
svn:r15004
2008-06-07 04:56:08 +00:00
Roger Dingledine
ce64ca48b8
make some log entries more accurate
...
svn:r14998
2008-06-06 22:31:36 +00:00
Roger Dingledine
b65b89d50f
make sure, when we're checking if we have enough dir info, that
...
we actually have the descriptor listed in the consensus, not just
any descriptor, for each relay.
don't backport this patch (yet); who knows what it might do.
svn:r14971
2008-06-05 11:37:40 +00:00
Roger Dingledine
ca416a78e3
When we switched to using v3 directories, we threw away the part of
...
the "do we have enough directory info?" calculation that checked
how many relays we believed to still be running based on our own
experience. So if we went offline, we never gave up trying to make
new circuits; worse, when we came back online we didn't recognize
that we should give all the relays another chance. Bugfix on
0.2.0.9-alpha; fixes bugs 648 and 675.
svn:r14970
2008-06-05 10:57:09 +00:00
Roger Dingledine
c6b3cf4b96
documentation bug
...
svn:r14935
2008-06-04 08:59:14 +00:00
Nick Mathewson
6bfa96bfc7
Fix bug noted by roger: rebuild extrainfo store from time to time, even if we have never actually downloaded an extrainfo. Bridge authorities need this, or they never clean the extrainfo store.
...
svn:r14792
2008-05-29 00:44:57 +00:00
Nick Mathewson
08ba3355bc
r19694@catbus: nickm | 2008-05-12 00:21:37 -0400
...
Add unit tests for last patch; make it more testable; fix a bug or two.
svn:r14586
2008-05-12 04:22:01 +00:00
Peter Palfrader
c3c7e7114e
Actually, do not use conditional consensus downloads until the authorities have upgraded
...
svn:r14453
2008-04-24 15:51:53 +00:00
Peter Palfrader
ca43044600
I bet I screwed up while merging in the changes from the feature branch into my git-svn repository. Undo r14451
...
svn:r14452
2008-04-24 15:43:25 +00:00
Peter Palfrader
016e67f941
Merge conditional consensus downloading
...
svn:r14451
2008-04-24 15:39:14 +00:00
Peter Palfrader
788404dacf
and the client part of the consensus-by-authority-fpr proposal (ifdef'ed out)
...
svn:r14446
2008-04-24 15:38:57 +00:00
Nick Mathewson
41929c2684
r15287@tombo: nickm | 2008-04-22 17:09:25 -0400
...
Periodically launch requests for server/authority.z when it might help us learn our IP. Fix for bug 652.
svn:r14418
2008-04-22 21:10:41 +00:00
Roger Dingledine
5e299b5e01
minor fixes that have been accumulating
...
svn:r14378
2008-04-16 00:12:44 +00:00
Nick Mathewson
a627407fcb
r19233@catbus: nickm | 2008-04-08 13:06:34 -0400
...
When we remove old routers, use Bloom filters rather than a digestmap-based set in order to tell which ones we absolutely need to keep. This will save us roughly a kazillion little short-lived allocations for hash table entries.
svn:r14318
2008-04-08 17:06:41 +00:00
Nick Mathewson
72ca7e5d88
r19138@catbus: nickm | 2008-03-30 11:59:26 -0400
...
oops; fix bug in descriptor metric logic.
svn:r14245
2008-03-30 15:59:32 +00:00
Nick Mathewson
e19d96637d
r19118@catbus: nickm | 2008-03-29 00:27:08 -0400
...
Code (disabled) to get way too much info about the contents of old_routers on USR1.
svn:r14230
2008-03-29 04:27:34 +00:00
Nick Mathewson
fa15ed4b7b
r19079@catbus: nickm | 2008-03-26 17:16:46 -0400
...
Free authority certs on exit. Backport candidate.
svn:r14205
2008-03-26 21:16:56 +00:00
Nick Mathewson
80ec9e51dd
r18891@catbus: nickm | 2008-03-17 13:20:20 -0400
...
Patch from Sebastian Hahn: give an error message on "error replacing old router store."
svn:r14080
2008-03-17 17:21:12 +00:00
Nick Mathewson
e7db789e82
r14399@tombo: nickm | 2008-02-22 14:09:38 -0500
...
More 64-to-32 fixes. Partial backport candidate. still not done.
svn:r13680
2008-02-22 19:09:45 +00:00