aboutsummaryrefslogtreecommitdiff
path: root/src/or/dirvote.c
AgeCommit message (Collapse)Author
2012-09-11Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
Conflicts: src/test/test_util.c
2012-09-11Fix assertion failure in tor_timegm.Nick Mathewson
Fixes bug 6811.
2012-08-21Merge remote-tracking branch 'public/bug6404' into maint-0.2.3Nick Mathewson
2012-08-14Fix memory leak in dirvote_create_microdescriptorNick Mathewson
Found by George, who gets a cookie.
2012-08-01Defensive programming: clear rs_out between iterations.Nick Mathewson
I can't currently find a bug here, but there are a couple of near-misses. Addresses ticket 6514; reported pseudonymously on IRC.
2012-07-31Remove the upper limit on the size of MD we can generate.Nick Mathewson
2012-07-31Don't include a router in an md consensus if we can't find a md for it.Nick Mathewson
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.
2012-07-31Allow microdescs to be up to 2k. Partial fix for 6404.Nick Mathewson
2012-07-17Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/ENDNick Mathewson
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.
2012-06-04Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson
2012-06-04Add about 60 more DOCDOC comments to 0.2.3Nick Mathewson
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.
2012-05-07Detect out-of-bounds bwweightscale values early in the voting processNick Mathewson
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
2012-05-07Check more thoroughly for dups when parsing networkstatus parametersNick Mathewson
See changes file for details. Partial fix for bug 5786; fix on 0.2.2.2-alpha.
2012-01-18Rename nonconformant identifiers.Nick Mathewson
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;
2012-01-16Convert instances of tor_snprintf+strdup into tor_asprintfNick Mathewson
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.
2012-01-16Try to use smartlist_add_asprintf consistentlyNick Mathewson
(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.)
2012-01-10Log which votes we still need to fetchSebastian Hahn
This might help us see which authorities are problematic in getting their vote published the first time.
2012-01-08Merge branch 'maint-0.2.2'Roger Dingledine
2012-01-08nickname, not identity fingerprint, will help moreRoger Dingledine
2012-01-08tell me who votes are actually for, not just where they're fromRoger Dingledine
2011-11-27Implement consensus method 12 (proposal 178)Sebastian Hahn
2011-06-14Make the get_options() return constNick Mathewson
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-05-28Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-05-23Fix GCC 4.6's new -Wunused-but-set-variable warnings.Nick Mathewson
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-15Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-05-15Fixup whitespace issues from 3122 commitNick Mathewson
2011-05-15Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
Conflicts: src/or/networkstatus.c
2011-05-15Fixup whitespace issues from 3122 commitNick Mathewson
2011-05-11Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023Nick Mathewson
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-11Hand-tune the new tor_memcmp instances in 0.2.2Nick Mathewson
2011-05-11Re-apply the automated conversion to 0.2.2 to make handle any memcmps that ↵Nick Mathewson
snuck in
2011-05-11Merge remote-tracking branch 'public/3122_memcmp_squashed' into ↵Nick Mathewson
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-11Hand-conversion and audit phase of memcmp transitionNick Mathewson
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-11Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson
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-09Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/or/connection.c
2011-05-09Fix potential null pointer deref during dirvoteSebastian Hahn
Found by using clang's analyzer.
2011-05-05Replace _AUTHORITY enum values with _DIRINFO values (automted)Nick Mathewson
2011-05-04Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-05-04Handle crypto_pk_get_digest failures semi-sensiblyRobert Ransom
Fixes bug 3106.
2011-03-11Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2011-03-07Fix log message when we have too few dirauthsSebastian Hahn
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-02-04Merge remote branch 'origin/maint-0.2.2' for bug2203_rebasedNick Mathewson
There was a merge conflict in routerlist.c due to the new node_t logic. Conflicts: src/or/routerlist.c
2011-01-25Fix authority side of 2203.Mike Perry
Do not add Exit bandwidth to E if BadExit is set.
2011-01-03Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2011-01-03Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
Conflicts: src/common/test.h src/or/test.c
2011-01-03Bump copyright statements to 2011Nick Mathewson
2010-10-01refactor all these tor_inet_ntoa idiomsRoger Dingledine
but don't refactor the ones that look messy
2010-09-27Implement new Wxx constraints.Mike Perry
Cases 1 and 3b are provably correct. Case 2b has a fallback to first try to maximize entropy.
2010-08-16Fix misplaced labelsSebastian Hahn
2010-08-16Fix a memory leak in dirvote_compute_consensuses()Sebastian Hahn