Merge pull request #2560 from PurpleI2P/revert-2556-ls2-key-section-length

Revert "LeaseSet2: check declared key length before creating an encryptor"
This commit is contained in:
orignal authored and GitHub committed 2026-09-16 07:28:09 -04:00
commit 35eaa9e426
2 files changed
+2 -7

No files matched your search

+1 -1
View File
@@ -181,7 +181,7 @@ namespace crypto
switch (type)
{
case i2p::data::CRYPTO_KEY_TYPE_ELGAMAL: return 256;
case i2p::data::CRYPTO_KEY_TYPE_ECIES_P256_SHA256_AES256CBC: return 64; // x and y, 32 bytes each
case i2p::data::CRYPTO_KEY_TYPE_ECIES_P256_SHA256_AES256CBC: return 32;
case i2p::data::CRYPTO_KEY_TYPE_ECIES_X25519_AEAD: return 32;
// ML-KEM hybrid
case i2p::data::CRYPTO_KEY_TYPE_ECIES_MLKEM512_X25519_AEAD:
+1 -6
View File
@@ -423,12 +423,7 @@ namespace data
if (keyType <= i2p::data::CRYPTO_KEY_TYPE_ECIES_X25519_AEAD) // skip PQ keys if not supported
#endif
{
// encryptionKeyLen is the length the publisher declares, and it was
// checked against the buffer. The encryptor reads a length fixed by
// the key type instead, so a section declaring a short ElGamal key
// makes it read 256 bytes out of a few
if (encryptionKeyLen >= i2p::crypto::GetCryptoPublicKeyLen (keyType) &&
(keyType == m_PreferredEncryptionType || !newEncryptor || keyType > newEncryptionType) &&
if ((keyType == m_PreferredEncryptionType || !newEncryptor || keyType > newEncryptionType) &&
(!dest || dest->SupportsEncryptionType (keyType)))
{
auto encryptor = i2p::data::IdentityEx::CreateEncryptor (keyType, buf + offset);