Opened 12 years ago

Last modified 12 years ago

#1734 closed Bug

encrypted peers' outgoing RC4 stream can be corrupted by sending protocol messages out-of-order — at Initial Version

Reported by: charles Owned by:
Priority: Normal Milestone: 1.50
Component: libtransmission Version: 1.42
Severity: Blocker Keywords:
Cc:

Description

Beginning back with Aloysius' performance patch' submitted via the forums, Transmission has made a practice of buffering up non-critical BitTorrent protocol messages (like have' and periodic pex messages) and sending them in a batch to reduce socket-level packet overhead.

The bug is that these protocol messages are encrypted as they're written into the batch buffer. If that is done, and then we encrypt and send piece data before the protocol messages batch is flushed, the order of the messages' encryption and the messages' transmission are reversed and the RC4 stream is corrupted.

Special thanks goes to denisx and especially merlyn3d for helping track down this bug.

Change History (0)

Note: See TracTickets for help on using tickets.