]> granicus.if.org Git - transmission/commit
#5912: Prevent completed pieces modification by webseeds (patch by cfpp2p)
authorMike Gelfand <mikedld@mikedld.com>
Sun, 5 Jul 2015 07:54:46 +0000 (07:54 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Sun, 5 Jul 2015 07:54:46 +0000 (07:54 +0000)
commitb9adf279cafd683ce6b694027c8ed9dde5455f0c
tree05c5df4f280b36bceda5578477495814097accb7
parent6cbfcdc85e3216a894b7b07b019a7592be1ad720
#5912: Prevent completed pieces modification by webseeds (patch by cfpp2p)

This avoids blocks corruption in case webseed provides bad data.

As explained by cfpp2p, "The requirements to reproduce are at least one
webseed that sends corrupt block(s), and at least one other peer (webseed
or regular peer) that sends correct data for the same block. Then a peer
with correct block sends the block and transmission accepts and verifies
that block as good. But then the webseed thread comes around and the same
block is downloaded from the webseed that sends a bad block which is then
written even though the piece was previously deemed complete."
libtransmission/webseed.c