Author: toad
Date: 2008-11-21 14:10:57 +0000 (Fri, 21 Nov 2008)
New Revision: 23784
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1181: (MANDATORY SUNDAY)
DOWNLOAD CORRUPTIONS BUG: (bug #2694)
- When fetching a splitfile, if the last data block is involved in the FEC
decode, the padding algorithm will affect the output. Which explains the
current data corruption, because...
- We have had 3 different ways of computing padding for the last block of a
splitfile since we started Freenet.
- They were based on 3 different, wrong, ways of converting byte[] to int[].
- The one introduced in ext #25 is different to the one used for most of the
time in 0.7, and both are wrong.
- Ext #26 introduces the correct algorithm.
- But we still want to be able to download stuff! So we ignore the last data
block in all splitfile segments and therefore sidestep the issue.
- This has a small performance/retrievability penalty, especially on small
downloads. 1182 will improve on this, especially for data inserted after 1182.
Statistics:
- Try to estimate the size of the opennet.
Misc:
- Fix a bug in UpdatableSortedLinkedListItemImpl, actually set parent in
setParent(), hopefully this wasn't a problem in practice...
Dev stuff:
- Get rid of non-working hack to only report disconnected peers problems after
last Monday.
- Remove source directories that used to contain the MersenneTwister code.
- Logging.
Network ID code: (not working atm)
- Don't compare PingRecord's with PeerNode's. (Code not used atm).
Unit tests:
- Add unit tests to compare MersenneTwister.bytesToInt to Fields.bytesToInt.
- Rename a test.
- Introduce consistency and output tests for MersenneTwister with a fixed seed.
- Same for Yarrow, having added a flag for it not to seed from external
sources. Note currently broken and commented out.
freenet-ext.jar #26:
- Finally a correct setSeed(byte[])! We've had 3 different wrong ways to
convert from bytes to ints since starting Freenet ...
j16sdiz
nextgens
toad
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-11-21 13:38:00 UTC (rev
23783)
+++ trunk/freenet/src/freenet/node/Version.java 2008-11-21 14:10:57 UTC (rev
23784)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1180;
+ private static final int buildNumber = 1181;
/** Oldest build of Fred we will talk to */
- private static final int oldLastGoodBuild = 1178;
- private static final int newLastGoodBuild = 1180;
+ private static final int oldLastGoodBuild = 1180;
+ private static final int newLastGoodBuild = 1181;
static final long transitionTime;
static {
final Calendar _cal =
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
// year, month - 1 (or constant), day, hour, minute, second
- _cal.set( 2008, Calendar.NOVEMBER, 20, 0, 0, 0 );
+ _cal.set( 2008, Calendar.NOVEMBER, 23, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs