aboutsummaryrefslogtreecommitdiff
path: root/src/or/networkstatus.c
Commit message (Collapse)AuthorAge
* Resolve about 24 DOCDOCsNick Mathewson2012-06-05
|
* 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.
* Resolve all currently pending DOCDOC items in masterNick Mathewson2012-06-04
|
* MSVC build issue: it can't tell that tor_assert(0) aborts.Nick Mathewson2012-05-14
|
* Fix a bunch of check-spaces complaintsSebastian Hahn2012-03-28
|
* Keep separate time-to-downloads for each consensus flavorNick Mathewson2012-03-28
| | | | | | This is a fix for bug 4011, where if we have a recent ns consensus we won't even try fetching a microdesc consensus. Fix on 0.2.3.1-alpha, I believe.
* 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_malloc+tor_snprintf into tor_asprintfNick Mathewson2012-01-16
| | | | | | | | | | These were found by looking for tor_snprintf() instances that were preceeded closely by tor_malloc(), though I probably converted some more snprintfs as well. (In every case, make sure that the length variable (if any) is removed, renamed, or lowered, so that anything else that might have assumed a longer buffer doesn't exist.)
* 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.)
* Merge branch 'maint-0.2.2'Roger Dingledine2012-01-08
|\
| * when the consensus fails, list which dir auths were in or outRoger Dingledine2012-01-08
| |
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-09-07
|\| | | | | | | | | | | | | | | Conflicts: src/or/dirserv.c src/or/networkstatus.c Conflicts were related to routerinfo->node shift.
| * Add a VoteOnHidServDirectoriesV2 configuration optionRobert Ransom2011-06-03
| |
* | Make FetchUselessDescriptors fetch all desc typesNick Mathewson2011-08-29
| | | | | | | | | | | | | | | | | | | | | | | | Previously, if you were set up to use microdescriptors, and you weren't a cache, you'd never fetch router descriptors (except for bridges). Now FetchUselessDescriptors causes descriptors and mirodescs to get cached. Also, FetchUselessDescriptors changes the behavior of "UseMicrodescriptors auto" to be off, since there's no point in saying "UseMicrodescriptors 1" when you have full descriptors too. Fix for bug 3851; bugfix on 0.2.3.1-alpha.
* | Initial patch to build Tor with msvc and nmakeNick Mathewson2011-08-01
| | | | | | | | | | | | | | | | | | | | We'll still need to tweak it so that it looks for includes and libraries somewhere more sensible than "where we happened to find them on Erinn's system"; so that tests and tools get built too; so that it's a bit documented; and so that we actually try running the output. Work done with Erinn Clark.
* | 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!
* | Fix crash bug (3361) when setting off-flavor networkstatusNick Mathewson2011-06-07
| | | | | | | | | | | | When we set a networkstatus in the non-preferred flavor, we'd check the time in the current_consensus. But that might have been NULL, which could produce a crash as seen in bug 3361.
* | 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
| * 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/directory.c
| * | Only authorities should automatically download v2 networkstatus documentsNick Mathewson2011-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Code to make clients fetch and use microdescriptors for circuit buildingNick Mathewson2011-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | To turn this on, set UseMicrodescriptors to "1" (or "auto" if you want it on-if-you're-a-client). It should go auto-by-default once 0.2.3.1-alpha is released. Because of our node logic, directory caches will never use microdescriptors when they have the right routerinfo available.
* | | Replace _AUTHORITY enum values with _DIRINFO values (automted)Nick Mathewson2011-05-05
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/common/address.c src/common/compat_libevent.c src/common/memarea.c src/common/util.h src/or/buffers.c src/or/circuitbuild.c src/or/circuituse.c src/or/connection.c src/or/directory.c src/or/networkstatus.c src/or/or.h src/or/routerlist.c
| * | Clarify some documentation and comments wrt resetting OR token bucketsNick Mathewson2011-03-25
| | |
| * | Triage the XXX022 and XXX021 comments remaining in the codeNick Mathewson2011-03-25
| | | | | | | | | | | | | | | Remove some, postpone others, leave some alone. Now the only remaining XXX022s are ones that seem important to fix or investigate.
| * | Remove the "fuzzy time" codeNick Mathewson2011-03-25
| | | | | | | | | | | | | | | It was the start of a neat idea, but it only got used in 3 places, none of which really needed it.
* | | Fix infinite recursion when connect() fails in microdesc consensus fetchNick Mathewson2011-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The underlying fix is to stop indicating requests "ns" consensuses by putting NULL in their requested_resource field: we already had a specialized meaning for requested_resource==NULL, which was (more or less) "Treat a failure here as a network failure, since it's too early to possibly be a resource or directory failure." Overloading the two meant that very early microdesc consensus download failures would get treated as ns consensus download failures, so the failure count there would get incremented, but the microdesc download would get retried immediately in an infinite loop. Fix for bug2381. Diagnosed by mobmix.
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-01-15
|\| |
| * | Provide constant limits for all consensus paramsSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | This addresses Nick's concern about doing non-constant bounds checking inside networkstatus_get_param().
| * | Sanity-check consensus param valuesSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Make get_net_param_from_list() staticSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | This prepares for making the accessor method for consensus parameters safer in the next commit.
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-15
|\| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-15
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/config.c src/or/networkstatus.c src/or/rendcommon.c src/or/routerparse.c src/or/test.c
| | * Fix a heap overflow found by debuger, and make it harder to make that ↵Nick Mathewson2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | mistake again 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)
* | | 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
| | |
* | | Fetch missing certs to authenticate microdesc consensuses as neededNick Mathewson2010-12-06
| | | | | | | | | | | | Fixes bug 2253; fix by rransom
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-10-20
|\| | | | | | | | | | | | | | Conflicts: src/or/networkstatus.c
| * | Fix a logic error in 98aee84. Found by boboperNick Mathewson2010-10-20
| | |
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-10-20
|\| | | | | | | | | | | | | | Conflicts: src/or/networkstatus.c
| * | Fix a read of a freed pointer while in set_current_consensusNick Mathewson2010-10-20
| | | | | | | | | | | | | | | Found by rransom while working on issue #988. Bugfix on 0.2.2.17-alpha. Fixes bug 2097.
* | | Remove "is this too slow?" XXXX comments for code not appearing in profilesNick Mathewson2010-10-15
| | |
* | | Remove the unused old fuzzy-time codeNick Mathewson2010-10-15
| | |
* | | Rename routerstatus_t.is_running to is_flagged_runningNick Mathewson2010-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was the only flag in routerstatus_t that we would previously change in a routerstatus_t in a consensus. We no longer have reason to do so -- and probably never did -- as you can now confirm more easily than you could have done by grepping for is_running before this patch. The name change is to emphasize that the routerstatus_t is_running flag is only there to tell you whether the consensus says it's running, not whether it *you* think it's running.