torproject / tor Public
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug28693+30173+29203 #965
Bug28693+30173+29203 #965
Conversation
Disable padding via limit check and machine condition. Limits cause us to stop sending padding. Machine conditions cause the machines to be shut down, and not restarted.
Gotta limit to the limit when the limit is reached.
Pull Request Test Coverage Report for Build 4781
|
Test fixes including memory leak from test allocations.
…arams Correct and clarify a comment for the reduced_padding_ok flag.
… smaller. WTF! This passes locally but not in CI... Arg this is so annoying.
src/core/or/circuitpadding.c
Outdated
| @@ -1122,7 +1122,7 @@ circpad_machine_reached_padding_limit(circpad_machine_runtime_t *mi) | |||
| * machine condition check happens, but machine checks only happen on | |||
| * certain circuit events, and if padding is disabled due to some | |||
| * network overload or DoS condition, we really want to stop ASAP. */ | |||
| if (circpad_padding_disabled) { | |||
| if (circpad_padding_disabled || !get_options()->CircuitPadding) { | |||
Hmm, this seems a bit like overfitting the original purpose of this function, since it was meant to be about rate limiting and not torrc/consensus parameters.
How about we make a new function is_padding_allowed() where we do these new checks, and also call reached_padding_limit() and also call !is_participating_on_network() (see schedule_padding()). Then we can put it on top of circpad_machine_schedule_padding()` and have a cleaner entry check.
Relocate disable check to its own function.
Update test for new function.
No description provided.
The text was updated successfully, but these errors were encountered: