From c6b1f5053feaea972010223fd59623dca90bc5a4 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Tue, 2 Sep 2014 14:09:41 +0000
Subject: [PATCH] dont bundle IPv6-only RIs

---
 .../router/networkdb/kademlia/PersistentDataStore.java    | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java b/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java
index f4e6767ca4..5e8d863e14 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/PersistentDataStore.java
@@ -787,16 +787,24 @@ class PersistentDataStore extends TransientDataStore {
                     continue;
                 }
                 boolean hasIntro = false;
+                boolean hasIPv4 = false;
                 for (RouterAddress addr : addrs) {
                     if ("SSU".equals(addr.getTransportStyle()) && addr.getOption("ihost0") != null) {
                         hasIntro = true;
                         break;
                     }
+                    String host = addr.getHost();
+                    if (host != null && host.contains("."))
+                        hasIPv4 = true;
                 }
                 if (hasIntro) {
                     System.out.println("Skipping introduced " + key);
                     continue;
                 }
+                if (!hasIPv4) {
+                    System.out.println("Skipping IPv6-only " + key);
+                    continue;
+                }
                 File toFile = new File(toDir, file.getName());
                 // We could call ri.write() to avoid simultaneous change by the router
                 boolean ok = FileUtil.copy(file, toFile, true, true);
-- 
GitLab