#613: fix handshake protocol error reported by brad- and tracked down w/Lacrocivious' help.

This commit is contained in:
Charles Kerr 2008-01-26 03:43:49 +00:00
parent 4ac75b1b80
commit 2085aec390
2 changed files with 7 additions and 5 deletions

3
NEWS
View File

@ -9,12 +9,13 @@ NEWS file for Transmission <http://www.transmissionbt.com/>
1.03 (2008/xx/yy)
- All Platforms:
+ Fix handshake bug with peers that support LTEP
+ Fix handshake bug with mainline BitTorrent
1.02 (2008/01/22)
- All Platforms:
+ Fix 1.00 bug that choked some models of routers
+ Fix 1.00 crash in peer handshake
+ Fix 1.01 bug that sometimes froze the app for a long time
+ Fix 1.00 bug that sometimes froze the app for a long time
+ Minor improvements to the command-line client
- GTK+
+ Fix crash when removing a torrent while its details window is open

View File

@ -1848,14 +1848,11 @@ tr_peerMsgsNew( struct tr_torrent * torrent,
m->clientAllowedPieces = tr_bitfieldNew( m->torrent->info.pieceCount );
m->clientSuggestedPieces = tr_bitfieldNew( m->torrent->info.pieceCount );
*setme = tr_publisherSubscribe( m->publisher, func, userData );
tr_peerIoSetTimeoutSecs( m->io, 150 ); /* timeout after N seconds of inactivity */
tr_peerIoSetIOFuncs( m->io, canRead, didWrite, gotError, m );
ratePulse( m );
if ( tr_peerIoSupportsLTEP( m->io ) )
sendLtepHandshake( m );
/* bitfield/have-all/have-none must preceed other non-handshake messages... */
if ( !tr_peerIoSupportsFEXT( m->io ) )
sendBitfield( m );
else {
@ -1869,6 +1866,10 @@ tr_peerMsgsNew( struct tr_torrent * torrent,
sendBitfield( m );
}
}
tr_peerIoSetTimeoutSecs( m->io, 150 ); /* timeout after N seconds of inactivity */
tr_peerIoSetIOFuncs( m->io, canRead, didWrite, gotError, m );
ratePulse( m );
return m;
}