diff --git a/apps/syndie/java/src/net/i2p/syndie/web/RemoteArchiveBean.java b/apps/syndie/java/src/net/i2p/syndie/web/RemoteArchiveBean.java index 07a3389abe..ed57d826c0 100644 --- a/apps/syndie/java/src/net/i2p/syndie/web/RemoteArchiveBean.java +++ b/apps/syndie/java/src/net/i2p/syndie/web/RemoteArchiveBean.java @@ -269,6 +269,7 @@ public class RemoteArchiveBean { _proxyHost = null; _proxyPort = -1; _exportCapable = false; + if (user == null) user = new User(); if ( (schema == null) || (schema.trim().length() <= 0) || (location == null) || (location.trim().length() <= 0) ) { diff --git a/history.txt b/history.txt index ce6103e38b..b627afdbc9 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,8 @@ -$Id: history.txt,v 1.280 2005/10/03 21:05:52 jrandom Exp $ +$Id: history.txt,v 1.281 2005/10/04 02:36:25 jrandom Exp $ + +2005-10-04 jrandom + * Syndie patch for single user remote archives (thanks nickless_head!) + * Handle an invalid netDb store (thanks Complication!) 2005-10-04 jrandom * Further reduction in unnecessary streaming packets. diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 02497ad92a..f9b6aca010 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.255 $ $Date: 2005/10/03 21:05:52 $"; + public final static String ID = "$Revision: 1.256 $ $Date: 2005/10/04 02:36:25 $"; public final static String VERSION = "0.6.1.1"; - 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 + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java index 662b511a5c..b9c05f2377 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillNetworkDatabaseFacade.java @@ -30,6 +30,7 @@ public class FloodfillNetworkDatabaseFacade extends KademliaNetworkDatabaseFacad * @throws IllegalArgumentException if the local router info is invalid */ public void publish(RouterInfo localRouterInfo) throws IllegalArgumentException { + if (localRouterInfo == null) throw new IllegalArgumentException("wtf, null localRouterInfo?"); super.publish(localRouterInfo); sendStore(localRouterInfo.getIdentity().calculateHash(), localRouterInfo, null, null, PUBLISH_TIMEOUT, null); } diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java index a7fe3338d9..015294b53e 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillVerifyStoreJob.java @@ -130,7 +130,8 @@ public class FloodfillVerifyStoreJob extends JobImpl { ds = _facade.lookupLeaseSetLocally(_key); if (ds == null) ds = _facade.lookupRouterInfoLocally(_key); - _facade.sendStore(_key, ds, null, null, VERIFY_TIMEOUT, null); + if (ds != null) + _facade.sendStore(_key, ds, null, null, VERIFY_TIMEOUT, null); } private class VerifyTimeoutJob extends JobImpl { diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java index 9499bc1fd1..cb2cae5b5e 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java @@ -850,6 +850,11 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { } public void sendStore(Hash key, DataStructure ds, Job onSuccess, Job onFailure, long sendTimeout, Set toIgnore) { + if ( (ds == null) || (key == null) ) { + if (onFailure != null) + _context.jobQueue().addJob(onFailure); + return; + } _context.jobQueue().addJob(new StoreJob(_context, this, key, ds, onSuccess, onFailure, sendTimeout, toIgnore)); }