merge of '1f636df6ff10db350d6b020b2e06daf842fb23e1'

and '5e5df32501efc3a7548958249e5bd99acf8edd8f'
This commit is contained in:
sponge
2010-01-13 14:38:01 +00:00
13 changed files with 49 additions and 29 deletions

View File

@ -561,7 +561,7 @@ public class SnarkManager implements Snark.CompleteListener {
if ( (files != null) && (files.size() > MAX_FILES_PER_TORRENT) ) {
return _("Too many files in \"{0}\" ({1}), deleting it!", info.getName(), files.size());
} else if ( (files == null) && (info.getName().endsWith(".torrent")) ) {
return _("Torrent file \"{0}\" cannot end in '.torrent', deleting it!", info.getName());
return _("Torrent file \"{0}\" cannot end in \".torrent\", deleting it!", info.getName());
} else if (info.getPieces() <= 0) {
return _("No pieces in \"{0}\", deleting it!", info.getName());
} else if (info.getPieces() > Storage.MAX_PIECES) {

View File

@ -16,7 +16,7 @@ package net.i2p;
public class CoreVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = "0.7.8";
public final static String VERSION = "0.7.9";
public static void main(String args[]) {
System.out.println("I2P Core version: " + VERSION);

View File

@ -289,8 +289,10 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
if (_log.shouldLog(Log.DEBUG)) _log.debug(getPrefix() + "After getDate / begin waiting for a response");
int waitcount = 0;
while (!_dateReceived) {
if (waitcount++ > 30)
if (waitcount++ > 30) {
closeSocket();
throw new IOException("no date handshake");
}
try {
synchronized (_dateReceivedLock) {
_dateReceivedLock.wait(1000);
@ -307,8 +309,13 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
// wait until we have created a lease set
waitcount = 0;
while (_leaseSet == null) {
if (waitcount++ > 5*60)
if (waitcount++ > 5*60) {
try {
_producer.disconnect(this);
} catch (I2PSessionException ipe) {}
closeSocket();
throw new IOException("no leaseset");
}
synchronized (_leaseSetWait) {
try {
_leaseSetWait.wait(1000);

View File

@ -2,6 +2,16 @@
* Insert reverse connection ability into the http server code so that
seedless can start to get worked on. It's disabled by default.
* 2010-01-12 0.7.9 released
2010-01-12 zzz
* I2CP: Clean up resources on 5-minute leaseset timeout at startup
* Increase max floodfills to 9 (was 6)
* Temporarily disable routerInfo floodfill verifies
* Fix .fr eepsite index css
* Javdoc tweaks
2010-01-09 zzz
* Include new eepsite indexes in pkg

View File

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

View File

@ -3,7 +3,7 @@
<title>I2P serveur web anonyme | Bienvenue à votre eepsite</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="lib/eepsite.css" />
<link rel="stylesheet" type="text/css" href="eepsite.css" />
</head>
<body>
<div class="fairylights">

View File

@ -1,5 +1,5 @@
<i2p.news date="$Date: 2009-12-08 00:00:00 $">
<i2p.release version="0.7.8" date="2009/12/08" minVersion="0.6"/>
<i2p.news date="$Date: 2010-01-12 00:00:00 $">
<i2p.release version="0.7.9" date="2010/01/12" minVersion="0.6"/>
<h4><ul><li>Congratulations on getting I2P installed!</li></ul></h4>
<p>
<b>Welcome to I2P!</b>

View File

@ -1,26 +1,25 @@
<i2p.news date="$Date: 2009-12-08 00:00:00 $">
<i2p.release version="0.7.8" date="2009/12/08" minVersion="0.6" />
<h4><ul><li>2009-12-08: <b>0.7.8 <a href="http://www.i2p2.i2p/release-0.7.8.html">Released</a></b></li></ul></h4>
<i2p.news date="$Date: 2010-01-12 00:00:00 $">
<i2p.release version="0.7.9" date="2010/01/12" minVersion="0.6" />
<h4><ul><li>2010-01-12: <b>0.7.9 <a href="http://www.i2p2.i2p/release-0.7.9.html">Released</a></b></li></ul></h4>
<p>
The 9th I2P release for 2009,
0.7.8, contains initial support for router console translations, and
changes to the floodfill system which lay the foundation for supporting large growth in the network.
0.7.9 fixes several longstanding bugs causing message corruption.
We are hopeful that network performance will improve once it is widely deployed.
There are other changes that should help router reachability and tunnel build success rates.
The release also includes additional translation support, and a full Russian translation by "forget"
which was sponsored by "russiansponsor".
</p><p>
To prevent easy blocking of I2P by malicious firewalls, the release randomizes the I2P port for new installs.
For existing installs, please help those who are vulnerable to blocking by changing UDP to a random port on
There are more changes to reduce memory and CPU usage,
and other bug fixes.
Upgrading is recommended.
As a reminder to those still using port 8887,
please help those who are vulnerable to blocking by changing UDP to a random port on
<a href="config.jsp">the network configuration page</a>
and adjusting your firewall if necessary.
Say goodbye to port 8887!
</p><p>
The release also contains more changes to reduce memory and CPU usage,
and a large assortment of bug fixes.
Upgrading is recommended.
We especially encourage those of you still running release 0.7.6 or earlier to upgrade as soon as possible.
Please give the
developers feedback on IRC #i2p or <a href="http://forum.i2p">forum.i2p</a>
developers feedback on <a href="irc://127.0.0.1:6668/i2p">IRC #i2p</a> or <a href="http://forum.i2p">forum.i2p</a>
and <a href="http://www.i2p2.i2p/getinvolved.html">get involved</a>
or <a href="http://www.i2p2.i2p/donate.html">donate</a>!
We are also looking for help on new and existing translations.
We are still looking for help on new and existing translations.
Please volunteer on IRC #i2p.
</p>
</i2p.news>

View File

@ -18,9 +18,10 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 19;
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

@ -27,7 +27,7 @@ class FloodfillMonitorJob extends JobImpl {
private static final long MIN_UPTIME = 2*60*60*1000;
private static final long MIN_CHANGE_DELAY = 6*60*60*1000;
private static final int MIN_FF = 4;
private static final int MAX_FF = 6;
private static final int MAX_FF = 9;
private static final String PROP_FLOODFILL_PARTICIPANT = "router.floodfillParticipant";
public FloodfillMonitorJob(RouterContext context, FloodfillNetworkDatabaseFacade facade) {

View File

@ -53,6 +53,7 @@ class FloodfillStoreJob extends StoreJob {
@Override
protected void succeed() {
super.succeed();
if (_state != null) {
// Get the time stamp from the data we sent, so the Verify job can meke sure that
// it finds something stamped with that time or newer.
@ -61,6 +62,8 @@ class FloodfillStoreJob extends StoreJob {
boolean isRouterInfo = data instanceof RouterInfo;
if (isRouterInfo) {
published = ((RouterInfo) data).getPublished();
// Temporarily disable
return;
} else if (data instanceof LeaseSet) {
published = ((LeaseSet) data).getEarliestLeaseDate();
}

View File

@ -231,7 +231,7 @@ class KBucketImpl implements KBucket {
/**
* Todo: shuffling here is a hack and doesn't work since
* wwe witched back to a HashSet implementation
* we switched back to a HashSet implementation
*/
public int add(Hash peer) {
_entries.add(peer);

View File

@ -77,7 +77,7 @@ public class CommSystemFacadeImpl extends CommSystemFacade {
public boolean haveHighOutboundCapacity() { return (_manager == null ? false : _manager.haveHighOutboundCapacity()); }
/**
* Framed average clock skew of connected peers in seconds, or the clock offset if we cannot answer.
* @return Framed average clock skew of connected peers in seconds, or the clock offset if we cannot answer.
* Average is calculated over the middle "percentToInclude" peers.
*/
@Override