Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-07-14 | node: Standardize interface of format_node_description() | David Goulet | |
Pass the IPv4 before the IPv6 like all our other interfaces. Changes unreleased code related to #40043. Closes #40045 Signed-off-by: David Goulet <dgoulet@torproject.org> | |||
2020-07-14 | addr: Use tor_addr_t instead of uint32_t for IPv4 | David Goulet | |
This changes a LOT of code but in the end, behavior is the same. Unfortunately, many functions had to be changed to accomodate but in majority of cases, to become simpler. Functions are also removed specifically those that were there to convert an IPv4 as a host format to a tor_addr_t. Those are not needed anymore. The IPv4 address field has been standardized to "ipv4_addr", the ORPort to "ipv4_orport" (currently IPv6 uses ipv6_orport) and DirPort to "ipv4_dirport". This is related to Sponsor 55 work that adds IPv6 support for relays and this work is needed in order to have a common interface between IPv4 and IPv6. Closes #40043. Signed-off-by: David Goulet <dgoulet@torproject.org> | |||
2020-07-02 | Allow multiple addresses in extend_info_t. | Nick Mathewson | |
In practice, there will be at most one ipv4 address and ipv6 address for now, but this code is designed to not care which address is which until forced to do so. This patch does not yet actually create extend_info_t objects with multiple addresses. Closes #34069. | |||
2020-01-20 | test/nodelist: Remove ROUTERSTATUS_FORMAT_NO_CONSENSUS_METHOD | teor | |
When we removed obsolete consensus methods in 32695, we also removed ROUTERSTATUS_FORMAT_NO_CONSENSUS_METHOD, so we need to remove it from the routerstatus format tests. Part of 20218. | |||
2020-01-20 | Rename test to match new identifier. | Nick Mathewson | |
2020-01-20 | Rename routerstatus_has_changed to routerstatus_has_visibly_changed | Nick Mathewson | |
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ routerstatus_has_changed routerstatus_has_visibly_changed It was generated with --no-verify, since it introduces a wide line. I'll fix it in a subsequent commit. | |||
2020-01-20 | Update routerstatus_has_changed tests. | Nick Mathewson | |
Now they also check whether output of routerstatus_format_entry() has changed. | |||
2020-01-20 | Add unit test for routerstatus_has_changed() | Nick Mathewson | |
2020-01-08 | It's 2020. Update the copyright dates with "make update-copyright" | Nick Mathewson | |
2019-08-23 | test/nodelist: Add unit tests for describe.c | teor | |
Part of 21003. | |||
2019-08-19 | test/nodelist: Fix a typo | teor | |
2019-01-16 | Bump copyright date to 2019 | Nick Mathewson | |
2018-11-24 | Add a function to canonicalize nodefamilies per prop298 | Nick Mathewson | |
This is the same as the regular canonical nodefamily format, except that unrecognized elements are preserved. | |||
2018-11-24 | Revise nodefamily.c to match proposal 298 | Nick Mathewson | |
Prop298 says that family entries should be formatted with $hexids in uppercase, nicknames in lower case, $hexid~names truncated, and everything sorted lexically. These changes implement that ordering for nodefamily.c. We don't _strictly speaking_ need to nodefamily.c formatting use this for prop298 microdesc generation, but it seems silly to have two separate canonicalization algorithms. | |||
2018-11-19 | Test new functions in nodelist.c | Nick Mathewson | |
2018-11-19 | Aim for 100% test coverage on nodefamily.c | Nick Mathewson | |
2018-11-19 | Backend for compact node-family representation. | Nick Mathewson | |
This representation is meant to save memory in microdescriptors -- we can't use it in routerinfo_t yet, since those families need to be encoded losslessly for directory voting to work. This representation saves memory in three ways: 1. It uses only one allocation per family. (The old way used a smartlist (2 allocs) plus one strdup per entry.) 2. It stores identity digests in binary, not hex. 3. It keeps families in a canonical format, memoizes, and reference-counts them. Part of #27359. | |||
2018-10-17 | Merge branch 'bug27800-034' into bug27800-035 | Taylor Yu | |
2018-10-17 | Merge branch 'bug27800-033' into tor-034 | Taylor Yu | |
2018-10-17 | Log more info for duplicate ed25519 IDs | Taylor Yu | |
Occasionally, key pinning doesn't catch a relay that shares an ed25519 ID with another relay. Log the identity fingerprints and the shared ed25519 ID when this happens, instead of making a BUG() warning. Fixes bug 27800; bugfix on 0.3.2.1-alpha. | |||
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-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 | Extract routerinfo_t into its own header. | Nick Mathewson | |
I was expecting this to be much worse. | |||
2018-06-15 | Extract microdesc_t into its own header. | Nick Mathewson | |
2018-06-15 | Extract routerstatus_t into its own header. | Nick Mathewson | |
2018-06-15 | Extract networkstatus_t and ..sr_info_t into their own headers | Nick Mathewson | |
2018-06-15 | Extract node_t into 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-09-11 | test: Fix memleaks | David Goulet | |
Signed-off-by: David Goulet <dgoulet@torproject.org> | |||
2017-08-22 | Unit tests for maintaining ed25519->node map. | Nick Mathewson | |
2017-03-15 | Run the copyright update script. | Nick Mathewson | |
2016-02-27 | Update the copyright year. | Nick Mathewson | |
2015-12-18 | Fix nodelist/node_is_dir test wrt 12538. | Nick Mathewson | |
2015-12-18 | Add unit test for router_pick_directory_server_impl | Matthew Finkel | |
2015-12-18 | Client should check if dir server has open dir port or handles tunnelled ↵ | Matthew Finkel | |
requests Final piece of prop 237. Closes 12538. | |||
2015-01-23 | Merge remote-tracking branch 'public/ticket9969' | Nick Mathewson | |
Conflicts: src/or/directory.c src/or/routerlist.c src/or/routerlist.h src/test/include.am src/test/test.c | |||
2015-01-02 | Bump copyright dates to 2015, in case someday this matters. | 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-23 | Unit tests for router download functions. | Arlo Breault | |
Also, sort test suites alphabetically. | |||
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-02-07 | Use the right functions; strncpy is usually not the answer | Nick Mathewson | |
2014-02-06 | add test case for node_get_verbose_nickname | Qingping Hou | |
2014-02-06 | add test for node_get_verbose_nickname_by_id | Qingping Hou | |