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 270bba2ce5b780369ceb418a32fcd437cf464d4e..88905e68901499ea13fa522b6b2b11ec98b9c8d3 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(); 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 1b97a2f20f30fbeab7cf37df8c3553326ce4bdf9..2b38859c1b460d011a500e601b29851d17718245 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("<br>").append(ngettext("Please wait for routing commitment on {0} tunnel to expire", - "Please wait for routing commitments on {0} tunnels to expire", + buf.append("<br>").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("</h4><hr>"); @@ -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("<br>").append(ngettext("Please wait for routing commitment on {0} tunnel to expire", - "Please wait for routing commitments on {0} tunnels to expire", + buf.append("<br>").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("</h4><hr>"); 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 64b93099341c11e3f303bda92d2736e7cd63ff40..9ba9c249edd4b74de1ce404446e77da9e80996f9 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 a2c1a911899ca42b0f26d773c4edd85f511f94a4..8ef206862cb550276c9060292d54e4bc038af0b1 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; } } diff --git a/history.txt b/history.txt index 568ac36ea395ff228ef11f9dfea21f29ce527fe8..7248cb1768a2107be4da446831a92cd246ee0954 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/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java index 48a2f1d00687487c761ed16235bcb843123d6ce7..eb59ee30e2b5c8ad538ba8a9aa86c9eda0b1f161 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)) diff --git a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java index 2ff865082ee1669a389178a6f7907952ddcc89c2..0979f5d4e9ec727bdb9bd1be014dfb0281ef6c40 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;