diff --git a/ChangeLog b/ChangeLog index a5e49ae11a..f40cdb1052 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,27 @@ Changes in version 0.2.1.1-alpha - 2008-06-13 o Major features: - - Modify the list of ciphers advertised by OpenSSL in client mode - to even more closely resemble a common web browser. We cheat a - little so that we can advertise ciphers that the locally - installed OpenSSL doesn't know about. + - More work on making our TLS handshake blend in: modify the list + of ciphers advertised by OpenSSL in client mode to even more + closely resemble a common web browser. We cheat a little so that + we can advertise ciphers that the locally installed OpenSSL doesn't + know about. - Start sending "bootstrap phase" status events to the controller, so it can keep the user informed of progress fetching directory information and establishing circuits. Also inform the controller if we think we're stuck at a particular bootstrap phase. Implements proposal 137. + - Resume using OpenSSL's RAND_poll() for better (and more portable) + cross-platform entropy collection again. We used to use it, then + stopped using it because of a bug that could crash systems that + called RAND_poll when they had a lot of fds open. It looks like the + bug got fixed in late 2006. Our new behavior is to call RAND_poll() + at startup, and to call RAND_poll() when we reseed later only if + we have a non-buggy OpenSSL version. + + o Major bugfixes: + - When we choose to abandon a new entry guard because we think our + older ones might be better, close any circuits pending on that + new entry guard connection. Bugfix on 0.1.2.8-beta; found by lodger. o Memory fixes and improvements: - Add a malloc_good_size implementation to OpenBSD_malloc_linux.c, @@ -29,65 +42,45 @@ Changes in version 0.2.1.1-alpha - 2008-06-13 patch to their OpenSSL, turn it on to save memory on servers. This patch will (with any luck) get included in a mainline distribution before too long. + - Never use OpenSSL compression: it wastes RAM and CPU trying to + compress cells, which are basically all encrypted, compressed, + or both. o Minor bugfixes: - - Stop giving double-close warn when we reject an address for - client DNS. - - Make relay cells written on a connection count as non-padding when - tracking how long a connection has been in use. Bugfix on - 0.2.0.1-alpha. Spotted by lodger. - - When we choose to abandon a new entry guard because we think our - older ones might be better, close any circuits pending on that - new entry guard connection. Bugfix on 0.1.2.8-beta; found by lodger. - Stop reloading the router list from disk for no reason when we run out of reachable directory mirrors. Once upon a time reloading it would set the 'is_running' flag back to 1 for them. It hasn't done that for a long time. - In very rare situations new hidden service descriptors were published earlier than 30 seconds after the last change to the - service, with the 30 seconds being the current voodoo saying that - a descriptor is stable. + service. (We currently think that a hidden service descriptor + that's been stable for 30 seconds is worth publishing.) o Minor features: - Allow separate log levels to be configured for different logging - domains. For example, this allows one to log all notices, warnings, + domains. For example, this allows one to log all notices, warnings, or errors, plus all memory management messages of level debug or higher, with: Log [MM] debug-err [*] notice-err file /var/log/tor. - Add a couple of extra warnings to --enable-gcc-warnings for GCC 4.3, and stop using a warning that had become unfixably verbose under GCC 4.3. - - Resume using OpenSSL's RAND_poll() for better (and more portable) - cross-platform entropy collection again. We used to use it, then - stopped using it because of a bug that could crash systems that - called RAND_poll when they had a lot of fds open. It looks like the - bug got fixed in late 2006. Our new behavior is to call RAND_poll() - at startup, and to call RAND_poll() when we reseed later only if - we have a non-buggy OpenSSL version. - - Lots of new unit tests. - New --hush command-line option similar to --quiet. While --quiet disables all logging to the console on startup, --hush limits the output to messages of warning and error severity. - Servers support a new URL scheme for consensus downloads that allows the client to specify which authorities are trusted. The server then only sends the consensus if the client will trust - it. Otherwise a 404 error is sent back. Clients can use this - new scheme when the server supports it. Implements proposal 134; - disabled for now though. + it. Otherwise a 404 error is sent back. Clients use this + new scheme when the server supports it (meaning it's running + 0.2.1.1-alpha or later). Implements proposal 134. - New configure/torrc options (--enable-geoip-stats, DirRecordUsageByCountry) to record how many IPs we've served directory info to in each country code, how many status documents total we've sent to each country code, and what share of the total directory requests we should expect to see. - - Never use OpenSSL compression: it wastes RAM and CPU trying to - compress cells, which are basically all encrypted, compressed, or - both. - Use the TLS1 hostname extension to more closely resemble browser behavior. - - o Code simplifications and refactoring: - - Refactor code using connection_ap_handshake_attach_circuit() to - allow that function to mark connections for close. Part of a fix - for bug 617. Bugfix on 0.2.0.1-alpha. + - Lots of new unit tests. - Add a macro to implement the common pattern of iterating through two parallel lists in lockstep.