mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-11 17:37:53 +00:00
handle i2cp.dontPublishLeaseSet for all destinations
This commit is contained in:
parent
e740d5fc4f
commit
d752a83eb5
@ -82,6 +82,14 @@ namespace client
|
|||||||
if (it != params->end ()) m_Nickname = it->second;
|
if (it != params->end ()) m_Nickname = it->second;
|
||||||
// otherwise we set default nickname in Start when we know local address
|
// otherwise we set default nickname in Start when we know local address
|
||||||
}
|
}
|
||||||
|
it = params->find (I2CP_PARAM_DONT_PUBLISH_LEASESET);
|
||||||
|
if (it != params->end ())
|
||||||
|
{
|
||||||
|
// oveeride isPublic
|
||||||
|
bool dontpublish = false;
|
||||||
|
i2p::config::GetOption (it->second, dontpublish);
|
||||||
|
m_IsPublic = !dontpublish;
|
||||||
|
}
|
||||||
it = params->find (I2CP_PARAM_LEASESET_TYPE);
|
it = params->find (I2CP_PARAM_LEASESET_TYPE);
|
||||||
if (it != params->end ())
|
if (it != params->end ())
|
||||||
m_LeaseSetType = std::stoi(it->second);
|
m_LeaseSetType = std::stoi(it->second);
|
||||||
@ -509,7 +517,7 @@ namespace client
|
|||||||
// schedule verification
|
// schedule verification
|
||||||
m_PublishVerificationTimer.expires_from_now (boost::posix_time::seconds(PUBLISH_VERIFICATION_TIMEOUT));
|
m_PublishVerificationTimer.expires_from_now (boost::posix_time::seconds(PUBLISH_VERIFICATION_TIMEOUT));
|
||||||
m_PublishVerificationTimer.async_wait (std::bind (&LeaseSetDestination::HandlePublishVerificationTimer,
|
m_PublishVerificationTimer.async_wait (std::bind (&LeaseSetDestination::HandlePublishVerificationTimer,
|
||||||
shared_from_this (), std::placeholders::_1));
|
shared_from_this (), std::placeholders::_1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
i2p::garlic::GarlicDestination::HandleDeliveryStatusMessage (msgID);
|
i2p::garlic::GarlicDestination::HandleDeliveryStatusMessage (msgID);
|
||||||
@ -592,7 +600,8 @@ namespace client
|
|||||||
// assume it successive and try to verify
|
// assume it successive and try to verify
|
||||||
m_PublishVerificationTimer.expires_from_now (boost::posix_time::seconds(PUBLISH_VERIFICATION_TIMEOUT));
|
m_PublishVerificationTimer.expires_from_now (boost::posix_time::seconds(PUBLISH_VERIFICATION_TIMEOUT));
|
||||||
m_PublishVerificationTimer.async_wait (std::bind (&LeaseSetDestination::HandlePublishVerificationTimer,
|
m_PublishVerificationTimer.async_wait (std::bind (&LeaseSetDestination::HandlePublishVerificationTimer,
|
||||||
shared_from_this (), std::placeholders::_1));
|
shared_from_this (), std::placeholders::_1));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,14 +61,15 @@ namespace client
|
|||||||
const char I2CP_PARAM_RATCHET_OUTBOUND_TAGS[] = "crypto.ratchet.outboundTags"; // not used yet
|
const char I2CP_PARAM_RATCHET_OUTBOUND_TAGS[] = "crypto.ratchet.outboundTags"; // not used yet
|
||||||
const char I2CP_PARAM_INBOUND_NICKNAME[] = "inbound.nickname";
|
const char I2CP_PARAM_INBOUND_NICKNAME[] = "inbound.nickname";
|
||||||
const char I2CP_PARAM_OUTBOUND_NICKNAME[] = "outbound.nickname";
|
const char I2CP_PARAM_OUTBOUND_NICKNAME[] = "outbound.nickname";
|
||||||
|
const char I2CP_PARAM_DONT_PUBLISH_LEASESET[] = "i2cp.dontPublishLeaseSet";
|
||||||
const char I2CP_PARAM_LEASESET_TYPE[] = "i2cp.leaseSetType";
|
const char I2CP_PARAM_LEASESET_TYPE[] = "i2cp.leaseSetType";
|
||||||
const int DEFAULT_LEASESET_TYPE = 3;
|
const int DEFAULT_LEASESET_TYPE = 3;
|
||||||
const char I2CP_PARAM_LEASESET_ENCRYPTION_TYPE[] = "i2cp.leaseSetEncType";
|
const char I2CP_PARAM_LEASESET_ENCRYPTION_TYPE[] = "i2cp.leaseSetEncType";
|
||||||
const char I2CP_PARAM_LEASESET_PRIV_KEY[] = "i2cp.leaseSetPrivKey"; // PSK decryption key, base64
|
const char I2CP_PARAM_LEASESET_PRIV_KEY[] = "i2cp.leaseSetPrivKey"; // PSK decryption key, base64
|
||||||
const char I2CP_PARAM_LEASESET_AUTH_TYPE[] = "i2cp.leaseSetAuthType";
|
const char I2CP_PARAM_LEASESET_AUTH_TYPE[] = "i2cp.leaseSetAuthType";
|
||||||
const char I2CP_PARAM_LEASESET_CLIENT_DH[] = "i2cp.leaseSetClient.dh"; // group of i2cp.leaseSetClient.dh.nnn
|
const char I2CP_PARAM_LEASESET_CLIENT_DH[] = "i2cp.leaseSetClient.dh"; // group of i2cp.leaseSetClient.dh.nnn
|
||||||
const char I2CP_PARAM_LEASESET_CLIENT_PSK[] = "i2cp.leaseSetClient.psk"; // group of i2cp.leaseSetClient.psk.nnn
|
const char I2CP_PARAM_LEASESET_CLIENT_PSK[] = "i2cp.leaseSetClient.psk"; // group of i2cp.leaseSetClient.psk.nnn
|
||||||
|
|
||||||
// latency
|
// latency
|
||||||
const char I2CP_PARAM_MIN_TUNNEL_LATENCY[] = "latency.min";
|
const char I2CP_PARAM_MIN_TUNNEL_LATENCY[] = "latency.min";
|
||||||
const int DEFAULT_MIN_TUNNEL_LATENCY = 0;
|
const int DEFAULT_MIN_TUNNEL_LATENCY = 0;
|
||||||
|
@ -544,13 +544,11 @@ namespace client
|
|||||||
offset += 8; // date
|
offset += 8; // date
|
||||||
if (identity->Verify (buf, offset, buf + offset)) // signature
|
if (identity->Verify (buf, offset, buf + offset)) // signature
|
||||||
{
|
{
|
||||||
bool isPublic = true;
|
|
||||||
if (params[I2CP_PARAM_DONT_PUBLISH_LEASESET] == "true") isPublic = false;
|
|
||||||
if (!m_Destination)
|
if (!m_Destination)
|
||||||
{
|
{
|
||||||
m_Destination = m_Owner.IsSingleThread () ?
|
m_Destination = m_Owner.IsSingleThread () ?
|
||||||
std::make_shared<I2CPDestination>(m_Owner.GetService (), shared_from_this (), identity, isPublic, params):
|
std::make_shared<I2CPDestination>(m_Owner.GetService (), shared_from_this (), identity, true, params):
|
||||||
std::make_shared<RunnableI2CPDestination>(shared_from_this (), identity, isPublic, params);
|
std::make_shared<RunnableI2CPDestination>(shared_from_this (), identity, true, params);
|
||||||
SendSessionStatusMessage (1); // created
|
SendSessionStatusMessage (1); // created
|
||||||
LogPrint (eLogDebug, "I2CP: session ", m_SessionID, " created");
|
LogPrint (eLogDebug, "I2CP: session ", m_SessionID, " created");
|
||||||
m_Destination->Start ();
|
m_Destination->Start ();
|
||||||
|
@ -62,7 +62,6 @@ namespace client
|
|||||||
};
|
};
|
||||||
|
|
||||||
// params
|
// params
|
||||||
const char I2CP_PARAM_DONT_PUBLISH_LEASESET[] = "i2cp.dontPublishLeaseSet";
|
|
||||||
const char I2CP_PARAM_MESSAGE_RELIABILITY[] = "i2cp.messageReliability";
|
const char I2CP_PARAM_MESSAGE_RELIABILITY[] = "i2cp.messageReliability";
|
||||||
|
|
||||||
class I2CPSession;
|
class I2CPSession;
|
||||||
|
Loading…
Reference in New Issue
Block a user