From 252a7972a196b30b740db5e38c0db97cc1a6cbee Mon Sep 17 00:00:00 2001
From: zab2 <zab2@mail.i2p>
Date: Thu, 21 Nov 2019 15:12:04 +0000
Subject: [PATCH] only load a file filter definition if the definition has been
 modified since the last load

---
 .../net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java
index 4e7afa97c9..9af726a485 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/access/FileFilterDefinitionElement.java
@@ -18,6 +18,7 @@ import net.i2p.data.Hash;
 class FileFilterDefinitionElement extends FilterDefinitionElement {
 
     private final File file;
+    private volatile long lastLoading;
 
     /**
      * @param file file to read the remote destinations from
@@ -30,8 +31,9 @@ class FileFilterDefinitionElement extends FilterDefinitionElement {
 
     @Override
     public void update(Map<Hash, DestTracker> map) throws IOException {
-        if (!(file.exists() && file.isFile()))
+        if (!(file.exists() && file.isFile() && file.lastModified() > lastLoading))
             return;
+        lastLoading = System.currentTimeMillis();
         BufferedReader reader = null; 
         try {
             reader = new BufferedReader(new FileReader(file)); 
-- 
GitLab