diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-09 12:20:20 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-09 12:20:20 +0000 |
| commit | e227e53d7b7afb63255ae9df4cdc0ef56ff577d9 (patch) | |
| tree | 883aecdcf7348a4115cb9eb897e5d1133bae6a53 /src/MSEHandshake.cc | |
| parent | 65c094664c52ff1dc8330166858e5280f0bfdf88 (diff) | |
2010-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Wrapped logger->debug(...) with if(logger->debug()) { ... }
* src/AbstractCommand.cc
* src/AdaptiveURISelector.cc
* src/BtPieceMessage.cc
* src/BtPortMessage.cc
* src/CreateRequestCommand.cc
* src/DHTAbstractNodeLookupTask.cc
* src/DHTBucket.cc
* src/DHTGetPeersCommand.cc
* src/DHTMessageDispatcherImpl.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTMessageTracker.cc
* src/DHTPeerAnnounceStorage.cc
* src/DHTRoutingTable.cc
* src/DHTSetup.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageReceiver.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/EpollEventPoll.cc
* src/FileAllocationCommand.cc
* src/FileEntry.cc
* src/FtpNegotiationCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HttpListenCommand.cc
* src/HttpServer.cc
* src/HttpSkipResponseCommand.cc
* src/IteratableChunkChecksumValidator.cc
* src/Logger.h
* src/MSEHandshake.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiDiskAdaptor.cc
* src/PeerAbstractCommand.cc
* src/PeerConnection.cc
* src/PeerListenCommand.cc
* src/PeerReceiveHandshakeCommand.cc
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/SegmentMan.cc
* src/SelectEventPoll.cc
* src/ServerStat.cc
* src/SimpleBtMessage.cc
* src/SocketCore.cc
* src/TrackerWatcherCommand.cc
* src/UTMetadataDataExtensionMessage.cc
* src/UTMetadataRequestFactory.cc
* src/UTMetadataRequestTracker.cc
* src/XmlRpcMethod.cc
Diffstat (limited to 'src/MSEHandshake.cc')
| -rw-r--r-- | src/MSEHandshake.cc | 84 |
1 files changed, 60 insertions, 24 deletions
diff --git a/src/MSEHandshake.cc b/src/MSEHandshake.cc index ae778d4a..4ed7a769 100644 --- a/src/MSEHandshake.cc +++ b/src/MSEHandshake.cc @@ -104,10 +104,15 @@ MSEHandshake::HANDSHAKE_TYPE MSEHandshake::identifyHandshakeType() } if(_rbuf[0] == BtHandshakeMessage::PSTR_LENGTH && memcmp(BtHandshakeMessage::BT_PSTR, _rbuf+1, 19) == 0) { - _logger->debug("CUID#%d - This is legacy BitTorrent handshake.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - This is legacy BitTorrent handshake.", _cuid); + } return HANDSHAKE_LEGACY; } else { - _logger->debug("CUID#%d - This may be encrypted BitTorrent handshake.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - This may be encrypted BitTorrent handshake.", + _cuid); + } return HANDSHAKE_ENCRYPTED; } } @@ -118,15 +123,18 @@ void MSEHandshake::initEncryptionFacility(bool initiator) _dh = new DHKeyExchange(); _dh->init(PRIME, PRIME_BITS, GENERATOR, 160); _dh->generatePublicKey(); - _logger->debug("CUID#%d - DH initialized.", _cuid); - + if(_logger->debug()) { + _logger->debug("CUID#%d - DH initialized.", _cuid); + } _initiator = initiator; } bool MSEHandshake::sendPublicKey() { if(_socketBuffer.sendBufferIsEmpty()) { - _logger->debug("CUID#%d - Sending public key.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - Sending public key.", _cuid); + } unsigned char buffer[KEY_LENGTH+MAX_PAD_LENGTH]; _dh->getPublicKey(buffer, KEY_LENGTH); @@ -145,7 +153,9 @@ bool MSEHandshake::receivePublicKey() if(r > receiveNBytes(r)) { return false; } - _logger->debug("CUID#%d - public key received.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - public key received.", _cuid); + } // TODO handle exception. in catch, resbufLength = 0; _dh->computeSecret(_secret, sizeof(_secret), _rbuf, _rbufLength); // reset _rbufLength @@ -249,7 +259,9 @@ uint16_t MSEHandshake::decodeLength16(const unsigned char* buffer) bool MSEHandshake::sendInitiatorStep2() { if(_socketBuffer.sendBufferIsEmpty()) { - _logger->debug("CUID#%d - Sending negotiation step2.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - Sending negotiation step2.", _cuid); + } unsigned char md[20]; createReq1Hash(md); _socketBuffer.feedSendBuffer(std::string(&md[0], &md[sizeof(md)])); @@ -335,8 +347,9 @@ bool MSEHandshake::findInitiatorVCMarker() size_t toRead = _markerIndex+VC_LENGTH-_rbufLength; _socket->readData(_rbuf+_rbufLength, toRead); _rbufLength += toRead; - - _logger->debug("CUID#%d - VC marker found at %u", _cuid, _markerIndex); + if(_logger->debug()) { + _logger->debug("CUID#%d - VC marker found at %u", _cuid, _markerIndex); + } verifyVC(_rbuf+_markerIndex); // reset _rbufLength _rbufLength = 0; @@ -357,11 +370,15 @@ bool MSEHandshake::receiveInitiatorCryptoSelectAndPadDLength() rbufptr, sizeof(cryptoSelect)); if(cryptoSelect[3]&CRYPTO_PLAIN_TEXT && _option->get(PREF_BT_MIN_CRYPTO_LEVEL) == V_PLAIN) { - _logger->debug("CUID#%d - peer prefers plaintext.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - peer prefers plaintext.", _cuid); + } _negotiatedCryptoType = CRYPTO_PLAIN_TEXT; } if(cryptoSelect[3]&CRYPTO_ARC4) { - _logger->debug("CUID#%d - peer prefers ARC4", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - peer prefers ARC4", _cuid); + } _negotiatedCryptoType = CRYPTO_ARC4; } if(_negotiatedCryptoType == CRYPTO_NONE) { @@ -427,8 +444,9 @@ bool MSEHandshake::findReceiverHashMarker() size_t toRead = _markerIndex+20-_rbufLength; _socket->readData(_rbuf+_rbufLength, toRead); _rbufLength += toRead; - - _logger->debug("CUID#%d - Hash marker found at %u.", _cuid, _markerIndex); + if(_logger->debug()) { + _logger->debug("CUID#%d - Hash marker found at %u.", _cuid, _markerIndex); + } verifyReq1Hash(_rbuf+_markerIndex); // reset _rbufLength _rbufLength = 0; @@ -452,8 +470,11 @@ bool MSEHandshake::receiveReceiverHashAndPadCLength const BDE& torrentAttrs = (*i)->getAttribute(bittorrent::BITTORRENT); createReq23Hash(md, torrentAttrs[bittorrent::INFO_HASH].uc()); if(memcmp(md, rbufptr, sizeof(md)) == 0) { - _logger->debug("CUID#%d - info hash found: %s", _cuid, - util::toHex(torrentAttrs[bittorrent::INFO_HASH].s()).c_str()); + if(_logger->debug()) { + _logger->debug("CUID#%d - info hash found: %s", _cuid, + util::toHex + (torrentAttrs[bittorrent::INFO_HASH].s()).c_str()); + } downloadContext = *i; break; } @@ -475,10 +496,14 @@ bool MSEHandshake::receiveReceiverHashAndPadCLength // For now, choose ARC4. if(cryptoProvide[3]&CRYPTO_PLAIN_TEXT && _option->get(PREF_BT_MIN_CRYPTO_LEVEL) == V_PLAIN) { - _logger->debug("CUID#%d - peer provides plaintext.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - peer provides plaintext.", _cuid); + } _negotiatedCryptoType = CRYPTO_PLAIN_TEXT; } else if(cryptoProvide[3]&CRYPTO_ARC4) { - _logger->debug("CUID#%d - peer provides ARC4.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - peer provides ARC4.", _cuid); + } _negotiatedCryptoType = CRYPTO_ARC4; } if(_negotiatedCryptoType == CRYPTO_NONE) { @@ -502,7 +527,9 @@ bool MSEHandshake::receiveReceiverIALength() return false; } _iaLength = decodeLength16(_rbuf); - _logger->debug("CUID#%d - len(IA)=%u.", _cuid, _iaLength); + if(_logger->debug()) { + _logger->debug("CUID#%d - len(IA)=%u.", _cuid, _iaLength); + } // reset _rbufLength _rbufLength = 0; return true; @@ -520,7 +547,9 @@ bool MSEHandshake::receiveReceiverIA() delete [] _ia; _ia = new unsigned char[_iaLength]; _decryptor->decrypt(_ia, _iaLength, _rbuf, _iaLength); - _logger->debug("CUID#%d - IA received.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - IA received.", _cuid); + } // reset _rbufLength _rbufLength = 0; return true; @@ -559,10 +588,13 @@ bool MSEHandshake::sendReceiverStep2() uint16_t MSEHandshake::verifyPadLength(const unsigned char* padlenbuf, const char* padName) { - _logger->debug("CUID#%d - Verifying Pad length for %s", _cuid, padName); - + if(_logger->debug()) { + _logger->debug("CUID#%d - Verifying Pad length for %s", _cuid, padName); + } uint16_t padLength = decodeLength16(padlenbuf); - _logger->debug("CUID#%d - len(%s)=%u", _cuid, padName, padLength); + if(_logger->debug()) { + _logger->debug("CUID#%d - len(%s)=%u", _cuid, padName, padLength); + } if(padLength > 512) { throw DL_ABORT_EX (StringFormat("Too large %s length: %u", padName, padLength).str()); @@ -572,7 +604,9 @@ uint16_t MSEHandshake::verifyPadLength(const unsigned char* padlenbuf, const cha void MSEHandshake::verifyVC(const unsigned char* vcbuf) { - _logger->debug("CUID#%d - Verifying VC.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - Verifying VC.", _cuid); + } unsigned char vc[VC_LENGTH]; _decryptor->decrypt(vc, sizeof(vc), vcbuf, sizeof(vc)); if(memcmp(VC, vc, sizeof(VC)) != 0) { @@ -583,7 +617,9 @@ void MSEHandshake::verifyVC(const unsigned char* vcbuf) void MSEHandshake::verifyReq1Hash(const unsigned char* req1buf) { - _logger->debug("CUID#%d - Verifying req hash.", _cuid); + if(_logger->debug()) { + _logger->debug("CUID#%d - Verifying req hash.", _cuid); + } unsigned char md[20]; createReq1Hash(md); if(memcmp(md, req1buf, sizeof(md)) != 0) { |
