From 7b785ea45454a1ca085f90e194b23298b0a275d4 Mon Sep 17 00:00:00 2001 From: zzz Date: Wed, 23 Dec 2020 10:05:58 -0500 Subject: [PATCH] I2CP: Fix encrypted leaseset for ECIES and dual-key encryption, and for offline keys --- .../impl/RequestLeaseSetMessageHandler.java | 17 +++++++++-------- history.txt | 1 + .../java/src/net/i2p/router/RouterVersion.java | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/core/java/src/net/i2p/client/impl/RequestLeaseSetMessageHandler.java b/core/java/src/net/i2p/client/impl/RequestLeaseSetMessageHandler.java index 546213211..e8d6444b8 100644 --- a/core/java/src/net/i2p/client/impl/RequestLeaseSetMessageHandler.java +++ b/core/java/src/net/i2p/client/impl/RequestLeaseSetMessageHandler.java @@ -99,14 +99,8 @@ class RequestLeaseSetMessageHandler extends HandlerImpl { protected boolean requiresLS2(I2PSessionImpl session) { if (!session.supportsLS2()) return false; - if (session.isOffline()) - return true; - String s = session.getOptions().getProperty(PROP_LS_ENCTYPE); - if (s != null) { - if (!s.equals("0") && !s.equals("ELGAMAL_2048")) - return true; - } - s = session.getOptions().getProperty(PROP_LS_TYPE); + // we do this check first because we must set _ls2Type regardless + String s = session.getOptions().getProperty(PROP_LS_TYPE); if (s != null) { try { int type = Integer.parseInt(s); @@ -119,6 +113,13 @@ class RequestLeaseSetMessageHandler extends HandlerImpl { return true; } } + if (session.isOffline()) + return true; + s = session.getOptions().getProperty(PROP_LS_ENCTYPE); + if (s != null) { + if (!s.equals("0") && !s.equals("ELGAMAL_2048")) + return true; + } return false; } diff --git a/history.txt b/history.txt index 992f53881..3b4706236 100644 --- a/history.txt +++ b/history.txt @@ -1,5 +1,6 @@ 2020-12-23 zzz * Crypto: Increase ratchet tag window + * I2CP: Fix encrypted leaseset for ECIES and offline keys 2020-12-22 zzz * Console: diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index a6204817e..f2522cd4e 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 8; + public final static long BUILD = 9; /** for example "-test" */ public final static String EXTRA = "";