aboutsummaryrefslogtreecommitdiff
path: root/changes
AgeCommit message (Collapse)Author
2013-07-18Merge branch 'bug8929_rebase_2'Nick Mathewson
2013-07-18Add changes file and enrich the manual page.George Kadianakis
2013-07-16Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-07-16Re-do a cast in order to make old buggy freebsd gcc happyNick Mathewson
Fix for #9254. Bugfix on 0.2.4.14-alpha. This is not actually a bug in the Tor code.
2013-07-15Add optional target directory parameter to coverage script and add ↵Andrea Shepard
reset-gcov target to Makefile.am
2013-07-15Merge remote-tracking branch 'public/fancy_test_tricks'Nick Mathewson
Conflicts: src/common/include.am Conflict was from adding testsupport.h near where sandbox.h had already been added.
2013-07-15And a changes file for #9258Peter Palfrader
2013-07-12Merge remote-tracking branch 'public/gsoc-ctoader-cap-phase1-squashed'Nick Mathewson
2013-07-11Add a basic seccomp2 syscall filter on LinuxCristian Toader
It's controlled by the new Sandbox argument. Right now, it's rather coarse-grained, it's Linux-only, and it may break some features.
2013-07-10Add some basic unit tests for the circuit map data structure.Nick Mathewson
These show off the new mocking code by mocking the circuitmux code so that we can test the circuit map code in isolation.
2013-07-10Add rudimentary test mocking support.Nick Mathewson
This is not the most beautiful possible implementation (it requires decorating mockable functions with ugly macros), but it actually works, and is portable across multiple compilers and architectures.
2013-07-10Coverage support: build with --enable-coverage to have tests run with gcovNick Mathewson
If you pass the --enable-coverage flag on the command line, we build our testing binaries with appropriate options eo enable coverage testing. We also build a "tor-cov" binary that has coverage enabled, for integration tests. On recent OSX versions, test coverage only works with clang, not gcc. So we warn about that. Also add a contrib/coverage script to actually run gcov with the appropriate options to generate useful .gcov files. (Thanks to automake, the .o files will not have the names that gcov expects to find.) Also, remove generated gcda and gcno files on clean.
2013-07-10Completely refactor how FILENAME_PRIVATE worksNick Mathewson
We previously used FILENAME_PRIVATE identifiers mostly for identifiers exposed only to the unit tests... but also for identifiers exposed to the benchmarker, and sometimes for identifiers exposed to a similar module, and occasionally for no really good reason at all. Now, we use FILENAME_PRIVATE identifiers for identifiers shared by Tor and the unit tests. They should be defined static when we aren't building the unit test, and globally visible otherwise. (The STATIC macro will keep us honest here.) For identifiers used only by the unit tests and never by Tor at all, on the other hand, we wrap them in #ifdef TOR_UNIT_TESTS. This is not the motivating use case for the split test/non-test build system; it's just a test example to see how it works, and to take a chance to clean up the code a little.
2013-07-10Start work on fancy compiler tricks to expose extra stuff to our testsNick Mathewson
This is mainly a matter of automake trickery: we build each static library in two versions now: one with the TOR_UNIT_TESTS macro defined, and one without. When TOR_UNIT_TESTS is defined, we can enable mocking and expose more functions. When it's not defined, we can lock the binary down more. The alternatives would be to have alternate build modes: a "testing configuration" for building the libraries with test support, and a "production configuration" for building them without. I don't favor that approach, since I think it would mean more people runnning binaries build for testing, or more people not running unit tests.
2013-07-08Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-07-08Merge branch 'bug9200' into maint-0.2.4Nick Mathewson
2013-07-08Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-07-08Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
2013-07-08Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-07-08Update to the July 2013 GeoIP database.Karsten Loesing
2013-07-03FIx undefined behavior in dirvote.cNick Mathewson
Fix a bug in the voting algorithm that could yield incorrect results when a non-naming authority declared too many flags. Fixes bug 9200; bugfix on 0.2.0.3-alpha. Found by coverity scan.
2013-06-29Merge remote-tracking branch 'linus/bug8530'Nick Mathewson
2013-06-29Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-29Give a warning when bufferevents are enabled.Nick Mathewson
Ticket 9147.
2013-06-24Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-24Fix bug 9122: don't allow newdefaultoptions to be NULLNick Mathewson
(This caused a crash that was reported as bug 9122, but the underlying behavior has been wrong for a while.) Fix on 0.2.3.9-alpha.
2013-06-24Fix #5584 - raise awareness of safer logging - warn about potentially unsafe ↵Marek Majkowski
config options
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson
Conflicts: src/or/config.c src/or/relay.c
2013-06-18Merge branch 'bug9063_redux_023_squashed' into maint-0.2.3Nick Mathewson
2013-06-18Implement a real OOM-killer for too-long circuit queues.Nick Mathewson
This implements "algorithm 1" from my discussion of bug #9072: on OOM, find the circuits with the longest queues, and kill them. It's also a fix for #9063 -- without the side-effects of bug #9072. The memory bounds aren't perfect here, and you need to be sure to allow some slack for the rest of Tor's usage. This isn't a perfect fix; the rest of the solutions I describe on codeable.
2013-06-16Limit hidden service descriptors to at most 10 guard nodes.Nick Mathewson
Fixes bug 9002; bugfix on 0.1.1.11-alpha (which introduced guard nodes), or on 0.0.6pre1 (which introduced hidden services).
2013-06-15Merge branch 'bug9072-024' into bug9072-025Andrea Shepard
2013-06-15Merge branch 'bug9072-023' into bug9072-024Andrea Shepard
2013-06-15Disable middle relay queue overfill detection code due to possible guard ↵Andrea Shepard
discovery attack
2013-06-14Merge branch 'circuit_queue_cap-0.2.5-squashed'Nick Mathewson
Conflicts: src/or/relay.c
2013-06-13Don't queue more cells as a middle relay than the spec allows to be in flightAndrea Shepard
2013-06-13Don't queue more cells as a middle relay than the spec allows to be in flightAndrea Shepard
2013-06-13Don't queue more cells as a middle relay than the spec allows to be in flightAndrea Shepard
2013-06-13Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-13Merge remote-tracking branch 'linus/bug8532'Nick Mathewson
2013-06-13If we write the annotation but not the microdescriptor, rewind.Nick Mathewson
This fixes bug 9047 (and some parts of 9031, 8922, 8883 that weren't fixed in 8822). Bugfix on 0.2.2.6-alpha.
2013-06-13Add make target test-network running traffic tests in a Chutney network.Linus Nordberg
This implements ticket #8530.
2013-06-13Merge remote-tracking branch 'public/bug7912_squashed'Nick Mathewson
2013-06-13Add a changes file for bug 7912Nick Mathewson
I'm calling it a bugfix on 0.2.0.1-alpha, since that's where cell queues were first introduced.
2013-06-13Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-13Merge remote-tracking branch 'public/bug8822' into maint-0.2.4Nick Mathewson
2013-06-12Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-12Remove various outdated documents.Nick Mathewson
doc/TODO and doc/spec/README were placeholders to tell people where to look for the real TODO and README stuff -- we replaced them years ago, though. authority-policy, v3-authority-howto, and torel-design.txt belong in torspec. I'm putting them in attic there since I think they may be in large part obsolete, but someone can rescue them if they're not. translations.txt is outdated, and refers to lots of programs other than Tor. We have much better translation resources on the website now. tor-win32-mingw-creation.txt is pending review of a revised version for 0.2.5 (see ticket #4520), but there's no reason to ship this one while we're waiting for an accurate version. the tor-rpm-creation.txt isn't obsolete AFAIK, but it belongs in doc/contrib if anywhere. Resolves bug #8965.
2013-06-12Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson