From dc871cf1eb034dcc629fb68cde1b9679a71a6314 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 4 Jan 2014 16:38:05 +0000 Subject: [PATCH 1/6] XSS --- apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java b/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java index 270bba2ce..88905e689 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/FetchAndAdd.java @@ -13,6 +13,7 @@ import net.i2p.I2PAppContext; import net.i2p.client.streaming.I2PSocketEepGet; import net.i2p.client.streaming.I2PSocketManager; import net.i2p.crypto.SHA1; +import net.i2p.data.DataHelper; import net.i2p.util.EepGet; import net.i2p.util.I2PAppThread; import net.i2p.util.Log; @@ -96,7 +97,7 @@ public class FetchAndAdd extends Snark implements EepGet.StatusListener, Runnabl add(file); } else { _mgr.addMessage(_("Torrent was not retrieved from {0}", urlify(_url)) + - ((_failCause != null) ? (": " + _failCause) : "")); + ((_failCause != null) ? (": " + DataHelper.stripHTML(_failCause)) : "")); } if (file != null) file.delete(); From 78e7599a8af93377cb4064976d239798f1b0366a Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 4 Jan 2014 16:39:10 +0000 Subject: [PATCH 2/6] better wording --- .../java/src/net/i2p/router/web/ConfigRestartBean.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java index 1b97a2f20..2b38859c1 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java @@ -71,8 +71,8 @@ public class ConfigRestartBean { buf.append(_("Shutdown in {0}", DataHelper.formatDuration2(timeRemaining), ctx)); int tuns = ctx.tunnelManager().getParticipatingCount(); if (tuns > 0) { - buf.append("
").append(ngettext("Please wait for routing commitment on {0} tunnel to expire", - "Please wait for routing commitments on {0} tunnels to expire", + buf.append("
").append(ngettext("Please wait for routing commitment to expire for {0} tunnel", + "Please wait for routing commitments to expire for {0} tunnels", tuns, ctx)); } buf.append("
"); @@ -82,8 +82,8 @@ public class ConfigRestartBean { buf.append(_("Restart in {0}", DataHelper.formatDuration2(timeRemaining), ctx)); int tuns = ctx.tunnelManager().getParticipatingCount(); if (tuns > 0) { - buf.append("
").append(ngettext("Please wait for routing commitment on {0} tunnel to expire", - "Please wait for routing commitments on {0} tunnels to expire", + buf.append("
").append(ngettext("Please wait for routing commitment to expire for {0} tunnel", + "Please wait for routing commitments to expire for {0} tunnels", tuns, ctx)); } buf.append("
"); From c03511b97179a0be5a92297f9040f5d1b8b4d6f5 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 4 Jan 2014 16:40:06 +0000 Subject: [PATCH 3/6] exception causes --- .../net/i2p/client/streaming/impl/I2PSocketManagerFull.java | 5 +++-- .../net/i2p/client/streaming/impl/StandardServerSocket.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/I2PSocketManagerFull.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/I2PSocketManagerFull.java index 30a76f6b5..72ab1ff3f 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/I2PSocketManagerFull.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/I2PSocketManagerFull.java @@ -305,8 +305,9 @@ public class I2PSocketManagerFull implements I2PSocketManager { I2PSocket sock = connect(peer, options); return new StandardSocket(sock); } catch (I2PException i2pe) { - // fixme in 1.6 change to cause - throw new IOException(i2pe.toString()); + IOException ioe = new IOException("connect fail"); + ioe.initCause(i2pe); + throw ioe; } } diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/StandardServerSocket.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/StandardServerSocket.java index a2c1a9118..8ef206862 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/StandardServerSocket.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/StandardServerSocket.java @@ -44,8 +44,9 @@ class StandardServerSocket extends ServerSocket { throw new IOException("No socket"); return new StandardSocket(sock); } catch (I2PException i2pe) { - // fixme in 1.6 change to cause - throw new IOException(i2pe.toString()); + IOException ioe = new IOException("accept fail"); + ioe.initCause(i2pe); + throw ioe; } } From 1b3aefbbce1c9c7e53f83fa7c96b0fbf5406da90 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 4 Jan 2014 16:43:54 +0000 Subject: [PATCH 4/6] PeerManager: Remove small same-country bonus This was done back when we were desperate for build improvement but it's bad for anonymity and probably a little slow also --- .../java/src/net/i2p/router/peermanager/CapacityCalculator.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java index 2ff865082..0979f5d4e 100644 --- a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java +++ b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java @@ -67,6 +67,7 @@ class CapacityCalculator { // boost connected peers if (profile.isEstablished()) capacity += BONUS_ESTABLISHED; + /**** // boost same country if (profile.isSameCountry()) { double bonus = BONUS_SAME_COUNTRY; @@ -78,6 +79,7 @@ class CapacityCalculator { } capacity += bonus; } + ****/ // penalize unreachable peers if (profile.wasUnreachable()) capacity -= PENALTY_UNREACHABLE; From 38186c8f758fa6f8fcbe4468aa75196d30634a92 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 4 Jan 2014 16:48:45 +0000 Subject: [PATCH 5/6] TunnelPoolSettings: Split out the defaults for expl/client IB/OB. Client default now 3 hops. Expl default still 2 hops, with OB Expl + 0-1, en route to 3+0. --- .../net/i2p/router/TunnelPoolSettings.java | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/router/java/src/net/i2p/router/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java index 48a2f1d00..eb59ee30e 100644 --- a/router/java/src/net/i2p/router/TunnelPoolSettings.java +++ b/router/java/src/net/i2p/router/TunnelPoolSettings.java @@ -5,6 +5,7 @@ import java.util.Map; import java.util.Properties; import net.i2p.data.Hash; +import net.i2p.util.NativeBigInteger; import net.i2p.util.RandomSource; import net.i2p.util.SystemVersion; @@ -56,8 +57,22 @@ public class TunnelPoolSettings { // public static final int DEFAULT_REBUILD_PERIOD = 60*1000; public static final int DEFAULT_DURATION = 10*60*1000; //public static final int DEFAULT_LENGTH = SystemVersion.isAndroid() ? 2 : 3; - public static final int DEFAULT_LENGTH = 2; - public static final int DEFAULT_LENGTH_VARIANCE = 0; + + private static final boolean isSlow = SystemVersion.isGNU() || + SystemVersion.isARM() || + SystemVersion.isApache() || + !NativeBigInteger.isNative(); + + /** client only */ + private static final int DEFAULT_IB_LENGTH = 3; + private static final int DEFAULT_OB_LENGTH = 3; + private static final int DEFAULT_LENGTH_VARIANCE = 0; + /** expl only */ + private static final int DEFAULT_IB_EXPL_LENGTH = 2; + private static final int DEFAULT_OB_EXPL_LENGTH = 2; + private static final int DEFAULT_IB_EXPL_LENGTH_VARIANCE = 0; + private static final int DEFAULT_OB_EXPL_LENGTH_VARIANCE = isSlow ? 0 : 1; + public static final boolean DEFAULT_ALLOW_ZERO_HOP = true; public static final int DEFAULT_IP_RESTRICTION = 2; // class B (/16) private static final int MIN_PRIORITY = -25; @@ -72,8 +87,13 @@ public class TunnelPoolSettings { _backupQuantity = DEFAULT_BACKUP_QUANTITY; // _rebuildPeriod = DEFAULT_REBUILD_PERIOD; //_duration = DEFAULT_DURATION; - _length = DEFAULT_LENGTH; - _lengthVariance = DEFAULT_LENGTH_VARIANCE; + if (isInbound) { + _length = isExploratory ? DEFAULT_IB_EXPL_LENGTH : DEFAULT_IB_LENGTH; + _lengthVariance = isExploratory ? DEFAULT_IB_EXPL_LENGTH_VARIANCE : DEFAULT_LENGTH_VARIANCE; + } else { + _length = isExploratory ? DEFAULT_OB_EXPL_LENGTH : DEFAULT_OB_LENGTH; + _lengthVariance = isExploratory ? DEFAULT_OB_EXPL_LENGTH_VARIANCE : DEFAULT_LENGTH_VARIANCE; + } _lengthOverride = -1; if (isExploratory) _allowZeroHop = true; @@ -212,9 +232,15 @@ public class TunnelPoolSettings { //else if (name.equalsIgnoreCase(prefix + PROP_DURATION)) // _duration = getInt(value, DEFAULT_DURATION); else if (name.equalsIgnoreCase(prefix + PROP_LENGTH)) - _length = getInt(value, DEFAULT_LENGTH); + _length = getInt(value, _isInbound ? + (_isExploratory ? DEFAULT_IB_EXPL_LENGTH : DEFAULT_IB_LENGTH) : + (_isExploratory ? DEFAULT_OB_EXPL_LENGTH : DEFAULT_OB_LENGTH)); else if (name.equalsIgnoreCase(prefix + PROP_LENGTH_VARIANCE)) - _lengthVariance = getInt(value, DEFAULT_LENGTH_VARIANCE); + _lengthVariance = getInt(value, _isExploratory ? + (_isInbound ? + DEFAULT_IB_EXPL_LENGTH_VARIANCE : + DEFAULT_OB_EXPL_LENGTH_VARIANCE) : + DEFAULT_LENGTH_VARIANCE); else if (name.equalsIgnoreCase(prefix + PROP_QUANTITY)) _quantity = getInt(value, DEFAULT_QUANTITY); // else if (name.equalsIgnoreCase(prefix + PROP_REBUILD_PERIOD)) From b91b242a1a1b8a773726aa6f907398e1da3cd994 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 4 Jan 2014 16:54:12 +0000 Subject: [PATCH 6/6] bump --- history.txt | 5 +++++ router/java/src/net/i2p/router/RouterVersion.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/history.txt b/history.txt index 568ac36ea..7248cb176 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,8 @@ +2014-01-04 zzz + * Peermanager: Disable small same-country bonus + * Tunnels: Change client default to 3 hops in router; + change expl. default to 2+0 IB and 2 + 0-1 OB + 2014-01-04 dg * Streaming: Move streaming to new package (ticket #1135) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 0725033fa..f6e6df3a5 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 3; + public final static long BUILD = 4; /** for example "-test" */ public final static String EXTRA = "";