From 1cdcf1cb0ab7f13d2ddea151c54bedcbb759e113 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 7 May 2014 16:00:38 +0000
Subject: [PATCH] i2ptunnel: Display warning for duplicate client ports (ticket
 #1265)

---
 .../java/src/net/i2p/i2ptunnel/web/IndexBean.java      | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
index d275d385ce..cb1b25ae71 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
@@ -490,6 +490,16 @@ public class IndexBean {
                 return "<font color=\"red\">" +
                        _("Warning - ports less than 1024 are not recommended") +
                        ": " + port + "</font>";
+            // dup check, O(n**2)
+            List<TunnelController> controllers = _group.getControllers();
+            for (int i = 0; i < controllers.size(); i++) {
+                if (i == tunnel)
+                    continue;
+                if (port.equals(controllers.get(i).getListenPort()))
+                    return "<font color=\"red\">" +
+                           _("Warning - duplicate port") +
+                           ": " + port + "</font>";
+            }
             return port;
         }
         return "<font color=\"red\">" + _("Port not set") + "</font>";
-- 
GitLab