aboutsummaryrefslogtreecommitdiff
path: root/src/or/networkstatus.c
Commit message (Expand)AuthorAge
* when the consensus fails, list which dir auths were in or outRoger Dingledine2012-01-08
* Add a VoteOnHidServDirectoriesV2 configuration optionRobert Ransom2011-06-03
* Re-apply the automated conversion to 0.2.2 to make handle any memcmps that sn...Nick Mathewson2011-05-11
* Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcm...•••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 Nick Mathewson2011-05-11
|\
| * 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. Nick Mathewson2011-05-11
| * 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 Nick Mathewson2011-05-11
* | Only authorities should automatically download v2 networkstatus documents•••Clients and relays haven't used them since early 0.2.0.x. The only remaining use by authorities learning about new relays ahead of scedule; see proposal 147 for what we intend to do about that. We're leaving in an option (FetchV2Networkstatus) to manually fetch v2 networkstatuses, because apparently dnsel and maybe bwauth want them. This fixes bug 3022. Nick Mathewson2011-04-28
* | Clarify some documentation and comments wrt resetting OR token bucketsNick Mathewson2011-03-25
* | Triage the XXX022 and XXX021 comments remaining in the code•••Remove some, postpone others, leave some alone. Now the only remaining XXX022s are ones that seem important to fix or investigate. Nick Mathewson2011-03-25
* | Remove the "fuzzy time" code•••It was the start of a neat idea, but it only got used in 3 places, none of which really needed it. Nick Mathewson2011-03-25
* | Provide constant limits for all consensus params•••This addresses Nick's concern about doing non-constant bounds checking inside networkstatus_get_param(). Sebastian Hahn2011-01-15
* | Sanity-check consensus param values•••We need to make sure that the worst thing that a weird consensus param can do to us is to break our Tor (and only if the other Tors are reliably broken in the same way) so that the majority of directory authorities can't pull any attacks that are worse than the DoS that they can trigger by simply shutting down. One of these worse things was the cbtnummodes parameter, which could lead to heap corruption on some systems if the value was sufficiently large. This commit fixes this particular issue and also introduces sanity checking for all consensus parameters. Sebastian Hahn2011-01-15
* | Make get_net_param_from_list() static•••This prepares for making the accessor method for consensus parameters safer in the next commit. Sebastian Hahn2011-01-15
* | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts: src/or/config.c src/or/networkstatus.c src/or/rendcommon.c src/or/routerparse.c src/or/test.c Nick Mathewson2011-01-15
|\|
| * Fix a heap overflow found by debuger, and make it harder to make that mistake...•••Our public key functions assumed that they were always writing into a large enough buffer. In one case, they weren't. (Incorporates fixes from sebastian) Nick Mathewson2011-01-15
* | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2011-01-03
|\|
| * Bump copyright statements to 2011Nick Mathewson2011-01-03
* | Fix a logic error in 98aee84. Found by boboperNick Mathewson2010-10-20
* | Fix a read of a freed pointer while in set_current_consensus•••Found by rransom while working on issue #988. Bugfix on 0.2.2.17-alpha. Fixes bug 2097. Nick Mathewson2010-10-20
* | Count unknown authorities as unknown only once, not once per signature.•••Do not double-report signatures from unrecognized authorities both as "from unknown authority" and "not present". Fixes bug 1956, bugfix on 0.2.2.16-alpha. Nick Mathewson2010-09-20
* | Merge branch 'bug911'Nick Mathewson2010-09-14
|\ \
| * | Tweak some issues found by arma in bug911 review.Nick Mathewson2010-09-14
| * | Move code for launching tests out of router_add_to_routerlist()•••router_add_to_routerlist() is supposed to be a nice minimal function that only touches the routerlist structures, but it included a call to dirserv_single_reachability_test(). We have a function that gets called _after_ adding descriptors successfully: routerlist_descriptors_added. This patch moves the responsibility for testing there. Because the decision of whether to test or not depends on whether there was an old routerinfo for this router or not, we have to first detect whether we _will_ want to run the tests if the router is added. We make this the job of routers_update_status_from_consensus_networkstatus(). Finally, this patch makes the code notice if a router is going from hibernating to non-hibernating, and if so causes a reachability test to get launched. Nick Mathewson2010-08-18
* | | Merge remote branch 'public/pretty-signature-log'Nick Mathewson2010-09-13
|\ \ \
| * | | Complicate the rules on WARN vs INFO in consensus verification•••It's normal when bootstrapping to have a lot of different certs missing, so we don't want missing certs to make us warn... unless the certs we're missing are ones that we've tried to fetch a couple of times and failed at. May fix bug 1145. Nick Mathewson2010-09-02
| * | | Make the "2 unknown, 7 missing key..." messages easier to understand•••This patch should fix the cases we care about for bugs 1290 and 1145. "30-56-99 are correct. Limited 4 and 8 are missing". Nick Mathewson2010-08-19
* | | | Make authorities download consensuses if appropriate•••An authority should never download a consensus if it has a live one, but when it doesn't, it should admit that it's not going to get one, and see if anybody else can give it one. Fixes 1300, fix on 0.2.0.9-alpha Nick Mathewson2010-09-12
|/ / /
* | | Merge branch 'maint-0.2.1'•••Resolved conflict in src/or/networkstatus.c Nick Mathewson2010-08-17
|\ \ \ | | |/ | |/|
| * | Scale CONSENSUS_MIN_SECONDS_BEFORE_CACHING by voting interval•••If the voting interval was short enough, the two-minutes delay of CONSENSUS_MIN_SECONDS_BEFORE_CACHING would confuse bridges to the point where they would assert before downloading a consensus. It it was even shorter (<4 minutes, I think), caches would assert too. This patch fixes that by having replacing the two-minutes value with MIN(2 minutes, interval/16). Bugfix for 1141; the cache bug could occur since 0.2.0.8-alpha, so I'm calling this a bugfix on that. Robert Hogan diagnosed this. Done as a patch against maint-0.2.1, since it makes it hard to run some kinds of testing networks. Nick Mathewson2010-08-17
* | | reinit per-conn token buckets on config or consensus changeRoger Dingledine2010-08-15
* | | fix a memory leak introduced by df1ef2f0f0856afRoger Dingledine2010-08-13
| |/ |/|
* | Create routerparse.hSebastian Hahn2010-07-27
* | Create relay.hSebastian Hahn2010-07-27
* | Create networkstatus.hSebastian Hahn2010-07-27
* | Create dirvote.hSebastian Hahn2010-07-27
* | Create dirserv.hSebastian Hahn2010-07-27
* | Create directory.hSebastian Hahn2010-07-27
* | Create control.hSebastian Hahn2010-07-27
* | Create connection.hSebastian Hahn2010-07-27
* | Create config.hSebastian Hahn2010-07-27
* | Create circuitbuild.hSebastian Hahn2010-07-27
* | Create routerlist.hSebastian Hahn2010-07-27
* | Create router.hSebastian Hahn2010-07-27
* | Fix getinfo_helper_networkstatus to return 0 on question-not-known•••It erroneously returned -1 instead, which made it say "Internal error" rather than "Unrecognized key." Nick Mathewson2010-07-18
* | Make the controller act more usefully when GETINFO fails•••Right now it says "552 internal error" because there's no way for getinfo_helper_*() countries to specify an error message. This patch changes the getinfo_helper_*() interface, and makes most of the getinfo helpers give useful error messages in response to failures. This should prevent recurrences of bug 1699, where a missing GeoIPFile line in the torrc made GETINFO ip-to-county/* fail in a "not obvious how to fix" way. Nick Mathewson2010-07-18
* | Alter how guard flags are chosen.•••V3 authorities no longer decide not to vote on Guard+Exit. The bandwidth weights should take care of this now. Also, lower the max threshold for WFU to 0.98, to allow more nodes to become guards. Mike Perry2010-07-14
* | simplify a path in networkstatusRoger Dingledine2010-04-15
* | Merge remote branch 'origin/maint-0.2.1'•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2010-02-27
|\|
| * Update Tor Project copyright yearsNick Mathewson2010-02-27
| * read the "circwindow" parameter from the consensus•••backport of c43859c5c12361fad505 backport of 0d13e0ed145f4c1b5bd1 Roger Dingledine2009-10-14