From 29f9986f40ce195b998728b3b83216b0eaab4607 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sat, 29 Feb 2020 14:44:07 +0000 Subject: [PATCH] i2ptunnel: Check for same interface before warning of dup port --- .../src/net/i2p/i2ptunnel/web/IndexBean.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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 85fcd595b8..5951ce1e2d 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java @@ -420,13 +420,23 @@ public class IndexBean { ": " + port + "</font>"; // dup check, O(n**2) List<TunnelController> controllers = _group.getControllers(); + String ifc = tun.getListenOnInterface(); for (int i = 0; i < controllers.size(); i++) { if (i == tunnel) continue; - if (port.equals(controllers.get(i).getListenPort())) - return "<font color=\"red\">" + - _t("Warning - duplicate port") + - ": " + port + "</font>"; + TunnelController tc = controllers.get(i); + if (port.equals(tc.getListenPort())) { + String ifc2 = tc.getListenOnInterface(); + if (DataHelper.eq(ifc, ifc2) || + "0.0.0.0".equals(ifc) || + "0.0.0.0".equals(ifc2) || + "0:0:0:0:0:0:0:0".equals(ifc) || + "0:0:0:0:0:0:0:0".equals(ifc2)) { + return "<font color=\"red\">" + + _t("Warning - duplicate port") + + ": " + port + "</font>"; + } + } } return port; } -- GitLab