diff --git a/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java b/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java
index 792d0b70b..9676c7b60 100644
--- a/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java
+++ b/apps/routerconsole/java/src/net/i2p/router/update/ConsoleUpdateManager.java
@@ -866,7 +866,12 @@ public class ConsoleUpdateManager implements UpdateManager, RouterApp {
if (!oldSources.contains(uri)) {
if (_log.shouldLog(Log.WARN))
_log.warn(ui.toString() + ' ' + oldVA + " adding " + uri + " to method " + method);
- oldSources.add(uri);
+ try {
+ oldSources.add(uri);
+ } catch (UnsupportedOperationException uoe) {
+ // rare case, changed URL but it's a singleton list, replace old list
+ oldVA.sourceMap.put(method, Collections.singletonList(uri));
+ }
}
}
} else {
diff --git a/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateChecker.java b/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateChecker.java
index 2881fa478..5b9702143 100644
--- a/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateChecker.java
+++ b/apps/routerconsole/java/src/net/i2p/router/update/UnsignedUpdateChecker.java
@@ -3,6 +3,7 @@ package net.i2p.router.update;
import java.net.URI;
import java.util.List;
+import net.i2p.data.DataHelper;
import net.i2p.router.RouterContext;
import net.i2p.router.web.ConfigUpdateHandler;
import net.i2p.update.*;
@@ -37,6 +38,7 @@ class UnsignedUpdateChecker extends UpdateRunner {
try {
success = fetchUnsignedHead();
} catch (Throwable t) {
+ _log.error("Error checking for unsigned update", t);
_mgr.notifyTaskFailed(this, "", t);
} finally {
_mgr.notifyCheckComplete(this, _unsignedUpdateAvailable, success);
@@ -69,7 +71,7 @@ class UnsignedUpdateChecker extends UpdateRunner {
}
//updateStatus("" + _t("Checking for development build update") + "");
- try {
+ //try {
EepHead get = new EepHead(_context, proxyHost, proxyPort, 0, url);
if (get.fetch()) {
String lastmod = get.getLastModified();
@@ -92,10 +94,22 @@ class UnsignedUpdateChecker extends UpdateRunner {
}
}
return true;
+ } else {
+ int status = get.getStatusCode();
+ String msg;
+ if (status == 504 || status <= 0)
+ msg = "Unable to connect to development update server " + _currentURI.getHost();
+ else if (status == 500)
+ msg = "Development update server " + _currentURI.getHost() + " not found in address book";
+ else if (status == 404)
+ msg = "Update file not found on development update server at " + url;
+ else
+ msg = status + " " + DataHelper.stripHTML(get.getStatusText());
+ updateStatus("" + msg + "");
}
- } catch (Throwable t) {
- _log.error("Error fetching the update", t);
- }
+ //} catch (Throwable t) {
+ // _log.error("Error fetching the update", t);
+ //}
return false;
}
}