Skip to content

Updates to address #40673

Andy requested to merge Andy/tor:maint-0.4.7 into maint-0.4.7

Patch to address #40673 (closed). An additional check has been added to onion_pending_add() in order to ensure that we avoid counting create cells from clients.

In the cpuworker.c assign_onionskin_to_cpuworker method if total_pending_tasks >= max_pending_tasks and channel_is_client(circ->p_chan) returns false then rep_hist_note_circuit_handshake_dropped() will be called and rep_hist_note_circuit_handshake_assigned() will not be called. This causes relays to run into errors due to the fact that the number of dropped packets exceeds the total number of assigned packets.

To avoid this situation a check has been added to onion_pending_add() to ensure that these erroneous calls to rep_hist_note_circuit_handshake_dropped() are not made.

Pastebin link to the conversation with armadev about this issue: https://pastebin.com/GKnUYvBj

Merge request reports