Browse Source

Add a constant for the I2PControl token size.

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

1
i2pcontrol/I2PControl.h

@ -13,6 +13,7 @@ namespace client { @@ -13,6 +13,7 @@ namespace client {
const char I2P_CONTROL_DEFAULT_PASSWORD[] = "itoopie";
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_METHOD[] = "method";

Loading…
Cancel
Save