summaryrefslogtreecommitdiff
path: root/src/DHTTokenTracker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/DHTTokenTracker.cc')
-rw-r--r--src/DHTTokenTracker.cc35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/DHTTokenTracker.cc b/src/DHTTokenTracker.cc
index 3cec3aa1..33a9f836 100644
--- a/src/DHTTokenTracker.cc
+++ b/src/DHTTokenTracker.cc
@@ -60,39 +60,40 @@ DHTTokenTracker::DHTTokenTracker(const unsigned char* initialSecret)
DHTTokenTracker::~DHTTokenTracker() {}
-std::string DHTTokenTracker::generateToken
-(const unsigned char* infoHash,
- const std::string& ipaddr, uint16_t port,
- const unsigned char* secret) const
+std::string DHTTokenTracker::generateToken(const unsigned char* infoHash,
+ const std::string& ipaddr,
+ uint16_t port,
+ const unsigned char* secret) const
{
- unsigned char src[DHT_ID_LENGTH+COMPACT_LEN_IPV6+SECRET_SIZE];
+ unsigned char src[DHT_ID_LENGTH + COMPACT_LEN_IPV6 + SECRET_SIZE];
memset(src, 0, sizeof(src));
- int compactlen = bittorrent::packcompact(src+DHT_ID_LENGTH, ipaddr, port);
- if(compactlen == 0) {
- throw DL_ABORT_EX
- (fmt("Token generation failed: ipaddr=%s, port=%u",
- ipaddr.c_str(), port));
+ int compactlen = bittorrent::packcompact(src + DHT_ID_LENGTH, ipaddr, port);
+ if (compactlen == 0) {
+ throw DL_ABORT_EX(fmt("Token generation failed: ipaddr=%s, port=%u",
+ ipaddr.c_str(), port));
}
memcpy(src, infoHash, DHT_ID_LENGTH);
- memcpy(src+DHT_ID_LENGTH+COMPACT_LEN_IPV6, secret, SECRET_SIZE);
+ memcpy(src + DHT_ID_LENGTH + COMPACT_LEN_IPV6, secret, SECRET_SIZE);
unsigned char md[20];
- message_digest::digest(md, sizeof(md), MessageDigest::sha1().get(),
- src, sizeof(src));
+ message_digest::digest(md, sizeof(md), MessageDigest::sha1().get(), src,
+ sizeof(src));
return std::string(&md[0], &md[sizeof(md)]);
}
std::string DHTTokenTracker::generateToken(const unsigned char* infoHash,
- const std::string& ipaddr, uint16_t port) const
+ const std::string& ipaddr,
+ uint16_t port) const
{
return generateToken(infoHash, ipaddr, port, secret_[0]);
}
bool DHTTokenTracker::validateToken(const std::string& token,
const unsigned char* infoHash,
- const std::string& ipaddr, uint16_t port) const
+ const std::string& ipaddr,
+ uint16_t port) const
{
- for(auto & elem : secret_) {
- if(generateToken(infoHash, ipaddr, port, elem) == token) {
+ for (auto& elem : secret_) {
+ if (generateToken(infoHash, ipaddr, port, elem) == token) {
return true;
}
}