diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginUpdateChecker.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginUpdateChecker.java index 28c1e5aa5..8645df585 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/PluginUpdateChecker.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginUpdateChecker.java @@ -17,18 +17,13 @@ import net.i2p.util.PartialEepGet; import net.i2p.util.VersionComparator; /** - * Download and install a plugin. + * Check for an updated version of a plugin. * A plugin is a standard .sud file with a 40-byte signature, * a 16-byte version, and a .zip file. - * Unlike for router updates, we need not have the public key - * for the signature in advance. * - * The zip file must have a standard directory layout, with - * a plugin.config file at the top level. - * The config file contains properties for the package name, version, - * signing public key, and other settings. - * The zip file will typically contain a webapps/ or lib/ dir, - * and a webapps.config and/or clients.config file. + * So we get the current version and update URL for the installed plugin, + * then fetch the first 56 bytes of the URL, extract the version, + * and compare. * * @since 0.7.12 * @author zzz diff --git a/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java b/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java index c3fcc334a..1cfc09b4c 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/WebAppConfiguration.java @@ -16,7 +16,7 @@ import org.mortbay.jetty.servlet.WebApplicationContext; * individual jars and not lib/*.jar specified in wrapper.config. * * A sample line in webapps.config is: - * webapps.appname.path=foo.jar,$I2P/lib/bar.jar + * webapps.appname.classpath=foo.jar,$I2P/lib/bar.jar * Unless $I2P is specified the path will be relative to $I2P/lib for * webapps in the installation and appDir/plugins/appname/lib for plugins. * diff --git a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java index fd64f71f5..048ef31cc 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java @@ -15,13 +15,14 @@ import org.mortbay.jetty.servlet.WebApplicationContext; /** - * Start a webappapp classpath as specified in webapps.config. + * Add, start or stop a webapp. + * Add to the webapp classpath if specified in webapps.config. * * Sadly, setting Class-Path in MANIFEST.MF doesn't work for jetty wars. - * We could look there ourselves, or look for another properties file in the war, + * See WebAppConfiguration for more information. * but let's just do it in webapps.config. * - * No, wac.addClassPath() does not work. + * No, wac.addClassPath() does not work. For more info see: * * http://servlets.com/archive/servlet/ReadMsg?msgId=511113&listName=jetty-support * diff --git a/core/java/src/net/i2p/crypto/TrustedUpdate.java b/core/java/src/net/i2p/crypto/TrustedUpdate.java index b9ab3187e..41c69eb83 100644 --- a/core/java/src/net/i2p/crypto/TrustedUpdate.java +++ b/core/java/src/net/i2p/crypto/TrustedUpdate.java @@ -404,6 +404,8 @@ D8usM7Dxp5yrDrCYZ5AIijc= * * @return The version string read, or an empty string if no version string * is present. + * + * @since 0.7.12 */ public static String getVersionString(InputStream inputStream) { try { @@ -492,6 +494,8 @@ D8usM7Dxp5yrDrCYZ5AIijc= * * @return null if the * data was moved, and an error String otherwise. + * + * @since 0.7.12 */ public String migrateFile(File signedFile, File outputFile) { if (!signedFile.exists()) diff --git a/core/java/src/net/i2p/time/Timestamper.java b/core/java/src/net/i2p/time/Timestamper.java index 57b1dc286..a84882215 100644 --- a/core/java/src/net/i2p/time/Timestamper.java +++ b/core/java/src/net/i2p/time/Timestamper.java @@ -252,6 +252,8 @@ public class Timestamper implements Runnable { /** * Notify the listeners + * + * @since stratum param added in 0.7.12 */ private void stampTime(long now, int stratum) { long before = _context.clock().now(); diff --git a/history.txt b/history.txt index 8b15303a9..44312c69b 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,4 @@ -2010-03-013 zzz +2010-03-13 zzz * Partial fix for i2ptunnel nonce troubles 2010-03-08 zzz diff --git a/router/java/src/net/i2p/data/i2np/TunnelBuildMessage.java b/router/java/src/net/i2p/data/i2np/TunnelBuildMessage.java index ab880031f..68603d1d9 100644 --- a/router/java/src/net/i2p/data/i2np/TunnelBuildMessage.java +++ b/router/java/src/net/i2p/data/i2np/TunnelBuildMessage.java @@ -19,7 +19,7 @@ public class TunnelBuildMessage extends I2NPMessageImpl { this(context, MAX_RECORD_COUNT); } - /** @since 0.7.10 */ + /** @since 0.7.12 */ protected TunnelBuildMessage(I2PAppContext context, int records) { super(context); if (records > 0) { @@ -31,7 +31,7 @@ public class TunnelBuildMessage extends I2NPMessageImpl { public void setRecord(int index, ByteArray record) { _records[index] = record; } public ByteArray getRecord(int index) { return _records[index]; } - /** @since 0.7.10 */ + /** @since 0.7.12 */ public int getRecordCount() { return RECORD_COUNT; } public static final int RECORD_SIZE = 512+16; diff --git a/router/java/src/net/i2p/data/i2np/TunnelBuildReplyMessage.java b/router/java/src/net/i2p/data/i2np/TunnelBuildReplyMessage.java index 7a0fc8563..69b36c619 100644 --- a/router/java/src/net/i2p/data/i2np/TunnelBuildReplyMessage.java +++ b/router/java/src/net/i2p/data/i2np/TunnelBuildReplyMessage.java @@ -20,7 +20,7 @@ public class TunnelBuildReplyMessage extends I2NPMessageImpl { this(context, MAX_RECORD_COUNT); } - /** @since 0.7.10 */ + /** @since 0.7.12 */ protected TunnelBuildReplyMessage(I2PAppContext context, int records) { super(context); if (records > 0) { @@ -32,7 +32,7 @@ public class TunnelBuildReplyMessage extends I2NPMessageImpl { public void setRecord(int index, ByteArray record) { _records[index] = record; } public ByteArray getRecord(int index) { return _records[index]; } - /** @since 0.7.10 */ + /** @since 0.7.12 */ public int getRecordCount() { return RECORD_COUNT; } public static final int RECORD_SIZE = TunnelBuildMessage.RECORD_SIZE; diff --git a/router/java/src/net/i2p/router/startup/ClientAppConfig.java b/router/java/src/net/i2p/router/startup/ClientAppConfig.java index 4c5125bc2..a387228e4 100644 --- a/router/java/src/net/i2p/router/startup/ClientAppConfig.java +++ b/router/java/src/net/i2p/router/startup/ClientAppConfig.java @@ -93,6 +93,8 @@ public class ClientAppConfig { /* * Go through the properties, and return a List of ClientAppConfig structures + * + * @since 0.7.12 */ public static List getClientApps(File cfgFile) { Properties clientApps = new Properties(); @@ -106,6 +108,8 @@ public class ClientAppConfig { /* * Go through the properties, and return a List of ClientAppConfig structures + * + * @since 0.7.12 */ private static List getClientApps(Properties clientApps) { List rv = new ArrayList(8); diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java b/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java index 15ffd1170..aa6417fda 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildExecutor.java @@ -506,6 +506,7 @@ class BuildExecutor implements Runnable { /** * Only do this for non-fallback tunnels. * @return true if refused because of a duplicate key + * @since 0.7.12 */ private boolean addToBuilding(PooledTunnelCreatorConfig cfg) { //_log.error("Adding ID: " + cfg.getReplyMessageId() + "; size was: " + _currentlyBuildingMap.size()); @@ -521,6 +522,7 @@ class BuildExecutor implements Runnable { * But that's ok. A peer that rejects slowly gets penalized twice, for example. * * @return ptcc or null + * @since 0.7.12 */ PooledTunnelCreatorConfig removeFromBuilding(long id) { //_log.error("Removing ID: " + id + "; size was: " + _currentlyBuildingMap.size()); diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java b/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java index d6c3e0a5f..03a7b6ef9 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java @@ -187,6 +187,7 @@ class BuildRequestor { SHORT_ORDER.add(Integer.valueOf(i)); } + /** @since 0.7.12 */ private static boolean supportsVariable(RouterContext ctx, Hash h) { RouterInfo ri = ctx.netDb().lookupRouterInfoLocally(h); if (ri == null)