Cleanups after review and prep for release

This commit is contained in:
zzz
2009-10-11 22:51:43 +00:00
parent 92e323df51
commit 405b85c4b4
14 changed files with 49 additions and 61 deletions

View File

@ -24,11 +24,7 @@ public class Piece implements Comparable {
public boolean equals(Object o) {
if (o instanceof Piece) {
if (o == null) return false;
try {
return this.id == ((Piece)o).id;
} catch (ClassCastException cce) {
return false;
}
return this.id == ((Piece)o).id;
}
return false;
}

View File

@ -592,7 +592,7 @@ public class I2PSnarkServlet extends HttpServlet {
client = "Robert";
else
client = "Unknown (" + ch + ')';
out.write("" + client + "  " + peer.toString().substring(5, 9) + "");
out.write(client + "  " + peer.toString().substring(5, 9));
if (showDebug)
out.write(" inactive " + (peer.getInactiveTime() / 1000) + "s");
out.write("</td>\n\t");
@ -606,7 +606,7 @@ public class I2PSnarkServlet extends HttpServlet {
String ps = String.valueOf(pct);
if (ps.length() > 5)
ps = ps.substring(0, 5);
out.write("" + ps + "%");
out.write(ps + "%");
}
out.write("</td>\n\t");
out.write("<td class=\"snarkTorrentStatus " + rowClass + "\">");
@ -615,7 +615,7 @@ public class I2PSnarkServlet extends HttpServlet {
if (remaining > 0) {
if (peer.isInteresting() && !peer.isChoked()) {
out.write("<font color=#008000>");
out.write("" + formatSize(peer.getDownloadRate()) + "ps</font>");
out.write(formatSize(peer.getDownloadRate()) + "ps</font>");
} else {
out.write("<font color=#a00000><a title=\"");
if (!peer.isInteresting())
@ -630,7 +630,7 @@ public class I2PSnarkServlet extends HttpServlet {
if (pct != 100.0) {
if (peer.isInterested() && !peer.isChoking()) {
out.write("<font color=#008000>");
out.write("" + formatSize(peer.getUploadRate()) + "ps</font>");
out.write(formatSize(peer.getUploadRate()) + "ps</font>");
} else {
out.write("<font color=#a00000><a title=\"");
if (!peer.isInterested())

View File

@ -25,7 +25,7 @@ public class ConfigUIHandler extends FormHandler {
else
_context.router().setConfigSetting(CSSHelper.PROP_THEME_NAME, _config);
if (_context.router().saveConfig())
addFormNotice("Theme change saved. <a href=\"configui.jsp\">Refresh the page</a> to actuate phase change.");
addFormNotice("Theme change saved. <a href=\"configui.jsp\">Refresh the page</a> to view.");
else
addFormNotice("Error saving the configuration (applied but not saved) - please see the error logs.");
}

View File

@ -382,13 +382,13 @@ public class SummaryHelper extends HelperBase {
// red or yellow light
buf.append("<td><img src=\"/themes/console/images/local_inprogress.png\" alt=\"Rebuilding&hellip;\" title=\"Leases expired ").append(DataHelper.formatDuration(0-timeToExpire));
buf.append(" ago. Rebuilding&hellip;\"></td></tr>\n");
} else {
} else {
// green light
buf.append("<td><img src=\"/themes/console/images/local_up.png\" alt=\"Ready\" title=\"Ready\"></td></tr>\n");
}
} else {
// yellow light
buf.append("<td><img src=\"/themes/console/images/local_inprogress.png\" alt=\"Building&hellip;\" title=\"Tunnel building in progress&hellip;\"></td></tr>\n");
buf.append("<td><img src=\"/themes/console/images/local_inprogress.png\" alt=\"Building&hellip;\" title=\"Tunnel building in progress&hellip;\"></td></tr>\n");
}
}
buf.append("</table><hr>\n");

View File

@ -54,7 +54,7 @@ cp *jbigi???* ../../lib/
echo 'Library copied to lib/'
cd ../..
I2P=~/i2p/i2p
I2P=~/i2p
if [ ! -f $I2P/lib/i2p.jar ]
then
echo "I2P installation not found in $I2P - correct \$I2P definition in script to run speed test"

View File

@ -452,8 +452,14 @@ public class Rate {
&& _lifetimeTotalEventTime == r.getLifetimeTotalEventTime();
}
/**
* It doesn't appear that Rates are ever stored in a Set or Map
* (RateStat stores in an array) so let's make this easy.
* We can always make something faster if it's actually used.
*/
@Override
public int hashCode() {
/*****
int hash = 5;
hash = 67 * hash + (int)(Double.doubleToLongBits(this._currentTotalValue) ^ (Double.doubleToLongBits(this._currentTotalValue) >>> 32));
hash = 67 * hash + (int)(this._currentEventCount ^ (this._currentEventCount >>> 32));
@ -470,6 +476,8 @@ public class Rate {
hash = 67 * hash + (int)(this._creationDate ^ (this._creationDate >>> 32));
hash = 67 * hash + (int)(this._period ^ (this._period >>> 32));
return hash;
******/
return toString().hashCode();
}
@Override

View File

@ -1,3 +1,8 @@
* 2009-10-12 0.7.7 released
2009-10-11 zzz
* Misc. cleanups after review, prep for release
2009-10-09 zzz
* ElGamalEngine: Fix rare AIOOBE (thanks hottuna!)
* I2PTunnel: Fix persistent client tunnel keyfile location

View File

@ -1,5 +1,5 @@
<i2p.news date="$Date: 2009-07-31 00:00:00 $">
<i2p.release version="0.7.6" date="2009/07/31" minVersion="0.6"/>
<i2p.news date="$Date: 2009-10-12 00:00:00 $">
<i2p.release version="0.7.7" date="2009/10/12" minVersion="0.6"/>
<h4>Congratulations on getting I2P installed!</h4>
<ul>
<li>

View File

@ -4,7 +4,7 @@
<info>
<appname>i2p</appname>
<appversion>0.7.6</appversion>
<appversion>0.7.7</appversion>
<authors>
<author name="I2P" email="http://forum.i2p2.de/"/>
</authors>

View File

@ -1,5 +1,5 @@
<i2p.news date="$Date: 2009-07-31 00:00:00 $">
<i2p.release version="0.7.6" date="2009/07/31" minVersion="0.6"
<i2p.news date="$Date: 2009-10-12 00:00:00 $">
<i2p.release version="0.7.7" date="2009/10/12" minVersion="0.6"
anonurl="http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/i2p/i2pupdate.sud"
publicurl="http://dev.i2p.net/i2p/i2pupdate.sud"
anonannouncement="http://i2p/NF2RLVUxVulR3IqK0sGJR0dHQcGXAzwa6rEO4WAWYXOHw-DoZhKnlbf1nzHXwMEJoex5nFTyiNMqxJMWlY54cvU~UenZdkyQQeUSBZXyuSweflUXFqKN-y8xIoK2w9Ylq1k8IcrAFDsITyOzjUKoOPfVq34rKNDo7fYyis4kT5bAHy~2N1EVMs34pi2RFabATIOBk38Qhab57Umpa6yEoE~rbyR~suDRvD7gjBvBiIKFqhFueXsR2uSrPB-yzwAGofTXuklofK3DdKspciclTVzqbDjsk5UXfu2nTrC1agkhLyqlOfjhyqC~t1IXm-Vs2o7911k7KKLGjB4lmH508YJ7G9fLAUyjuB-wwwhejoWqvg7oWvqo4oIok8LG6ECR71C3dzCvIjY2QcrhoaazA9G4zcGMm6NKND-H4XY6tUWhpB~5GefB3YczOqMbHq4wi0O9MzBFrOJEOs3X4hwboKWANf7DT5PZKJZ5KorQPsYRSq0E3wSOsFCSsdVCKUGsAAAA/pipermail/i2p/2005-September/000878.html"
@ -10,42 +10,25 @@
anonlogs="http://i2p/Nf3ab-ZFkmI-LyMt7GjgT-jfvZ3zKDl0L96pmGQXF1B82W2Bfjf0n7~288vafocjFLnQnVcmZd~-p0-Oolfo9aW2Rm-AhyqxnxyLlPBqGxsJBXjPhm1JBT4Ia8FB-VXt0BuY0fMKdAfWwN61-tj4zIcQWRxv3DFquwEf035K~Ra4SWOqiuJgTRJu7~o~DzHVljVgWIzwf8Z84cz0X33pv-mdG~~y0Bsc2qJVnYwjjR178YMcRSmNE0FVMcs6f17c6zqhMw-11qjKpY~EJfHYCx4lBWF37CD0obbWqTNUIbL~78vxqZRT3dgAgnLixog9nqTO-0Rh~NpVUZnoUi7fNR~awW5U3Cf7rU7nNEKKobLue78hjvRcWn7upHUF45QqTDuaM3yZa7OsjbcH-I909DOub2Q0Dno6vIwuA7yrysccN1sbnkwZbKlf4T6~iDdhaSLJd97QCyPOlbyUfYy9QLNExlRqKgNVJcMJRrIual~Lb1CLbnzt0uvobM57UpqSAAAA/meeting141"
publiclogs="http://www.i2p.net/meeting141" />
<p>
<h4><ul><li>2009-07-31: <b>0.7.6 <a href="http://www.i2p2.i2p/release-0.7.6.html">Released</a></b></li></ul></h4>
<h4><ul><li>2009-10-12: <b>0.7.7 <a href="http://www.i2p2.i2p/release-0.7.7.html">Released</a></b></li></ul></h4>
</p><p>
I2P version 0.7.6 contains additional fixes for network stability issues
related to tunnel building and connection limits.
While the 0.7.5 release greatly improved the congestion that
appeared UTC evenings and weekends, it was not eliminated;
this release should improve the situation further.
I2P version 0.7.7 contains several anonymity improvements.
The use of session keys for crypto was completely reworked,
and I2PSnark now uses its own tunnels for tracker communication.
Work continues on improving the router console,
including conformance to HTML standards and better support of UTF-8.
</p><p>
This version also has new console themes by dr|z3d,
which may be selected on <a href="/configui.jsp">the new UI configuration page</a>.
Sorry, the new themes are not available for IE browsers.
Work also continues on increasing speeds, both by reducing the
number of session keys transferred, by improving the
methods of dropping messages during overload, and by reducing
drops by high-bandwidth routers.
There is a new <a href="/configupdate.jsp">unsigned update option</a>
for those of you that would like automatic udpates to bleeding-edge development versions.
</p><p>
The default tunnel length variance is changed from 1 to 0.
This mainly affects exploratory tunnels and iMule.
<a href="http://zzz.i2p/topics/260">As explained on zzz.i2p</a>,
a non-zero variance adds very little protection, at great cost
in resources.
Should you wish to reconfigure your exploratory settings back to the old variance of 1,
or change to length 3 variance 0,
you may do so on <a href="configtunnels.jsp">the config tunnels page</a>.
iMule settings are best changed within that application.
</p><p>
I2P now stores temporary data in the system temp directory
(generally /var/tmp on Linux and %TEMP% on Windows).
For new installs only,
user data is in $HOME/.i2p on Linux/Mac and
%APPDATA%\I2P on Windows.
</p><p>
The release contains several changes to reduce resource usage
(memory, CPU, and connections) and the usual assortment of bug fixes.
The release also contains several changes to reduce memory and CPU usage,
and a large assortment of bug fixes.
Upgrading is recommended.
</p><p>
This is the first release built and signed by zzz.
Thanks again to Complication for his many contributions to the project
over the past five years.
I2P is undergoing the most rapid development in years. Please give the
Please give the
developers feedback on IRC #i2p or <a href="http://forum.i2p">forum.i2p</a>
and <a href="http://www.i2p2.i2p/getinvolved.html">get involved</a>!
</p>

View File

@ -18,9 +18,9 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 26;
public final static long BUILD = 0;
/** for example "-test" */
public final static String EXTRA = "-rc";
public final static String EXTRA = "";
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
public static void main(String args[]) {
System.out.println("I2P Router version: " + FULL_VERSION);

View File

@ -177,7 +177,8 @@ class PeerTestManager {
testComplete(false);
} catch (UnknownHostException uhe) {
if (_log.shouldLog(Log.ERROR))
_log.error("Unable to get our IP from bob's reply: " + from + ", " + testInfo, uhe);
_log.error("Unable to get our IP (length " + ip.length +
") from bob's reply: " + from + ", " + testInfo, uhe);
}
} else {
PeerState charlieSession = _transport.getPeerState(from);

View File

@ -40,7 +40,6 @@ import net.i2p.util.SimpleTimer;
*
*/
public class UDPTransport extends TransportImpl implements TimedWeightedPriorityMessageQueue.FailedListener {
private RouterContext _rContext;
private Log _log;
private UDPEndpoint _endpoint;
/** Peer (Hash) to PeerState */

View File

@ -12,8 +12,6 @@ import net.i2p.util.Log;
*
*/
public class TunnelGatewayZeroHop extends TunnelGateway {
private RouterContext TunnelContext;
private Log TunnelLog;
private TunnelCreatorConfig _config;
private OutboundMessageDistributor _outDistributor;
private InboundMessageDistributor _inDistributor;
@ -23,11 +21,9 @@ public class TunnelGatewayZeroHop extends TunnelGateway {
*/
public TunnelGatewayZeroHop(RouterContext context, TunnelCreatorConfig config) {
super(context, null, null, null);
TunnelContext = context;
TunnelLog = context.logManager().getLog(TunnelGatewayZeroHop.class);
_config = config;
if (config.isInbound())
_inDistributor = new InboundMessageDistributor(TunnelContext, config.getDestination());
_inDistributor = new InboundMessageDistributor(context, config.getDestination());
else
_outDistributor = new OutboundMessageDistributor(context, 400);
}
@ -53,8 +49,8 @@ public class TunnelGatewayZeroHop extends TunnelGateway {
*/
@Override
public void add(I2NPMessage msg, Hash toRouter, TunnelId toTunnel) {
if (TunnelLog.shouldLog(Log.DEBUG))
TunnelLog.debug("zero hop gateway: distribute " + (_config.isInbound() ? "inbound " : " outbound ")
if (_log.shouldLog(Log.DEBUG))
_log.debug("zero hop gateway: distribute " + (_config.isInbound() ? "inbound " : " outbound ")
+ " to " + (toRouter != null ? toRouter.toBase64().substring(0,4) : "" )
+ "." + (toTunnel != null ? toTunnel.getTunnelId() + "" : "")
+ ": " + msg);