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

Reply via email to