diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
index 559405277..20407a04b 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
@@ -118,10 +118,14 @@ public class SnarkManager implements Snark.CompleteListener {
if (!_config.containsKey(PROP_UPLOADERS_TOTAL))
_config.setProperty(PROP_UPLOADERS_TOTAL, "" + Snark.MAX_TOTAL_UPLOADERS);
if (!_config.containsKey(PROP_UPBW_MAX)) {
- if (_context instanceof RouterContext)
- _config.setProperty(PROP_UPBW_MAX, "" + (((RouterContext)_context).bandwidthLimiter().getOutboundKBytesPerSecond() / 2));
- else
+ try {
+ if (_context instanceof RouterContext)
+ _config.setProperty(PROP_UPBW_MAX, "" + (((RouterContext)_context).bandwidthLimiter().getOutboundKBytesPerSecond() / 2));
+ else
+ _config.setProperty(PROP_UPBW_MAX, "" + DEFAULT_MAX_UP_BW);
+ } catch (NoClassDefFoundError ncdfe) {
_config.setProperty(PROP_UPBW_MAX, "" + DEFAULT_MAX_UP_BW);
+ }
}
if (!_config.containsKey(PROP_DIR))
_config.setProperty(PROP_DIR, "i2psnark");
diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java
index 6d464f87b..765598fab 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java
@@ -95,7 +95,14 @@ public class TrackerInfo
Iterator it = l.iterator();
while (it.hasNext())
{
- PeerID peerID = new PeerID(((BEValue)it.next()).getMap());
+ PeerID peerID;
+ try {
+ peerID = new PeerID(((BEValue)it.next()).getMap());
+ } catch (InvalidBEncodingException ibe) {
+ // don't let one bad entry spoil the whole list
+ Snark.debug("Discarding peer from list: " + ibe, Snark.ERROR);
+ continue;
+ }
peers.add(new Peer(peerID, my_id, metainfo));
}
diff --git a/apps/routerconsole/jsp/configtunnels.jsp b/apps/routerconsole/jsp/configtunnels.jsp
index 0b6fcb714..e4559b86c 100644
--- a/apps/routerconsole/jsp/configtunnels.jsp
+++ b/apps/routerconsole/jsp/configtunnels.jsp
@@ -25,6 +25,15 @@
+ NOTE: The default settings work for most people. + There is a fundamental tradeoff between anonymity and performance. + Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), + or a high quantity + backup quantity, may severely reduce performance or reliability. + High CPU and/or high outbound bandwidth usage may result. + Change these settings with care, and adjust them if you have problems. +
+