mirror of https://github.com/aria2/aria2
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables * src/BtBitfieldMessageValidator.h * src/BtHandshakeMessageValidator.h * src/BtPieceMessageValidator.hpull/1/head
parent
9ebf141fb6
commit
0901dfcfc1
|
@ -1,3 +1,10 @@
|
||||||
|
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Renamed member variables
|
||||||
|
* src/BtBitfieldMessageValidator.h
|
||||||
|
* src/BtHandshakeMessageValidator.h
|
||||||
|
* src/BtPieceMessageValidator.h
|
||||||
|
|
||||||
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Renamed member variables
|
Renamed member variables
|
||||||
|
|
|
@ -43,19 +43,19 @@ namespace aria2 {
|
||||||
|
|
||||||
class BtBitfieldMessageValidator : public BtMessageValidator {
|
class BtBitfieldMessageValidator : public BtMessageValidator {
|
||||||
private:
|
private:
|
||||||
const BtBitfieldMessage* message;
|
const BtBitfieldMessage* _message;
|
||||||
size_t numPiece;
|
size_t _numPiece;
|
||||||
public:
|
public:
|
||||||
BtBitfieldMessageValidator(const BtBitfieldMessage* message,
|
BtBitfieldMessageValidator(const BtBitfieldMessage* message,
|
||||||
size_t numPiece):
|
size_t numPiece):
|
||||||
message(message),
|
_message(message),
|
||||||
numPiece(numPiece) {}
|
_numPiece(numPiece) {}
|
||||||
|
|
||||||
virtual void validate()
|
virtual void validate()
|
||||||
{
|
{
|
||||||
bittorrent::checkBitfield(message->getBitfield(),
|
bittorrent::checkBitfield(_message->getBitfield(),
|
||||||
message->getBitfieldLength(),
|
_message->getBitfieldLength(),
|
||||||
numPiece);
|
_numPiece);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -42,38 +42,40 @@
|
||||||
#include "BtHandshakeMessage.h"
|
#include "BtHandshakeMessage.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "StringFormat.h"
|
#include "StringFormat.h"
|
||||||
|
#include "BtConstants.h"
|
||||||
|
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
class BtHandshakeMessageValidator : public BtMessageValidator {
|
class BtHandshakeMessageValidator : public BtMessageValidator {
|
||||||
private:
|
private:
|
||||||
const BtHandshakeMessage* message;
|
const BtHandshakeMessage* _message;
|
||||||
unsigned char infoHash[20];
|
unsigned char _infoHash[INFO_HASH_LENGTH];
|
||||||
public:
|
public:
|
||||||
BtHandshakeMessageValidator(const BtHandshakeMessage* message,
|
BtHandshakeMessageValidator(const BtHandshakeMessage* message,
|
||||||
const unsigned char* infoHash):
|
const unsigned char* infoHash):
|
||||||
message(message)
|
_message(message)
|
||||||
{
|
{
|
||||||
memcpy(this->infoHash, infoHash, sizeof(this->infoHash));
|
memcpy(_infoHash, infoHash, sizeof(_infoHash));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void validate()
|
virtual void validate()
|
||||||
{
|
{
|
||||||
if(message->getPstrlen() != 19) {
|
if(_message->getPstrlen() != 19) {
|
||||||
throw DL_ABORT_EX(StringFormat("invalid handshake pstrlen=%u",
|
throw DL_ABORT_EX(StringFormat("invalid handshake pstrlen=%u",
|
||||||
message->getPstrlen()).str());
|
_message->getPstrlen()).str());
|
||||||
}
|
}
|
||||||
if(memcmp(BtHandshakeMessage::BT_PSTR, message->getPstr(), 19) != 0) {
|
if(memcmp(BtHandshakeMessage::BT_PSTR, _message->getPstr(), 19) != 0) {
|
||||||
throw DL_ABORT_EX
|
throw DL_ABORT_EX
|
||||||
(StringFormat("invalid handshake pstr=%s",
|
(StringFormat("invalid handshake pstr=%s",
|
||||||
util::percentEncode
|
util::percentEncode
|
||||||
(message->getPstr(), 19).c_str()).str());
|
(_message->getPstr(), 19).c_str()).str());
|
||||||
}
|
}
|
||||||
if(memcmp(infoHash, message->getInfoHash(), 20) != 0) {
|
if(memcmp(_infoHash, _message->getInfoHash(), sizeof(_infoHash)) != 0) {
|
||||||
throw DL_ABORT_EX
|
throw DL_ABORT_EX
|
||||||
(StringFormat("invalid handshake info hash: expected:%s, actual:%s",
|
(StringFormat("invalid handshake info hash: expected:%s, actual:%s",
|
||||||
util::toHex(infoHash, 20).c_str(),
|
util::toHex(_infoHash, sizeof(_infoHash)).c_str(),
|
||||||
util::toHex(message->getInfoHash(), 20).c_str()).str());
|
util::toHex(_message->getInfoHash(),
|
||||||
|
INFO_HASH_LENGTH).c_str()).str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -43,21 +43,21 @@ namespace aria2 {
|
||||||
|
|
||||||
class BtPieceMessageValidator : public BtMessageValidator {
|
class BtPieceMessageValidator : public BtMessageValidator {
|
||||||
private:
|
private:
|
||||||
const BtPieceMessage* message;
|
const BtPieceMessage* _message;
|
||||||
size_t numPiece;
|
size_t _numPiece;
|
||||||
size_t pieceLength;
|
size_t _pieceLength;
|
||||||
public:
|
public:
|
||||||
BtPieceMessageValidator(const BtPieceMessage* message,
|
BtPieceMessageValidator(const BtPieceMessage* message,
|
||||||
size_t numPiece,
|
size_t numPiece,
|
||||||
size_t pieceLength):
|
size_t pieceLength):
|
||||||
message(message),
|
_message(message),
|
||||||
numPiece(numPiece),
|
_numPiece(numPiece),
|
||||||
pieceLength(pieceLength) {}
|
_pieceLength(pieceLength) {}
|
||||||
|
|
||||||
virtual void validate()
|
virtual void validate()
|
||||||
{
|
{
|
||||||
bittorrent::checkIndex(message->getIndex(), numPiece);
|
bittorrent::checkIndex(_message->getIndex(), _numPiece);
|
||||||
bittorrent::checkBegin(message->getBegin(), pieceLength);
|
bittorrent::checkBegin(_message->getBegin(), _pieceLength);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue