aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Make contrib/coverage smarter about check file-existence edge casesAndrea Shepard2013-07-16
|
* Add more replaycache.c unit tests, bringing coverage to 100% for that fileAndrea Shepard2013-07-16
|
* Eliminate an impossible case in replaycache_scrub_if_needed_internal()Andrea Shepard2013-07-16
|
* Add optional target directory parameter to coverage script and add ↵Andrea Shepard2013-07-15
| | | | reset-gcov target to Makefile.am
* Appease "make check-spaces"Nick Mathewson2013-07-15
|
* Use format_hex_number_sigsafe to format syscalls in sandbox.cNick Mathewson2013-07-15
| | | | | | | | | | This way, we don't have to use snprintf, which is not guaranteed to be signal-safe. (Technically speaking, strlen() and strlcpy() are not guaranteed to be signal-safe by the POSIX standard. But I claim that they are on every platform that supports libseccomp2, which is what matters here.)
* Lightly refactor and test format_hex_number_sigsafeNick Mathewson2013-07-15
| | | | | | | | Better tests for upper bounds, and for failing cases. Also, change the function's interface to take a buffer length rather than a maximum length, and then NUL-terminate: functions that don't NUL-terminate are trouble waiting to happen.
* HEX_ERRNO_SIZE is no longer the correct upper limit for ↵Nick Mathewson2013-07-15
| | | | format_hex_number_sigsafe
* Expose format_hex_number_..., and rename it to ..._sigsafe().Nick Mathewson2013-07-15
| | | | | There are some other places in the code that will want a signal-safe way to format numbers, so it shouldn't be static to util.c.
* Don't build format_helper_exit_status on win32Nick Mathewson2013-07-15
| | | | | | | | | The only thing that used format_helper_exit_status on win32 was the unit tests. This caused an error when we tried to leave a static format_helper_exit_status lying around in a production object file. The easiest solution is to admit that this way of dealing with process exit status is Unix-only.
* Merge remote-tracking branch 'linus/unused_param'Nick Mathewson2013-07-15
|\
| * Avoid compiler warning 'unused param'.Linus Nordberg2013-07-15
| | | | | | | | Fixes #9261.
* | Merge remote-tracking branch 'linus/binshify'Nick Mathewson2013-07-15
|\ \
| * | Traditional /bin/sh is unhappy about {a,b} globbing.Linus Nordberg2013-07-15
| |/
* | Merge remote-tracking branch 'public/fancy_test_tricks'Nick Mathewson2013-07-15
|\| | | | | | | | | | | | | | | Conflicts: src/common/include.am Conflict was from adding testsupport.h near where sandbox.h had already been added.
| * Add some basic unit tests for the circuit map data structure.Nick Mathewson2013-07-10
| | | | | | | | | | These show off the new mocking code by mocking the circuitmux code so that we can test the circuit map code in isolation.
| * Add rudimentary test mocking support.Nick Mathewson2013-07-10
| | | | | | | | | | | | 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.
| * Add a script to compare directories full of gcov outputNick Mathewson2013-07-10
| | | | | | | | | | | | | | We can't just use "diff", since we don't care about changes in line numbers, or changes in the exact number of times a line was called. We just care about changes that make lines covered or non-coverd. So pre-process the files before calling diff.
| * Coverage support: build with --enable-coverage to have tests run with gcovNick Mathewson2013-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Completely refactor how FILENAME_PRIVATE worksNick Mathewson2013-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Start work on fancy compiler tricks to expose extra stuff to our testsNick Mathewson2013-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix two pre-coffee typosPeter Palfrader2013-07-15
| |
* | And a changes file for #9258Peter Palfrader2013-07-15
| |
* | Reject relative control socket paths and emit a warning.Peter Palfrader2013-07-15
| | | | | | | | | | | | | | | | Previously we would accept relative paths, but only if they contained a slash somewhere (not at the end). Otherwise we would silently not work. Closes: #9258. Bugfix on 0.2.3.16-alpha.
* | Document get_parent_directory morePeter Palfrader2013-07-15
| |
* | cosmetic cleanupsRoger Dingledine2013-07-14
| |
* | put sandbox.h in the tarball, so the tarball buildsRoger Dingledine2013-07-13
| |
* | Merge remote-tracking branch 'public/gsoc-ctoader-cap-phase1-squashed'Nick Mathewson2013-07-12
|\ \
| * | Add a basic seccomp2 syscall filter on LinuxCristian Toader2013-07-11
| | | | | | | | | | | | | | | 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.
* | | Remove a bogus semicolon spotted by Gisle VanemNick Mathewson2013-07-11
| |/ |/|
* | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-07-08
|\ \
| * \ Merge branch 'bug9200' into maint-0.2.4Nick Mathewson2013-07-08
| |\ \
| | * | Add a comment and a check for why flag indices will be <= 63Nick Mathewson2013-07-08
| | | |
| | * | FIx undefined behavior in dirvote.cNick Mathewson2013-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge remote-tracking branch 'karsten/geoip-manual-update-jul2013'Nick Mathewson2013-07-08
|\ \ \ \
| * | | | Add 2 new manual A1 substitutions.Karsten Loesing2013-07-08
| | | | |
* | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-07-08
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / /
| * | | Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson2013-07-08
| |\ \ \ | | |/ / | |/| |
| | * | Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson2013-07-08
| | |\ \
| | | * | Update to the July 2013 GeoIP database.Karsten Loesing2013-07-08
| | | | |
* | | | | Merge remote-tracking branch 'linus/bug8530'Nick Mathewson2013-06-29
|\ \ \ \ \
| * | | | | Invoke binaries in $PATH rather than by absolute path.Linus Nordberg2013-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That security measure costs more than it gives. So, keep your PATH sane and we can run this script on more than one system.
| * | | | | Use CHUTNEY_PATH to find Chutney.Linus Nordberg2013-06-14
| | | | | |
| * | | | | Add make target test-network running traffic tests in a Chutney network.Linus Nordberg2013-06-13
| | | | | | | | | | | | | | | | | | | | | | | | This implements ticket #8530.
* | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-06-29
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge branch 'bug9147' into maint-0.2.4Nick Mathewson2013-06-29
| |\ \ \ \ \
| | * | | | | Give a warning when bufferevents are enabled.Nick Mathewson2013-06-29
| |/ / / / / | | | | | | | | | | | | | | | | | | Ticket 9147.
* | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-06-24
|\| | | | |
| * | | | | Fix bug 9122: don't allow newdefaultoptions to be NULLNick Mathewson2013-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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.
* | | | | | Fix #5584 - raise awareness of safer logging - warn about potentially unsafe ↵Marek Majkowski2013-06-24
| | | | | | | | | | | | | | | | | | | | | | | | config options