aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-12-18
|\ | | | | | | | | Conflicts: src/common/crypto.c
| * Never allow OpenSSL engines to replace the RAND_SSLeay methodNick Mathewson2013-12-18
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-12-17
|\|
| * Merge branch 'bug10423' into maint-0.2.4Nick Mathewson2013-12-17
| |\
| | * Avoid double-free on failure to dump_descriptor() a cached mdNick Mathewson2013-12-17
| | | | | | | | | | | | | | | | | | This is a fix for 10423, which was introducd in caa0d15c in 0.2.4.13-alpha. Spotted by bobnomnom.
* | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-12-17
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/microdesc.c Conflict because one change was on line adjacent to line where 01206893 got fixed.
| * | Merge remote-tracking branch 'public/bug10409_023' into maint-0.2.4Nick Mathewson2013-12-17
| |\ \ | | |/ | |/|
| | * Avoid free()ing from an mmap on corrupted microdesc cacheNick Mathewson2013-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix get_configured_bridge_by_addr_port_digest(.,.,NULL)rl19872013-12-09
| | | | | | | | | | | | | | | | | | The old behavior was that NULL matched only bridges without known identities; the correct behavior is that NULL should match all bridges (assuming that their addr:port matches).
* | | Merge remote-tracking branch 'public/bug10131_024'Nick Mathewson2013-12-09
|\ \ \
| * | | Remove a check in channeltls.c that could never fail.Nick Mathewson2013-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were checking whether a 8-bit length field had overflowed a 503-byte buffer. Unless somebody has found a way to store "504" in a single byte, it seems unlikely. Fix for 10313 and 9980. Based on a pach by Jared L Wong. First found by David Fifield with STACK.
* | | | Set CREATE_NO_WINDOW in tor_spawn_background.David Fifield2013-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This flag prevents the creation of a console window popup on Windows. We need it for pluggable transport executables--otherwise you get blank console windows when you launch the 3.x browser bundle with transports enabled. http://msdn.microsoft.com/en-us/library/ms684863.aspx#CREATE_NO_WINDOW The browser bundles that used Vidalia used to set this flag when launching tor itself; it was apparently inherited by the pluggable transports launched by tor. In the 3.x bundles, tor is launched by some JavaScript code, which doesn't have the ability to set CREATE_NO_WINDOW. tor itself is now being compiled with the -mwindows option, so that it is a GUI application, not a console application, and doesn't show a console window in any case. This workaround doesn't work for pluggable transports, because they need to be able to write control messages to stdout. https://trac.torproject.org/projects/tor/ticket/9444#comment:30
* | | | Restore prop198 behavior from 4677 patchNick Mathewson2013-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit from piet would have backed out some of proposal 198 and made servers built without the V2 handshake not use the unrestricted cipher list from prop198. Bug not in any released Tor.
* | | | Restore ability to build with V2_HANDSHAKE_SERVERNick Mathewson2013-11-25
| | | | | | | | | | | | | | | | Fixes bug 4677; bugfix on 0.2.3.2-alpha. Fix by "piet".
* | | | Avoid warning about impossible check for flags & 0Nick Mathewson2013-11-22
| | | | | | | | | | | | | | | | Fixes CID 743381
* | | | Only update view of micrdescriptor pos if pos is fetchable.Nick Mathewson2013-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's conceivable (but probably impossible given our code) that lseek could return -1 on an error; when that happens, we don't want off to become -1. Fixes CID 1035124.
* | | | Add checks to prevent memcmp(.,.,negative) in tests (CID 1064417)Nick Mathewson2013-11-22
| | | |
* | | | Fix another unit test memory leak. CID1087949,CID1087950.Nick Mathewson2013-11-22
| | | |
* | | | Fix a bunch of coverity-spotted unit test resource leaksNick Mathewson2013-11-22
| | | | | | | | | | | | | | | | CIDs: 1130994, 1130993, 1130992, 1130991
* | | | Remove needless fd var from test. CID 1130989.Nick Mathewson2013-11-22
| | | |
* | | | Handle unlikely negative time in tor_log_err_sigsafeNick Mathewson2013-11-22
| | | | | | | | | | | | | | | | Coverity wants this; CID 1130990.
* | | | Whitespace cleanupNick Mathewson2013-11-20
| | | |
* | | | Merge remote-tracking branch 'sysrqb/bug9859_5'Nick Mathewson2013-11-20
|\ \ \ \
| * | | | A Bridge Authority should compute flag thresholdsMatthew Finkel2013-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a bridge authority, before we create our networkstatus document, we should compute the thresholds needed for the various status flags assigned to each bridge based on the status of all other bridges. We then add these thresholds to the networkstatus document for easy access. Fixes for #1117 and #9859.
* | | | | Fix crypto/digests testNick Mathewson2013-11-18
| | | | |
* | | | | Merge branch 'finish_prop157'Nick Mathewson2013-11-18
|\ \ \ \ \
| * | | | | Tweak #10162 documentation a bitNick Mathewson2013-11-18
| | | | | |
| * | | | | Make the dir-key-crosscert element requiredNick Mathewson2013-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In proposal 157, we added a cross-certification element for directory authority certificates. We implemented it in 0.2.1.9-alpha. All Tor directory authorities now generate it. Here, as planned, make it required, so that we can finally close proposal 157. The biggest change in the code is in the unit test data, where some old hardcoded certs that we made long ago have become no longer valid and now need to be replaced.
* | | | | | Add a _GNU_SOURCE definition to backtrace.c to fix compilationNick Mathewson2013-11-18
| | | | | |
* | | | | | Whoops -- add missing defined().Nick Mathewson2013-11-18
| | | | | |
* | | | | | Make header includes match declarations in pc_from_ucontext.m4Nick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With any luck, this will clean up errors where we detect that REG_{EIP,RIP} is present in autoconf, but when we go to include it, it isn't there.
* | | | | | Fix compilation under openssl 0.9.8Nick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not nice to talk about NID_aes_{128,256}_{ctr,gcm} when they don't exist. Fix on 84458b79a78ea7e26820bf0; bug not in any released Tor.
* | | | | | Remove 'struct timeval now' that was shadowing 'struct timeval now'.Nick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a mistake in the merge commit 7a2b30fe16eacc040b3dd11. It would have made the CellStatistics code give completely bogus results. Bug not in any released Tor.
* | | | | | Fix whitespaceNick Mathewson2013-11-18
| | | | | |
* | | | | | Log more OpenSSL engine statuses at startup.Nick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | Fixes ticket 10043; patch from Joshua Datko.
* | | | | | Merge branch 'backtrace_squashed'Nick Mathewson2013-11-18
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/common/sandbox.c src/common/sandbox.h src/common/util.c src/or/main.c src/test/include.am src/test/test.c
| * | | | | | Refactor format_*_number_sigsafe to have a common implementationNick Mathewson2013-11-18
| | | | | | |
| * | | | | | Reseolve DOCDOC and XXXXs in backtrace.cNick Mathewson2013-11-18
| | | | | | |
| * | | | | | Tests for backtrace.cNick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These need to be a separate executable, since the point of backtrace.c is that it can crash and write stuff.
| * | | | | | Unit tests for new functions in log.cNick Mathewson2013-11-18
| | | | | | |
| * | | | | | Make backtrace handler handle signals correctly.Nick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This meant moving a fair bit of code around, and writing a signal cleanup function. Still pretty nice from what I can tell, though.
| * | | | | | Improve new assertion message loggingNick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't report that a failure happened in the assertion_failed function just because we logged it from there.
| * | | | | | Add a sighandler-safe logging mechanismNick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had accidentially grown two fake ones: one for backtrace.c, and one for sandbox.c. Let's do this properly instead. Now, when we configure logs, we keep track of fds that should get told about bad stuff happening from signal handlers. There's another entry point for these that avoids using non-signal-handler-safe functions.
| * | | | | | Basic backtrace abilityNick Mathewson2013-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On platforms with the backtrace/backtrace_symbols_fd interface, Tor can now dump stack traces on assertion failure. By default, I log them to DataDir/stack_dump and to stderr.
| * | | | | | Refactor the assertion-failure code into a functionNick Mathewson2013-07-19
| | | | | | |
| * | | | | | Add a signal-safe decimal formatting functionNick Mathewson2013-07-19
| | | | | | |
* | | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-11-15
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/relay.c Conflict changes were easy; compilation fixes required were using using TOR_SIMPLEQ_FIRST to get head of cell queue.
| * | | | | | Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson2013-11-15
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | / | | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | Improved circuit queue out-of-memory handlerNick Mathewson2013-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Fix test_cmdline_args to work with old opensslNick Mathewson2013-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If openssl was old, Tor would add a warning about its version in between saying "no torrc found, using reasonable defaults" and "configuration was valid".