diff --git a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java index 69b6d91f2..e87f54993 100644 --- a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java +++ b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java @@ -973,6 +973,7 @@ public class BlogManager { if ( (location != null) && (location.trim().length() > 0) ) buf.append(location.trim()); System.setProperty("syndie.updateArchives", buf.toString()); + writeConfig(); Updater.wakeup(); } public void scheduleSyndication(String locations[]) { @@ -987,6 +988,7 @@ public class BlogManager { for (Iterator iter = locs.iterator(); iter.hasNext(); ) buf.append(iter.next().toString().trim()).append(','); System.setProperty("syndie.updateArchives", buf.toString()); + writeConfig(); Updater.wakeup(); } public void unscheduleSyndication(String location) { @@ -998,6 +1000,7 @@ public class BlogManager { buf.append(archives[i]).append(","); System.setProperty("syndie.updateArchives", buf.toString()); } + writeConfig(); } public boolean syndicationScheduled(String location) { String archives[] = getUpdateArchives(); diff --git a/history.txt b/history.txt index 60e56ca75..ceb3fc637 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,7 @@ -$Id: history.txt,v 1.326 2005/11/21 09:37:10 jrandom Exp $ +$Id: history.txt,v 1.327 2005/11/23 11:04:56 jrandom Exp $ + +2005-11-24 jrandom + * Fix to save syndication settings in Syndie (thanks spaetz!) 2005-11-23 jrandom * Removed spurious streaming lib RTO increase (it wasn't helpful) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index cb80ef6b7..167f433b6 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.294 $ $Date: 2005/11/21 09:37:09 $"; + public final static String ID = "$Revision: 1.295 $ $Date: 2005/11/23 11:04:56 $"; public final static String VERSION = "0.6.1.5"; - public final static long BUILD = 5; + public final static long BUILD = 6; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java b/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java index f6840da79..833c698d1 100644 --- a/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java +++ b/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java @@ -56,25 +56,33 @@ public class InboundMessageState { StringBuffer buf = new StringBuffer(1024); buf.append("Invalid fragment ").append(fragmentNum); buf.append(": ").append(data); - data.toRawString(buf); - _log.log(Log.CRIT, buf.toString(), new Exception("source")); + //data.toRawString(buf); + _log.error(buf.toString()); return false; } if (_fragments[fragmentNum] == null) { // new fragment, read it ByteArray message = _fragmentCache.acquire(); - data.readMessageFragment(dataFragment, message.getData(), 0); - int size = data.readMessageFragmentSize(dataFragment); - message.setValid(size); - _fragments[fragmentNum] = message; - boolean isLast = data.readMessageIsLast(dataFragment); - if (isLast) - _lastFragment = fragmentNum; - if (_log.shouldLog(Log.DEBUG)) - _log.debug("New fragment " + fragmentNum + " for message " + _messageId - + ", size=" + size - + ", isLast=" + isLast - + ", data=" + Base64.encode(message.getData(), 0, size)); + try { + data.readMessageFragment(dataFragment, message.getData(), 0); + int size = data.readMessageFragmentSize(dataFragment); + message.setValid(size); + _fragments[fragmentNum] = message; + boolean isLast = data.readMessageIsLast(dataFragment); + if (isLast) + _lastFragment = fragmentNum; + if (_log.shouldLog(Log.DEBUG)) + _log.debug("New fragment " + fragmentNum + " for message " + _messageId + + ", size=" + size + + ", isLast=" + isLast + + ", data=" + Base64.encode(message.getData(), 0, size)); + } catch (ArrayIndexOutOfBoundsException aioobe) { + StringBuffer buf = new StringBuffer(1024); + buf.append("Corrupt SSU fragment ").append(fragmentNum); + buf.append(": ").append(data); + _log.error(buf.toString(), aioobe); + return false; + } } else { if (_log.shouldLog(Log.DEBUG)) _log.debug("Received fragment " + fragmentNum + " for message " + _messageId