tor/changes
Nick Mathewson 9b5a19c64b Don't look at any routerstatus_t when the networkstatus is inconsistent
For a brief moment in networkstatus_set_current_consensus(), the old
consensus has been freed, but the node_t objects still have dead
pointers to the routerstatus_t objects within it.  During that
interval, we absolutely must not do anything that would cause Tor to
look at those dangling pointers.

Unfortunately, calling the (badly labeled!) current_consensus macro
or anything else that calls into we_use_microdescriptors_for_circuits(),
can make us look at the nodelist.

The fix is to make sure we identify the main consensus flavor
_outside_ the danger zone, and to make the danger zone much much
smaller.

Fixes bug 20103.  This bug has been implicitly present for AGES; we
just got lucky for a very long time.  It became a crash bug in
0.2.8.2-alpha when we merged 35bbf2e4a4 to make
find_dl_schedule start looking at the consensus, and 4460feaf28
which made node_get_all_orports less (accidentally) tolerant of
nodes with a valid ri pointer but dangling rs pointer.
2016-09-20 10:43:58 -04:00
..
.dummy Add a .dummy file in the changes directory to stop git from removing it 2015-05-11 11:41:48 -04:00
19271 whoops. changelog file for 19271. 2016-07-05 13:51:21 -04:00
asciidoc-UTC Run asciidoc in UTC timezone for build reproducibility. 2016-07-05 12:38:24 -04:00
bug17150 Fix another, more subtle, case of bug 17150. 2016-05-17 13:16:36 -04:00
bug17744_redux Remove a couple of redundant lines from the makefile 2016-03-28 16:11:25 -04:00
bug18133 Log a better message when OfflineMasterKey is set. 2016-03-21 11:57:23 -04:00
bug18286 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18312 Do not recommend use of nicknames in MapAddress manpage 2016-04-26 20:30:59 -04:00
bug18397 changes file for bug18397 2016-07-13 09:19:23 -04:00
bug18460 Fix remaining lintChanges warnings. 2016-05-17 11:06:41 -04:00
bug18481 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18616 touchups and refactorings on bug 18616 branch 2016-05-16 17:43:47 -04:00
bug18668 Initialize networking _before_ initializing libevent in the tests 2016-05-16 14:30:04 -04:00
bug18673 Fix memory leak in TestingEnableCellStatsEvent 2016-03-28 11:12:15 -04:00
bug18686 Report success when not terminating an already terminated process. 2016-05-04 15:10:36 -04:00
bug18710 Fix dnsserv.c assertion when no supported questions are requested. 2016-05-04 14:45:09 -04:00
bug18716 memarea: Don't assume that sizeof(ulong) >= sizeof(void*). 2016-04-07 11:10:14 -04:00
bug18728 Don't call the system toupper or tolower. 2016-04-05 23:22:28 -04:00
bug18729 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18761 Log find_rp_for_intro_() failures at LOG_PROTOCOL_WARN. 2016-05-11 12:36:19 -04:00
bug18809 lintchanges on 18809, and fix the bug number 2016-05-19 08:54:19 -04:00
bug18812 Resolve bug18812 by logging fallback key changes at info level 2016-06-28 14:18:16 +10:00
bug18816 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18841.1 Undefine _FORTIFY_SOURCE before defining it. 2016-05-11 12:15:37 -04:00
bug18849 When tor can't find a directory, log less 2016-07-01 14:26:00 +10:00
bug18920 (cherry-picked by nickm, with changes file from isis.) 2016-05-02 14:01:36 -04:00
bug18921 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18929 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18943 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
bug18977 Have correct_tm set tm_wday as well. 2016-05-12 14:37:27 -04:00
bug19003 Fix remaining lintChanges warnings. 2016-05-17 11:06:41 -04:00
bug19008 Add "-c 1" to ping6 in test-network-all 2016-05-09 18:12:59 -04:00
bug19032 Fix out-of-bounds write during voting with duplicate ed25519 keys 2016-05-11 13:11:03 -04:00
bug19161 Make sure that libscrypt_scrypt actually exists before using it. 2016-05-24 10:31:02 -04:00
bug19191 Use directory_must_use_begindir to predict we'll surely use begindir 2016-06-02 10:40:39 -04:00
bug19203 Fix a warning on unnamed nodes in node_get_by_nickname(). 2016-05-30 12:03:03 -04:00
bug19213 lintChanges fixes 2016-06-13 13:57:03 -04:00
bug19406 Bug 19406: Add a changes file. 2016-06-14 12:13:09 -04:00
bug19454 Fix bug when disabling heartbeats. 2016-06-21 08:54:30 -04:00
bug19464 Remove useless message about nonexistent onion services after uploading a descriptor 2016-06-21 09:00:22 -04:00
bug19499 Appease lint-changes script. 2016-07-05 12:58:05 -04:00
bug19556 Appease lint-changes script. 2016-07-05 12:58:05 -04:00
bug19557 Appease lint-changes script. 2016-07-05 12:58:05 -04:00
bug19608 When checking if a routerstatus is reachable, don't check the node 2016-07-06 14:46:22 +10:00
bug19660 Add (SOCK_DGRAM, IPPROTO_UDP) sockets to the sandboxing whitelist 2016-07-11 09:37:01 +02:00
bug19682 Fix warnings in test_util_formats. 2016-07-17 13:51:45 -04:00
bug19728 Changes file for bifroest 2016-08-24 10:02:42 -04:00
bug19782 Remove a fallback that was on the hardcoded list, then opted-out 2016-07-29 10:23:15 -04:00
bug19903 Avoid confusing GCC 4.2.1 by saying "int foo()... inline int foo() {...}" 2016-08-19 19:34:39 -04:00
bug19947 Do not pass NULL to log(%s) in dir_server_new. 2016-08-22 01:22:19 -04:00
bug19973 Changes file for bug19973 2016-08-24 10:34:00 -04:00
bug20103 Don't look at any routerstatus_t when the networkstatus is inconsistent 2016-09-20 10:43:58 -04:00
doc17621 minor touchups on nick's ticket 17621 changes 2016-05-11 16:35:36 -04:00
fallbacks-201604 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
feature18483 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
geoip-april2016 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
geoip-august2016 Update geoip and geoip6 to the August 2 2016 database. 2016-08-12 11:53:38 +02:00
geoip-july2016 Update geoip and geoip6 to the July 6 2016 database. 2016-07-18 08:40:22 +02:00
geoip-jun2016 lintChanges fixes 2016-06-13 13:57:03 -04:00
geoip-may2016 Resolve lintChanges warnings. 2016-05-17 11:05:57 -04:00
geoip-september2016 Update geoip and geoip6 to the September 6 2016 database. 2016-09-07 11:08:04 +02:00
memarea_overflow Fix a pointer arithmetic bug in memarea_alloc() 2016-05-25 09:20:37 -04:00
rsa_init_bug Fix a dangling pointer issue in our RSA keygen code 2016-05-25 09:23:57 -04:00
ticket19071-19480 Comment-out fallbacks in a way the stem fallback parser understands 2016-06-28 19:15:08 -04:00