summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2013-11-18Basic backtrace abilityNick Mathewson
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.
2013-07-19Initialize destroy_cell_queue.Nick Mathewson
Likely fix for the crash bug of #9296, which was introduced through a combination of #7912 and #8586. Bugfix not in any released Tor.
2013-07-18Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-07-18Merge remote-tracking branch 'public/bug9295_023' into maint-0.2.4Nick Mathewson
2013-07-18tmpNick Mathewson
2013-07-18Start of a unit test for options_validate.Nick Mathewson
I added this so I could write a unit test for ServerTransportOptions, but it incidentally exercises the succeed-on-defaults case of options_validate too.
2013-07-18Add a test for n_cells_in_circuit_queuesNick Mathewson
2013-07-18Unit tests for cell queues.Nick Mathewson
This removes some INLINE markers from functions that probably didn't need them.
2013-07-18Use TOR_SIMPLEQ for packed_cell_tNick Mathewson
2013-07-18Remove a redundant declarationNick Mathewson
2013-07-18Merge branch 'bug8978_rebase_2'Nick Mathewson
Conflicts: src/test/test_pt.c
2013-07-18Merge branch 'bug8929_rebase_2'Nick Mathewson
2013-07-18Improve test coverage of 8929 codeNick Mathewson
2013-07-18Insert the environment variable only if we have options to pass.George Kadianakis
2013-07-18Place the options in the environment after processing them properly.George Kadianakis
2013-07-18Rename tor_escape_str_for_socks_arg() to something more generic.George Kadianakis
Since we are going to be using that function to also escape parameters passed to transport proxies using environment variables.
2013-07-18Pass characters to be escaped to tor_escape_str_for_socks_arg().George Kadianakis
This is in preparation for using tor_escape_str_for_socks_arg() to escape server-side pluggable transport parameters.
2013-07-18Write function that parses ServerTransportOptions torrc lines.George Kadianakis
And use it to validate them.
2013-07-18Add a basic unit test for pt_get_extra_info_descriptor_string.Nick Mathewson
2013-07-18Write transport ARGS to extra-info descriptor.George Kadianakis
2013-07-18Extract ARGS from SMETHOD line and attach them to transport.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-16Eliminate an impossible case in replaycache_scrub_if_needed_internal()Andrea Shepard
2013-07-15Appease "make check-spaces"Nick Mathewson
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-15Fix two pre-coffee typosPeter Palfrader
2013-07-15Reject relative control socket paths and emit a warning.Peter Palfrader
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.
2013-07-14cosmetic cleanupsRoger Dingledine
2013-07-12Merge remote-tracking branch 'public/gsoc-ctoader-cap-phase1-squashed'Nick Mathewson
2013-07-11Remove a bogus semicolon spotted by Gisle VanemNick 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-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-08Add a comment and a check for why flag indices will be <= 63Nick Mathewson
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 '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
2013-06-18Fix some problems with the bug9002 fix.Nick Mathewson
Fixes bug 9090; bug not in any released Tor.
2013-06-18Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2013-06-18Tweak bug9063_redux patch: {n_p}_chan_cells, not {n,p}_conn_cellsNick 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