[freenet-cvs] r15503 - trunk/freenet/src/freenet/node
toad at freenetproject.org
toad at freenetproject.org
Tue Oct 23 16:57:58 UTC 2007
Author: toad
Date: 2007-10-23 16:57:57 +0000 (Tue, 23 Oct 2007)
New Revision: 15503
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1066:
JFK:
- MERGE JFK TO TRUNK.
- This is kryptos' Summer of Code project, with a lot of post-deadline help from nextgens.
- It is a new link setup protocol (JFKi), replacing our 4-stage variant on Station-to-Station protocol with a modern, fast, DoS-resistant algorithm JFKi. We still wrap it in an outer layer of encryption to make the packets hard to identify.
- Note that we violate the spec in that we do not send the groups/pubkeys because on a pure darknet link setup they are unnecessary as they are known.
- JFK's approach to forward secrecy is slightly different to STS's. If the node is cracked, all traffic on current connections (since they last rekeyed, which we don't do yet), and all traffic on connections made during the forward secrecy period (currently set to 30 minutes), can be decrypted. Most likely most connections will have been up for more than 30 minutes. We will in future rekey every few hours to limit damage.
- negType 2 is JFK, negType 1 is STS, negType 0 is DH. We no longer support DH, and will drop STS in a month or two. The negType's which a node supports are advertised in its noderef.
- A lot of this work is post-merge i.e. optimisation, marginal improvements to security etc.
- Also simpler connection setup: we won't need unverified any more...
Requests:
- CHK Inserts:
-- *Always* set status on the CHKInsertSender. The CompletionWaiter waits for status, and if we exit without setting status (on the grounds that the transfer failed), it will keep waiting forever, we get a livelocked InsertHandler, and ultimately no requests will run because of bandwidth liability limiting! Also notify waiting nodes immediately if our transfer is rejected.
Opennet:
- Reduce the number of opennet peers as the number of darknet peers grows. Once we have 20 connected darknet peers, no more opennet peers will be added (but we will still relay, and if the number of connections drops we will fill in from opennet).
- Grab and dump any unwanted opennet-related messages in RequestSender completion.
- Refactoring relating to when to send OpennetCompletedAck, I think no functional changes, maybe send in more cases.
Web interface:
- don't display the no-ip-address alert if there is an old ip or a hint ip (both are just guesses... hopefully this isn't a problem)
- reorder bw stats on stats box on stats page
- Some HTML fixes.
- Update default bookmark edition numbers.
- Fix broken HTML generation in various places including the no-node-name-set alert.
I18N:
- German translation updates from Michael Tanzer.
- French translation updates from batosai. Minor fixes from nextgens.
- Spanish translation updates from SpanishGuy at 4PIdBIc_gLn6aTHD+T3i_f617sg
Plugins:
- Run all IP detection plugins in parallel, rather than waiting for one to finish before starting the next. UPnP can e.g. be very slow and if we start it before trying JSTUN, we don't get an IP for ages. Code should deal with adding plugins, slow vs fast plugins etc adequately, and not leak.
- Fix killPlugin() - it was always killing the last plugin, not the one we asked it to kill!
- Add killPlugin(FredPlugin plugin, int maxWaitTime)
Misc:
- Fix an NPE when loading a corrupted peers list.
- Default storeDir to datastore/ . Automatically move files there.
- Move Echo to apps/ to make auto-build easier.
Development/debugging:
- imports
- comments
- indenting
- logging
- trivial refactoring (make variables final, move code around within methods etc)
- make interfaces public for plugins: RedirectException
- make some constants public: PeerManagerUserAlert
- HTML generation:
-- Remove some run-time checking. Add some. Check attribute names as well as element names, make and use XMLCharacterClasses.
-- Test: Rename some constants. Add a few more tests.
jSite: (0.4.9.3)
- Close all streams. jSite was not closing streams, and as a result was (silently) failing to insert most of any large freesite or index.
- Don't set some swing properties.
- Copyright updates.
- Internal changes supporting the above e.g. don't use InputStream's, use File's.
- Better error detection.
- Better French translations.
- Better progress bar, show next version number instead of current and block progress.
- Button label fixes.
- Change language on the fly.
Website changes:
- Point people to the googlecode mirror of the SVN to reduce load on emu.
CREDITS:
- nextgens
- kryptos
- bombe
- tullyvey
- juiceman
- toad
- SpanishGuy
- batosai
- Michael Tanzer
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2007-10-23 15:49:44 UTC (rev 15502)
+++ trunk/freenet/src/freenet/node/Version.java 2007-10-23 16:57:57 UTC (rev 15503)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1065;
+ private static final int buildNumber = 1066;
/** Oldest build of Fred we will talk to */
- private static final int oldLastGoodBuild = 1064;
- private static final int newLastGoodBuild = 1065;
+ private static final int oldLastGoodBuild = 1065;
+ private static final int newLastGoodBuild = 1066;
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.SEPTEMBER, 30, 0, 0, 0 );
+ _cal.set( 2007, Calendar.OCTOBER, 30, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}
More information about the cvs
mailing list