From 172f0c9d955461645480bf12a98278e03bc2ab85 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 3 Feb 2018 16:53:56 +0000
Subject: [PATCH] Console: Fix "UnreachableOK" on /profiles (ticket #2148)

---
 .../web/helpers/ProfileOrganizerRenderer.java  | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java
index 4aa4aa01ea..cb7d327878 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java
@@ -173,13 +173,23 @@ class ProfileOrganizerRenderer {
             }
             buf.append("</td><td align=\"right\">").append(num(prof.getIntegrationValue()));
             buf.append("</td><td align=\"center\">");
-            if (_context.banlist().isBanlisted(peer)) buf.append(_t("Banned"));
-            if (prof.getIsFailing()) buf.append(' ').append(_t("Failing"));
-            if (_context.commSystem().wasUnreachable(peer)) buf.append(' ').append(_t("Unreachable"));
+            boolean ok = true;
+            if (_context.banlist().isBanlisted(peer)) {
+                buf.append(_t("Banned"));
+                ok = false;
+            }
+            if (prof.getIsFailing()) {
+                buf.append(' ').append(_t("Failing"));
+                ok = false;
+            }
+            if (_context.commSystem().wasUnreachable(peer)) {
+                buf.append(' ').append(_t("Unreachable"));
+                ok = false;
+            }
             RateAverages ra = RateAverages.getTemp();
             Rate failed = prof.getTunnelHistory().getFailedRate().getRate(30*60*1000);
             long fails = failed.computeAverages(ra, false).getTotalEventCount();
-            if (fails == 0) {
+            if (ok && fails == 0) {
                 buf.append(_t("OK"));
             } else if (fails > 0) {
                 Rate accepted = prof.getTunnelCreateResponseTime().getRate(30*60*1000);
-- 
GitLab