diff --git a/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java b/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java index 9e8a47b736db348c06af9e846f07e180e2df43c4..64a7bb6cc22213058f7871b82261e040ff3d4725 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/MessageOutputStream.java @@ -77,6 +77,7 @@ public class MessageOutputStream extends OutputStream { } public void write(byte b[], int off, int len) throws IOException { + if (_closed) throw new IOException("Already closed"); if (_log.shouldLog(Log.DEBUG)) _log.debug("write(b[], " + off + ", " + len + ") "); int cur = off; diff --git a/core/java/src/net/i2p/data/RoutingKeyGenerator.java b/core/java/src/net/i2p/data/RoutingKeyGenerator.java index 76cdacfb06c6fe90d7c3af09b29ad57a266db6cc..5589d589e1bd7551aa3d85dcbeb2dd5e814ca845 100644 --- a/core/java/src/net/i2p/data/RoutingKeyGenerator.java +++ b/core/java/src/net/i2p/data/RoutingKeyGenerator.java @@ -71,14 +71,18 @@ public class RoutingKeyGenerator { */ public void generateDateBasedModData() { Date today = null; + long now = _context.clock().now(); synchronized (_cal) { - _cal.setTime(new Date(_context.clock().now())); + _cal.setTime(new Date(now)); + _cal.set(Calendar.YEAR, _cal.get(Calendar.YEAR)); // gcj <= 4.0 workaround + _cal.set(Calendar.DAY_OF_YEAR, _cal.get(Calendar.DAY_OF_YEAR)); // gcj <= 4.0 workaround _cal.set(Calendar.HOUR_OF_DAY, 0); _cal.set(Calendar.MINUTE, 0); _cal.set(Calendar.SECOND, 0); _cal.set(Calendar.MILLISECOND, 0); today = _cal.getTime(); } + byte mod[] = null; String modVal = null; synchronized (_fmt) { @@ -91,7 +95,7 @@ public class RoutingKeyGenerator { _log.info("Routing modifier generated: " + modVal); setModData(mod); } - + /** * Generate a modified (yet consistent) hash from the origKey by generating the * SHA256 of the targetKey with the current modData appended to it, *then* diff --git a/history.txt b/history.txt index e5bbf8ae1d0581042fd163e203fd6b3a1b731077..16c9bbb0d4510bbc6ecb17c985ef1101f10ba588 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,10 @@ -$Id: history.txt,v 1.301 2005/10/19 00:15:15 jrandom Exp $ +$Id: history.txt,v 1.302 2005/10/19 17:38:46 jrandom Exp $ + +2005-10-20 jrandom + * Workaround a bug in GCJ's Calendar implementation + * Propery throw an exception in the streaming lib if we try to write to a + closed stream. This will hopefully help clear some I2Phex bugs (thanks + GregorK!) 2005-10-19 jrandom * Ported the snark bittorrent client to I2P such that it is compatible diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 1702f89b832b6f9ab85a612c49b6834e87ba7793..ece9cc54f2887605bfa6ee8f78d2a53b9b2540b4 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -460,6 +460,8 @@ public class Router { private long getTimeTillMidnight() { long now = Router.this._context.clock().now(); _cal.setTime(new Date(now)); + _cal.set(Calendar.YEAR, _cal.get(Calendar.YEAR)); // gcj <= 4.0 workaround + _cal.set(Calendar.DAY_OF_YEAR, _cal.get(Calendar.DAY_OF_YEAR)); // gcj <= 4.0 workaround _cal.add(Calendar.DATE, 1); _cal.set(Calendar.HOUR_OF_DAY, 0); _cal.set(Calendar.MINUTE, 0); @@ -468,7 +470,7 @@ public class Router { long then = _cal.getTime().getTime(); long howLong = then - now; if (howLong < 0) // hi kaffe - howLong = 24*60*60*1000 + howLong; + howLong = 24*60*60*1000l + howLong; if (_log.shouldLog(Log.DEBUG)) _log.debug("Time till midnight: " + howLong + "ms"); return howLong; diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 19ad9dc712dab3fbe7adedbf5ada0632888bfb29..32215ee5dcdabb7304b0af181678acdacfdebd72 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.272 $ $Date: 2005/10/19 00:15:15 $"; + public final static String ID = "$Revision: 1.273 $ $Date: 2005/10/19 17:38:45 $"; public final static String VERSION = "0.6.1.3"; - public final static long BUILD = 3; + public final static long BUILD = 4; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID);