mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Check the token supply when we received a padding event, too.
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.
This commit is contained in:
parent
148c2d5bab
commit
5638d65f79
@ -1699,8 +1699,16 @@ void
|
||||
circpad_cell_event_padding_sent(circuit_t *on_circ)
|
||||
{
|
||||
FOR_EACH_ACTIVE_CIRCUIT_MACHINE_BEGIN(i, on_circ) {
|
||||
circpad_machine_spec_transition(on_circ->padding_info[i],
|
||||
/* Check to see if we've run out of tokens for this state already,
|
||||
* and if not, check for other state transitions */
|
||||
if (check_machine_token_supply(on_circ->padding_info[i])
|
||||
== CIRCPAD_STATE_UNCHANGED) {
|
||||
/* If removing a token did not cause a transition, check if
|
||||
* non-padding sent event should */
|
||||
|
||||
circpad_machine_spec_transition(on_circ->padding_info[i],
|
||||
CIRCPAD_EVENT_PADDING_SENT);
|
||||
}
|
||||
} FOR_EACH_ACTIVE_CIRCUIT_MACHINE_END;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user