Add a constant for the I2PControl token size.

This commit is contained in:
EinMByte 2015-08-02 16:38:46 +02:00
parent 69d93146f2
commit 833a606b13
2 changed files with 4 additions and 5 deletions

View File

@ -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;

View File

@ -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";