diff --git a/apps/i2psnark/java/src/org/klomp/snark/BitField.java b/apps/i2psnark/java/src/org/klomp/snark/BitField.java index 3f16deb684da1b5100c2affc7bb79917e1eb4c11..d18ef13435d8b129949742589511921db1a24156 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/BitField.java +++ b/apps/i2psnark/java/src/org/klomp/snark/BitField.java @@ -59,7 +59,6 @@ public class BitField // cleared or clear them explicitly ourselves. System.arraycopy(bitfield, 0, this.bitfield, 0, arraysize); - this.count = 0; for (int i = 0; i < size; i++) if (get(i)) this.count++; diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java index 442ac83c6ebd0a976f8d5225e0cd9ec0df248a23..f1ef08eb18c914b1505f29a5aeb532128df92dd2 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java @@ -958,16 +958,11 @@ class PeerCoordinator implements PeerListener */ public boolean gotPiece(Peer peer, PartialPiece pp) { - if (metainfo == null || storage == null || storage.isChecking()) { + if (metainfo == null || storage == null || storage.isChecking() || halted) { pp.release(); return true; } int piece = pp.getPiece(); - if (halted) { - _log.info("Got while-halted piece " + piece + "/" + metainfo.getPieces() +" from " + peer + " for " + metainfo.getName()); - pp.release(); - return true; // We don't actually care anymore. - } synchronized(wantedPieces) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java index f812050d4e0e7ffff10092ef811b1e479b3a6dc7..d96fe03c12cee11ad0c16e1272255b58ac4be9a7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java @@ -798,15 +798,6 @@ public class RouterConsoleRunner implements RouterApp { } } - /** @since 0.8.8 */ - private static class ServerShutdown implements Runnable { - public void run() { - try { - _server.stop(); - } catch (Exception ie) {} - } - } - private Properties webAppProperties() { return webAppProperties(_context.getConfigDir().getAbsolutePath()); } diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PcapWriter.java b/apps/streaming/java/src/net/i2p/client/streaming/PcapWriter.java index 3bc119d817671d4ad241d7cba9d0113f437ed514..a5020cccde8704200d4d9b3331bdc7d1b9baf08e 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/PcapWriter.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/PcapWriter.java @@ -40,7 +40,7 @@ import net.i2p.data.Hash; * Yes we could dump it natively and write a wireshark dissector. That sounds hard. * And we wouldn't get the TCP stream analysis built into the tools. * - * @author zzz + * @since 0.9.4 */ public class PcapWriter { diff --git a/core/java/src/net/i2p/app/ClientAppManager.java b/core/java/src/net/i2p/app/ClientAppManager.java index e246254b17fa3fdbc3c2fbf91c81e3108c1b12ea..0830b7390cc16aed6f896b4191da6a1d04cad46a 100644 --- a/core/java/src/net/i2p/app/ClientAppManager.java +++ b/core/java/src/net/i2p/app/ClientAppManager.java @@ -25,7 +25,6 @@ public interface ClientAppManager { * Only required for apps used by other apps. * * @param app non-null - * @param name non-null * @return true if successful, false if duplicate name */ public boolean register(ClientApp app); @@ -35,7 +34,6 @@ public interface ClientAppManager { * Only required for apps used by other apps. * * @param app non-null - * @param name non-null */ public void unregister(ClientApp app); @@ -43,7 +41,6 @@ public interface ClientAppManager { * Get a registered app. * Only used for apps finding other apps. * - * @param app non-null * @param name non-null * @return client app or null */ diff --git a/core/java/src/net/i2p/util/Addresses.java b/core/java/src/net/i2p/util/Addresses.java index cd773bdd9a20b40c792e337c214c267e136beffd..27d67f3dd4c35a801b414a08a3f8b27ef52e11e8 100644 --- a/core/java/src/net/i2p/util/Addresses.java +++ b/core/java/src/net/i2p/util/Addresses.java @@ -73,9 +73,8 @@ public abstract class Addresses { /** * @return a sorted set of all addresses * @param includeSiteLocal whether to include private like 192.168.x.x - * @param includeLoopAndWildcard whether to include 127.x.x.x and 0.0.0.0 + * @param includeLoopbackAndWildcard whether to include 127.x.x.x and 0.0.0.0 * @param includeIPv6 whether to include IPV6 - * @param includeWildCard whether to include 0.0.0.0 and/or 0:0:0:0:0:0 (includeLocal must be true) * @return an array of all addresses * @since 0.9.4 */ diff --git a/history.txt b/history.txt index 0367819546728dddc65319c053377f784e74ddc2..9c8c5a6fc2fca92535397b2da2266e3207cfa1bd 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,47 @@ +2012-10-28 zzz + * Addresses: + - Add methods for connectivity detection + - Remove Hamachi restriction + * Banlist: renamed + * Clients: New interface for clients started via clients.config, and a new + manager to track the lifecycle and start/stop clients on demand. + (ticket #347) + * Console: + - Add console password form to configui.jsp + - Consolidate all the jsp formhandler boilerplate in the new formhandler.jsi + - Store form handler nonces in the servlet session instead of system properties, + to prevent cross-session interference + - Bypass nonces if console password enabled + - Remove ports from port mapper on shutdown, other changes to + track actual ports better (ticket #731) + - Prep for RouterApp interface by storing context in a field, + shuffle around what's static and what's not (ticket #347) + - Convert to RouterApp interface + - Convert from basic to digest authentication + - Use new password manager (ticket #731) + * Core: New password manager for storing passwords in router.config + in consistent ways, including salting and hashing if possible. + (ticket #731) + * i2ptunnel: + - Convert HTTP and CONNECT proxies from basic to digest authentication + - Bypass nonces if console password enabled + - Convert to ClientApp interface + - Synchronization improvements + * Streaming: Add pcap debug facility, from i2p.i2p.zzz.pcap + * Transport: + - Add a simple network monitor + - Add new reachability state for network disconnected + - Prevent any tunnel building when disconnected (ticket #519) + - Don't unleash watchdog when disconnected + - Split up NTCPConnection's single _bwRequests Set into inbound and outbound, + make FIFOBandwithLimiter.Request unidirectional (ticket #719) + * Update: Major redesign of the update facilities: + - Generic interfaces for updating and checking things + - Allow checkers and updaters outside router context + - Hide update buttons after downloading update (ticket #484) + - Add update-via-i2psnark facility + - Don't hold references to updaters after completion + * 2012-10-27 0.9.3 released 2012-10-25 zzz diff --git a/installer/resources/checklist.txt b/installer/resources/checklist.txt index 865506c99d3340b2cc709a713152047755ba05f6..e9e0fb688b25db41b0d44944347039156fe6d937 100644 --- a/installer/resources/checklist.txt +++ b/installer/resources/checklist.txt @@ -6,7 +6,6 @@ Sync with mtn.i2p2.i2p Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p Copy over override.properties to set build.built-by Double-check trust list -Deploy the Jetty archive, a clean checkout lacks it Change revision in: history.txt diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index a411b009986dc5f1f6384384ad98aeea42885422..87e5bffca0684477c0ba8daee48da05fbea99f44 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 0; + public final static long BUILD = 1; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/startup/RouterAppManager.java b/router/java/src/net/i2p/router/startup/RouterAppManager.java index 25d6da932f9d6109a85293ab97bce3d893132348..eade1e8d18f354dfad045caccbc80220024fed70 100644 --- a/router/java/src/net/i2p/router/startup/RouterAppManager.java +++ b/router/java/src/net/i2p/router/startup/RouterAppManager.java @@ -94,7 +94,6 @@ public class RouterAppManager implements ClientAppManager { * Only required for apps used by other apps. * * @param app non-null - * @param name non-null * @return true if successful, false if duplicate name */ public boolean register(ClientApp app) { @@ -109,7 +108,6 @@ public class RouterAppManager implements ClientAppManager { * Only required for apps used by other apps. * * @param app non-null - * @param name non-null */ public void unregister(ClientApp app) { _registered.remove(app.getName(), app); @@ -121,7 +119,6 @@ public class RouterAppManager implements ClientAppManager { * Do not hold a static reference. * If you only need to find a port, use the PortMapper instead. * - * @param app non-null * @param name non-null * @return client app or null */