Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-12 | Update copyrights to 2021, using "make update-copyright" | Nick Mathewson | |
2021-01-26 | Fix a subtle memory leak in test_exorport.c | Nick Mathewson | |
This is a _subtle_ bug introduced by d1494d14, which resolved connections that was allocated in the extorport/handshake test. So how did the connection get freed? Our test was set up so that every extorport connection would get the same ext_or_id. Two connections couldn't have the same ext_or_id, and if they did, one would get freed. This meant that the _next_ connection to be constructed in the test would cause the previous connection to become closeable, even if it hadn't been closeable before. But when we applied d149d14, we stopped making it so our code enforced this uniqueness, and thereby make it so we _weren't_ freeing this connection in the tests. Closes #40260; bug not in any released version of Tor. | |||
2020-11-12 | Remove orconn_ext_or_id_map and related functions | Neel Chauhan | |
2020-01-08 | It's 2020. Update the copyright dates with "make update-copyright" | Nick Mathewson | |
2019-06-11 | Rework orconn tracking to use pubsub | Taylor Yu | |
Part of ticket 29976. | |||
2019-04-30 | Replace all remaining tor_mem_is_zero() with fast_mem_is_zero() | Nick Mathewson | |
2019-04-30 | Use prefilled PRNG replacement in test_extorport | Nick Mathewson | |
This is the last remaining place where our tests had mocked crypto_rand. | |||
2019-03-25 | Split all controller events code into a new control_events.c | Nick Mathewson | |
Also, split the formatting code shared by control.c and control_events.c into controller_fmt.c. | |||
2019-01-16 | Bump copyright date to 2019 | Nick Mathewson | |
2018-11-14 | Move buffers.c out of lib/containers to resolve a circularity. | Nick Mathewson | |
2018-09-21 | Merge remote-tracking branch 'ahf-github/asn/bugs4700_2' | Nick Mathewson | |
2018-09-21 | Split main.c into main.c and mainloop.c | Nick Mathewson | |
The main.c code is responsible for initialization and shutdown; the mainloop.c code is responsible for running the main loop of Tor. Splitting the "generic event loop" part of mainloop.c from the event-loop-specific part is not done as part of this patch. | |||
2018-09-15 | Add unittest for HiddenServiceExportCircuitID. | George Kadianakis | |
Had to move a function to test helpers. | |||
2018-07-05 | Fix every include path changed in the previous commit (automated) | Nick Mathewson | |
I am very glad to have written this script. | |||
2018-07-01 | Remove system headers from or.h | Nick Mathewson | |
2018-06-28 | Fix paths for buffers.h; automated. | Nick Mathewson | |
2018-06-21 | Rectify include paths (automated) | Nick Mathewson | |
2018-06-20 | Run rectify_include_paths.py | Nick Mathewson | |
2018-06-20 | Update copyrights to 2018. | Nick Mathewson | |
2018-06-15 | Move or_connection_t to its own header. | Nick Mathewson | |
2018-04-06 | crypto: Refactor (P)RNG functionality into new crypto_rand module. | Isis Lovecruft | |
* ADD new /src/common/crypto_rand.[ch] module. * ADD new /src/common/crypto_util.[ch] module (contains the memwipe() function, since all crypto_* modules need this). * FIXES part of #24658: https://bugs.torproject.org/24658 | |||
2017-12-08 | Rename connection_free_ to connection_free_minimal. | Nick Mathewson | |
2017-09-14 | Refactor control_event_bootstrap_problem | Taylor Yu | |
Change the contract of control_event_bootstrap_problem() to be more general and to take a connection_t. New function control_event_bootstrap_prob_or() has the specific or_connection_t funcionality previously used. | |||
2017-09-05 | Refactor buffer APIs to put a buf_t first. | Nick Mathewson | |
By convention, a function that frobs a foo_t should be called foo_frob, and it should have a foo_t * as its first argument. But for many of the buf_t functions, the buf_t was the final argument, which is silly. | |||
2017-09-05 | Repair buffer API so everything starts with buf_. | Nick Mathewson | |
Our convention is that functions which manipulate a type T should be named T_foo. But the buffer functions were super old, and followed all kinds of conventions. Now they're uniform. Here's the perl I used to do this: \#!/usr/bin/perl -w -i -p s/read_to_buf\(/buf_read_from_socket\(/; s/flush_buf\(/buf_flush_to_socket\(/; s/read_to_buf_tls\(/buf_read_from_tls\(/; s/flush_buf_tls\(/buf_flush_to_tls\(/; s/write_to_buf\(/buf_add\(/; s/write_to_buf_compress\(/buf_add_compress\(/; s/move_buf_to_buf\(/buf_move_to_buf\(/; s/peek_from_buf\(/buf_peek\(/; s/fetch_from_buf\(/buf_get_bytes\(/; s/fetch_from_buf_line\(/buf_get_line\(/; s/fetch_from_buf_line\(/buf_get_line\(/; s/buf_remove_from_front\(/buf_drain\(/; s/peek_buf_startswith\(/buf_peek_startswith\(/; s/assert_buf_ok\(/buf_assert_ok\(/; | |||
2017-04-27 | Clean up mentions of 'zlib' and rename the mentions to 'compressed'. | Alexander Færøy | |
This patch cleans up in various places where 'zlib' is mentioned. | |||
2017-03-15 | Run the copyright update script. | Nick Mathewson | |
2016-02-27 | Update the copyright year. | Nick Mathewson | |
2015-11-25 | Now that crypto_rand() cannot fail, it should return void. | Nick Mathewson | |
2015-01-02 | Bump copyright dates to 2015, in case someday this matters. | Nick Mathewson | |
2014-11-12 | Fix wide lines (from 13172) | Nick Mathewson | |
2014-11-12 | Replace operators used as macro arguments with OP_XX macros | Nick Mathewson | |
Part of fix for 13172 | |||
2014-10-28 | Add another year to our copyright dates. | Nick Mathewson | |
Because in 95 years, we or our successors will surely care about enforcing the BSD license terms on this code. Right? | |||
2014-09-15 | Replace remaining uses of deprecated test_mem* functions | Nick Mathewson | |
2014-09-15 | Use coccinelle scripts to clean up our unit tests | Nick Mathewson | |
This should get rid of most of the users of the old test_* functions. Some are in macros and will need manual cleanup, though. This patch is for 13119, and was automatically generated with these scripts. The perl scripts are there because coccinelle hates operators as macro arguments. ------------------------------ s/==,/_X_EQ_,/g; s/!=,/_X_NE_,/g; s/<,/_X_LT_,/g; s/>,/_X_GT_,/g; s/>=,/_X_GEQ_,/g; s/<=,/_X_LEQ_,/g; ------------------------------ @@ expression a; identifier func; @@ func (...) { <... -test_fail_msg +TT_DIE ( +( a +) ) ...> } @@ identifier func; @@ func (...) { <... -test_fail() +TT_DIE(("Assertion failed.")) ...> } @@ expression a; identifier func; @@ func (...) { <... -test_assert +tt_assert (a) ...> } @@ expression a, b; identifier func; @@ func (...) { <... -test_eq +tt_int_op (a, +_X_EQ_, b) ...> } @@ expression a, b; identifier func; @@ func (...) { <... -test_neq +tt_int_op (a, +_X_NEQ_, b) ...> } @@ expression a, b; identifier func; @@ func (...) { <... -test_streq +tt_str_op (a, +_X_EQ_, b) ...> } @@ expression a, b; identifier func; @@ func (...) { <... -test_strneq +tt_str_op (a, +_X_NEQ_, b) ...> } @@ expression a, b; identifier func; @@ func (...) { <... -test_eq_ptr +tt_ptr_op (a, +_X_EQ_, b) ...> } @@ expression a, b; identifier func; @@ func() { <... -test_neq_ptr +tt_ptr_op (a, +_X_NEQ_, b) ...> } @@ expression a, b, len; identifier func; @@ func (...) { <... -test_memeq +tt_mem_op (a, +_X_EQ_, b, len) ...> } @@ expression a, b, len; identifier func; @@ func (...) { <... -test_memneq +tt_mem_op (a, +_X_NEQ_, b, len) ...> } ------------------------------ @@ char a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a == b +a, _X_EQ_, b ) ...> } @@ int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a == b +a, _X_EQ_, b ) ...> } @@ long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a == b +a, _X_EQ_, b ) ...> } @@ unsigned int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a == b +a, _X_EQ_, b ) ...> } @@ unsigned long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a == b +a, _X_EQ_, b ) ...> } @@ char a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a != b +a, _X_NEQ_, b ) ...> } @@ int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a != b +a, _X_NEQ_, b ) ...> } @@ long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a != b +a, _X_NEQ_, b ) ...> } @@ unsigned int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a != b +a, _X_NEQ_, b ) ...> } @@ unsigned long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a != b +a, _X_NEQ_, b ) ...> } @@ char a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a >= b +a, _X_GEQ_, b ) ...> } @@ int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a >= b +a, _X_GEQ_, b ) ...> } @@ long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a >= b +a, _X_GEQ_, b ) ...> } @@ unsigned int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a >= b +a, _X_GEQ_, b ) ...> } @@ unsigned long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a >= b +a, _X_GEQ_, b ) ...> } @@ char a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a <= b +a, _X_LEQ_, b ) ...> } @@ int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a <= b +a, _X_LEQ_, b ) ...> } @@ long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a <= b +a, _X_LEQ_, b ) ...> } @@ unsigned int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a <= b +a, _X_LEQ_, b ) ...> } @@ unsigned long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a <= b +a, _X_LEQ_, b ) ...> } @@ char a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a > b +a, _X_GT_, b ) ...> } @@ int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a > b +a, _X_GT_, b ) ...> } @@ long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a > b +a, _X_GT_, b ) ...> } @@ unsigned int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a > b +a, _X_GT_, b ) ...> } @@ unsigned long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a > b +a, _X_GT_, b ) ...> } @@ char a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a < b +a, _X_LT_, b ) ...> } @@ int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a < b +a, _X_LT_, b ) ...> } @@ long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_int_op ( -a < b +a, _X_LT_, b ) ...> } @@ unsigned int a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a < b +a, _X_LT_, b ) ...> } @@ unsigned long a, b; identifier func; @@ func (...) { <... -tt_assert +tt_uint_op ( -a < b +a, _X_LT_, b ) ...> } ------------------------------ s/_X_NEQ_/!=/g; s/_X_NE_/!=/g; s/_X_EQ_/==/g; s/_X_GT_/>/g; s/_X_LT_/</g; s/_X_GEQ_/>=/g; s/_X_LEQ_/<=/g; s/test_mem_op\(/tt_mem_op\(/g; | |||
2014-05-08 | Fix numerous 64->32 errors in the unit tests | Nick Mathewson | |
Before the 11825 fix, these were all silently ignored. | |||
2014-05-08 | Fix numerous type errors in the unit tests | Nick Mathewson | |
Remove tinytest casts that were suppressing them. Fix for #11825. | |||
2014-04-29 | Fix leaks in tests related to setting options->DataDirectory | Nick Mathewson | |
We pre-populate that value in main(), and we weren't freeing it before overriding it. | |||
2014-03-27 | Report only the first bootstrap failure from an orconn | Nick Mathewson | |
Otherwise, when we report "identity mismatch", we then later report DONE when the connection gets closed. Fixes bug 10431; bugfix on 0.2.1.1-alpha. | |||
2014-03-10 | Throw control port warning if we failed to connect to all our bridges. | George Kadianakis | |
2013-08-15 | Test ExtORPort cookie initialization when file writing is broken. | George Kadianakis | |
2013-08-15 | Test some fail conditions of ext_orport.c USERADDR/TRANSPORT parsing. | George Kadianakis | |
2013-08-15 | Fix some #5040 bugs found by Nick's tests. | George Kadianakis | |
- Set conn->address when we receive a USERADDR command. - Set conn->state to a sane value when we transition from Extended ORPort to ORPort. | |||
2013-08-15 | Implement and use a generic auth. cookie initialization function. | George Kadianakis | |
Use the generic function for both the ControlPort cookie and the ExtORPort cookie. Also, place the global cookie variables in the heap so that we can pass them around more easily as pointers. Also also, fix the unit tests that broke by this change. Conflicts: src/or/config.h src/or/ext_orport.c | |||
2013-08-15 | White-box tests for the succeeding case of ext_or_port handshake. | Nick Mathewson | |
(Okay, white-box plus mocking enough other functions so they don't crash.) | |||
2013-08-15 | Test for initializing ext_or_auth_cookie file | Nick Mathewson | |
2013-08-15 | Unit test for the ext_orport safe_cookie handshake | Nick Mathewson | |
2013-08-15 | More unit tests for handle_client_auth_nonce | Nick Mathewson | |
Incidentally, this business here where I make crypto_rand mockable: this is exactly the kind of thing that would make me never want to include test-support stuff in production builds. | |||
2013-08-15 | Unit test for basic ext_or_cookie authentication backend | Nick Mathewson | |
2013-08-15 | Tests for connection_write_ext_or_command. | Nick Mathewson | |