Author: toad
Date: 2007-06-14 15:54:58 +0000 (Thu, 14 Jun 2007)
New Revision: 13600
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1037:
- MANDATORY ON JUNE 19! (Tuesday)
- Update over Mandatory support! We can now fetch the latest version of Freenet
from our peers, even if we are not able to route requests through them. This
includes fast propagation of revocations.
-- Fast (broadcast/F2F) propagation of the revocation cert if it is inserted.
-- Even if we can't get the revocation cert, if our peers say they have it,
disable auto-update and tell the user (including which peers).
-- Updater: Always fetch the current version as well as the new one, so we can
give it to our peers. Save binary blobs to disk for the jars and the revocation
key.
-- Create the NodeUpdateManager in the Node constructor, and start it in
Node.start(), like the rest.
-- If we get the revocation cert, or a new jar, we will insert it locally, so
it gets distributed to any fragment networks, and is permanent.
-- Deploy a new jar after 5 minutes, even if we can't get the 3 DNFs (as long
as we don't get the revocation cert, or hear about it from our peers). So if
our peers are broken, overloaded or too old, we can still update (through UOM).
- Direct F2F file transfer. You can attach a file to an N2NTM (by typing in a
filename, at the moment), and the receiving node will ask the user whether they
want it or not. Currently this does not persist across restarts, stores the
file in downloads/, and generally isn't that user friendly.
- MessageFilter timeouts are relative to the start of the wait, not the
creation of the filter, by default
- Probe requests: New backtracking/anti-rabbit-hole algorithm (limited forking
on return, only when the next node is better than the third best so far). If it
works we'll roll it out for regular requests too.
- Fix bugs preventing packet coalescing
- Pad message packets to next multiple of 64 (to hide message types), then add
random 0-63 bytes (to prevent profilable fixed packet sizes)
- Automatically detect clock skew and tell the user via a useralert
- URLEncode names included in URIs in the BookmarkEditorToadlet so we can deal
with bookmarks with & in their names.
- FCP: always include swap stats on NodeStats, even if we have no peers
- L10n: French fixes.
- Datastore
-- Handle failure to recover SSK store better
- HTML filter: Delete <noscript>/</noscript> tags for maximum functionality of
the original page.
- Binary blobs
-- Support downloading a key from datastore + binary blob (in the form of a
BlockSet on FetchContext); only used by UOM at the moment, no FCP API yet
-- Fixes
-- Refactor: Move reading logic into BinaryBlob.read(), new interface BlockSet
- Stats: Fix pInstantReject (we weren't reporting failure when rejecting
because of bandwidth liability)
- Don't throttle (obwlimit) local traffic (on bulk and block sends i.e.
everything that's throttled at the moment)
- Always catch and log throwables in ToadletContextImpl
- Plugin fixes: Fix an NPE
- Generated XHTML cleanups
- Minor fixes/logging related to getting rid of old crypto support
- First time wizard: only add IPv6 addresses if IPv6 is available
- Refactoring
-- Client layer
--- Move addFormChild to SimpleToadletServer
--- ClientKeyBlock(SSKBlock, ClientSSK) -> construct(,), which accepts pubkey
from either the block or the key. (Used in binary blobs, might be relevant
elsewhere?).
- HTTP/1.1 implies keepalive connections
- Don't leak UIDs when fetching only from the store
- Minor fix to netmask display on IPv6 addresses for allowed hosts fields
- Indenting, comments, logging etc
Related:
- MRogers' Simulations: Make it possible to pause and resume a simulation
- JFCP: New java FCP library from tullyvey
- Minor fix to SNMP, MDNSDiscovery plugins
- We need at least java 1.4.2.10 for SHA256 support.
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2007-06-14 15:53:37 UTC (rev
13599)
+++ trunk/freenet/src/freenet/node/Version.java 2007-06-14 15:54:58 UTC (rev
13600)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1036;
+ private static final int buildNumber = 1037;
/** Oldest build of Fred we will talk to */
- private static final int oldLastGoodBuild = 1029;
- private static final int newLastGoodBuild = 1033;
+ private static final int oldLastGoodBuild = 1033;
+ private static final int newLastGoodBuild = 1037;
static final long transitionTime;
static {
final Calendar _cal =
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
// year, month - 1 (or constant), day, hour, minute, second
- _cal.set( 2007, Calendar.JUNE, 5, 0, 0, 0 );
+ _cal.set( 2007, Calendar.JUNE, 19, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}