Roger Dingledine
78e95b7b71
tell me who votes are actually for, not just where they're from
2012-01-08 10:03:46 -05:00
Sebastian Hahn
e5e4bfd167
Implement consensus method 12 (proposal 178)
2011-11-27 09:29:33 -05:00
Nick Mathewson
47c8433a0c
Make the get_options() return const
...
This lets us make a lot of other stuff const, allows the compiler to
generate (slightly) better code, and will make me get slightly fewer
patches from folks who stick mutable stuff into or_options_t.
const: because not every input is an output!
2011-06-14 13:17:06 -04:00
Nick Mathewson
42b15a0aaa
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-05-28 01:55:34 -04:00
Nick Mathewson
a5232e0c4c
Fix GCC 4.6's new -Wunused-but-set-variable warnings.
...
Most instances were dead code; for those, I removed the assignments.
Some were pieces of info we don't currently plan to use, but which
we might in the future. For those, I added an explicit cast-to-void
to indicate that we know that the thing's unused. Finally, one was
a case where we were testing the wrong variable in a unit test.
That one I fixed.
This resolves bug 3208.
2011-05-23 17:04:38 -04:00
Nick Mathewson
68acfefbdb
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-05-15 20:12:20 -04:00
Nick Mathewson
bc44393eb5
Fixup whitespace issues from 3122 commit
2011-05-15 20:12:01 -04:00
Nick Mathewson
4c3853aca8
Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2
...
Conflicts:
src/or/networkstatus.c
2011-05-15 20:09:10 -04:00
Nick Mathewson
00ff80e0ae
Fixup whitespace issues from 3122 commit
2011-05-15 20:06:36 -04:00
Nick Mathewson
9fba014e3f
Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023
...
Conflicts in various places, mainly node-related. Resolved them in
favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022.
src/common/Makefile.am
src/or/circuitlist.c
src/or/connection_edge.c
src/or/directory.c
src/or/microdesc.c
src/or/networkstatus.c
src/or/router.c
src/or/routerlist.c
src/test/test_util.c
2011-05-11 16:39:45 -04:00
Nick Mathewson
8fb38331c3
Hand-tune the new tor_memcmp instances in 0.2.2
2011-05-11 16:32:30 -04:00
Nick Mathewson
0cbcbc3412
Re-apply the automated conversion to 0.2.2 to make handle any memcmps that snuck in
2011-05-11 16:27:27 -04:00
Nick Mathewson
44ad734573
Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcmp_022
...
Conflicts throughout. All resolved in favor of taking HEAD and
adding tor_mem* or fast_mem* ops as appropriate.
src/common/Makefile.am
src/or/circuitbuild.c
src/or/directory.c
src/or/dirserv.c
src/or/dirvote.c
src/or/networkstatus.c
src/or/rendclient.c
src/or/rendservice.c
src/or/router.c
src/or/routerlist.c
src/or/routerparse.c
src/or/test.c
2011-05-11 16:24:29 -04:00
Nick Mathewson
59f9097d5c
Hand-conversion and audit phase of memcmp transition
...
Here I looked at the results of the automated conversion and cleaned
them up as follows:
If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I
changed it to a fast_memcmp or fast_memeq.
Otherwise if there was a tor_memcmp that could turn into a
tor_memneq or tor_memeq, I converted it.
This wants close attention.
[*] I'm erring on the side of caution here, and leaving some things
as tor_memcmp that could in my opinion use the data-dependent
fast_memcmp variant.
2011-05-11 16:12:51 -04:00
Nick Mathewson
db7b2a33ee
Automated conversion of memcmp to tor_memcmp/tor_mem[n]eq
...
This commit is _exactly_ the result of
perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch]
perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch]
perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch]
perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch]
git checkout src/common/di_ops.[ch]
git checkout src/or/test.c
git checkout src/common/test.h
2011-05-11 16:12:51 -04:00
Nick Mathewson
acd6a4856b
Merge remote-tracking branch 'origin/maint-0.2.2'
...
Conflicts:
src/or/connection.c
2011-05-09 13:36:40 -04:00
Sebastian Hahn
1c668540fe
Fix potential null pointer deref during dirvote
...
Found by using clang's analyzer.
2011-05-09 13:19:46 -04:00
Nick Mathewson
3df22887a3
Replace _AUTHORITY enum values with _DIRINFO values (automted)
2011-05-05 20:54:12 -04:00
Nick Mathewson
08efa70c41
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-05-04 23:29:56 -04:00
Robert Ransom
66339f74b4
Handle crypto_pk_get_digest failures semi-sensibly
...
Fixes bug 3106.
2011-05-04 20:06:24 -07:00
Nick Mathewson
d52a99dc77
Merge remote branch 'origin/maint-0.2.2'
2011-03-11 23:34:46 -05:00
Sebastian Hahn
2f8e96b553
Fix log message when we have too few dirauths
...
The calculation of when to send the logmessage was correct, but we
didn't give the correct number of relays required: We want more than
half of all authorities we know about. Fixes bug 2663.
2011-03-07 00:06:36 +01:00
Nick Mathewson
69f7c0385b
Merge remote branch 'origin/maint-0.2.2' for bug2203_rebased
...
There was a merge conflict in routerlist.c due to the new node_t logic.
Conflicts:
src/or/routerlist.c
2011-02-04 12:26:59 -05:00
Mike Perry
7b24b8e375
Fix authority side of 2203.
...
Do not add Exit bandwidth to E if BadExit is set.
2011-01-25 17:49:02 -05:00
Nick Mathewson
8730884ebe
Merge remote branch 'origin/maint-0.2.2'
2011-01-03 11:53:28 -05:00
Nick Mathewson
f1de329e78
Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2
...
Conflicts:
src/common/test.h
src/or/test.c
2011-01-03 11:51:17 -05:00
Nick Mathewson
1a07348a50
Bump copyright statements to 2011
2011-01-03 11:50:39 -05:00
Roger Dingledine
22f723e4a3
refactor all these tor_inet_ntoa idioms
...
but don't refactor the ones that look messy
2010-10-01 21:31:09 -04:00
Mike Perry
0ff86042ac
Implement new Wxx constraints.
...
Cases 1 and 3b are provably correct. Case 2b has a fallback to first try to
maximize entropy.
2010-09-27 08:53:41 -07:00
Sebastian Hahn
561ca9b987
Fix misplaced labels
2010-08-16 00:46:44 +02:00
Sebastian Hahn
b2dcff5766
Fix a memory leak in dirvote_compute_consensuses()
2010-08-16 00:46:44 +02:00
Sebastian Hahn
527581194c
Fix a memory leak
...
It happened in dirvote_add_signatures_to_pending_consesus().
2010-08-16 00:46:42 +02:00
Sebastian Hahn
05072723cb
Create routerparse.h
2010-07-27 10:00:46 +02:00
Sebastian Hahn
df9d42cef5
Create rephist.h
2010-07-27 10:00:46 +02:00
Sebastian Hahn
7bd8dee463
Create policies.h
2010-07-27 10:00:45 +02:00
Sebastian Hahn
69fcbbaa89
Create networkstatus.h
2010-07-27 07:58:16 +02:00
Sebastian Hahn
86d6bfe448
Create microdesc.h
2010-07-27 07:58:16 +02:00
Sebastian Hahn
85f7d54418
Create dirvote.h
2010-07-27 07:58:16 +02:00
Sebastian Hahn
7d4c027fb0
Create dirserv.h
2010-07-27 07:58:16 +02:00
Sebastian Hahn
bec1c838ca
Create directory.h
2010-07-27 07:58:15 +02:00
Sebastian Hahn
c4f8f1316e
Create config.h
2010-07-27 07:58:14 +02:00
Sebastian Hahn
cbee969f40
Create routerlist.h
2010-07-27 07:56:25 +02:00
Sebastian Hahn
c53b6cc831
Create router.h
2010-07-27 07:56:25 +02:00
Roger Dingledine
4f307e0382
immediate reachability check for new relays
2010-04-21 03:12:14 -04:00
Roger Dingledine
2e692bd8c9
fetch unknown descriptors if we see them in a vote
2010-04-20 03:03:33 -04:00
Roger Dingledine
77babb832a
minor cleanups
2010-04-20 02:48:35 -04:00
Nick Mathewson
927425150b
Merge branch 'asprintf'
2010-04-02 12:30:46 -04:00
Sebastian Hahn
cae769d646
Segfault less during consensus generation without params
...
If no authority votes on any params, Tor authorities segfault when
trying to make a new consensus from the votes. Let's change that.
2010-03-29 22:25:37 +02:00
Nick Mathewson
47e919424d
Tweak users of snprintf to use asprintf where appropriate
2010-02-28 21:46:50 -05: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
512cebadad
For integers, if !(E<G), then we can infer that E>=G.
...
This means that "if (E<G) {abc} else if (E>=G) {def}" can be replaced with
"if (E<G) {abc} else {def}"
Doing the second test explicitly made my mingw gcc nervous that we might
never be initializing casename.
2010-02-25 17:00:14 -05:00
Nick Mathewson
eb10d441b6
Fix 64-bit printf issues in consensus-bw-weights5-merge.
...
For my 64-bit Linux system running with GCC 4.4.3-fc12-whatever, you
can't do 'printf("%lld", (int64_t)x);' Instead you need to tell the
compiler 'printf("%lld", (long long int)x);' or else it doesn't
believe the types match. This is why we added U64_PRINTF_ARG; it
looks like we needed an I64_PRINTF_ARG too.
2010-02-25 16:22:40 -05:00
Mike Perry
215930a7de
Check snprintf return values in format_networkstatus_vote.
...
Maybe this is what parakeep was complaining about? Really wish he
would stick around more. Playing these guessing games is not fun :(
2010-02-25 11:59:35 -08:00
Mike Perry
50d6960332
Cast our weights down to ints from int64.
...
They are capped to be between 0 and weight_scale (10000) by the code
just before the snprintf.
2010-02-25 11:42:45 -08:00
Mike Perry
0da26162a3
Make unit tests work.
...
Still not sure why they generate an empty consensus document..
Too much frobbing going on there.
2010-02-24 11:17:31 -08:00
Mike Perry
b3fde4d309
Add consensus method #defines.
2010-02-22 18:43:13 -08:00
Mike Perry
87a0430a74
Clearly mark directory footer so we parse the new weight line.
2010-02-22 16:52:11 -08:00
Mike Perry
df1ef2f0f0
Add parsing+verification for bw weight values.
2010-02-22 16:52:11 -08:00
Mike Perry
f9d40649fe
Perform calculation of consensus bandwidth weights.
...
Also add bwweightscale consensus param. Use it as our
fixed-point calculation width.
2010-02-22 16:52:11 -08: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
9be682942c
Not everybody likes debugging printfs as much as I
2009-11-18 11:26:44 -05:00
Nick Mathewson
e722ffa605
Do not report a partially-successful detached signature add as failed.
...
Also, regenerate the detached-signature document whenever any signatures are
successfully added.
2009-11-17 14:24:59 -05:00
Roger Dingledine
22f674fcb8
Fix a memory leak on directory authorities during voting
...
Fix a memory leak on directory authorities during voting that was
introduced in 0.2.2.1-alpha. Found via valgrind.
2009-11-12 01:31:26 -05:00
Karsten Loesing
4256a96461
Fix bug 1066.
...
If all authorities restart at once right before a consensus vote, nobody
will vote about "Running", and clients will get a consensus with no usable
relays. Instead, authorities refuse to build a consensus if this happens.
2009-10-26 19:27:54 -07:00
Nick Mathewson
afc76a4e71
Fix two bugs found by Coverity scan.
...
One was a simple buffer overrun; the other was a high-speed pointer
collision. Both were introduced by my microdescs branch.
2009-10-19 23:19:42 -04:00
Sebastian Hahn
740806c453
Fix compile with warnings problems on Snow Leopard
2009-10-19 01:30:46 +02:00
Nick Mathewson
200c39b66c
Document the microdescriptor code better.
2009-10-18 18:46:12 -04:00
Nick Mathewson
851a980065
Actually remember all the consensus types when we are done generating them.
2009-10-15 15:17:13 -04:00
Nick Mathewson
3471057486
Implement signatures for microdesc consensuses right.
...
This means we need to handle the existence of multiple flavors of signature
in a detached signatures document, generate them correctly, and so on.
2009-10-15 15:17:13 -04:00
Nick Mathewson
d9c71816b1
Generate all the flavors of consensuses when building consensuses.
2009-10-15 15:17:13 -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
Nick Mathewson
e1ddee8bbe
Code to generate, store, and parse microdescriptors and consensuses.
...
The consensus documents are not signed properly, not served, and not
exchanged yet.
2009-10-15 15:17:13 -04:00
Nick Mathewson
bdf4839395
Functions to encode microdescriptors and their lines.
2009-10-15 15:17:12 -04:00
Nick Mathewson
8b2f6b27fd
Make signature-generation code handle different key and digest lengths.
2009-10-15 15:17:12 -04:00
Sebastian Hahn
b73ecdc232
Fix compile on Snow Leopard
2009-09-15 07:13:36 -04:00
Nick Mathewson
381766ce4b
Implement proposal 167: Authorities vote on network parameters.
...
This code adds a new field to vote on: "params". It consists of a list of
sorted key=int pairs. The output is computed as the median of all the
integers for any key on which anybody voted.
Improved with input from Roger.
2009-09-14 23:21:53 -04:00
Nick Mathewson
8771fdfda4
Make consensus_method_is_supported() be the canonical source for its info.
...
Add a new function to derive the declared method list from
consensus_method_is_supported().
2009-08-20 10:04:33 -04:00
Mike Perry
b074e61ad3
Throw the switch on consensus method 6.
2009-08-06 14:47:04 -07:00
Mike Perry
6fbdf635fa
Implement measured bw parsing + unit tests.
2009-08-06 11:48:03 -07:00
Roger Dingledine
9ece0955f7
fix comments and other typos
2009-07-13 17:34:46 -04:00
Nick Mathewson
260de44313
Fixes to spelling fixes. Thanks, Roger!
2009-05-28 12:22:48 -04:00
Nick Mathewson
ec7e054668
Spell-check Tor.
2009-05-27 17:55:51 -04:00
Karsten Loesing
9b32e8c141
Update copyright to 2009.
2009-05-04 11:28:27 -04: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
1e5f457461
Fix most DOCDOCs remaining and/or added by redox.
...
svn:r17734
2008-12-22 17:53:04 +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
9c65195449
Apply rovv's patch for bug 864: avoid null error on detached signature handling failure.
...
svn:r17446
2008-12-02 19:13:23 +00:00
Nick Mathewson
8f1952bf11
Be even _more_ careful when signatures are bogus.
...
svn:r17252
2008-11-11 17:14:12 +00:00
Nick Mathewson
3970c34f10
Only replace the detached signatures object when we actually added or replaced at least one signature.
...
svn:r17250
2008-11-11 16:52:07 +00:00
Nick Mathewson
997aea74dc
Fix from rovv: when adding a detached signature, do not automatically assume it is good just because we are adding it. We might also be adding it because it was the first signature we saw for a given voter.
...
svn:r17248
2008-11-11 16:35:46 +00:00
Nick Mathewson
aa405f29e6
fix up signs in r17208
...
svn:r17211
2008-11-07 14:17:46 +00:00
Nick Mathewson
a15bdd3edd
patch from karsten to not use or accept expired certs. fixes bug 851.
...
svn:r17208
2008-11-07 13:38:49 +00:00
Roger Dingledine
7247838a25
v3 authorities write down all the votes they used for the consensus
...
to the datadir, for debugging.
svn:r17008
2008-09-29 23:13:43 +00:00
Nick Mathewson
45205126fe
Fix some apparent leaks in voting. If authorities suddenly start segfaulting, this could be a patch to look harder at.
...
svn:r16830
2008-09-10 05:33:49 +00:00
Nick Mathewson
a56a072f29
It is probably some kind of misdeed to say for (i=0;i<2;++i) { A=i?x:y; foo(bar(A)); } rather than foo(bar(x)); foo(bar(y)); . Also, it can confuse tools.
...
svn:r16777
2008-09-05 20:04:27 +00:00
Peter Palfrader
3c0b0ccca9
Two consensus fixes: always reset has_* to 0, and use a buffer of proper length for exitsummaries.
...
svn:r16575
2008-08-17 08:01:23 +00:00
Peter Palfrader
521f8c791f
spaceman
...
svn:r16555
2008-08-14 23:09:48 +00:00
Peter Palfrader
8cc3d6e22d
Add exitpolicy summaries to the consensus
...
svn:r16554
2008-08-14 23:01:31 +00:00
Peter Palfrader
ceae7ed960
Add bw to consensus
...
svn:r16551
2008-08-14 23:00:57 +00:00
Peter Palfrader
1a2c6b41e3
Do not show policy and bw in v2 statuses
...
svn:r16537
2008-08-14 12:37:07 +00:00
Peter Palfrader
0cfb68454e
Document that we break ties in favor of smaller SD digest if there are still ties after comparing the published timestamp
...
svn:r16432
2008-08-05 18:54:23 +00:00
Nick Mathewson
dff1ef7d06
r17337@aud-055: nickm | 2008-07-24 10:17:43 +0200
...
Refactor the is_vote field of networkstatus_t to add a third possibility ("opinion") in addition to vote and opinion. First part of implementing proposal 147.
svn:r16166
2008-07-24 09:22:27 +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
0831cc3dbc
Patch from Karsten to implement proposal 135 ("Testing Tor Networks").
...
svn:r15253
2008-06-14 16:01:29 +00:00
Peter Palfrader
4ef606b8fc
implement proposal 138: removing down routers from consensus
...
svn:r15230
2008-06-13 21:22:49 +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
Nick Mathewson
f3f6ecef48
r19690@catbus: nickm | 2008-05-11 22:13:31 -0400
...
Implement a proposal to let a directory authority migrate its identity key without ceasing to sign consensuses.
svn:r14584
2008-05-12 02:14:01 +00:00
Nick Mathewson
1b9c06ab96
r15230@tombo: nickm | 2008-04-17 16:18:08 -0400
...
Do not allocate excess space for named_flag and unnamed_flag in dirvote.c. Fixes bug 662. Not a dangerous bug: sizeof(int*) is at least as big as sizeof(int) everywhere.
svn:r14391
2008-04-17 20:23:13 +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
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
cefe0a1959
r18255@catbus: nickm | 2008-02-20 11:44:55 -0500
...
Add asserts and refactor some comparisons in order to fix some veracode-identified issues. Note a bug in buffers.c
svn:r13618
2008-02-20 16:57:39 +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
f76cdc1a61
misc small fixes
...
svn:r13403
2008-02-06 12:46:46 +00:00
Nick Mathewson
92aaf68d19
r17914@catbus: nickm | 2008-02-05 16:12:16 -0500
...
Remove or downgrade some XXX020 items.
svn:r13388
2008-02-05 21:39:44 +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
Peter Palfrader
ab79f53206
Some log messages during dirvoting - maybe downgrade to debug if you want
...
svn:r13261
2008-01-24 20:00:37 +00:00
Roger Dingledine
aca8d8fc03
patch from karsten to make vote logs more useful
...
svn:r13260
2008-01-24 19:48:16 +00:00
Peter Palfrader
1d91c156fe
Some people still think letters fall off the side of the code if they go farther than 80 chars
...
svn:r13242
2008-01-23 08:45:14 +00:00
Peter Palfrader
fc91704f78
Log where uploaded consensus signatures come from
...
svn:r13241
2008-01-23 08:38:05 +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
Roger Dingledine
a7eef34a03
Jan 08 19:55:01.865 [notice] Added -2 pending signatures while building consensus.
...
svn:r13080
2008-01-09 01:06:19 +00:00
Nick Mathewson
177d5102d5
r17503@catbus: nickm | 2008-01-07 14:15:30 -0500
...
Change set_current_consensus interface to take a flags variable. Do not try to fetch certificates until after we have tried loading the fallback consensus. Should fix bug 583.
svn:r13058
2008-01-07 19:15:34 +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
25a444b698
emo teh
...
svn:r12747
2007-12-09 19:11:22 +00:00
Roger Dingledine
0000c7e6e9
weasel wanted us to log the source of v3 votes we don't like
...
svn:r12665
2007-12-04 15:54:14 +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
Roger Dingledine
4cbaa51aa2
the other half of the question for nick
...
svn:r12196
2007-10-26 01:37:16 +00:00
Roger Dingledine
e4230d100a
ask nick about a possible bug
...
svn:r12193
2007-10-25 20:59:24 +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
6f7518c501
r16054@catbus: nickm | 2007-10-22 20:22:13 -0400
...
Make authorities start accepting (and advertising their acceptance of) consensus method 2. If all goes well, we'll have a working Unnamed flag. Otherwise, we'll have a fun backtrace.
svn:r12113
2007-10-23 00:23:33 +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
7b80011990
r16033@catbus: nickm | 2007-10-22 12:26:13 -0400
...
Download some XXXX020s in dirvote.c and mark some functions that may not belong there.
svn:r12103
2007-10-22 16:32:06 +00:00
Nick Mathewson
9b5af75835
r15974@catbus: nickm | 2007-10-19 16:47:27 -0400
...
When we decode to use consensus method 2 or later, compute Unnamed and Named more or less as described in 122. Don't actually use consensus method 2 yet, so we can be sure we didn't screw up v1..
svn:r12055
2007-10-19 20:48:46 +00:00
Nick Mathewson
5f8f498207
r15968@catbus: nickm | 2007-10-19 14:39:51 -0400
...
Implement code to compute which method to use to compute a consensus. Also, fix leak in consensus calculation.
svn:r12054
2007-10-19 18:56:30 +00:00
Nick Mathewson
24317c75a9
r15961@catbus: nickm | 2007-10-19 12:40:15 -0400
...
Learn the difference between "mismatched vote digest" and "mismatched vote times": the latter is more informative.
svn:r12049
2007-10-19 16:41:32 +00:00
Nick Mathewson
192e3d71d4
r15915@catbus: nickm | 2007-10-18 10:26:44 -0400
...
Stop incessant notices about when we think the expected valid-after time should be, if we are not an authority.
svn:r12022
2007-10-18 14:27:42 +00:00
Nick Mathewson
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
0d26b623ee
r15853@catbus: nickm | 2007-10-16 11:32:55 -0400
...
Fix "Error adding vote: OK" message.
svn:r11986
2007-10-16 15:34: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
da955df111
Add some debugging logs related to dir vote timing.
...
svn:r11952
2007-10-15 20:37:59 +00:00
Nick Mathewson
516b913d5c
r15793@catbus: nickm | 2007-10-15 15:50:52 -0400
...
Do not set "have published consensus" to 1 after we recalculate timing.
svn:r11951
2007-10-15 19:51:14 +00:00
Nick Mathewson
161b85d588
r15781@catbus: nickm | 2007-10-15 10:59:26 -0400
...
Make discard_old_votes part of the consensus publishing process, so we conform to spec, and so we avoid a weird bugs where publishing sets the consensus, setting the consensus makes us reschedule, and rescheduling makes us delay vote-discarding.
svn:r11944
2007-10-15 14:59:48 +00:00
Nick Mathewson
de08405bdb
r15721@catbus: nickm | 2007-10-12 13:30:48 -0400
...
Base vote timing only on a currently live consensus.
svn:r11896
2007-10-12 17:43:09 +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
f05685a8eb
r15635@catbus: nickm | 2007-10-10 15:27:07 -0400
...
Remove extraneous whitespace
svn:r11840
2007-10-10 19:33:14 +00:00
Nick Mathewson
b5301d81db
r15634@catbus: nickm | 2007-10-10 14:26:49 -0400
...
Resolve/ignore some XXXXs, and be even more careful about listing a server as a v3 authority.
svn:r11839
2007-10-10 19:33:11 +00:00
Nick Mathewson
45b987d891
r15632@catbus: nickm | 2007-10-10 13:48:44 -0400
...
Merge networkstatus_add_signatures_impl into the only function that calls it.
svn:r11837
2007-10-10 19:33:01 +00:00
Nick Mathewson
72f352880c
r15608@catbus: nickm | 2007-10-09 19:01:50 -0400
...
Give better messages and return values from signature uploads and downlaods; also, log actual errors when we screw up.
svn:r11823
2007-10-09 23:02:02 +00:00
Nick Mathewson
0827d6f217
r15593@catbus: nickm | 2007-10-09 15:31:10 -0400
...
Fix an infinite loop when parsing multiple votes.
svn:r11813
2007-10-09 19:31:14 +00:00
Nick Mathewson
a2005cd2c1
r15590@catbus: nickm | 2007-10-09 15:14:42 -0400
...
Change dirvote_get_vote to take named flags rather than 3 boolean inputs. Fix a bug that was caused by the order of the boolean inputs in or.h not matching the order of boolean inputs in dirvote.c.
svn:r11812
2007-10-09 19:14:48 +00:00
Nick Mathewson
40b6a66c89
r15589@catbus: nickm | 2007-10-09 15:08:00 -0400
...
Fix dumb typo in vote retrieval: we want to check the pending votes to see what we are missing; not the previous period.
svn:r11811
2007-10-09 19:14:46 +00:00
Roger Dingledine
c9f2afd5fa
make r11808 build on my 64-bit
...
svn:r11809
2007-10-09 18:43:05 +00:00
Nick Mathewson
23614f9523
r15581@catbus: nickm | 2007-10-09 14:36:47 -0400
...
Recompute voting schedule whenever a consensus is set.
svn:r11808
2007-10-09 18:36:56 +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
c7981e669f
r15574@catbus: nickm | 2007-10-09 13:01:53 -0400
...
Fix the "400 OK" issue when replying to a vote.
svn:r11801
2007-10-09 17:07:13 +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
8439c4ec2f
r15512@catbus: nickm | 2007-10-02 16:27:43 -0400
...
Make some functions static; remove some dead code.
svn:r11750
2007-10-02 20:35:23 +00:00
Nick Mathewson
f4f780b526
r15510@catbus: nickm | 2007-10-02 16:14:42 -0400
...
Add support for more vote URLs that weasel wanted. Weasel: please test this before I inflict it on anybody else. :)
svn:r11749
2007-10-02 20:19:43 +00:00
Nick Mathewson
95d97c722a
r15371@catbus: nickm | 2007-09-25 19:53:13 -0400
...
Always set status_out when adding a vote.
svn:r11646
2007-09-25 23:57:12 +00:00
Nick Mathewson
4d44bf1edc
r15367@catbus: nickm | 2007-09-25 19:31:11 -0400
...
It is amazing how reliable missing svk st are at breaking code.
svn:r11644
2007-09-25 23:35:28 +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
Nick Mathewson
65cf389998
r15253@catbus: nickm | 2007-09-21 15:03:51 -0400
...
Oops; we had vote_delay and dist_delay switched when computing when to generate our consensus. Harmless so far, but let's get that fixed.
svn:r11558
2007-09-21 19:11:52 +00:00
Nick Mathewson
fdf390525c
r15233@catbus: nickm | 2007-09-20 18:58:23 -0400
...
19:00 < weasel> Sep 21 01:00:01.926 [warn] Consensus published.
19:00 < weasel> hah
19:00 < nickm> ha indeed
19:00 < nickm> a winner is me
19:00 < weasel> _warn_ :)
19:01 < nickm> watch out! It could go off at any moment!
19:01 * weasel backs away
svn:r11546
2007-09-20 23:02:13 +00:00
Peter Palfrader
3b776b865e
Minor whitespace fix
...
svn:r11543
2007-09-20 21:46:10 +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
71a56aa895
r14391@Kushana: nickm | 2007-09-12 10:56:17 -0400
...
Remove some needless complexity from the code to add signatures to a consensus: previously, we had a path to add new signatures, and a second path to replace signatures. But the second path sufficed as a common case, and the code isn't invoked nearly enough to justify the optimization of having the first path.
svn:r11433
2007-09-12 17:33:18 +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
3c7652ccdb
r15045@catbus: nickm | 2007-09-11 11:52:29 -0400
...
Reject incoming votes when the valid-after time does not match the period that we're trying to vote for.
svn:r11426
2007-09-11 20:17:20 +00:00
Nick Mathewson
565f5f32c5
r14363@Kushana: nickm | 2007-09-08 16:25:45 -0400
...
Another round of whitespeace fixes.
svn:r11407
2007-09-08 20:25:57 +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
Roger Dingledine
7c49a8d03e
get rid of a debugging message that non v3-authorities were
...
seeing too, and that doesn't seem to be critical
svn:r11179
2007-08-19 04:28:56 +00:00
Nick Mathewson
4135c68853
r14049@Kushana: nickm | 2007-08-15 14:43:56 -0400
...
Implement code to serve pending votes, consensuses, and signatures.
svn:r11125
2007-08-15 19:55:52 +00:00
Nick Mathewson
e10041447c
r14045@Kushana: nickm | 2007-08-15 13:07:21 -0400
...
Add more logs to try to hunt down latest voting bug.
svn:r11123
2007-08-15 17:07:27 +00:00
Nick Mathewson
38b84d9659
r14043@Kushana: nickm | 2007-08-15 12:12:25 -0400
...
Fix consensus signatures: regenerate the entire signature list when we get a new signature, rather than just appending the new signature. This lets us tentatively accept weird signatures, since we can replace them with better ones later.
svn:r11122
2007-08-15 16:12:40 +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
42fa1de585
r14017@Kushana: nickm | 2007-08-14 15:13:14 -0400
...
Enable more code for v3 voting timing information. Also, spec clarification.
svn:r11107
2007-08-14 20:19:40 +00:00
Nick Mathewson
25d2901857
r14015@Kushana: nickm | 2007-08-14 12:39:04 -0400
...
Try to avoid adding duplicate signatures to a consensus.
svn:r11105
2007-08-14 16:39:18 +00:00
Nick Mathewson
925394022a
r14011@Kushana: nickm | 2007-08-14 10:29:49 -0400
...
Actually upload signatures when we vote. log more about the signatures we get. discard pending vote stuff after we publish.
svn:r11104
2007-08-14 14:30:45 +00:00
Nick Mathewson
3268ab58f2
r14005@kushana: nickm | 2007-08-14 09:34:19 -0400
...
add a warning to find a bug (maybe)
svn:r11100
2007-08-14 13:34:35 +00:00
Nick Mathewson
cd5eaf53f9
r14003@kushana: nickm | 2007-08-13 22:23:49 -0400
...
Resolve a pile of XXXXs in and around voting code
svn:r11099
2007-08-14 02:23:57 +00:00
Nick Mathewson
7113ab8f90
r14001@kushana: nickm | 2007-08-13 20:06:36 -0400
...
Check for *at least* as many signatures as required, not for *more* signatures than required.
svn:r11098
2007-08-14 00:07:29 +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
9356a0b1dd
r14544@catbus: nickm | 2007-08-13 17:00:09 -0400
...
Give a 200 when a duplicate vote gets uploaded.
svn:r11094
2007-08-13 21:01:02 +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
94c90c42e3
r13987@Kushana: nickm | 2007-08-13 16:17:09 -0400
...
Stop segfaulting on failed consensus.
svn:r11090
2007-08-13 20:17:14 +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
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
33cf3ada94
r14526@catbus: nickm | 2007-08-13 14:08:37 -0400
...
Make voting interval configurable.
svn:r11083
2007-08-13 18:09:38 +00:00
Nick Mathewson
a4e7dffc94
r13886@Kushana: nickm | 2007-08-01 09:43:06 -0700
...
Unit tests and debugging for detached signature manipulation.
svn:r11015
2007-08-01 16:43:44 +00:00
Nick Mathewson
3dbc825f36
r13996@catbus: nickm | 2007-07-29 19:17:53 -0400
...
Fix whitespace
svn:r10977
2007-07-29 23:18:06 +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