From 3bf3a4ff9d6952b56cc0bb29fd1cc6272e980cdc Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Tue, 20 Jul 2021 10:26:17 -0400
Subject: [PATCH] NetDB: Increase min ff version to 0.9.38

previously was .38 for LS2 stores/lookups only
---
 .../networkdb/kademlia/FloodfillNetworkDatabaseFacade.java   | 2 ++
 .../router/networkdb/kademlia/FloodfillVerifyStoreJob.java   | 4 ++--
 .../i2p/router/networkdb/kademlia/IterativeSearchJob.java    | 3 +--
 .../java/src/net/i2p/router/networkdb/kademlia/StoreJob.java | 5 ++++-
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
index 56083a05ac..ab6244bdf8 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java
@@ -304,9 +304,11 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad
        if (peer.equals(_context.routerHash()))
            return false;
        // min version checks
+/*
        if (type != DatabaseEntry.KEY_TYPE_ROUTERINFO && type != DatabaseEntry.KEY_TYPE_LEASESET &&
            !StoreJob.shouldStoreLS2To(target))
            return false;
+*/
        if ((type == DatabaseEntry.KEY_TYPE_ENCRYPTED_LS2 ||
             lsSigType == SigType.RedDSA_SHA512_Ed25519) &&
            !StoreJob.shouldStoreEncLS2To(target))
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java
index 338b556861..f9e024a396 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java
@@ -268,8 +268,8 @@ class FloodfillVerifyStoreJob extends JobImpl {
                 RouterInfo ri = _facade.lookupRouterInfoLocally(peer);
                 //if (ri != null && StoreJob.supportsCert(ri, keyCert)) {
                 if (ri != null && StoreJob.shouldStoreTo(ri) &&
-                    (!_isLS2 || (StoreJob.shouldStoreLS2To(ri) &&
-                                 (_type != DatabaseEntry.KEY_TYPE_ENCRYPTED_LS2 || StoreJob.shouldStoreEncLS2To(ri))))) {
+                    //(!_isLS2 || (StoreJob.shouldStoreLS2To(ri) &&
+                                 (_type != DatabaseEntry.KEY_TYPE_ENCRYPTED_LS2 || StoreJob.shouldStoreEncLS2To(ri))) {
                     Set<String> peerIPs = new MaskedIPSet(getContext(), ri, IP_CLOSE_BYTES);
                     if (!_ipSet.containsAny(peerIPs)) {
                         _ipSet.addAll(peerIPs);
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java
index fb4997002a..a1799bfa1a 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/IterativeSearchJob.java
@@ -321,8 +321,7 @@ public class IterativeSearchJob extends FloodSearchJob {
                 // querying old floodfills that don't know about those sig types.
                 // This is also more recent than the version that supports encrypted replies,
                 // so we won't request unencrypted replies anymore either.
-                if (!StoreJob.shouldStoreTo(ri) ||
-                    (_isLease && !StoreJob.shouldStoreLS2To(ri))) {
+                if (!StoreJob.shouldStoreTo(ri)) {
                     failed(peer, false);
                     if (_log.shouldInfo())
                         _log.info(getJobId() + ": not sending query to old router: " + ri);
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java
index a00de87c30..addb6e6063 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java
@@ -215,12 +215,15 @@ abstract class StoreJob extends JobImpl {
                         _log.info(getJobId() + ": Skipping router that doesn't support EncLS2/RedDSA " + peer);
                     _state.addSkipped(peer);
                     skipped++;
+/*
+                // same as shouldStoreTo() now
                 } else if (isls2 &&
                            !shouldStoreLS2To((RouterInfo)ds)) {
                     if (_log.shouldLog(Log.INFO))
                         _log.info(getJobId() + ": Skipping router that doesn't support LS2 " + peer);
                     _state.addSkipped(peer);
                     skipped++;
+*/
                 } else {
                     int peerTimeout = _facade.getPeerTimeout(peer);
 
@@ -641,7 +644,7 @@ abstract class StoreJob extends JobImpl {
     }
 
     /** @since 0.9.28 */
-    public static final String MIN_STORE_VERSION = "0.9.28";
+    public static final String MIN_STORE_VERSION = "0.9.38";
 
     /**
      * Is it new enough?
-- 
GitLab