Browse Source

Add a constant for the I2PControl token size.

pull/242/head
EinMByte 9 years ago
parent
commit
833a606b13
  1. 8
      i2pcontrol/I2PControl.cpp
  2. 1
      i2pcontrol/I2PControl.h

8
i2pcontrol/I2PControl.cpp

@ -199,14 +199,12 @@ bool I2PControlSession::authenticate(const PropertyTree& pt, Response& response)
std::string I2PControlSession::generateToken() const std::string I2PControlSession::generateToken() const
{ {
const std::size_t token_size = 8; // 64 bits of security byte random_data[I2P_CONTROL_TOKEN_SIZE] = {};
byte random_data[token_size] = {};
CryptoPP::AutoSeededRandomPool rng; CryptoPP::AutoSeededRandomPool rng;
rng.GenerateBlock(random_data, token_size); rng.GenerateBlock(random_data, I2P_CONTROL_TOKEN_SIZE);
std::string token; std::string token;
CryptoPP::StringSource ss( CryptoPP::StringSource ss(
random_data, token_size, true, random_data, I2P_CONTROL_TOKEN_SIZE, true,
new CryptoPP::HexEncoder(new CryptoPP::StringSink(token)) new CryptoPP::HexEncoder(new CryptoPP::StringSink(token))
); );
return token; return token;

1
i2pcontrol/I2PControl.h

@ -13,6 +13,7 @@ namespace client {
const char I2P_CONTROL_DEFAULT_PASSWORD[] = "itoopie"; const char I2P_CONTROL_DEFAULT_PASSWORD[] = "itoopie";
const uint64_t I2P_CONTROL_TOKEN_LIFETIME = 600; // Token lifetime in seconds const uint64_t I2P_CONTROL_TOKEN_LIFETIME = 600; // Token lifetime in seconds
const std::size_t I2P_CONTROL_TOKEN_SIZE = 8; // Token size in bytes
const char I2P_CONTROL_PROPERTY_ID[] = "id"; const char I2P_CONTROL_PROPERTY_ID[] = "id";
const char I2P_CONTROL_PROPERTY_METHOD[] = "method"; const char I2P_CONTROL_PROPERTY_METHOD[] = "method";

Loading…
Cancel
Save