aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Move Extended ORPort code to its own module.George Kadianakis2013-07-18
| | | | | | Move the code from the connection_or module to ext_orport. This commit only moves code: it shouldn't modify anything.
* Satisfy check-spaces.George Kadianakis2013-07-18
|
* Various Extended ORPort code improvements.George Kadianakis2013-07-18
| | | | | | | * Add documentation. * Free ext_or_auth_correct_client_hash. * Use VPORT(ExtORPort) instead of V(ExtORPOrt). See dfe03d36c8749eb07e9bb2ea47e88ff05e9e3127 for details.
* Move USERADDR handling to a dedicated function.George Kadianakis2013-07-18
|
* Implement Extended ORPort authentication.George Kadianakis2013-07-18
|
* Prepare codebase for the implementation of Extended ORPort auth.George Kadianakis2013-07-18
|
* Create the Extended ORPort authentication cookie file.George Kadianakis2013-07-18
|
* Document code and change the Extended ORPort command numbers.George Kadianakis2013-07-18
|
* Skeleton ExtORPort implementation. Needs testing, documentation.Nick Mathewson2013-07-18
| | | | Does not implement TransportControlPort yet.
* Start of a unit test for options_validate.Nick Mathewson2013-07-18
| | | | | | 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.
* Add a test for n_cells_in_circuit_queuesNick Mathewson2013-07-18
|
* Unit tests for cell queues.Nick Mathewson2013-07-18
| | | | | This removes some INLINE markers from functions that probably didn't need them.
* Use TOR_SIMPLEQ for packed_cell_tNick Mathewson2013-07-18
|
* Remove a redundant declarationNick Mathewson2013-07-18
|
* Fix a wide line in test_pt.cNick Mathewson2013-07-18
|
* Merge branch 'bug8978_rebase_2'Nick Mathewson2013-07-18
|\ | | | | | | | | Conflicts: src/test/test_pt.c
| * Add a basic unit test for pt_get_extra_info_descriptor_string.Nick Mathewson2013-07-18
| |
| * Add a unit test for smethod lines with arguments.Nick Mathewson2013-07-18
| |
| * Write transport ARGS to extra-info descriptor.George Kadianakis2013-07-18
| |
| * Extract ARGS from SMETHOD line and attach them to transport.George Kadianakis2013-07-18
| |
* | Merge branch 'bug8929_rebase_2'Nick Mathewson2013-07-18
|\ \ | |/ |/|
| * Improve test coverage of 8929 codeNick Mathewson2013-07-18
| |
| * Fix memory leaks in test_config_parse_transport_options_lineNick Mathewson2013-07-18
| |
| * Document what "escape" means in tor_escape_str_for_pt_argsNick Mathewson2013-07-18
| |
| * Insert the environment variable only if we have options to pass.George Kadianakis2013-07-18
| |
| * Place the options in the environment after processing them properly.George Kadianakis2013-07-18
| |
| * Rename tor_escape_str_for_socks_arg() to something more generic.George Kadianakis2013-07-18
| | | | | | | | | | Since we are going to be using that function to also escape parameters passed to transport proxies using environment variables.
| * Pass characters to be escaped to tor_escape_str_for_socks_arg().George Kadianakis2013-07-18
| | | | | | | | | | This is in preparation for using tor_escape_str_for_socks_arg() to escape server-side pluggable transport parameters.
| * Write unit tests for the ServerTransportOptions parsing function.George Kadianakis2013-07-18
| |
| * Write function that parses ServerTransportOptions torrc lines.George Kadianakis2013-07-18
| | | | | | | | And use it to validate them.
* | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2013-07-16
|\ \
| * | Re-do a cast in order to make old buggy freebsd gcc happyNick Mathewson2013-07-16
| | | | | | | | | | | | | | | | | | Fix for #9254. Bugfix on 0.2.4.14-alpha. This is not actually a bug in the Tor code.
* | | Merge remote-tracking branch 'asn/bug9265'Nick Mathewson2013-07-16
|\ \ \
| * | | Test deeper in test_pt_parsing().George Kadianakis2013-07-16
| | | | | | | | | | | | | | | | | | | | We used to test parse_{c,s}method_line() without actually testing that the resulting transport_t was well formed.
* | | | Remove an unused variable in test_replaycache_scrubNick Mathewson2013-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
| | | |
* | | | 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 '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.
| * | | 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.