summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-16Introduce circpad free_all() function.George Kadianakis
2019-05-16Generate non-padding circpad events for PADDING_NEGOTIATE(D).George Kadianakis
As part of our machines, we need to know when a PADDING_NEGOATIATE(D) cell gets sent out, so we add an event for this.
2019-05-16Make register_padding_machine part of the public API.George Kadianakis
We are gonna use this function to register our new machine.
2019-05-16Behave correctly when state->max_length is zero.George Kadianakis
2019-05-15fix typos, whitespace, commentsRoger Dingledine
2019-05-15Merge branch 'tor-github/pr/1002'George Kadianakis
2019-05-15Merge branch 'tor-github/pr/1021'David Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-15Merge branch 'bug28780-squashed3-rebased' into bug28780_rebaseGeorge Kadianakis
2019-05-15The practracker beatings will continue until the files get smaller.Mike Perry
2019-05-15Add control port circuit ID to all pathbias bug messages.Mike Perry
To ease debugging of miscount issues, attach vanguards with --loglevel DEBUG and obtain control port logs (or use any other control port CIRC and CIRC_MINOR event logging mechanism).
2019-05-15Pathbias should continue to ignore previously ignored circs.Mike Perry
If circuit padding wants to keep a circuit open and pathbias used to ignore it, pathbias should continue to ignore it. This may catch other purpose-change related miscounts (such as timeout measurement, cannibalization, onion service circuit transitions, and vanguards).
2019-05-15Bug 28780: Changes fileMike Perry
2019-05-15Bug 28780: Add testsMike Perry
Also test circpad expiry safeguard.
2019-05-15Bug 28780: Make use of purpose to keep padding circuits open.Mike Perry
When a circuit is marked for close, check to see if any of our padding machines want to take ownership of it and continue padding until the machine hits the END state. For safety, we also ensure that machines that do not terminate are still closed as follows: Because padding machine timers are UINT32_MAX in size, if some sort of network event doesn't happen on a padding-only circuit within that time, we can conclude it is deadlocked and allow circuit_expire_old_circuits_clientside() to close it. If too much network activity happens, then per-machine padding limits can be used to cease padding, which will cause network cell events to cease, on the circuit, which will cause circpad to abandon the circuit as per the above time limit.
2019-05-15Bug 28780: Add purpose for keeping padding circuits openMike Perry
2019-05-15Merge branch 'bug29085_rebase'George Kadianakis
2019-05-15Practracker beatings are even more fun when they get caused mid-PR due to a ↵Mike Perry
github auto-rebase of a PR Because github PRs choose the most recent origin/master at the time of the PR (and for any fixups pushed to a PR later to send to CI), there are tons of conflicts and unexpected practracker issues. This means CI can suddenly fail after fixups to a branch that pass locally. Then CI fails and we have to close and re-open the PR.
2019-05-15Check the token supply when we received a padding event, too.Mike Perry
We need to check here because otherwise we can try to schedule padding with no tokens left upon the receipt of a padding event when our bins just became empty.
2019-05-15Fix two typo bugs found by new state length test.Mike Perry
2019-05-15Add test to explicitly check state lengths and token counts.Mike Perry
Our other tests tested state lengths against padding packets, and token counts against non-padding packets. This test checks state lengths against non-padding packets (and also padding packets too), and checks token counts against padding packets (and also non-padding packets too). The next three commits are needed to make this test pass (it found 3 bugs). Yay?
2019-05-15Eliminate unneeded casts to circuit_t in circpad tests.Mike Perry
2019-05-15Bug 29085: Changes file.Mike Perry
2019-05-15Bug 29085: Avoid monotime usage for rtt estimates if it is not in use.Mike Perry
2019-05-15Make the relationship between mutable histograms and token removal explicit.Mike Perry
2019-05-15Merge branch 'maint-0.4.0'Nick Mathewson
2019-05-15Merge branch 'maint-0.3.5' into maint-0.4.0Nick Mathewson
2019-05-15Merge branch 'bug30475_035' into maint-0.3.5Nick Mathewson
2019-05-15Merge branch 'maint-0.4.0'George Kadianakis
2019-05-15Merge branch 'tor-github/pr/1013' into maint-0.4.0George Kadianakis
2019-05-15Bug 29085: Minor unit test updates for refactoring.Mike Perry
Deliver nonpadding events instead of calling token removal functions.
2019-05-15Bug 29085: Refactor padding sent accounting out of callback.Mike Perry
This commit moves code that updates the state length and padding limit counts out from the callback to its own function, for clarity. It does not change functionality.
2019-05-15Bug 29085: Refactor non-padding accounting out of token removal.Mike Perry
This commit moves the padding state limit checks and the padding rate limit checks out of the token removal codepath, and causes all three functions to get called from a single circpad_machine_count_nonpadding_sent() function. It does not change functionality.
2019-05-14update practracker for tor_initNick Mathewson
2019-05-14Merge branch 'ticket30452_035_v3' into ticket30452_041_v3Nick Mathewson
2019-05-14Make --list-modules imply --hushNick Mathewson
2019-05-14Update practracker for 30452Nick Mathewson
2019-05-14Merge branch 'ticket30452_035_v3' into ticket30452_041_v3Nick Mathewson
2019-05-14Add a --list-modules commandNick Mathewson
Closes ticket 30452.
2019-05-14Merge remote-tracking branch 'tor-github/pr/1004'Nick Mathewson
2019-05-14Merge branch 'tor-github/pr/1006'George Kadianakis
2019-05-13Fix a compilation warning: function does not have to be STATIC.Nick Mathewson
2019-05-13Merge branch 'bug28683_30173_29203_squashed'Nick Mathewson
2019-05-13The practracker beatings will continue until the functions get smaller.Mike Perry
2019-05-13Changes file for bugs28693+30173+29203.Mike Perry
2019-05-13Tests for bugs 28683, 30173, and 29203.Mike Perry
2019-05-13Bug 29203: Provide ReducedCircuitPadding torrc and consensus paramsMike Perry
2019-05-13Bug 28693: Provide Torrc option to disable circuit padding.Mike Perry
2019-05-13Merge remote-tracking branch 'tor-github/pr/998'Nick Mathewson
2019-05-13sendme: Fix coverity CID 1444999David Goulet
The code flow in theory can end up with a layer_hint to be NULL but in practice it should never happen because with an origin circuit, we must have the layer_hint. Just in case, BUG() on it if we ever end up in this situation and recover by closing the circuit. Fixes #30467. Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-13Merge branch 'tor-github/pr/976'David Goulet