aboutsummaryrefslogtreecommitdiff
path: root/src/or/dirvote.c
Commit message (Collapse)AuthorAge
...
* | | Remove spurious debug log printout.Linus Nordberg2012-09-04
| | |
* | | Add tor_addr_port_new().Linus Nordberg2012-09-04
| | |
* | | Generate microdescriptors with "a" lines.Linus Nordberg2012-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | Generate and store all supported microdescriptor formats. Generate votes with one "m" line for each format. Only "m" lines with version info matching chosen consensus method will be voted upon. An optimisation would be to combine "m" lines with identical hashes, i.e. instead of "m 1,2,3 H1" and "m 4,5 H1", say "m 1,2,3,4,5 H1".
* | | Have directory authorities vote on IPv6 OR ports according to the specLinus Nordberg2012-09-04
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Define new new consensus method 14 adding "a" lines to vote and consensus documents. From proposal 186: As with other data in the vote derived from the descriptor, the consensus will include whichever set of "a" lines are given by the most authorities who voted for the descriptor digest that will be used for the router. This patch implements this.
* | Merge remote-tracking branch 'public/bug6404' into maint-0.2.3Nick Mathewson2012-08-21
|\ \
| * | Fix memory leak in dirvote_create_microdescriptorNick Mathewson2012-08-14
| | | | | | | | | | | | Found by George, who gets a cookie.
| * | Remove the upper limit on the size of MD we can generate.Nick Mathewson2012-07-31
| | |
| * | Don't include a router in an md consensus if we can't find a md for it.Nick Mathewson2012-07-31
| | | | | | | | | | | | | | | | | | | | | | | | The spec requires that every router in a microdesc consensus have an m line; we weren't obeying that spec. This creates a new consensus method (13) to allow voting to continue to work right. Partial fix for bug 6404; fix on 0.2.2.6-alpha.
| * | Allow microdescs to be up to 2k. Partial fix for 6404.Nick Mathewson2012-07-31
| | |
* | | Defensive programming: clear rs_out between iterations.Nick Mathewson2012-08-01
|/ / | | | | | | | | | | I can't currently find a bug here, but there are a couple of near-misses. Addresses ticket 6514; reported pseudonymously on IRC.
* | Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/ENDNick Mathewson2012-07-17
| | | | | | | | | | | | | | | | | | | | | | The SMARTLIST_FOREACH macro is more convenient than BEGIN/END when you have a nice short loop body, but using it for long bodies makes your preprocessor tell the compiler that all the code is on the same line. That causes grief, since compiler warnings and debugger lines will all refer to that one line. So, here's a new style rule: SMARTLIST_FOREACH blocks need to be short.
* | Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson2012-06-04
| |
* | Add about 60 more DOCDOC comments to 0.2.3Nick Mathewson2012-06-04
| | | | | | | | | | | | | | | | Also, try to resolve some doxygen issues. First, define a magic "This is doxygen!" macro so that we take the correct branch in various #if/#else/#endifs in order to get the right documentation. Second, add in a few grouping @{ and @} entries in order to get some variables and fields to get grouped together.
* | Detect out-of-bounds bwweightscale values early in the voting processNick Mathewson2012-05-07
| | | | | | | | | | | | | | | | If the authorities agreed on a sufficiently bad bwweightscale value (<=0 or == INT32_MAX), the bandwidth algorithm could make the voters assert while computing the consensus. Fix for bug5786; bugfix on 0.2.2.17-alpha
* | Check more thoroughly for dups when parsing networkstatus parametersNick Mathewson2012-05-07
| | | | | | | | | | | | See changes file for details. Partial fix for bug 5786; fix on 0.2.2.2-alpha.
* | Rename nonconformant identifiers.Nick Mathewson2012-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 4893. These changes are pure mechanical, and were generated with this perl script: /usr/bin/perl -w -i.bak -p s/crypto_pk_env_t/crypto_pk_t/g; s/crypto_dh_env_t/crypto_dh_t/g; s/crypto_cipher_env_t/crypto_cipher_t/g; s/crypto_digest_env_t/crypto_digest_t/g; s/aes_free_cipher/aes_cipher_free/g; s/crypto_free_cipher_env/crypto_cipher_free/g; s/crypto_free_digest_env/crypto_digest_free/g; s/crypto_free_pk_env/crypto_pk_free/g; s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g; s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g; s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g; s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g; s/crypto_new_cipher_env/crypto_cipher_new/g; s/crypto_new_digest_env/crypto_digest_new/g; s/crypto_new_digest256_env/crypto_digest256_new/g; s/crypto_new_pk_env/crypto_pk_new/g; s/crypto_create_crypto_env/crypto_cipher_new/g; s/connection_create_listener/connection_listener_new/g; s/smartlist_create/smartlist_new/g; s/transport_create/transport_new/g;
* | Convert instances of tor_snprintf+strdup into tor_asprintfNick Mathewson2012-01-16
| | | | | | | | | | | | These were found by looking for tor_snprintf() instances that were followed closely by tor_strdup(), though I probably converted some other snprintfs as well.
* | Try to use smartlist_add_asprintf consistentlyNick Mathewson2012-01-16
| | | | | | | | | | | | | | (To ensure correctness, in every case, make sure that the temporary variable is deleted, renamed, or lowered in scope, so we can't have any bugs related to accidentally relying on the no-longer-filled variable.)
* | Log which votes we still need to fetchSebastian Hahn2012-01-10
| | | | | | | | | | This might help us see which authorities are problematic in getting their vote published the first time.
* | Merge branch 'maint-0.2.2'Roger Dingledine2012-01-08
|\|
| * nickname, not identity fingerprint, will help moreRoger Dingledine2012-01-08
| |
| * tell me who votes are actually for, not just where they're fromRoger Dingledine2012-01-08
| |
* | Implement consensus method 12 (proposal 178)Sebastian Hahn2011-11-27
| |
* | Make the get_options() return constNick Mathewson2011-06-14
| | | | | | | | | | | | | | | | 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!
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-28
|\|
| * Fix GCC 4.6's new -Wunused-but-set-variable warnings.Nick Mathewson2011-05-23
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-15
|\|
| * Fixup whitespace issues from 3122 commitNick Mathewson2011-05-15
| |
| * Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-05-15
| |\ | | | | | | | | | | | | Conflicts: src/or/networkstatus.c
| | * Fixup whitespace issues from 3122 commitNick Mathewson2011-05-15
| | |
* | | Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023Nick Mathewson2011-05-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Hand-tune the new tor_memcmp instances in 0.2.2Nick Mathewson2011-05-11
| | |
| * | Re-apply the automated conversion to 0.2.2 to make handle any memcmps that ↵Nick Mathewson2011-05-11
| | | | | | | | | | | | snuck in
| * | Merge remote-tracking branch 'public/3122_memcmp_squashed' into ↵Nick Mathewson2011-05-11
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Hand-conversion and audit phase of memcmp transitionNick Mathewson2011-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson2011-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-09
|\| | | | | | | | | | | | | | Conflicts: src/or/connection.c
| * | Fix potential null pointer deref during dirvoteSebastian Hahn2011-05-09
| | | | | | | | | | | | Found by using clang's analyzer.
* | | Replace _AUTHORITY enum values with _DIRINFO values (automted)Nick Mathewson2011-05-05
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-04
|\| |
| * | Handle crypto_pk_get_digest failures semi-sensiblyRobert Ransom2011-05-04
| | | | | | | | | | | | Fixes bug 3106.
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-03-11
|\| |
| * | Fix log message when we have too few dirauthsSebastian Hahn2011-03-07
| | | | | | | | | | | | | | | | | | 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.
* | | Merge remote branch 'origin/maint-0.2.2' for bug2203_rebasedNick Mathewson2011-02-04
|\| | | | | | | | | | | | | | | | | | | | There was a merge conflict in routerlist.c due to the new node_t logic. Conflicts: src/or/routerlist.c
| * | Fix authority side of 2203.Mike Perry2011-01-25
| | | | | | | | | | | | Do not add Exit bandwidth to E if BadExit is set.
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-03
| |\| | | | | | | | | | | | | | | | Conflicts: src/common/test.h src/or/test.c
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
| | |
* | | refactor all these tor_inet_ntoa idiomsRoger Dingledine2010-10-01
|/ / | | | | | | but don't refactor the ones that look messy
* | Implement new Wxx constraints.Mike Perry2010-09-27
| | | | | | | | | | Cases 1 and 3b are provably correct. Case 2b has a fallback to first try to maximize entropy.