Commit Graph

4305 Commits

Author SHA1 Message Date
Nick Mathewson 2ba047f596 Merge branch 'maint-0.2.8' into release-0.2.8 2016-11-03 15:44:40 -04:00
Nick Mathewson 7a45ef5a47 Merge remote-tracking branch 'arma/bug19969_028_squashed' into maint-0.2.8 2016-11-03 15:44:30 -04:00
Nick Mathewson 6520ef5478 Merge branch 'maint-0.2.8' into release-0.2.8 2016-11-03 15:40:56 -04:00
Nick Mathewson 9b18b215bb Work around a behavior change in openssl's BUF_MEM code
In our code to write public keys to a string, for some unfathomable
reason since 253f0f160e, we would allocate a memory BIO, then
set the NOCLOSE flag on it, extract its memory buffer, and free it.
Then a little while later we'd free the memory buffer with
BUF_MEM_free().

As of openssl 1.1 this doesn't work any more, since there is now a
BIO_BUF_MEM structure that wraps the BUF_MEM structure.  This
BIO_BUF_MEM doesn't get freed in our code.

So, we had a memory leak!

Is this an openssl bug?  Maybe.  But our code was already pretty
silly.  Why mess around with the NOCLOSE flag here when we can just
keep the BIO object around until we don't need the buffer any more?

Fixes bug 20553; bugfix on 0.0.2pre8
2016-11-03 10:51:10 -04:00
Roger Dingledine d89804a69d Ask event_base_loop to finish when we add a pending stream
Fixes bug 19969; bugfix on b1d56fc58. We can fix this some more in
later Tors, but for now, this is probably the right fix for us.
2016-11-01 19:52:55 -04:00
Nick Mathewson 44c5fc6878 Changelog and releasenotes for 0.2.8.9 2016-10-17 15:00:46 -04:00
Nick Mathewson 4d1e39b21b Merge branch 'maint-0.2.8' into release-0.2.8 2016-10-17 14:51:29 -04:00
Nick Mathewson 1df114330e Merge branch 'buf_sentinel_026_v2' into maint-0.2.8 2016-10-17 14:51:06 -04:00
Nick Mathewson 3cea86eb2f Add a one-word sentinel value of 0x0 at the end of each buf_t chunk
This helps protect against bugs where any part of a buf_t's memory
is passed to a function that expects a NUL-terminated input.

It also closes TROVE-2016-10-001 (aka bug 20384).
2016-10-17 14:49:54 -04:00
Nick Mathewson d579528033 Merge branch 'maint-0.2.8' into release-0.2.8 2016-10-06 10:01:23 -04:00
Nick Mathewson ab98c4387e Merge branch 'maint-0.2.7' into maint-0.2.8 2016-10-06 09:59:42 -04:00
Nick Mathewson ec718aa839 Merge branch 'maint-0.2.6' into maint-0.2.7 2016-10-06 09:59:18 -04:00
Nick Mathewson 12a7298376 Merge branch 'maint-0.2.5' into maint-0.2.6 2016-10-06 09:59:03 -04:00
Nick Mathewson 304d8f3bbb Merge branch 'maint-0.2.4' into maint-0.2.5 2016-10-06 09:58:54 -04:00
Karsten Loesing 1b4984f196 Update geoip and geoip6 to the October 6 2016 database. 2016-10-05 16:35:14 +02:00
Nick Mathewson 49e4848641 Fold entry into changelog. 2016-09-23 11:12:54 -04:00
Nick Mathewson 89e4126cd9 Merge branch 'maint-0.2.8' into release-0.2.8 2016-09-23 09:30:48 -04:00
Nick Mathewson db6153e70c Merge remote-tracking branch 'teor/broken-028-fallbacks' into maint-0.2.8 2016-09-23 09:29:55 -04:00
Nick Mathewson 31df6a7a23 Start on an 0.2.8.8 changelog. 2016-09-22 15:28:26 -04:00
Nick Mathewson 7df4f23d95 Merge branch 'maint-0.2.8' into release-0.2.8 2016-09-22 15:20:19 -04:00
Nick Mathewson d78711c0ae LintChanges fix 2016-09-22 15:19:59 -04:00
Nick Mathewson 6e96eababe Merge branch 'bug20203_027_squashed' into maint-0.2.8 2016-09-22 15:17:00 -04:00
Nick Mathewson e4aaf76660 When clearing cells from a circuit for OOM reasons, tell cmux we did so.
Not telling the cmux would sometimes cause an assertion failure in
relay.c when we tried to get an active circuit and found an "active"
circuit with no cells.

