From e9bd6907d121671851a73e3c69b3ef337fc35729 Mon Sep 17 00:00:00 2001 From: zzz <zzz> Date: Sat, 22 Dec 2007 23:58:46 +0000 Subject: [PATCH] 2007-12-22 zzz * Add support for multiple update URLs * Change default for update to use i2p proxy, add several URLs as defaults * Enable trusted key form on configupdate.jsp --- .../i2p/router/web/ConfigUpdateHandler.java | 5 +++-- .../src/net/i2p/router/web/UpdateHandler.java | 22 +++++++++++++++++-- apps/routerconsole/jsp/configupdate.jsp | 7 +++--- history.txt | 14 ++++++++++-- .../src/net/i2p/router/RouterVersion.java | 4 ++-- 5 files changed, 41 insertions(+), 11 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java index f059dc94e1..d83ce09e2d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java @@ -24,11 +24,12 @@ public class ConfigUpdateHandler extends FormHandler { public static final String PROP_REFRESH_FREQUENCY = "router.newsRefreshFrequency"; public static final String DEFAULT_REFRESH_FREQUENCY = 12*60*60*1000 + ""; public static final String PROP_UPDATE_URL = "router.updateURL"; - public static final String DEFAULT_UPDATE_URL = "http://dev.i2p.net/i2p/i2pupdate.sud"; +// public static final String DEFAULT_UPDATE_URL = "http://dev.i2p.net/i2p/i2pupdate.sud"; + public static final String DEFAULT_UPDATE_URL = "http://amiga.i2p/i2p/i2pupdate.sud,http://stats.i2p/i2p/i2pupdate.sud,http://complication.i2p/i2p/i2pupdate.sud"; public static final String PROP_UPDATE_POLICY = "router.updatePolicy"; public static final String DEFAULT_UPDATE_POLICY = "notify"; public static final String PROP_SHOULD_PROXY = "router.updateThroughProxy"; - public static final String DEFAULT_SHOULD_PROXY = Boolean.FALSE.toString(); + public static final String DEFAULT_SHOULD_PROXY = Boolean.TRUE.toString(); public static final String PROP_PROXY_HOST = "router.updateProxyHost"; public static final String DEFAULT_PROXY_HOST = "localhost"; public static final String PROP_PROXY_PORT = "router.updateProxyPort"; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java index 4ed2dae909..02e5bc99fa 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java @@ -2,6 +2,9 @@ package net.i2p.router.web; import java.io.File; import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.StringTokenizer; import net.i2p.I2PAppContext; import net.i2p.crypto.TrustedUpdate; @@ -102,7 +105,7 @@ public class UpdateHandler { private void update() { _startedOn = -1; _status = "<b>Updating</b><br />"; - String updateURL = _context.getProperty(ConfigUpdateHandler.PROP_UPDATE_URL, ConfigUpdateHandler.DEFAULT_UPDATE_URL); + String updateURL = selectUpdateURL(); boolean shouldProxy = Boolean.valueOf(_context.getProperty(ConfigUpdateHandler.PROP_SHOULD_PROXY, ConfigUpdateHandler.DEFAULT_SHOULD_PROXY)).booleanValue(); String proxyHost = _context.getProperty(ConfigUpdateHandler.PROP_PROXY_HOST, ConfigUpdateHandler.DEFAULT_PROXY_HOST); String port = _context.getProperty(ConfigUpdateHandler.PROP_PROXY_PORT, ConfigUpdateHandler.DEFAULT_PROXY_PORT); @@ -162,7 +165,7 @@ public class UpdateHandler { } } public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt) { - _log.log(Log.CRIT, "Update did not download completely (" + bytesTransferred + " with " + _log.log(Log.CRIT, "Update from " + url + " did not download completely (" + bytesTransferred + " with " + bytesRemaining + " after " + currentAttempt + " tries)"); _status = "<b>Transfer failed</b><br />"; @@ -176,4 +179,19 @@ public class UpdateHandler { _context.router().addShutdownTask(new ConfigServiceHandler.UpdateWrapperManagerTask(Router.EXIT_GRACEFUL_RESTART)); _context.router().shutdownGracefully(Router.EXIT_GRACEFUL_RESTART); } + + private String selectUpdateURL() { + String URLs = _context.getProperty(ConfigUpdateHandler.PROP_UPDATE_URL, ConfigUpdateHandler.DEFAULT_UPDATE_URL); + StringTokenizer tok = new StringTokenizer(URLs, ","); + List URLList = new ArrayList(); + while (tok.hasMoreTokens()) + URLList.add(tok.nextToken().trim()); + int size = URLList.size(); + if (size <= 0) { + _log.log(Log.WARN, "Update list is empty - no update available"); + return null; + } + int index = I2PAppContext.getGlobalContext().random().nextInt(size); + return (String) URLList.get(index); + } } diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp index 3ddc875086..096f44d003 100644 --- a/apps/routerconsole/jsp/configupdate.jsp +++ b/apps/routerconsole/jsp/configupdate.jsp @@ -32,8 +32,8 @@ <input type="text" size="60" name="newsURL" value="<jsp:getProperty name="updatehelper" property="newsURL" />"><br /> Refresh frequency: <jsp:getProperty name="updatehelper" property="refreshFrequencySelectBox" /><br /> - Update URL: - <input type="text" size="60" name="updateURL" value="<jsp:getProperty name="updatehelper" property="updateURL" />"><br /> + Update URLs: + <input type="text" size="90" name="updateURL" value="<jsp:getProperty name="updatehelper" property="updateURL" />"><br /> Update policy: <jsp:getProperty name="updatehelper" property="updatePolicySelectBox" /><br /> Update through the eepProxy? @@ -42,7 +42,8 @@ Update through the eepProxy? eepProxy port: <input type="text" size="4" name="proxyPort" value="<jsp:getProperty name="updatehelper" property="proxyPort" />" /><br /> <!-- prompt for the eepproxy --> Trusted keys: - <textarea name="trustedKeys" disabled="true" cols="60" rows="2"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea> + <textarea name="trustedKeys" cols="60" rows="2"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea> + <br /><br /> <input type="submit" name="action" value="Save" /> </form> </div> diff --git a/history.txt b/history.txt index e07cdaaca8..5dfa3af8e9 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,14 @@ -$Id: history.txt,v 1.600 2007-12-02 23:19:25 complication Exp $ +$Id: history.txt,v 1.601 2007-12-10 17:23:00 zzz Exp $ + +2007-12-22 zzz + * Add support for multiple update URLs + * Change default for update to use i2p proxy, + add several URLs as defaults + * Enable trusted key form on configupdate.jsp + * Clarify the 'destination not found' error page + +2007-12-16 zzz + * i2psnark: remove anonymitytracker from default list 2007-12-10 zzz * Fix NPE in CLI TrustedUpdate keygen @@ -23,7 +33,7 @@ $Id: history.txt,v 1.600 2007-12-02 23:19:25 complication Exp $ (bitfield never transmitted, connection never dropped) 2007-11-06 jrandom - * add i2phost.i2p to the jump list + * add i2host.i2p to the jump list 2007-10-11 zzz * IRC Proxy: Fix several possible anonymity holes: diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 6f9b3b154c..de2b8d16c6 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -15,9 +15,9 @@ import net.i2p.CoreVersion; * */ public class RouterVersion { - public final static String ID = "$Revision: 1.535 $ $Date: 2007-12-02 23:19:28 $"; + public final static String ID = "$Revision: 1.536 $ $Date: 2007-12-10 17:22:59 $"; public final static String VERSION = "0.6.1.30"; - public final static long BUILD = 7; + public final static long BUILD = 8; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); -- GitLab