Author: toad
Date: 2008-03-13 18:51:23 +0000 (Thu, 13 Mar 2008)
New Revision: 18509
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1123: (mandatory 17 march i.e. monday)
Link layer: (discovered in simulation)
- Fix FNPPacketMangler.authenticatorCache. If we get the same JFK(3) twice, we
should send the same JFK(4) response, and not create an additional KeyTracker
with the same key. Unfortunately this wasn't working because we were using
byte[] as a key to a hashset; you can't do that, they're not hashed or
equals()ed by value. This was causing unmatchable packets, wasted bandwidth,
and possibly connectivity problems.
- We were setting the flag saying that we'd sent the initial-messages, and then
not sending them because unverified tracker was non-null. Result: we get
connected, we are routing compatible, but we're not routable, because we never
send the location. Caused connectivity problems.
- Don't send initial-messages if the tracker is deprecated.
- Deal with a connectivity race condition: Node 1 can get the current and
previous keys in the opposite way around to node 2. When we rekey we lose one
of the trackers, and get unmatchable packets. Solution: if two JFK sessions
complete within a short period, swap them around if the hash of the key, the
xor of the boot IDs, and the word "test" is greater for the first one.
- Fix logging-related NPE.
- Check for unverified tracker key == previous tracker key (also current ==
previous). That was true with some of the above bugs in simulation.
Startup/latency:
- Run SingleFileFetcher off-thread schedule's on the relevant
slowSerialExecutor thread.
- Reinstate yield() in CRS.register after fetching a block from the datastore.
We still get very high latency accessing the store on startup.
- Try to reduce latency penalty of database background jobs by tuning the BDBJE
parameters.
HTML filter:
- Allow hasAnActivelink through the filter in add-a-bookmark links.
Web interface:
- Fix an NPE on the welcome page when there is no User-Agent.
L10n, bookmarks, etc:
- Update editions.
- Fix a couple of strings with wrong names in freenet.l10n.en.properties.
FCP:
- Add a count of attached files to the PersistentPutDir message.
Stats:
- Calculate the non-request overhead, rather than assuming an 80% fudge factor.
For the first 1 minute, assume 70%, then scale it up/down to the observed value
over the next 4 minutes.
- Display total non-request overhead (rate and %) on the stats page.
- Slightly more accurate alreadyReportedBytes when sending multiple packets.
- Report ack-only bytes from the previous tracker too.
IP addresses:
- Add allowLocalAddresses to FreenetInetAddress.isRealInternetAddress(). Now we
will never send packets to multicast or wildcard addresses, or complain about
trying to, even if we have allow local addresses enabled.
Failure tables/ULPRs:
- Fix an ArrayIndexOutOfBoundsException, maybe fix some more subtle bugs.
Requests:
- Prevent sendTerminal() from being called twice (race condition).
- Fix "Status is SUCCESS but we never started a transfer on <uid>".
Minor DoS fix:
- Don't throw an ArrayIndexOutOfBoundsException if the two arrays for
FNPPacketTimes are of different sizes.
Crypto:
- Fix DSAGroupGenerator.isPrime(): 1 is not prime and can't be tested. Update
unit tests: it should throw.
Simulations:
- Log unmatchable packet errors to stderr when doing a simulation.
- Show the number of partial connections (isConnected,
isConnected&&isRoutingCompatible) while waiting for all nodes connected.
Dev stuff:
- Logging.
- Count the number of running fetches in BDBFS.
- Better toString()'s.
- Comments.
freenet-ext.jar:
- Release edition 20, the node will now fetch it. Includes a thread library for
linux/ppc, support for building bigint library on MIPS.
- Unreleased (for #21): BDB lib path fix.
Installer:
- Fix bash-ism "source".
- Unbundle Frost for now.
- Paranoia on *nix.
Thingamablog:
- Fix preview in browser. Use our browser launch class but optimise it a bit on
*nix.
- Increment the edition number before insert.
- New property: fproxy port.
Website:
- Fix typo in the FAQ.
dieppe
nextgens
toad
ratchet
robert
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-03-13 16:10:49 UTC (rev
18508)
+++ trunk/freenet/src/freenet/node/Version.java 2008-03-13 18:51:23 UTC (rev
18509)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1122;
+ private static final int buildNumber = 1123;
/** Oldest build of Fred we will talk to */
- private static final int oldLastGoodBuild = 1121;
- private static final int newLastGoodBuild = 1122;
+ private static final int oldLastGoodBuild = 1122;
+ private static final int newLastGoodBuild = 1123;
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.MARCH, 12, 0, 0, 0 );
+ _cal.set( 2008, Calendar.MARCH, 17, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}