Nick Mathewson
311aca5a34
Log bandwidth_weight_rule_t as a string, not an integer.
...
I'm adding this because I can never remember what stuff like 'rule 3'
means. That's the one where if somebody goes limp or taps out, the
fight is over, right?
2010-04-12 18:12:49 -04:00
Nick Mathewson
b3ec39af8f
Merge remote branch 'mikeperry/bwweight-smartlistfix'
2010-03-04 00:13:23 -05:00
Mike Perry
2b5e1d3636
Woops, forgot the second warn.
...
Also, differentiate the two log messages.
2010-03-03 21:02:01 -08:00
Mike Perry
97eec84f4b
Demote warn to info, since it can happen.
...
I still feel like we should investigate this case. It seems odd.
2010-03-03 17:35:06 -08:00
Nick Mathewson
b006e3279f
Merge remote branch 'origin/maint-0.2.1'
...
Conflicts:
src/common/test.h
src/or/test.c
2010-02-27 17:16:31 -05:00
Nick Mathewson
c3e63483b2
Update Tor Project copyright years
2010-02-27 17:14:21 -05:00
Nick Mathewson
937b5cdd41
Merge remote branch 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
src/or/routerparse.c
2010-02-27 15:34:02 -05:00
Sebastian Hahn
b67657bd95
Properly handle non-terminated strings
...
Treat strings returned from signed_descriptor_get_body_impl() as not
NUL-terminated. Since the length of the strings is available, this is
not a big problem.
Discovered by rieo.
2010-02-27 02:13:22 +01:00
Mike Perry
03d6995d0e
Check for empty smartlists and no bandwidth during node selection.
2010-02-26 16:17:09 -08:00
Mike Perry
245be159af
Always weight routers by bandwidth.
...
Also always predict that we need a high capacity circuit or internal
circuit.
2010-02-22 16:52:11 -08:00
Mike Perry
931e073a4f
Implement bw weighting selection algorithm.
2010-02-22 16:52:11 -08:00
Roger Dingledine
37ca182c7e
Merge branch 'maint-0.2.1' into master
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
2010-01-19 14:51:39 -05:00
Roger Dingledine
708f47ecc9
downgrade a warning
...
this case can now legitimately happen, if you have a cached v2 status
from moria1, and you run with the new list of dirservers that's missing
the old moria1. it's nothing to worry about; the file will die off in
a month or two.
2010-01-19 14:25:15 -05:00
Roger Dingledine
0450813227
resolve path weighting edge case; fixes bug 1203
2010-01-15 15:56:54 -05:00
Roger Dingledine
8cba62cc2a
don't div by 0 during path selection
2010-01-02 13:13:30 -05:00
Sebastian Hahn
9a07f30b90
Authorities now support conditional consensuses
...
Mark them this way in add_trusted_dir_server
2009-12-25 16:35:47 +01:00
Sebastian Hahn
51c00dbdec
Remove some old, commented out code
2009-12-25 16:35:47 +01:00
Roger Dingledine
f2c51cb998
comments and cleanups, no actual changes
2009-12-21 03:52:32 -05:00
Roger Dingledine
580066f2f6
Switch to a StrictNodes config option.
...
This is step one of handling ExcludedNodes better. This first
step is just to make EntryNodes and ExitNodes do what they did
before.
2009-12-21 03:52:31 -05:00
Karsten Loesing
f80672d747
Remove duplicate words and a duplicate newline.
2009-12-18 12:55:05 +01:00
Nick Mathewson
0c1b3070cf
Now that FOO_free(NULL) always works, remove checks before calling it.
2009-12-12 02:07:59 -05:00
Sebastian Hahn
3807db001d
*_free functions now accept NULL
...
Some *_free functions threw asserts when passed NULL. Now all of them
accept NULL as input and perform no action when called that way.
This gains us consistence for our free functions, and allows some
code simplifications where an explicit null check is no longer necessary.
2009-12-12 03:29:44 +01:00
Nick Mathewson
f629687053
Merge branch 'microdesc'
2009-10-19 00:45:47 -04:00
Nick Mathewson
465d4e1cd1
Document some formerly undocumented functions.
2009-10-19 00:30:52 -04:00
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
Roger Dingledine
b3c0d066e5
other cleanups that have been sitting in my sandbox
...
svn:r13649
2008-02-21 09:01:32 +00:00
Nick Mathewson
f0e523c6ef
r18272@catbus: nickm | 2008-02-20 18:20:33 -0500
...
add a flag to suppress overwriting the certificates file with new certificates, so we do not overwrite all certs when starting as an authority.
svn:r13630
2008-02-20 23:20:36 +00:00
Nick Mathewson
08f7842384
r18139@catbus: nickm | 2008-02-18 13:14:05 -0500
...
Clarify logic in trusted_dirs_load_certs_from_string(); avoid a maybe-impossible maybe-not double-free spotted by lodger.
svn:r13558
2008-02-18 18:14:34 +00:00
Nick Mathewson
9e9b447b87
r14243@tombo: nickm | 2008-02-17 14:51:26 -0500
...
Better debugging to track down bug 606. Also remove a break; that may have been the possible culprit
svn:r13547
2008-02-17 19:51:33 +00:00
Nick Mathewson
418c2e1b6b
r14181@tombo: nickm | 2008-02-15 16:48:17 -0500
...
Fix all but 2 DOCDOC items; defer many XXX020s (particularly those where fixing them would fix no bugs at the risk of introducing some bugs).
svn:r13529
2008-02-15 23:39:04 +00:00
Nick Mathewson
ff64e78b20
r14170@tombo: nickm | 2008-02-15 11:50:38 -0500
...
Fix or downgrade a bunch of xxx020 items.
svn:r13527
2008-02-15 19:20:53 +00:00
Nick Mathewson
7ae3f6a491
r18056@catbus: nickm | 2008-02-12 17:21:10 -0500
...
Add roger's responses from IRC to some XXX020 items.
svn:r13487
2008-02-12 22:21:20 +00:00
Roger Dingledine
3abafccd0e
Start choosing which bridge to use proportional to its advertised
...
bandwidth, rather than uniformly at random. This should speed up Tor
for bridge users. Also do this for people who set StrictEntryNodes.
svn:r13486
2008-02-12 22:02:47 +00:00
Nick Mathewson
b5c03f05d8
r14102@tombo: nickm | 2008-02-10 13:30:04 -0500
...
Remove some deadcode.
svn:r13459
2008-02-10 18:40:27 +00:00
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
55971c71b6
if we have a networkstatus concensus but only 0 or 1 descriptors,
...
don't declare that we're ready to build circuits yet. we're not.
svn:r13399
2008-02-06 12:37:25 +00:00
Nick Mathewson
ec6c131da6
r17936@catbus: nickm | 2008-02-06 00:31:11 -0500
...
Fix/downgrade some more XXX020s.
svn:r13397
2008-02-06 05:31:21 +00:00
Nick Mathewson
ff9bd0fd3a
r17929@catbus: nickm | 2008-02-05 17:10:26 -0500
...
Fix or downgrade a few XXX020 items.
svn:r13393
2008-02-05 23:20:44 +00:00
Nick Mathewson
9c7eaa7a9d
r17918@catbus: nickm | 2008-02-05 16:39:17 -0500
...
Remove a few #if-0d items.
svn:r13392
2008-02-05 21:39:56 +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
2866c53eec
r17900@catbus: nickm | 2008-02-05 14:14:54 -0500
...
I wonder what the emacs command is for "exchange words?" I know that there _is_ one, because I apparently hit it by accident.
svn:r13381
2008-02-05 19:40:21 +00:00
Nick Mathewson
2502359a5b
r17897@catbus: nickm | 2008-02-05 13:51:40 -0500
...
Whitespace cleanups
svn:r13378
2008-02-05 19:40:15 +00:00
Roger Dingledine
fdbefc8934
If we're a relay, avoid picking ourselves as an introduction point,
...
a rendezvous point, or as the final hop for internal circuits. Bug
reported by taranis and lodger. Bugfix on 0.1.2.x.
svn:r13372
2008-02-04 17:25:24 +00:00
Roger Dingledine
426a9bbde1
Don't trigger an assert if we start a directory authority with a
...
private IP address (like 127.0.0.1).
svn:r13371
2008-02-04 16:58:50 +00:00
Nick Mathewson
68cf666d04
Fix bug 571: associate certificates with keys, not dirservers, so that we can have certificates for dirservers we do not recognize.
...
svn:r13304
2008-01-26 23:18:30 +00:00
Roger Dingledine
aa25bf1405
a slightly better interface for hid_serv_get_responsible_directories()
...
svn:r13271
2008-01-25 07:22:42 +00:00
Roger Dingledine
5fcc79185f
avoid calling smartlist_get(..., -1) if we have a consensus but no
...
hsdir nodes.
svn:r13270
2008-01-25 07:11:32 +00:00
Roger Dingledine
d72ccd95a8
clean out some proposal 114 stuff
...
svn:r13269
2008-01-25 06:47:46 +00:00
Roger Dingledine
cbe9863422
patch "14a" from karsten: don't fail if we can't find
...
REND_NUMBER_OF_CONSECUTIVE_REPLICAS v2 hsdirs.
svn:r13263
2008-01-24 22:46:29 +00:00
Roger Dingledine
4682e5f924
when we're counting how many descriptors to not download, be a
...
little bit more accurate
svn:r13173
2008-01-18 04:47:03 +00:00
Roger Dingledine
55e052b0a5
Assert error introduced in r11957:
...
Fix an assert if we post a general-purpose descriptor via the
control port but that descriptor isn't mentioned in our current
network consensus. Bug reported by Jon McLachlan; bugfix on
0.2.0.9-alpha.
svn:r13153
2008-01-17 05:25:21 +00:00
Nick Mathewson
4a3b7496f0
r17639@catbus: nickm | 2008-01-15 19:09:21 -0500
...
Fix some hard to trigger but nonetheless real memory leaks spotted by an anonymous contributor. Needs review. Partial backport candidate.
svn:r13147
2008-01-16 05:27:19 +00:00
Nick Mathewson
24aae484c9
r17624@catbus: nickm | 2008-01-15 00:42:01 -0500
...
Fixes to more anonymously-reported typos and logic errors.
svn:r13136
2008-01-15 05:57:19 +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
Roger Dingledine
50f4cd10ad
don't rebuild the router store for all those times when we
...
fetch one descriptor and then we don't like it
svn:r13077
2008-01-08 23:31:25 +00:00
Nick Mathewson
feb1c60e9d
r15782@tombo: nickm | 2008-01-01 23:57:43 -0500
...
Bugfix for bug 569: do not try to download nonexistant certificates with signing key 000000000000000.
svn:r13018
2008-01-02 04:57:48 +00:00
Nick Mathewson
11fff225fa
r15779@tombo: nickm | 2008-01-01 23:43:24 -0500
...
Use reference-counting to avoid allocating a zillion little addr_policy_t objects. (This is an old patch that had been sitting on my hard drive for a while.)
svn:r13017
2008-01-02 04:43:44 +00:00
Roger Dingledine
4fb573fddd
bugfix on r10612:
...
When we load a bridge descriptor from the cache,
and it was previously unreachable, mark it as retriable so we won't
just ignore it. Also, try fetching a new copy immediately.
svn:r12950
2007-12-24 10:31:39 +00:00
Roger Dingledine
61bd5583d9
If we receive a general-purpose descriptor and then receive an
...
identical bridge-purpose descriptor soon after, don't discard
the next one as a duplicate.
svn:r12933
2007-12-23 01:18:14 +00:00
Roger Dingledine
6097e46420
Fix a crash when we load a bridge descriptor from disk but we don't
...
currently have a Bridge line for it in our torrc. Bugfix on
0.2.0.12-alpha.
svn:r12921
2007-12-22 06:11:49 +00:00
Roger Dingledine
869858bf57
add a little note about matt's 0.2.0.12-alpha crash
...
svn:r12918
2007-12-22 05:26:36 +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
Nick Mathewson
a697573ce9
r15562@tombo: nickm | 2007-12-18 23:23:59 -0500
...
Remove the LearnAuthorityAddrFromCerts option; make it always-on. One option down, ~160 options to go.
svn:r12870
2007-12-19 04:24:05 +00:00
Nick Mathewson
95fecd6fbc
r15560@tombo: nickm | 2007-12-18 23:18:21 -0500
...
Add a bit of missing documentation.
svn:r12869
2007-12-19 04:18:28 +00:00
Nick Mathewson
95d500f33f
r15558@tombo: nickm | 2007-12-18 22:55:23 -0500
...
Re-parse annotations in another place. Good catch, arma.
svn:r12868
2007-12-19 03:55:40 +00:00
Roger Dingledine
07c7f9e9e7
When we were reading router descriptors from cache, we were ignoring
...
the annotations -- including reading in bridge-purpose descriptors
as general-purpose descriptors.
svn:r12867
2007-12-19 03:11:02 +00:00
Nick Mathewson
d07122ba47
r17246@catbus: nickm | 2007-12-18 18:45:17 -0500
...
Fix some xxx020 items.
svn:r12864
2007-12-18 23:45:24 +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
be337eb0ad
fix a memory leak in authority_certs_fetch_missing() every time
...
we try to call it but don't have enough dir info.
svn:r12743
2007-12-09 17:43:43 +00:00
Roger Dingledine
8de470cf69
Add "GETINFO/desc-annotations/id/<OR digest>" so controllers can
...
ask about source, timestamp of arrival, purpose, etc. We need
something like this to help Vidalia not do GeoIP lookups on bridge
addresses.
svn:r12687
2007-12-06 07:15:06 +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
1a254477fc
minor cleanups
...
svn:r12631
2007-12-02 04:39:56 +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
b701583ffa
note a log message that might want to get quieter
...
svn:r12526
2007-11-17 12:11:00 +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
Roger Dingledine
0e442e098c
Nov 16 02:20:50.089 [info] update_consensus_router_descriptor_downloads(): 0 router descriptors downloadable. 0 delayed; 1676 present (0 of those were in old_routers); 0 would_reject; 582 wouldnt_use, 0 in progress.
...
Nov 16 02:20:50.089 [info] launch_router_descriptor_downloads(): There are not many downloadable routerdescs, but we haven't tried downloading descriptors recently. Downloading.
Get rid of the second line.
svn:r12510
2007-11-16 07:23:25 +00:00
Roger Dingledine
60ee26c873
Karsten: you should look at this and decide if we should skip over
...
non-running hsdirs, or not give them the flag if they're not running,
or what.
When picking v2 hidden service directories, don't pick ones that
aren't listed as Running.
svn:r12509
2007-11-16 05:29:27 +00:00
Nick Mathewson
bbb34846b4
r16665@catbus: nickm | 2007-11-14 13:36:11 -0500
...
Fix bug spotted by karsten: when we have no consensus, do not try to continue finding directories for a hidden service.
svn:r12493
2007-11-14 18:39:15 +00:00
Roger Dingledine
c23a22785d
make r12485 more likely to work on tonga too
...
svn:r12486
2007-11-12 19:01:28 +00:00
Nick Mathewson
f7c2d1522e
r16656@catbus: nickm | 2007-11-12 11:27:00 -0500
...
Possibly fix bug 548 by making the fix for bug 543 not get invoked on authorities. See changelog and bug 548 entry for rationale.
svn:r12485
2007-11-12 16:29:31 +00:00
Nick Mathewson
6deca312a7
r16654@catbus: nickm | 2007-11-12 10:43:45 -0500
...
Add explanatory comment. Does not fix bug 548.
svn:r12484
2007-11-12 15:46:38 +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
Roger Dingledine
49e9c6d96b
tweak
...
svn:r12478
2007-11-11 17:20:30 +00:00
Nick Mathewson
17a34e4a43
r16569@catbus: nickm | 2007-11-08 10:51:11 -0500
...
More log messages about certificate downloads; try to track down bug 546.2
svn:r12436
2007-11-08 16:19:04 +00:00
Roger Dingledine
1d61b54227
make the complaints about missing v2hidserv directories quieter,
...
at least until we're *supposed* to have any of them.
svn:r12431
2007-11-08 04:21:35 +00:00
Roger Dingledine
e12cf29960
Don't stop fetching descriptors when FetchUselessDescriptors is
...
set, even if we stop asking for circuits. Bugfix on 0.1.2.x;
reported by tup and ioerror.
svn:r12430
2007-11-08 04:19:51 +00:00
Nick Mathewson
45b0ee42a3
r16531@catbus: nickm | 2007-11-07 12:39:56 -0500
...
Initialize re-parsed routerinfos with routerlist_index -1, since they are not yet inserted into the routerlist. Fixes another crash.
svn:r12415
2007-11-07 17:41:14 +00:00
Nick Mathewson
dc2ab2f4e2
r16529@catbus: nickm | 2007-11-07 12:28:52 -0500
...
And make it compile too.
svn:r12414
2007-11-07 17:30:08 +00:00
Nick Mathewson
9b2d86d83d
r16527@catbus: nickm | 2007-11-07 12:27:59 -0500
...
Re-set all of the indices immediately after sorting old_routers. Fixes a crash.
svn:r12413
2007-11-07 17:29:16 +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
381619a973
Fix typo.
...
svn:r12409
2007-11-07 15:22:46 +00:00
Nick Mathewson
acaa9a7f69
r16518@catbus: nickm | 2007-11-07 10:18:31 -0500
...
First attempt at fixing bug 543. Needs testing. Too slow.
svn:r12408
2007-11-07 15:19:53 +00:00
Nick Mathewson
bc4cefcd7e
r16471@catbus: nickm | 2007-11-06 15:50:42 -0500
...
Detect whether any of the descriptors we want are in old_routers. Possibly useful in tracking down bug 543.
svn:r12404
2007-11-06 20:51:45 +00:00
Nick Mathewson
28dd56f982
r16459@catbus: nickm | 2007-11-06 13:26:11 -0500
...
Fix "0 request for 0 router" message.
svn:r12399
2007-11-06 18:27:14 +00:00
Nick Mathewson
42f7ae3eae
r16435@catbus: nickm | 2007-11-05 14:23:07 -0500
...
Patch from karsten: tidy up v2 hidden service directory logic, and fix a few bugs.
svn:r12388
2007-11-05 19:23:57 +00:00
Roger Dingledine
735498cb27
add the other v3 dir bugfixes. my bridge is now working
...
again even when my datadir starts empty. phew.
svn:r12372
2007-11-04 02:36:09 +00:00
Roger Dingledine
5bf61633e3
avoid sending a request for "keys/fp" (for which we'll get a 400 bad
...
request) if we need more v3 certs but we've already got pending requests
for all of them.
svn:r12370
2007-11-04 02:06:09 +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
Nick Mathewson
3a6287615b
r16367@catbus: nickm | 2007-11-02 13:13:15 -0400
...
Space fixes.
svn:r12345
2007-11-02 17:16:34 +00:00
Nick Mathewson
6aeca5237d
r14631@tombo: nickm | 2007-11-02 00:18:17 -0400
...
Better log messages for "not enough to build a circuit" message.
svn:r12324
2007-11-02 04:18:28 +00:00
Nick Mathewson
401b5c26de
r16320@catbus: nickm | 2007-11-01 00:11:20 -0400
...
Learn new addresses for authorities from their certificates.
svn:r12305
2007-11-01 04:14:23 +00:00
Nick Mathewson
779b615bc2
r16300@catbus: nickm | 2007-10-31 15:36:41 -0400
...
Next patch from Karsten: rename some macros, tunnel dir connections, generate (and upload) multiple descriptors as appropriate.
svn:r12299
2007-10-31 20:48:06 +00:00
Nick Mathewson
024798ee4c
r16263@catbus: nickm | 2007-10-29 15:08:17 -0400
...
Tidy last patch a bit.
svn:r12273
2007-10-29 19:10:47 +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
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
Nick Mathewson
2ac37c8b01
r16174@catbus: nickm | 2007-10-26 10:55:26 -0400
...
Better log on vote from unknown authority. Make get_by_v3_authority_id retrun only v3 authorities.
svn:r12203
2007-10-26 14:57:26 +00:00
Nick Mathewson
53e6233985
r16153@catbus: nickm | 2007-10-25 10:21:42 -0400
...
do not set authority cert bodies twice: fixes memory leak bug 536.
svn:r12187
2007-10-25 14:31:13 +00:00
Roger Dingledine
0491f2a99c
more cleanups
...
svn:r12172
2007-10-25 03:03:52 +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
02e7a83f91
r16108@catbus: nickm | 2007-10-24 14:41:12 -0400
...
Refactor the arguments for router_pick_{directory_|trusteddir}server[_impl] so that they all take the same flags, and so that their flags have names. Fix their documentation too.
svn:r12157
2007-10-24 18:42:16 +00:00
Nick Mathewson
5b65103bb9
r16101@catbus: nickm | 2007-10-24 11:44:40 -0400
...
Detect mmap failures from empty descriptor files, and only warn if the file was not supposed to be empty. Fixes bug 533
svn:r12154
2007-10-24 15:45:45 +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
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
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
db05869466
r16031@catbus: nickm | 2007-10-22 11:45:00 -0400
...
Remove an unused and unneeded layer of abstraction: we only have one store for routers. (I had thought we might need a second one for annotated routers, but that's silly.
svn:r12101
2007-10-22 16:32:01 +00:00
Nick Mathewson
4a8cf7b517
r15995@catbus: nickm | 2007-10-21 00:40:46 -0400
...
More fixes for bad behavior when downloading extrainfos: do not download an ei if we lack the key to verify it, and do not download it if we already got it and found (weirdly) that it didn't match the corresponding server descriptor.
svn:r12071
2007-10-21 04:41:00 +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
dc4e710e27
r15976@catbus: nickm | 2007-10-20 19:44:47 -0400
...
Prioritize fetching descriptors and networkstatus docs over fetching more extrainfo docs.
svn:r12067
2007-10-20 23:45:07 +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
53f9fe7dc5
r15960@catbus: nickm | 2007-10-19 12:30:17 -0400
...
Make authority_certs_fetch_missing() honor should_delay_dir_fetches()
svn:r12048
2007-10-19 16:41:30 +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
Nick Mathewson
db2c5132c9
r15919@catbus: nickm | 2007-10-18 10:57:47 -0400
...
Add a log message to router_remove_old_routers to try to figure out why peacetime has such a big cache.
svn:r12024
2007-10-18 14:58:45 +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
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
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
c23409080e
r15871@catbus: nickm | 2007-10-16 14:47:00 -0400
...
Add a debugging info msg to routerlist
svn:r11995
2007-10-16 18:47:32 +00:00
Nick Mathewson
9d7eba6ecc
r15868@catbus: nickm | 2007-10-16 14:18:29 -0400
...
Remove nearly all calls to routerlist_remove_old(). Backport candidate.
svn:r11994
2007-10-16 18:19:02 +00:00
Nick Mathewson
03ce9d3ee7
r15848@catbus: nickm | 2007-10-16 10:17:02 -0400
...
Only drop routers for not appearing in the consensus if their purpose is GENERAL.
svn:r11984
2007-10-16 14:25:14 +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
09dfe31ff4
r15750@catbus: nickm | 2007-10-13 20:06:47 -0400
...
Eventually delete the obsolete cached-routers and cached-routers.new files, so they don't sit around on disk forever.
svn:r11918
2007-10-14 00:13:06 +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
a009014eb3
r15730@catbus: nickm | 2007-10-12 16:47:47 -0400
...
Note a way to make routerlist_remove_old_routrs get called way less.
svn:r11902
2007-10-12 21:33:35 +00:00
Nick Mathewson
8fdfdc5bbb
r15719@catbus: nickm | 2007-10-12 13:07:45 -0400
...
Add the routers in the latest consensus to the list of routers to retain when removing old ones.
svn:r11895
2007-10-12 17:13:09 +00:00
Roger Dingledine
3977ccbc80
Controllers should now specify cache=no or cache=yes when using
...
the +POSTDESCRIPTOR command.
svn:r11892
2007-10-12 07:57:29 +00:00
Nick Mathewson
3100712c34
r15703@catbus: nickm | 2007-10-11 17:30:34 -0400
...
Fix for the reported case of bug 438: check families as well as identities in circuit_find_to_cannibalize(). Code audit still pending. ;)
svn:r11886
2007-10-11 21:40:35 +00:00
Nick Mathewson
ff2820c1ba
r14892@Kushana: nickm | 2007-10-11 14:00:33 -0400
...
Fix a bunch of XXX020s: treat some 403s as INFO severity; remove some dead code; share the retry path for consensus routerdescs that are also listed in the v2 networkstatus; check even more aspects of votes when parsing them.
svn:r11871
2007-10-11 18:01:12 +00:00
Nick Mathewson
0a1dd92d3e
r14884@Kushana: nickm | 2007-10-11 10:30:58 -0400
...
More fixes for cacheing bridge descs:Remove obsolete EXTRAINFO_PURPOSE_GENERAL; remove purpose argument from signed_desc_append_to_journal.
svn:r11867
2007-10-11 16:06:37 +00:00
Nick Mathewson
a718fcb1c0
r15663@catbus: nickm | 2007-10-10 16:35:58 -0400
...
Resolve some more voting-related XXXXs.
svn:r11860
2007-10-11 00:13:03 +00:00
Nick Mathewson
0452a965da
r15662@catbus: nickm | 2007-10-10 16:27:58 -0400
...
Removee a misleading log message.
svn:r11859
2007-10-11 00:13:00 +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
Nick Mathewson
55520a2d95
r15636@catbus: nickm | 2007-10-10 15:28:12 -0400
...
Retry consensus and certificate downloads properly. Do not fail when there are no certificates to download. Do not download certificates we already have when retrying.
svn:r11841
2007-10-10 19:33:19 +00:00
Nick Mathewson
8b71a76dd3
r15598@catbus: nickm | 2007-10-09 16:37:35 -0400
...
Turn all "Is DirPort nonzero? Because if it is, we must be a directory" logic into calls to dirserver_mode().
svn:r11817
2007-10-09 20:44:47 +00:00
Nick Mathewson
010fd50c36
r15597@catbus: nickm | 2007-10-09 16:17:42 -0400
...
Make authority_certs_fetch_missing only fetch certificates which we are not currently downloading; fix XXXX020s in networkstatus.c
svn:r11816
2007-10-09 20:44:45 +00:00
Nick Mathewson
f1d4e3477b
Bugfixes in fetching certificates for a consensus: fetch tor/keys/fp/X, not tor/keys/X. Also, count signatures where no certificate is known as "missing a certificate" not as "unknown authority."
...
svn:r11805
2007-10-09 17:40:23 +00:00
Nick Mathewson
5346a01796
r14813@Kushana: nickm | 2007-10-09 11:10:48 -0400
...
Use download_status_t for v2 networkstatuses and certs as well as for routers. Make functions to manipulate it. Next steps: use it for consensus networkstatuses, and get consensus download rescheduling working.
svn:r11800
2007-10-09 15:27:45 +00:00
Nick Mathewson
bb9cc4fb29
r14812@Kushana: nickm | 2007-10-09 10:22:00 -0400
...
Merge extra fields in local_routerstatus_t back into routerstatus_t. See changelog for rationale.
svn:r11799
2007-10-09 15:27:15 +00:00
Nick Mathewson
18ec603861
r14802@Kushana: nickm | 2007-10-08 17:21:30 -0400
...
Refactor out about a third of routerlist.c into a new networkstatus.c. I\m not sure that I got everything that needed to move, but so far so good.
svn:r11791
2007-10-08 21:21:50 +00:00
Nick Mathewson
13f7f98ad2
r14799@Kushana: nickm | 2007-10-08 15:55:18 -0400
...
Add code to download router descriptors listed in a v3 networkstatus consensus.
svn:r11790
2007-10-08 19:56:57 +00:00
Nick Mathewson
84d7677a8a
r14770@Kushana: nickm | 2007-10-08 11:43:02 -0400
...
Make router_digest_is_trusted_dir able to check for type. When looking for a V3 directory, only assume that the V3 authorities and caches have it: previous code assumed that all authorities had it.
svn:r11789
2007-10-08 17:44:19 +00:00
Nick Mathewson
3f6e3ce61b
r14769@Kushana: nickm | 2007-10-07 14:00:17 -0400
...
Fetch networkstatus consensus documents as needed. Disabled for clients until more caches support it.
svn:r11788
2007-10-08 17:44:09 +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
60efd6b726
r15420@catbus: nickm | 2007-09-27 15:40:25 -0400
...
Remove annotated_desc_store store (which we never used). Instead, shift name of router store to cached-descriptors, but initialize it from cached-routers as needed
svn:r11678
2007-09-27 20:46:24 +00:00
Nick Mathewson
a1c5a807d0
r15418@catbus: nickm | 2007-09-27 12:37:59 -0400
...
Fix a stupid logic error in authority_cert_get_by_sk_digest: the presence of an authority lacking a v3 cert does not mean that subsequent authorities lack them too.
svn:r11668
2007-09-27 16:41:42 +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
193a144c9f
Make "UpdateBridgesFromAuthority" torrc option work: when bridge
...
users configure that and specify a bridge with an identity
fingerprint, now they will lookup the bridge descriptor at the
default bridge authority via a one-hop tunnel, but once circuits
are established they will switch to a three-hop tunnel for later
connections to the bridge authority.
svn:r11550
2007-09-21 06:14:36 +00:00
Nick Mathewson
e73fb2f102
r15049@catbus: nickm | 2007-09-11 16:05:50 -0400
...
When we get a consensus for which we are missing the right certificates, keep it around pending more certificates; do not just drop it.
svn:r11430
2007-09-11 20:17:28 +00:00
Nick Mathewson
4de4f53abd
r15048@catbus: nickm | 2007-09-11 14:20:39 -0400
...
Add code to warn about mauthorities on a consensus when they are not what we expect to find.
svn:r11429
2007-09-11 20:17:25 +00:00
Nick Mathewson
eb3f24f027
r14358@Kushana: nickm | 2007-09-08 13:45:16 -0400
...
Implement certificate fetch functions.
svn:r11405
2007-09-08 19:08:39 +00:00
Nick Mathewson
c967fae598
r14880@catbus: nickm | 2007-08-31 11:06:10 -0400
...
Refactor store_stats_t to hold a pointer to the proper mmap, and turn it into a full-fledged type. This sets stuff up nicely for adding a separate "annotated" store. Add some XXXX NM items that need to be fixed when annotated stores exist
svn:r11338
2007-08-31 15:08:37 +00:00
Roger Dingledine
da1485088c
formatting cleanups
...
svn:r11273
2007-08-25 21:31:34 +00:00
Nick Mathewson
c3805e753a
r14200@kushana: nickm | 2007-08-24 08:33:41 -0400
...
In new code, let's try to prefer named flags to mazes of twisted boolean arguments, all alike.
svn:r11267
2007-08-24 12:33:53 +00:00
Roger Dingledine
daece599a1
more cleanups on r11258. looks good now.
...
svn:r11266
2007-08-24 10:50:48 +00:00
Roger Dingledine
9bacf68851
cleanups on r11258
...
svn:r11263
2007-08-24 08:01:47 +00:00
Roger Dingledine
d39c7515d1
patch from mike perry to a) stop overloading guards as much, and
...
b) raise the max-believable-bandwidth to 10MB/s.
svn:r11258
2007-08-24 06:30:34 +00:00
Nick Mathewson
08e605b4e2
r14184@Kushana: nickm | 2007-08-22 11:06:37 -0400
...
Unmap cached-extrainfo on exit. Fixes bug 484.
svn:r11254
2007-08-22 15:07:29 +00:00
Peter Palfrader
50c0e6b37f
Remove routerlist_check_bug_417() and all its calls. There is still some more debugging code left, marked with XXXs
...
svn:r11161
2007-08-17 22:55:04 +00:00
Nick Mathewson
181ba71a90
r14051@Kushana: nickm | 2007-08-15 15:55:36 -0400
...
Fix an XXXX020 and a few DOCDOCs.
svn:r11127
2007-08-15 19:56:01 +00:00
Nick Mathewson
717f3b8a12
r14047@Kushana: nickm | 2007-08-15 13:57:39 -0400
...
fix a really nasty bug in v3 authorities: only set v3_digest in trusted_dir_server_t for v3 authorities.
svn:r11124
2007-08-15 17:57:47 +00:00
Nick Mathewson
484a580698
r14028@Kushana: nickm | 2007-08-14 17:07:51 -0400
...
Implement cert-retrieval URLs. (Also, update TODO)
svn:r11112
2007-08-14 21:09:30 +00:00
Nick Mathewson
3399d63170
r14009@Kushana: nickm | 2007-08-14 10:20:20 -0400
...
Fix a logic error in certificate handling
svn:r11102
2007-08-14 14:30:25 +00:00
Nick Mathewson
b6c548094c
r13998@kushana: nickm | 2007-08-13 19:20:28 -0400
...
Add some insanely verbose log messages on voting authorities.
svn:r11097
2007-08-13 23:23:06 +00:00
Nick Mathewson
7d990b5aa1
r13992@Kushana: nickm | 2007-08-13 16:45:22 -0400
...
A vote we already have a nd a double-upload are different things.
svn:r11093
2007-08-13 20:45:36 +00:00
Nick Mathewson
b4adf151d2
r13991@Kushana: nickm | 2007-08-13 16:37:43 -0400
...
Do not warn on missing cached consensus.
svn:r11092
2007-08-13 20:45:27 +00:00
Nick Mathewson
4e4dcb2571
r13989@Kushana: nickm | 2007-08-13 16:31:03 -0400
...
Actually store the v3 authority id digest of a trusteddirserver
svn:r11091
2007-08-13 20:31:08 +00:00
Nick Mathewson
ce1f01c3e6
r14531@catbus: nickm | 2007-08-13 14:46:25 -0400
...
Cache v3 networkstatus consensuses on disk.
svn:r11086
2007-08-13 18:47:22 +00:00
Nick Mathewson
34a3a5e2f4
r14016@catbus: nickm | 2007-07-30 13:45:55 -0400
...
More documentation
svn:r10992
2007-07-30 17:46:14 +00:00
Roger Dingledine
5d535a28c9
clean up some bridge log messages
...
svn:r10985
2007-07-30 08:43:02 +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
764bde22de
r13960@catbus: nickm | 2007-07-28 18:14:29 -0400
...
Start correctly when cached-certs is missing. oops
svn:r10957
2007-07-28 22:14:42 +00:00
Nick Mathewson
76a408941c
r13959@catbus: nickm | 2007-07-28 18:09:56 -0400
...
Use the correct formula to calculate exit weights.
svn:r10956
2007-07-28 22:14:39 +00:00
Nick Mathewson
afe9f33d35
r13956@catbus: nickm | 2007-07-27 20:09:48 -0400
...
Better certificate manipulations: extract certificates from incoming votes, forget ones that are very old, and remember to store them on disk.
svn:r10954
2007-07-28 00:11:34 +00:00
Peter Palfrader
1f4275451b
Resolve a compiler warning about uninitialized use
...
svn:r10940
2007-07-27 01:10:23 +00:00
Nick Mathewson
eed888a2b7
r13927@catbus: nickm | 2007-07-26 17:26:49 -0400
...
Fix router_choose_by_bandwidth to no longer be biases by floating-point roundoff issues. This runs through the list of routers yet another time, and uses an additional bitfield, but this should be okay: the function did not appear in profiles before, and shouldnt start appearing now.
svn:r10939
2007-07-26 21:26:57 +00:00
Nick Mathewson
6c4864f351
r13924@catbus: nickm | 2007-07-26 16:46:45 -0400
...
We can have multiple authority certificates for an authority at a time: make the code reflect that.
svn:r10937
2007-07-26 20:49:04 +00:00
Nick Mathewson
fb2f3c035b
r13921@catbus: nickm | 2007-07-26 16:26:48 -0400
...
Code to add signatures to a pending consensus directory.
svn:r10936
2007-07-26 20:26:59 +00:00
Nick Mathewson
83fa843663
r13900@catbus: nickm | 2007-07-25 16:16:30 -0400
...
Better fix for GCC 4.2 warning on routerlist.c
svn:r10925
2007-07-25 22:56:34 +00:00
Roger Dingledine
5190916670
free a small static string on exit.
...
svn:r10902
2007-07-22 06:32:28 +00:00
Roger Dingledine
e96d807db4
Revert part of r10874, since it was breaking our load balancing
...
(we always picked one router past the one we wanted!) and could
conceivably read past the end of the smartlist too.
Nick, I don't know what gcc 4.2 was worried about, but we need
to find a better fix than this. :)
svn:r10901
2007-07-22 04:36:33 +00:00
Roger Dingledine
6fc336d217
handle fetching bridge descriptors from the bridge authority too.
...
svn:r10898
2007-07-22 00:16:48 +00:00
Nick Mathewson
bbbf504281
r13827@catbus: nickm | 2007-07-19 14:42:25 -0400
...
Merge in some generic address manipulation code from croup. Needs some work.
svn:r10880
2007-07-19 18:46:09 +00:00
Nick Mathewson
5e6f05bc31
r13822@catbus: nickm | 2007-07-18 16:43:39 -0400
...
Tweak a couple of loop-related variables to make the gcc 4.2 -Wstrict-overflow warning happy.
svn:r10874
2007-07-18 20:46:14 +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
Roger Dingledine
50487c249d
timeout and retry schedules for fetching bridge descriptors
...
svn:r10867
2007-07-18 10:06:03 +00:00