mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 13:27:17 +01:00
English corrections.
This commit is contained in:
parent
7c924e13d9
commit
dd88e13b95
|
@ -154,7 +154,7 @@ namespace client
|
||||||
m_SamBridge->Stop ();
|
m_SamBridge->Stop ();
|
||||||
delete m_SamBridge;
|
delete m_SamBridge;
|
||||||
m_SamBridge = nullptr;
|
m_SamBridge = nullptr;
|
||||||
LogPrint("SAM brdige stopped");
|
LogPrint("SAM bridge stopped");
|
||||||
}
|
}
|
||||||
if (m_BOBCommandChannel)
|
if (m_BOBCommandChannel)
|
||||||
{
|
{
|
||||||
|
@ -316,7 +316,7 @@ namespace client
|
||||||
auto clientTunnel = new I2PClientTunnel(
|
auto clientTunnel = new I2PClientTunnel(
|
||||||
dest, address, port, localDestination, destinationPort
|
dest, address, port, localDestination, destinationPort
|
||||||
);
|
);
|
||||||
// TODO: allow muliple tunnels on the same port (but on a different address)
|
// TODO: allow multiple tunnels on the same port (but on a different address)
|
||||||
if(m_ClientTunnels.insert(std::make_pair(port, std::unique_ptr<I2PClientTunnel>(clientTunnel))).second)
|
if(m_ClientTunnels.insert(std::make_pair(port, std::unique_ptr<I2PClientTunnel>(clientTunnel))).second)
|
||||||
clientTunnel->Start ();
|
clientTunnel->Start ();
|
||||||
else
|
else
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace i2p
|
||||||
if(i2p::util::config::HasArg("-install")) {
|
if(i2p::util::config::HasArg("-install")) {
|
||||||
try {
|
try {
|
||||||
i2p::util::filesystem::InstallFiles();
|
i2p::util::filesystem::InstallFiles();
|
||||||
LogPrint("Succesfully installed all files.");
|
LogPrint("Successfully installed all files.");
|
||||||
} catch(const std::runtime_error& e) {
|
} catch(const std::runtime_error& e) {
|
||||||
LogPrint(eLogError, "Failed to install: ", e.what());
|
LogPrint(eLogError, "Failed to install: ", e.what());
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace proxy
|
||||||
GET_METHOD,
|
GET_METHOD,
|
||||||
GET_HOSTNAME,
|
GET_HOSTNAME,
|
||||||
GET_HTTPV,
|
GET_HTTPV,
|
||||||
GET_HTTPVNL, //TODO: fallback to finding HOst: header if needed
|
GET_HTTPVNL, //TODO: fallback to finding Host: header if needed
|
||||||
DONE
|
DONE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ namespace proxy
|
||||||
}
|
}
|
||||||
|
|
||||||
/* All hope is lost beyond this point */
|
/* All hope is lost beyond this point */
|
||||||
//TODO: handle this apropriately
|
//TODO: handle this appropriately
|
||||||
void HTTPProxyHandler::HTTPRequestFailed(/*HTTPProxyHandler::errTypes error*/)
|
void HTTPProxyHandler::HTTPRequestFailed(/*HTTPProxyHandler::errTypes error*/)
|
||||||
{
|
{
|
||||||
static std::string response = "HTTP/1.0 500 Internal Server Error\r\nContent-type: text/html\r\nContent-length: 0\r\n";
|
static std::string response = "HTTP/1.0 500 Internal Server Error\r\nContent-type: text/html\r\nContent-length: 0\r\n";
|
||||||
|
@ -185,7 +185,7 @@ namespace proxy
|
||||||
assert(len); // This should always be called with a least a byte left to parse
|
assert(len); // This should always be called with a least a byte left to parse
|
||||||
while (len > 0)
|
while (len > 0)
|
||||||
{
|
{
|
||||||
//TODO: fallback to finding HOst: header if needed
|
//TODO: fallback to finding Host: header if needed
|
||||||
switch (m_state)
|
switch (m_state)
|
||||||
{
|
{
|
||||||
case GET_METHOD:
|
case GET_METHOD:
|
||||||
|
|
|
@ -296,7 +296,7 @@ namespace client
|
||||||
// host parameter set use that instead of loopback
|
// host parameter set use that instead of loopback
|
||||||
host = hostitr->second;
|
host = hostitr->second;
|
||||||
}
|
}
|
||||||
// set forward addresss
|
// set forward address
|
||||||
m_udpForward = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(host), port);
|
m_udpForward = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(host), port);
|
||||||
// we are now a udp forward socket
|
// we are now a udp forward socket
|
||||||
m_SocketType = eSAMSocketTypeUDPForward;
|
m_SocketType = eSAMSocketTypeUDPForward;
|
||||||
|
|
|
@ -163,7 +163,7 @@ namespace client
|
||||||
void CloseSession (const std::string& id);
|
void CloseSession (const std::string& id);
|
||||||
SAMSession * FindSession (const std::string& id) const;
|
SAMSession * FindSession (const std::string& id) const;
|
||||||
|
|
||||||
// forward a datagran to a udp endpoint
|
// forward a datagram to a udp endpoint
|
||||||
void ForwardUDP(const boost::asio::ip::udp::endpoint & to_ep, const i2p::data::IdentityEx& from, const uint8_t * buff, size_t bufflen);
|
void ForwardUDP(const boost::asio::ip::udp::endpoint & to_ep, const i2p::data::IdentityEx& from, const uint8_t * buff, size_t bufflen);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -75,8 +75,8 @@ namespace proxy
|
||||||
SOCKS5_HOST_UNREACH = 4, // Host unreachable
|
SOCKS5_HOST_UNREACH = 4, // Host unreachable
|
||||||
SOCKS5_CONN_REFUSED = 5, // Connection refused by the peer
|
SOCKS5_CONN_REFUSED = 5, // Connection refused by the peer
|
||||||
SOCKS5_TTL_EXPIRED = 6, // TTL Expired
|
SOCKS5_TTL_EXPIRED = 6, // TTL Expired
|
||||||
SOCKS5_CMD_UNSUP = 7, // Command unsuported
|
SOCKS5_CMD_UNSUP = 7, // Command unsupported
|
||||||
SOCKS5_ADDR_UNSUP = 8, // Address type unsuported
|
SOCKS5_ADDR_UNSUP = 8, // Address type unsupported
|
||||||
SOCKS4_OK = 90, // No error for SOCKS4
|
SOCKS4_OK = 90, // No error for SOCKS4
|
||||||
SOCKS4_FAIL = 91, // Failed establishing connecting or not allowed
|
SOCKS4_FAIL = 91, // Failed establishing connecting or not allowed
|
||||||
SOCKS4_IDENTD_MISSING = 92, // Couldn't connect to the identd server
|
SOCKS4_IDENTD_MISSING = 92, // Couldn't connect to the identd server
|
||||||
|
|
|
@ -123,7 +123,7 @@ std::string I2PControlSession::Response::getErrorMsg() const
|
||||||
case ErrorCode::NonexistentToken:
|
case ErrorCode::NonexistentToken:
|
||||||
return "Nonexistent authentication token given.";
|
return "Nonexistent authentication token given.";
|
||||||
case ErrorCode::ExpiredToken:
|
case ErrorCode::ExpiredToken:
|
||||||
return "Exipred authentication token given.";
|
return "Expired authentication token given.";
|
||||||
case ErrorCode::UnspecifiedVersion:
|
case ErrorCode::UnspecifiedVersion:
|
||||||
return "Version not specified.";
|
return "Version not specified.";
|
||||||
case ErrorCode::UnsupportedVersion:
|
case ErrorCode::UnsupportedVersion:
|
||||||
|
|
|
@ -135,23 +135,23 @@ public:
|
||||||
std::string toJsonString() const;
|
std::string toJsonString() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set an ouptut parameter to a specified string.
|
* Set an output parameter to a specified string.
|
||||||
* @todo escape quotes
|
* @todo escape quotes
|
||||||
*/
|
*/
|
||||||
void setParam(const std::string& param, const std::string& value);
|
void setParam(const std::string& param, const std::string& value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set an ouptut parameter to a specified integer.
|
* Set an output parameter to a specified integer.
|
||||||
*/
|
*/
|
||||||
void setParam(const std::string& param, int value);
|
void setParam(const std::string& param, int value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set an ouptut parameter to a specified double.
|
* Set an output parameter to a specified double.
|
||||||
*/
|
*/
|
||||||
void setParam(const std::string& param, double value);
|
void setParam(const std::string& param, double value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set an ouptut parameter to a specified Json object.
|
* Set an output parameter to a specified Json object.
|
||||||
*/
|
*/
|
||||||
void setParam(const std::string& param, const JsonObject& value);
|
void setParam(const std::string& param, const JsonObject& value);
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ namespace client
|
||||||
}
|
}
|
||||||
if (m_IsDownloading)
|
if (m_IsDownloading)
|
||||||
{
|
{
|
||||||
LogPrint (eLogInfo, "Subscription is downloading. Waiting for temination...");
|
LogPrint (eLogInfo, "Subscription is downloading. Waiting for termination...");
|
||||||
for (int i = 0; i < 30; i++)
|
for (int i = 0; i < 30; i++)
|
||||||
{
|
{
|
||||||
if (!m_IsDownloading)
|
if (!m_IsDownloading)
|
||||||
|
@ -567,7 +567,7 @@ namespace client
|
||||||
LogPrint (eLogInfo, "No updates from ", m_Link);
|
LogPrint (eLogInfo, "No updates from ", m_Link);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LogPrint (eLogWarning, "Adressbook HTTP response ", status);
|
LogPrint (eLogWarning, "Addressbook HTTP response ", status);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LogPrint (eLogError, "Address ", u.host_, " not found");
|
LogPrint (eLogError, "Address ", u.host_, " not found");
|
||||||
|
|
|
@ -232,7 +232,7 @@ namespace data {
|
||||||
IdentHash CreateRoutingKey (const IdentHash& ident);
|
IdentHash CreateRoutingKey (const IdentHash& ident);
|
||||||
XORMetric operator^(const IdentHash& key1, const IdentHash& key2);
|
XORMetric operator^(const IdentHash& key1, const IdentHash& key2);
|
||||||
|
|
||||||
// destination for delivery instuctions
|
// destination for delivery instructions
|
||||||
class RoutingDestination
|
class RoutingDestination
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -531,7 +531,7 @@ namespace data
|
||||||
AddRouterInfo (ident, uncompressed, uncomressedSize);
|
AddRouterInfo (ident, uncompressed, uncomressedSize);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LogPrint ("Invalid RouterInfo uncomressed length ", (int)uncomressedSize);
|
LogPrint ("Invalid RouterInfo uncompressed length ", (int)uncomressedSize);
|
||||||
}
|
}
|
||||||
catch (CryptoPP::Exception& ex)
|
catch (CryptoPP::Exception& ex)
|
||||||
{
|
{
|
||||||
|
@ -598,11 +598,11 @@ namespace data
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deleteDest)
|
if (deleteDest)
|
||||||
// no more requests for the destinationation. delete it
|
// no more requests for the destination. delete it
|
||||||
m_Requests.RequestComplete (ident, nullptr);
|
m_Requests.RequestComplete (ident, nullptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
// no more requests for detination possible. delete it
|
// no more requests for destination possible. delete it
|
||||||
m_Requests.RequestComplete (ident, nullptr);
|
m_Requests.RequestComplete (ident, nullptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -642,7 +642,7 @@ namespace data
|
||||||
int l = i2p::util::ByteStreamToBase64 (buf, 32, key, 48);
|
int l = i2p::util::ByteStreamToBase64 (buf, 32, key, 48);
|
||||||
key[l] = 0;
|
key[l] = 0;
|
||||||
uint8_t flag = buf[64];
|
uint8_t flag = buf[64];
|
||||||
LogPrint ("DatabaseLookup for ", key, " recieved flags=", (int)flag);
|
LogPrint ("DatabaseLookup for ", key, " received flags=", (int)flag);
|
||||||
uint8_t lookupType = flag & DATABASE_LOOKUP_TYPE_FLAGS_MASK;
|
uint8_t lookupType = flag & DATABASE_LOOKUP_TYPE_FLAGS_MASK;
|
||||||
const uint8_t * excluded = buf + 65;
|
const uint8_t * excluded = buf + 65;
|
||||||
uint32_t replyTunnelID = 0;
|
uint32_t replyTunnelID = 0;
|
||||||
|
|
|
@ -129,7 +129,7 @@ namespace data
|
||||||
int Reseeder::ReseedFromSU3 (const std::string& host, bool https)
|
int Reseeder::ReseedFromSU3 (const std::string& host, bool https)
|
||||||
{
|
{
|
||||||
std::string url = host + "i2pseeds.su3";
|
std::string url = host + "i2pseeds.su3";
|
||||||
LogPrint (eLogInfo, "Dowloading SU3 from ", host);
|
LogPrint (eLogInfo, "Downloading SU3 from ", host);
|
||||||
std::string su3 = https ? HttpsRequest (url) : i2p::util::http::httpRequest (url);
|
std::string su3 = https ? HttpsRequest (url) : i2p::util::http::httpRequest (url);
|
||||||
if (su3.length () > 0)
|
if (su3.length () > 0)
|
||||||
{
|
{
|
||||||
|
@ -271,7 +271,7 @@ namespace data
|
||||||
s.read (localFileName, fileNameLength);
|
s.read (localFileName, fileNameLength);
|
||||||
localFileName[fileNameLength] = 0;
|
localFileName[fileNameLength] = 0;
|
||||||
s.seekg (extraFieldLength, std::ios::cur);
|
s.seekg (extraFieldLength, std::ios::cur);
|
||||||
// take care about data desriptor if presented
|
// take care about data descriptor if presented
|
||||||
if (bitFlag & ZIP_BIT_FLAG_DATA_DESCRIPTOR)
|
if (bitFlag & ZIP_BIT_FLAG_DATA_DESCRIPTOR)
|
||||||
{
|
{
|
||||||
size_t pos = s.tellg ();
|
size_t pos = s.tellg ();
|
||||||
|
@ -291,7 +291,7 @@ namespace data
|
||||||
s.seekg (pos, std::ios::beg); // back to compressed data
|
s.seekg (pos, std::ios::beg); // back to compressed data
|
||||||
}
|
}
|
||||||
|
|
||||||
LogPrint (eLogDebug, "Proccessing file ", localFileName, " ", compressedSize, " bytes");
|
LogPrint (eLogDebug, "Processing file ", localFileName, " ", compressedSize, " bytes");
|
||||||
if (!compressedSize)
|
if (!compressedSize)
|
||||||
{
|
{
|
||||||
LogPrint (eLogWarning, "Unexpected size 0. Skipped");
|
LogPrint (eLogWarning, "Unexpected size 0. Skipped");
|
||||||
|
@ -570,7 +570,7 @@ namespace data
|
||||||
uint8_t paddingSize = size + 1;
|
uint8_t paddingSize = size + 1;
|
||||||
paddingSize &= 0x0F; // %16
|
paddingSize &= 0x0F; // %16
|
||||||
if (paddingSize > 0) paddingSize = 16 - paddingSize;
|
if (paddingSize > 0) paddingSize = 16 - paddingSize;
|
||||||
memset (out + size, paddingSize, paddingSize + 1); // paddind and last byte are equal to padding size
|
memset (out + size, paddingSize, paddingSize + 1); // padding and last byte are equal to padding size
|
||||||
size += paddingSize + 1;
|
size += paddingSize + 1;
|
||||||
m_Encryption.Encrypt (out + 16, size - 16, out + 16);
|
m_Encryption.Encrypt (out + 16, size - 16, out + 16);
|
||||||
return size;
|
return size;
|
||||||
|
@ -755,19 +755,19 @@ namespace data
|
||||||
// create cipher
|
// create cipher
|
||||||
if (cipherSuite[1] == 0x3D)
|
if (cipherSuite[1] == 0x3D)
|
||||||
{
|
{
|
||||||
LogPrint (eLogInfo, "Chiper suite is RSA_WITH_AES_256_CBC_SHA256");
|
LogPrint (eLogInfo, "Cipher suite is RSA_WITH_AES_256_CBC_SHA256");
|
||||||
m_Cipher = new TlsCipher_AES_256_CBC<CryptoPP::SHA256> (keys);
|
m_Cipher = new TlsCipher_AES_256_CBC<CryptoPP::SHA256> (keys);
|
||||||
}
|
}
|
||||||
else if (cipherSuite[1] == 0x35)
|
else if (cipherSuite[1] == 0x35)
|
||||||
{
|
{
|
||||||
LogPrint (eLogInfo, "Chiper suite is RSA_WITH_AES_256_CBC_SHA");
|
LogPrint (eLogInfo, "Cipher suite is RSA_WITH_AES_256_CBC_SHA");
|
||||||
m_Cipher = new TlsCipher_AES_256_CBC<CryptoPP::SHA1> (keys);
|
m_Cipher = new TlsCipher_AES_256_CBC<CryptoPP::SHA1> (keys);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// TODO:
|
// TODO:
|
||||||
if (cipherSuite[1] == 0x05)
|
if (cipherSuite[1] == 0x05)
|
||||||
LogPrint (eLogInfo, "Chiper suite is RSA_WITH_RC4_128_SHA");
|
LogPrint (eLogInfo, "Cipher suite is RSA_WITH_RC4_128_SHA");
|
||||||
m_Cipher = new TlsCipher_RC4_SHA (keys);
|
m_Cipher = new TlsCipher_RC4_SHA (keys);
|
||||||
}
|
}
|
||||||
// send finished
|
// send finished
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace data
|
||||||
|
|
||||||
Reseeder();
|
Reseeder();
|
||||||
~Reseeder();
|
~Reseeder();
|
||||||
bool reseedNow(); // depreacted
|
bool reseedNow(); // deprecated
|
||||||
int ReseedNowSU3 ();
|
int ReseedNowSU3 ();
|
||||||
|
|
||||||
void LoadCertificates ();
|
void LoadCertificates ();
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace data
|
||||||
memcpy (m_Buffer, buf, len);
|
memcpy (m_Buffer, buf, len);
|
||||||
m_BufferLen = len;
|
m_BufferLen = len;
|
||||||
ReadFromBuffer (true);
|
ReadFromBuffer (true);
|
||||||
// don't delete buffer until save to file
|
// don't delete buffer until saved to file
|
||||||
}
|
}
|
||||||
|
|
||||||
void RouterInfo::SetRouterIdentity (const IdentityEx& identity)
|
void RouterInfo::SetRouterIdentity (const IdentityEx& identity)
|
||||||
|
|
|
@ -466,7 +466,7 @@ namespace stream
|
||||||
size++; // NACK count
|
size++; // NACK count
|
||||||
}
|
}
|
||||||
size++; // resend delay
|
size++; // resend delay
|
||||||
htobuf16 (packet + size, 0); // nof flags set
|
htobuf16 (packet + size, 0); // no flags set
|
||||||
size += 2; // flags
|
size += 2; // flags
|
||||||
htobuf16 (packet + size, 0); // no options
|
htobuf16 (packet + size, 0); // no options
|
||||||
size += 2; // options size
|
size += 2; // options size
|
||||||
|
@ -668,7 +668,7 @@ namespace stream
|
||||||
m_RTO *= 2;
|
m_RTO *= 2;
|
||||||
switch (m_NumResendAttempts)
|
switch (m_NumResendAttempts)
|
||||||
{
|
{
|
||||||
case 1: // congesion avoidance
|
case 1: // congestion avoidance
|
||||||
m_WindowSize /= 2;
|
m_WindowSize /= 2;
|
||||||
if (m_WindowSize < MIN_WINDOW_SIZE) m_WindowSize = MIN_WINDOW_SIZE;
|
if (m_WindowSize < MIN_WINDOW_SIZE) m_WindowSize = MIN_WINDOW_SIZE;
|
||||||
break;
|
break;
|
||||||
|
@ -698,7 +698,7 @@ namespace stream
|
||||||
{
|
{
|
||||||
if (m_LastReceivedSequenceNumber < 0)
|
if (m_LastReceivedSequenceNumber < 0)
|
||||||
{
|
{
|
||||||
LogPrint (eLogWarning, "SYN has not been recived after ", ACK_SEND_TIMEOUT, " milliseconds after follow on. Terminate");
|
LogPrint (eLogWarning, "SYN has not been received after ", ACK_SEND_TIMEOUT, " milliseconds after follow on. Terminate");
|
||||||
m_Status = eStreamStatusReset;
|
m_Status = eStreamStatusReset;
|
||||||
Close ();
|
Close ();
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -548,7 +548,7 @@ namespace transport
|
||||||
{
|
{
|
||||||
if (!m_NextMessage) // new message, header expected
|
if (!m_NextMessage) // new message, header expected
|
||||||
{
|
{
|
||||||
// descrypt header and extract length
|
// decrypt header and extract length
|
||||||
uint8_t buf[16];
|
uint8_t buf[16];
|
||||||
m_Decryption.Decrypt (encrypted, buf);
|
m_Decryption.Decrypt (encrypted, buf);
|
||||||
uint16_t dataSize = bufbe16toh (buf);
|
uint16_t dataSize = bufbe16toh (buf);
|
||||||
|
@ -586,7 +586,7 @@ namespace transport
|
||||||
if (CryptoPP::Adler32().VerifyDigest (m_NextMessage->buf + m_NextMessageOffset - 4, m_NextMessage->buf, m_NextMessageOffset - 4))
|
if (CryptoPP::Adler32().VerifyDigest (m_NextMessage->buf + m_NextMessageOffset - 4, m_NextMessage->buf, m_NextMessageOffset - 4))
|
||||||
m_Handler.PutNextMessage (m_NextMessage);
|
m_Handler.PutNextMessage (m_NextMessage);
|
||||||
else
|
else
|
||||||
LogPrint (eLogWarning, "Incorrect adler checksum of NTCP message. Dropped");
|
LogPrint (eLogWarning, "Incorrect Adler checksum of NTCP message. Dropped");
|
||||||
m_NextMessage = nullptr;
|
m_NextMessage = nullptr;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -703,7 +703,7 @@ namespace transport
|
||||||
{
|
{
|
||||||
if (ecode != boost::asio::error::operation_aborted)
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
{
|
{
|
||||||
LogPrint ("No activity fo ", NTCP_TERMINATION_TIMEOUT, " seconds");
|
LogPrint ("No activity for ", NTCP_TERMINATION_TIMEOUT, " seconds");
|
||||||
//Terminate ();
|
//Terminate ();
|
||||||
m_Socket.close ();// invoke Terminate () from HandleReceive
|
m_Socket.close ();// invoke Terminate () from HandleReceive
|
||||||
}
|
}
|
||||||
|
|
|
@ -517,7 +517,7 @@ namespace transport
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// ecrypt with Alice's intro key
|
// encrypt with Alice's intro key
|
||||||
uint8_t iv[16];
|
uint8_t iv[16];
|
||||||
CryptoPP::RandomNumberGenerator& rnd = i2p::context.GetRandomNumberGenerator ();
|
CryptoPP::RandomNumberGenerator& rnd = i2p::context.GetRandomNumberGenerator ();
|
||||||
rnd.GenerateBlock (iv, 16); // random iv
|
rnd.GenerateBlock (iv, 16); // random iv
|
||||||
|
@ -809,7 +809,7 @@ namespace transport
|
||||||
{
|
{
|
||||||
if (ecode != boost::asio::error::operation_aborted)
|
if (ecode != boost::asio::error::operation_aborted)
|
||||||
{
|
{
|
||||||
LogPrint ("SSU no activity fo ", SSU_TERMINATION_TIMEOUT, " seconds");
|
LogPrint ("SSU no activity for ", SSU_TERMINATION_TIMEOUT, " seconds");
|
||||||
Failed ();
|
Failed ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -955,7 +955,7 @@ namespace transport
|
||||||
|
|
||||||
void SSUSession::SendPeerTest (uint32_t nonce, uint32_t address, uint16_t port,
|
void SSUSession::SendPeerTest (uint32_t nonce, uint32_t address, uint16_t port,
|
||||||
const uint8_t * introKey, bool toAddress, bool sendAddress)
|
const uint8_t * introKey, bool toAddress, bool sendAddress)
|
||||||
// toAddress is true for Alice<->Chalie communications only
|
// toAddress is true for Alice<->Charlie communications only
|
||||||
// sendAddress is false if message comes from Alice
|
// sendAddress is false if message comes from Alice
|
||||||
{
|
{
|
||||||
uint8_t buf[80 + 18] = {};
|
uint8_t buf[80 + 18] = {};
|
||||||
|
@ -1056,7 +1056,7 @@ namespace transport
|
||||||
}
|
}
|
||||||
catch (std::exception& ex)
|
catch (std::exception& ex)
|
||||||
{
|
{
|
||||||
LogPrint (eLogError, "SSU send session destoriyed exception ", ex.what ());
|
LogPrint (eLogError, "SSU send session destroyed exception ", ex.what ());
|
||||||
}
|
}
|
||||||
LogPrint (eLogDebug, "SSU session destroyed sent");
|
LogPrint (eLogDebug, "SSU session destroyed sent");
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ namespace transport
|
||||||
while ((num = m_QueueSize - m_Queue.size ()) > 0)
|
while ((num = m_QueueSize - m_Queue.size ()) > 0)
|
||||||
CreateDHKeysPairs (num);
|
CreateDHKeysPairs (num);
|
||||||
std::unique_lock<std::mutex> l(m_AcquiredMutex);
|
std::unique_lock<std::mutex> l(m_AcquiredMutex);
|
||||||
m_Acquired.wait (l); // wait for element gets aquired
|
m_Acquired.wait (l); // wait for element gets acquired
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -547,7 +547,7 @@ namespace tunnel
|
||||||
|
|
||||||
if (m_OutboundTunnels.size () < 5)
|
if (m_OutboundTunnels.size () < 5)
|
||||||
{
|
{
|
||||||
// trying to create one more oubound tunnel
|
// trying to create one more outbound tunnel
|
||||||
auto inboundTunnel = GetNextInboundTunnel ();
|
auto inboundTunnel = GetNextInboundTunnel ();
|
||||||
auto router = i2p::data::netdb.GetRandomRouter ();
|
auto router = i2p::data::netdb.GetRandomRouter ();
|
||||||
if (!inboundTunnel || !router) return;
|
if (!inboundTunnel || !router) return;
|
||||||
|
|
|
@ -199,7 +199,7 @@ namespace tunnel
|
||||||
return;
|
return;
|
||||||
hop = hop->next;
|
hop = hop->next;
|
||||||
}
|
}
|
||||||
// we didn't reach enpoint that mean we are last hop
|
// we didn't reach endpoint that mean we are last hop
|
||||||
s << ":me";
|
s << ":me";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ namespace tunnel
|
||||||
{
|
{
|
||||||
if (msgID) // msgID is presented, assume message is fragmented
|
if (msgID) // msgID is presented, assume message is fragmented
|
||||||
{
|
{
|
||||||
if (!isFollowOnFragment) // create new incomlete message
|
if (!isFollowOnFragment) // create new incomplete message
|
||||||
{
|
{
|
||||||
m.nextFragmentNum = 1;
|
m.nextFragmentNum = 1;
|
||||||
auto ret = m_IncompleteMessages.insert (std::pair<uint32_t, TunnelMessageBlockEx>(msgID, m));
|
auto ret = m_IncompleteMessages.insert (std::pair<uint32_t, TunnelMessageBlockEx>(msgID, m));
|
||||||
|
|
|
@ -32,12 +32,12 @@ namespace tunnel
|
||||||
if (m_NumInboundHops > size)
|
if (m_NumInboundHops > size)
|
||||||
{
|
{
|
||||||
m_NumInboundHops = size;
|
m_NumInboundHops = size;
|
||||||
LogPrint (eLogInfo, "Inbound tunnel length has beed adjusted to ", size, " for explicit peers");
|
LogPrint (eLogInfo, "Inbound tunnel length has been adjusted to ", size, " for explicit peers");
|
||||||
}
|
}
|
||||||
if (m_NumOutboundHops > size)
|
if (m_NumOutboundHops > size)
|
||||||
{
|
{
|
||||||
m_NumOutboundHops = size;
|
m_NumOutboundHops = size;
|
||||||
LogPrint (eLogInfo, "Outbound tunnel length has beed adjusted to ", size, " for explicit peers");
|
LogPrint (eLogInfo, "Outbound tunnel length has been adjusted to ", size, " for explicit peers");
|
||||||
}
|
}
|
||||||
m_NumInboundTunnels = 1;
|
m_NumInboundTunnels = 1;
|
||||||
m_NumOutboundTunnels = 1;
|
m_NumOutboundTunnels = 1;
|
||||||
|
|
|
@ -74,7 +74,7 @@ public:
|
||||||
std::string toString() const;
|
std::string toString() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the message associated with the satus of this response, or the
|
* @return the message associated with the status of this response, or the
|
||||||
* empty string if the status number is invalid
|
* empty string if the status number is invalid
|
||||||
*/
|
*/
|
||||||
std::string getStatusMessage() const;
|
std::string getStatusMessage() const;
|
||||||
|
|
Loading…
Reference in a new issue