aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-22Merge branch 'remove_old_consensus_methods_2018_squashed'Nick Mathewson
2018-04-22Add a changes file for removing old consensus methodsNick Mathewson
(Ticket 24378; proposal 290.)
2018-04-22Require MIN_METHOD_FOR_RECOMMENDED_PROTOCOLSNick Mathewson
(Remove support for running without this method.)
2018-04-22Remove MIN_METHOD_FOR_{SHARED_RANDOM,EXCLUDING_INVALID_NODES}Nick Mathewson
Also remove client detection for pre-EXCLUDING_INVALID_NODES consensuses, and a test for that detection.
2018-04-22Remove MIN_METHOD_FOR_ED25519_ID_VOTINGNick Mathewson
This also lets us remove the old rsa-based routerstatus collator.
2018-04-22Remove MIN_METHOD_FOR_{PACKAGE_LINES,GUARDFRACTION,ED25519_ID_IN_MD}Nick Mathewson
Also remove a rest for pre-19 microdesc versions.
2018-04-22Remove MIN_METHOD_FOR_ID_HASH_IN_MD and a test for running without it.Nick Mathewson
2018-04-22Remove MIN_METHOD_{FOR_P6_LINES,FOR_NTOR_KEY,TO_CLIP_UNMEASURED_BW}Nick Mathewson
Also remove a unit test for pre-MIN_METHOD_FOR_NTOR_KEY consensuses.
2018-04-22Remove MIN_METHOD_FOR and MIN_METHOD_FOR_A_LINESNick Mathewson
Also, in networkstatus.c, remove client code for recognizing pre- MIN_METHOD_FOR_A_LINES consensuses, and corresponding unit tests in test_dir.c.
2018-04-22Disable consensus methods before 25.Nick Mathewson
Consensus method 25 is the oldest one supported by any stable version of 0.2.9, which is our current most-recent LTS. Thus, by proposal 290, they should be removed. This commit does not actually remove the code to implement these methods: it only makes it so authorities will no longer support them. I'll remove the backend code for them in later commits.
2018-04-22Merge branch 'bug25691_033_again_squashed'Nick Mathewson
2018-04-22control EXTENDCIRCUIT: check node_has_preferred_descriptor().Nick Mathewson
Suggested by teor during code review for 25691.
2018-04-22Repair the legacy_hs/pick_tor2web_rendezvous_node unit testNick Mathewson
It tried to pick nodes for which only routerinfo_t items are set, but without setting UseMicroDescriptors to 0. This won't work any more, now that we're strict about using the right descriptor types due to 25691/25692/25213.
2018-04-22Rename node_has_descriptor() to node_has_any_descriptor()Nick Mathewson
Changing the name of this function should help keep us from misusing it when node_has_preferred_descriptor() would be more appropriate.
2018-04-22Add a changes file for 25691/25692Nick Mathewson
2018-04-22Use router_crn_flags in more places, to pass direct-connect flagNick Mathewson
In order to fix 25691 and 25692, we need to pass the "direct_conn" flag to more places -- particularly when choosing single-hop tunnels. The right way to do this involves having a couple more functions accept router_crn_flags_t, rather than a big list of boolean arguments. This commit also makes sure that choose_good_exit_server_general() honors the direct_conn flag, to fix 25691 and 25692.
2018-04-22Use node_has_preferred_descriptor() in another caseNick Mathewson
In router_add_running_nodes_to_smartlist(), we had an inline implementation of the logic from node_has_descriptor(), which should be changed to node_has_preferred_descriptor().
2018-04-22Check for "the right descriptor", not just "any descriptor".Nick Mathewson
This patch adds a new node_has_preferred_descriptor() function, and replaces most users of node_has_descriptor() with it. That's an important change, since as of d1874b433953f64 (our fix for #25213), we are willing to say that a node has _some_ descriptor, but not the _right_ descriptor for a particular use case. Part of a fix for 25691 and 25692.
2018-04-20Merge branch 'maint-0.3.3'Nick Mathewson
2018-04-20Fix documentation bug 25857: the universe is ::/0, not ::/128Nick Mathewson
Patch from CTassisF.
2018-04-17Fix a pointer size error in test_bridges.cNick Mathewson
sizeof(ret) is the size of the pointer, not the size of what it points to. Fortunately, we already have a function to compare tor_addr_port_t values for equality. Bugfix on c2c5b13e5d8a77e; bug not in any released Tor. Found by clang's scan-build.
2018-04-17Add an initialization case to node_get_prim_dirportNick Mathewson
Fixes a bug found by scan-build; bugfix on c2fa743806acc. Bug not in any released Tor.
2018-04-17Add a redundant memset to node_get_pref_ipv6_orport()Nick Mathewson
For whatever reason, clang's scan-build isn't sure that this function actually initializes its output.
2018-04-17Fix a copy-and-paste error from 6be994fa717cf73Nick Mathewson
Found by clang's scan-build too. Bug not in any released Tor.
2018-04-17Fixup timing wheel warnings related to recent WHEEL_BIT change.Nick Mathewson
2018-04-17token bucket: Add parens to rate_per_sec_to_rate_per_step()Nick Mathewson
Typecasts bind more tightly than division, so we need to do the division first.
2018-04-17Merge branch 'maint-0.3.2' into maint-0.3.3Nick Mathewson
2018-04-17Merge branch 'maint-0.3.3'Nick Mathewson
2018-04-17Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-04-17Merge branch 'maint-0.2.9' into maint-0.3.1Nick Mathewson
2018-04-17Merge branch 'maint-0.3.3'Nick Mathewson
2018-04-17heartbeat: Log the number of circuits killed because too many cellsDavid Goulet
We recently merged a circuit cell queue size safeguard. This commit adds the number of killed circuits that have reached the limit to the DoS heartbeat. It now looks like this: [notice] DoS mitigation since startup: 0 circuits killed with too many cells. 0 circuits rejected, 0 marked addresses. 0 connections closed. 0 single hop clients refused. Second thing that this patch does. It makes tor always print the DoS mitigation heartbeat line (for a relay) even though no DoS mitigation have been enabled. The reason is because we now kill circuits that have too many cells regardless on if it is enabled or not but also it will give the operator a chance to learn what is enabled with the heartbeat instead of suddenly appearing when it is enabled by let say the consensus. Fixes #25824 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-17Merge remote-tracking branch 'public/bug24688'Nick Mathewson
2018-04-16token: Fix uint32_t to uint64_t conversionDavid Goulet
Unfortunately, the units passed to monotime_coarse_stamp_units_to_approx_msec() was always 0 due to a type conversion. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-16Add support for the coveralls.io coverage tool in travis configNick Mathewson
Closes ticket 25818.
2018-04-16Merge branch 'maint-0.3.3'Nick Mathewson
2018-04-16Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-04-16Merge branch 'maint-0.2.9' into maint-0.3.1Nick Mathewson
2018-04-16Merge branch 'maint-0.3.2' into maint-0.3.3Nick Mathewson
2018-04-16Fix an LCOV exclusion pattern in address.cNick Mathewson
2018-04-16Merge branch 'maint-0.3.3'Nick Mathewson
2018-04-16Merge remote-tracking branch 'dgoulet/bug25226_033_02' into maint-0.3.3Nick Mathewson
2018-04-16relay: Implement a circuit cell queue maximum sizeDavid Goulet
This commit introduces the consensus parameter "circ_max_cell_queue_size" which controls the maximum number of cells a circuit queue should have. The default value is currently 50000 cells which is above what should be expected but keeps us a margin of error for padding cells. Related to this is #9072. Back in 0.2.4.14-alpha, we've removed that limit due to a Guard discovery attack. Ticket #25226 details why we are putting back the limit due to the memory pressure issue on relays. Fixes #25226 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-16Remove old tor-fw-helper README from EXTRA_DISTNick Mathewson
We removed this file, but didn't take it out of EXTRA_DIST -- thus breaking "make dist".
2018-04-15Merge branch 'maint-0.3.3'Nick Mathewson
"ours" to avoid version bump.
2018-04-15bump to 0.3.3.5-rc-devNick Mathewson
2018-04-15copy 0.3.3.5-rc changelog to master.Nick Mathewson
2018-04-14Remove changes files that will appear in 0.3.3.5-rc.Nick Mathewson
2018-04-14Merge branch 'maint-0.3.3'Nick Mathewson
2018-04-14bump to 0.3.3.5-rcNick Mathewson