aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-02-07Survive fedora's openssl in our benchmarksNick Mathewson
Apparently fedora currently has ECDH but not P224. This isn't a huge deal, since we no longer use OpenSSL's P224 ever (see #9780 and 72c1e5acfe1c6). But we shouldn't have segfaulting benchmarks really. Fixes bug 10835; bugfix on 0.2.4.8-alpha.
2014-02-06NULL out conns on tlschans when freeing in case channel_run_cleanup() is ↵Andrea Shepard
late; fixes bug 9602
2014-02-06Merge remote-tracking branch 'public/bug9716_024' into maint-0.2.4Nick Mathewson
2014-02-06Some anti-forensics paranoia...Florent Daigniere
sed -i 's/BN_free/BN_clear_free/g'
2014-02-06Add a missing includeNick Mathewson
2014-02-06Deliver circuit handshake counts as part of the heartbeatNick Mathewson
Previously, they went out once an hour, unconditionally. Fixes 10485; bugfix on 0.2.4.17-rc.
2013-12-22Fix automapping to ipv6Nick Mathewson
Bugfix on 0.2.4.7-alpha; fixes bug 10465.
2013-12-21Fix a logic error in circuit_stream_is_being_handled.Nick Mathewson
When I introduced the unusable_for_new_circuits flag in 62fb209d837f3f551, I had a spurious ! in the circuit_stream_is_being_handled loop. This made us decide that non-unusable circuits (that is, usable ones) were the ones to avoid, and caused it to launch a bunch of extra circuits. Fixes bug 10456; bugfix on 0.2.4.12-alpha.
2013-12-18Never allow OpenSSL engines to replace the RAND_SSLeay methodNick Mathewson
This fixes bug 10402, where the rdrand engine would use the rdrand instruction, not as an additional entropy source, but as a replacement for the entire userspace PRNG. That's obviously stupid: even if you don't think that RDRAND is a likely security risk, the right response to an alleged new alleged entropy source is never to throw away all previously used entropy sources. Thanks to coderman and rl1987 for diagnosing and tracking this down.
2013-12-17Merge branch 'bug10423' into maint-0.2.4Nick Mathewson
2013-12-17Merge remote-tracking branch 'public/bug10409_023' into maint-0.2.4Nick Mathewson
2013-12-17Avoid double-free on failure to dump_descriptor() a cached mdNick Mathewson
This is a fix for 10423, which was introducd in caa0d15c in 0.2.4.13-alpha. Spotted by bobnomnom.
2013-12-16Avoid free()ing from an mmap on corrupted microdesc cacheNick Mathewson
The 'body' field of a microdesc_t holds a strdup()'d value if the microdesc's saved_location field is SAVED_IN_JOURNAL or SAVED_NOWHERE, and holds a pointer to the middle of an mmap if the microdesc is SAVED_IN_CACHE. But we weren't setting that field until a while after we parsed the microdescriptor, which left an interval where microdesc_free() would try to free() the middle of the mmap(). This patch also includes a regression test. This is a fix for #10409; bugfix on 0.2.2.6-alpha.
2013-11-15Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
Conflicts: src/or/or.h src/or/relay.c Conflicts were simple to resolve. More fixes were needed for compilation, including: reinstating the tv_to_msec function, and renaming *_conn_cells to *_chan_cells.
2013-11-10Fix two more DirServer mentions in logNick Mathewson
2013-11-10Fix a wide lineNick Mathewson
2013-11-10Change documentation DirServer->DirAuthorityNick Mathewson
We renamed the option, but we didn't actually fix it in the log messages or the docs. This patch does that. For #10124. Patch by sqrt2.
2013-11-07Improved circuit queue out-of-memory handlerNick Mathewson
Previously, when we ran low on memory, we'd close whichever circuits had the most queued cells. Now, we close those that have the *oldest* queued cells, on the theory that those are most responsible for us running low on memory, and that those are the least likely to actually drain on their own if we wait a little longer. Based on analysis from a forthcoming paper by Jansen, Tschorsch, Johnson, and Scheuermann. Fixes bug 9093.
2013-10-31Merge remote-tracking branch 'public/bug9645' into maint-0.2.4Nick Mathewson
2013-10-31Merge remote-tracking branch 'public/bug9731b' into maint-0.2.4Nick Mathewson
2013-10-31Merge remote-tracking branch 'public/bug9780_024_v2' into maint-0.2.4Nick Mathewson
2013-10-31Merge remote-tracking branch 'public/bug6055_v2_024' into maint-0.2.4Nick Mathewson
2013-10-12be willing to bootstrap from all three of our directory guardsRoger Dingledine
Also fix a bug where if the guard we choose first doesn't answer, we would try the second guard, but once we connected to the second guard we would abandon it and retry the first one, slowing down bootstrapping. The fix in both cases is to treat all our initially chosen guards as acceptable to use. Fixes bug 9946.
2013-10-11Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2013-10-11Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-10-11Update to the October 2013 GeoIP database.maint-0.2.2Karsten Loesing
2013-10-10Merge branch 'bug9644_024' into maint-0.2.4Nick Mathewson
2013-10-10Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2013-10-10Fix unit test for format_helper_exit_statusNick Mathewson
Fix format_helper_exit_status to allow full HEX_ERRNO_SIZE answers, *and* increase the buffer length again.
2013-10-10Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2013-10-10Merge remote-tracking branch 'public/bug9928' into maint-0.2.3Nick Mathewson
2013-10-09Partially revert "Clarify who learns about ContactInfo."Nick Mathewson
This reverts the torrc.sample.in changes from commit 66a04a6ac334775dc396025e0c15fa49eca138a7. We're going to not make this change in 0.2.4, since changing torrc.sample.in makes all the debian users do some pointless busywork. see tor-dev discusion of 9 Oct 2013.
2013-10-09Clarify who learns about ContactInfo.Karsten Loesing
Explicitly include bridges, and note that we archive and publish all descriptors. (We are not yet publishing ContactInfo lines contained in bridge descriptors, but maybe we'll want to do that soon, so let's err on the side of caution here.) Related to #9854.
2013-10-08When examining interfaces to find an address, discard non-up ones.Nick Mathewson
Patch from "hantwister" on trac. Fixes bug #9904; bugfix on 0.2.3.11-alpha.
2013-10-08Switch ECDHE group default logic for bridge/relay TLSNick Mathewson
According to the manpage, bridges use P256 for conformity and relays use P224 for speed. But skruffy points out that we've gotten it backwards in the code. In this patch, we make the default P256 for everybody. Fixes bug 9780; bugfix on 0.2.4.8-alpha.
2013-10-08Merge remote-tracking branch 'public/bug9927' into maint-0.2.4Nick Mathewson
2013-10-08Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2013-10-08Merge remote-tracking branch 'public/bug9596' into maint-0.2.4Nick Mathewson
2013-10-08Generate bootstrapping status messages for microdescs tooNick Mathewson
Fix for 9927.
2013-10-08Raise buffer size, fix checks for format_exit_helper_status.Nick Mathewson
This is probably not an exploitable bug, since you would need to have errno be a large negative value in the unix pluggable-transport launcher case. Still, best avoided. Fixes bug 9928; bugfix on 0.2.3.18-rc.
2013-10-02Fix a bug in our bug 9776 fix.Nick Mathewson
By calling circuit_n_chan_done() unconditionally on close, we were closing pending connections that might not have been pending quite for the connection we were closing. Fix for bug 9880. Thanks to skruffy for finding this and explaining it patiently until we understood.
2013-09-25Re-enable TLS 1.[12] when building with OpenSSL >= 1.0.1eNick Mathewson
To fix #6033, we disabled TLS 1.1 and 1.2. Eventually, OpenSSL fixed the bug behind #6033. I've considered alternate implementations that do more testing to see if there's secretly an OpenSSL 1.0.1c or something that secretly has a backport of the OpenSSL 1.0.1e fix, and decided against it on the grounds of complexity.
2013-09-24Always call circuit_n_chan_done(chan, 0) from channel_closed()Andrea Shepard
2013-09-23Fix a compilation warning with older gccNick Mathewson
2013-09-21Relays should send timestamp in NETINFO.Nick Mathewson
This avoids skew warnings as authorities test reachability. Fix 9798; fix not on any released Tor.
2013-09-21back out most of 1d0ba9aRoger Dingledine
this was causing directory authorities to send a time of 0 on all connections they generated themselves, which means everybody reachability test caused a time skew warning in the log for that relay. (i didn't just revert, because the changes file has been modified by other later commits.)
2013-09-20Round down hidden service descriptor publication times to nearest hourNick Mathewson
Implements part of proposal 222. We can do this safely, since REND_CACHE_MAX_SKEW is 24 hours.
2013-09-20Remove the timestamp from AUTHENTICATE cells; replace with random bytesNick Mathewson
This isn't actually much of an issue, since only relays send AUTHENTICATE cells, but while we're removing timestamps, we might as well do this too. Part of proposal 222. I didn't take the approach in the proposal of using a time-based HMAC, since that was a bad-prng-mitigation hack from SSL3, and in real life, if you don't have a good RNG, you're hopeless as a Tor server.
2013-09-20Get ready to stop sending timestamps in INTRODUCE cellsNick Mathewson
For now, round down to the nearest 10 minutes. Later, eliminate entirely by setting a consensus parameter. (This rounding is safe because, in 0.2.2, where the timestamp mattered, REND_REPLAY_TIME_INTERVAL was a nice generous 60 minutes.)
2013-09-20Stop sending the current time in client NETINFO handshakes.Nick Mathewson
Implements part of proposal 222.