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();
}