diff --git a/build.xml b/build.xml index 81cce7c467..630a46ce21 100644 --- a/build.xml +++ b/build.xml @@ -26,6 +26,7 @@ + @@ -55,6 +56,7 @@ + @@ -102,6 +104,7 @@ + @@ -178,6 +181,15 @@ + + + @@ -239,6 +251,12 @@ + + + diff --git a/history.txt b/history.txt index 691d7a15b6..2ff4b0ce9f 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,9 @@ -$Id: history.txt,v 1.119 2004/12/29 10:53:30 jrandom Exp $ +$Id: history.txt,v 1.120 2004/12/29 15:06:43 jrandom Exp $ + +2004-12-29 jrandom + * Imported Ragnarok's addressbook source (2.0.2) which is built but not + deployed in the i2pinstall.jar/i2pupdate.zip (yet). + * Don't treat connection inactivity closure as a connection error. 2004-12-29 jrandom * Add in a new keepalive event on each TCP connection, proactively sending diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 1e1b45724b..3377274001 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.124 $ $Date: 2004/12/29 10:53:28 $"; + public final static String ID = "$Revision: 1.125 $ $Date: 2004/12/29 15:06:44 $"; public final static String VERSION = "0.4.2.5"; - public final static long BUILD = 2; + public final static long BUILD = 3; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/transport/tcp/ConnectionRunner.java b/router/java/src/net/i2p/router/transport/tcp/ConnectionRunner.java index 6832c2539f..cd1c57262f 100644 --- a/router/java/src/net/i2p/router/transport/tcp/ConnectionRunner.java +++ b/router/java/src/net/i2p/router/transport/tcp/ConnectionRunner.java @@ -168,7 +168,7 @@ class ConnectionRunner implements Runnable { + " due to " + DataHelper.formatDuration(timeSinceWrite) + " of inactivity after " + DataHelper.formatDuration(_con.getLifetime())); - _con.closeConnection(); + _con.closeConnection(false); return; } if (_lastTimeSend < _context.clock().now() - 2*TIME_SEND_FREQUENCY) diff --git a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java index 79e87bfcfa..693bae4ad8 100644 --- a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java +++ b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java @@ -111,7 +111,8 @@ public class TCPConnection { * be called multiple times safely. * */ - public synchronized void closeConnection() { + public synchronized void closeConnection() { closeConnection(true); } + public synchronized void closeConnection(boolean wasError) { if (_log.shouldLog(Log.INFO)) { if (_ident != null) _log.info("Connection between " + _ident.getHash().toBase64().substring(0,6) @@ -140,10 +141,12 @@ public class TCPConnection { msg.timestamp("closeConnection"); _transport.afterSend(msg, false, true, -1); } - _context.profileManager().commErrorOccurred(_ident.getHash()); - _transport.addConnectionErrorMessage("Connection closed with " - + _ident.getHash().toBase64().substring(0,6) - + " after " + DataHelper.formatDuration(getLifetime())); + if (wasError) { + _context.profileManager().commErrorOccurred(_ident.getHash()); + _transport.addConnectionErrorMessage("Connection closed with " + + _ident.getHash().toBase64().substring(0,6) + + " after " + DataHelper.formatDuration(getLifetime())); + } _transport.connectionClosed(this); }