mirror of https://github.com/aria2/aria2
![]() To make a listening socket non-block: * src/SocketCore.h (setNonBlockingMode): New function. * src/SocketCore.cc (setNonBlockingMode): New function. (beginListen): Added a call to setNonBlockingMode(). (acceptConnection): Call setNonBlockingMode(). (setBlockingMode): Updated. To handle tracker's NAT-checking: * src/PeerConnection.cc (receiveHandshake): 'msg' param is filled with received data and its length is assigned to 'length' param, even if all handshake message is not yet received. * src/PeerInteractionCommand.cc (executeInternal): Use peerInteraction->receiveHandshake(true) when a new peer connects to localhost. A call to peerInteraction->sendHandshake() was removed because it is called from peerInteraction->receiveHandshake(true). * src/PeerInteraction.h (quickReplied): New variable. (receiveHandshake): Added an argument. * src/PeerInteraction.cc (PeerInteraction): Added the initialization of quickReplied. (receiveHandshake): Send handshake message as soon as the info hash in a handshake message from a peer is correct. To change the random part of peer id and key parameter: * src/TorrentMan.h (key): New variable. * src/TorrentMan.cc (setupInternal1): Use Util::randomAlpha() to generate random part of peer id, which is now "-aria2-"+13 alphabet characters([A-Za-z]). key is also generated by Util::randomAlpha() and it is now 8 character long. * src/Util.h (randomAlpha): New function. * src/Util.cc (randomAlpha): New function. * src/TrackerWatcherCommand.cc (execute): In a tracker request: Use torrentMan->key as key parameter. Added no_peer_id=1. Set snubbing flag to false when a choke message is received from a snubbed peer. * src/ChokeMessage.cc (receivedAction): Set snubbing flag to false. |
||
---|---|---|
.. | ||
4096chunk.txt | ||
AllTest.cc | ||
AllowedFastMessageTest.cc | ||
Base64Test.cc | ||
BitfieldManTest.cc | ||
BitfieldMessageTest.cc | ||
CancelMessageTest.cc | ||
ChokeMessageTest.cc | ||
ChunkedEncodingTest.cc | ||
CookieBoxTest.cc | ||
DataTest.cc | ||
DefaultDiskWriterTest.cc | ||
DictionaryTest.cc | ||
FileTest.cc | ||
HaveAllMessageTest.cc | ||
HaveMessageTest.cc | ||
HaveNoneMessageTest.cc | ||
InterestedMessageTest.cc | ||
ListTest.cc | ||
Makefile.am | ||
Makefile.in | ||
MetaFileUtilTest.cc | ||
MultiDiskWriterTest.cc | ||
NotInterestedMessageTest.cc | ||
OptionTest.cc | ||
PeerMessageUtilTest.cc | ||
PieceMessageTest.cc | ||
RejectMessageTest.cc | ||
RequestMessageTest.cc | ||
RequestTest.cc | ||
RequestToString.cc | ||
ShaVisitorTest.cc | ||
SuggestPieceMessageTest.cc | ||
TorrentManTest.cc | ||
UnchokeMessageTest.cc | ||
UtilTest.cc | ||
file1r.txt | ||
file2r.txt | ||
file3r.txt | ||
test.torrent |