Additionally, replace that assert with a test and a log message.

Fix for bug 20203. This is actually probably a bugfix on
0.2.8.1-alpha, specifically my code in 8b4e5b7ee9 where I
made circuit_mark_for_close_() do less in order to simplify our call
graph. Thanks to "cypherpunks" for help diagnosing.
2016-09-22 15:16:07 -04:00
Nick Mathewson caa16bffc7 Merge branch 'maint-0.2.8' into release-0.2.8 2016-09-22 09:00:23 -04:00
Nick Mathewson 1edea87c2a Fix lintchanges warnings in 028 2016-09-22 09:00:16 -04:00
teor df7b0011e3 Changes file for #20190: remove broken fallbacks 2016-09-22 08:08:59 +10:00
Nick Mathewson a8b607bfdd Merge branch 'maint-0.2.8' into release-0.2.8 2016-09-20 19:30:38 -04:00
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
Nick Mathewson 8a163e9579 Merge branch 'maint-0.2.8' into release-0.2.8 2016-09-07 13:54:46 -04:00
Nick Mathewson 6494f3346b Merge branch 'maint-0.2.7' into maint-0.2.8 2016-09-07 13:54:12 -04:00
Nick Mathewson 11edbf4808 Merge branch 'maint-0.2.6' into maint-0.2.7 2016-09-07 13:54:03 -04:00
Nick Mathewson 52a99cb6c1 Merge branch 'maint-0.2.5' into maint-0.2.6 2016-09-07 13:53:53 -04:00
Nick Mathewson e4d82da05b Merge branch 'maint-0.2.4' into maint-0.2.5 2016-09-07 13:53:43 -04:00
Karsten Loesing 56f95ba94d Update geoip and geoip6 to the September 6 2016 database. 2016-09-07 11:08:04 +02:00
Nick Mathewson 619507a029 Fold the last (I hope) two changes into the changelog 2016-08-24 10:50:47 -04:00
Nick Mathewson 041947977e Merge branch 'maint-0.2.8' into release-0.2.8 2016-08-24 10:44:21 -04:00
Nick Mathewson 5280a700aa Changes file for bug19973 2016-08-24 10:34:00 -04:00
Nick Mathewson 824b160931 Merge branch 'maint-0.2.8' into release-0.2.8 2016-08-24 10:03:29 -04:00
Nick Mathewson d3a975ea05 Merge branch 'maint-0.2.7' into maint-0.2.8 2016-08-24 10:02:52 -04:00
Nick Mathewson f60da19211 Changes file for bifroest 2016-08-24 10:02:42 -04:00
Nick Mathewson fa038ebb7b Start on an 0.2.8.7 changelog. 2016-08-23 10:08:51 -04:00
Nick Mathewson e085b11d27 Merge branch 'maint-0.2.8' into release-0.2.8 2016-08-22 10:19:52 -04:00
Nick Mathewson 0ba05313d5 Do not pass NULL to log(%s) in dir_server_new.
This bug had existed since 0.2.4.7-alpha, but now that we have
FallbackDirs by default, it actually matters.

Fixes bug 19947; bugfix on 0.2.4.7-alpha or maybe 0.2.8.1-alpha.

Rubiate wrote the patch; teor wrote the changes file.
2016-08-22 01:22:19 -04:00
Nick Mathewson 6e181bafff Merge branch 'maint-0.2.8' into release-0.2.8 2016-08-19 19:35:52 -04:00
Nick Mathewson 65cf5130ef Merge branch 'bug19903_028_v2' into maint-0.2.8 2016-08-19 19:35:26 -04:00
Nick Mathewson 49843c980a Avoid confusing GCC 4.2.1 by saying "int foo()... inline int foo() {...}"
Fixes bug 19903; bugfix on 0.2.8.1-alpha.
2016-08-19 19:34:39 -04:00
Nick Mathewson 459e5d705e Merge branch 'maint-0.2.7' into maint-0.2.8 2016-08-12 10:27:14 -04:00
Nick Mathewson db372addc8 Merge branch 'maint-0.2.6' into maint-0.2.7 2016-08-12 10:27:08 -04:00
Nick Mathewson 742ff2cddb Merge branch 'maint-0.2.5' into maint-0.2.6 2016-08-12 10:27:01 -04:00
Nick Mathewson 46754d6081 Merge branch 'maint-0.2.4' into maint-0.2.5 2016-08-12 10:26:48 -04:00