Author: toad
Date: 2008-05-03 20:24:03 +0000 (Sat, 03 May 2008)
New Revision: 19716
Modified:
trunk/freenet/src/freenet/node/Version.java
Log:
1145: (mandatory wednesday)
Alerts:
- Port forwarding alert: We indicate whether we think a port is not forwarded
by whether it's negative in portsNotForwarded. So use Math.abs().
- Show the alert as an error if we have reasonable grounds to think at least
one port isn't forwarded.
- Indicate in the short and long text whether we think the ports aren't
forwarded or we're just not sure.
FProxy:
- Fix #1942: ?forcedownload wasn't passed over a permanent-redirect (e.g.
updated USK).
Queue page:
- Fix #2280: When an insert is attempted with an invalid key, show an error
message, rather than killing the connection. Also, do the same for file not
found.
Bookmarks:
- Update editions.
- Activelink to Another Index and TUFI.
- Fix synchronization.
Config:
- Remove some options from the simple mode config page.
- Fix NPE when changing bindTo for console when it's not up.
- Don't check twice for allowedFullAccess.
- One-click acces to advanced config settings - tabs at the top to access
simple vs advanced options. The default is determined by whether advanced mode
is enabled. Update english SimpleToadletServer.advancedModeLong slightly to
reflect this, four new strings.
- Make advanced mode an advanced option.
Filter:
- Fix double-encoding in URLs (e.g. %2520 from a space), and improve
relativisation of links.
L10n:
- French translation update.
- German translation: Include some guidance on what connection speed to select,
based on known German ISPs (DSL 1000/2000).
- German translation update.
- Italin translation update from Singularity.
- "CSS Name" -> "Web interface theme"
Post-install wizard:
- Set the default option to 1024+/256kbps.
- But set the limit to half the shown output bandwidth (above 128k). So now
we're back to a default of 16K/sec (was 15K/sec a few builds ago).
USK polling/ARKs:
- Stop polling ARKs when a node is removed (e.g. an opennet peer is dropped).
- Fix wrong count of running USK background-fetchers.
- At the end of USKFetcher.cancel(), callback to USKManager to check whether
we've been dropped. Complain to logs if not (and remove it to prevent leak).
- Add callbacks to determine at what priority to run a USK fetcher (normal/on
progress).
- /-<n>/ fetches run at the priority of the request, inserts to USKs likewise,
bookmark fetches run at prefetch/update, ARKs run at IMMEDIATE_SPLITFILE, FCP
subscriptions run at BULK_SPLITFILE/UPDATE, NodeUpdater runs at
UPDATE/IMMEDIATE_SPLITFILE, XMLSpider runs at the fetch priority/the fetch
priority minus 1.
- Start USK polling cooldown at 30 minutes, not 5 minutes.
- And randomise it for obfuscation.
- Fix #793: Duplicate content detection on USK inserts was broken because we
didn't check the last known edition's content against the new content.
- Fix an NPE.
Opennet:
- Scale max number of peers with bandwidth, 1 per 1KB/sec between 10 and 20.
TURNED OFF in the code for now as testing was negative. More testing may be
helpful.
Startup:
- Move signalStarting() up a bit to prevent early timeouts on very slow systems.
Low level:
- Delete old pure java SHA-256 implementation. We weren't falling back to it
anyway.
- Restrict access to Rijndael members.
- Fix a comment on a Rijndael constructor (this is the wrapper class, not the
impl).
Stats and request limiting:
- Logging.
- Avoid an integer overflow causing no requests to be accepted when obwlimit is
very high and ibwlimit is -1.
- Synchronize on the right object when setting the obwlimit.
- Never set ibwLimit to negative even if it's ignored.
IP detection etc:
- Fix MTU misreporting. Also in JSTUN.
Datastore:
- Use NIO (FileChannel) to do absolute-positioned writes and reads to the
datastore file(s) in parallel, without holding the RAF as a lock. On Linux this
just calls pread/pwrite (so works); on Windows, it holds a lock internally (so
is serialized, but this is no worse than the previous build, and when they fix
the JVM it will be better).
- Don't try to reconstruct a block consisting entirely of zeros.
- Reconstruction: If reach the end of the keys file before the store, don't
reuse the old key and cause lots of dupes.
- Reconstruction: If get a dupe, and haven't used the data from disk,
reconstruct the block from disk and try to use the new key. Various outcomes,
better logging of all of them.
- Write the fullKey when fetching.
- Fix corruption of the .keys file for CHKs: we were writing the routing key
not the full key. Reconstruction: try to deal with this.
- Reconstruction: NodeCHK.routingKeyFromFullKey(): return null if the key is
completely the wrong length. Not seen the error in reconstructing my store.
- Don't abort transaction twice in put() if key already exists.
- Refactoring in reconstruction.
- Logging.
- Assertions.
- Fetch/put: Silently fail if the store is being shut down.
Out of memory handling and prevention:
- Memory checker: when we reach the maximum totalMemory, and we have less than
8MB of free memory, do a garbage collection, and if we're still in the same
situation, run the low memory handlers to reduce memory usage.
- SHA256: clear cache and turn off caching when hit low memory. Don't cache
more than 16 instances.
- Clear the failure table on out of memory, halve it on low memory.
- BDBFS: Evict cache on low memory.
SimpleFieldSet (used everywhere):
- Synchronization.
FCP:
- Don't close the connection on getting a fatal protocol error from the client,
this is pointless (we won't get one, and the client could close the connection
itself).
Temp files:
- Remove some back compatibility code.
- Some paranoia in closing PaddedEphemerallyEncryptedBucket, to ensure we see
the exceptions.
- Don't instantiate a new MersenneTwister for every encrypted temp file on
padding.
- Optimise write(buf,*,0).
Documentation:
- Mention the firefox profile, and to get config settings from it, in the
README.
Dev stuff:
- Paranoia.
- Logging.
- Indenting.
Installer:
- Add a cron job to start on reboot on *nix and OS/X. This assumes @reboot
works, so it only works with Vixie Cron. Most systems have this. Long term we
should use the LSB utils, if we are run as root and they are installed, to add
a user and an init script. We automatically remove it on uninstallation via the
uninstaller jar.
- Refactor slightly (simplify the process spec xml file).
JSTUN:
- Update the list of public STUN servers from the voip wiki.
- Fix misreporting of MTU.
Website:
- Mention the possibility of downloading the jar and clicking on it. On some
linuxen this will fail, so wget is preferred. Better wording also.
- German download page update.
- Fix layout for small browser windows (800x600 or less), some other minor
adjustments.
- Fix a menu bug.
batosai
j16sdiz
Loki (pointed out a menu bug)
NEOatNHNG
nextgens
sdiz
Singularity
toad
tommy
Thingamablog: (dieppe)
- Fix fproxy port property lookup (typo).
- Set the system language if we have a translation for it.
KeyExplorer: (saces)
- Better handling of invalid URIs.
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-05-03 20:18:07 UTC (rev
19715)
+++ trunk/freenet/src/freenet/node/Version.java 2008-05-03 20:24:03 UTC (rev
19716)
@@ -24,17 +24,17 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1144;
+ private static final int buildNumber = 1145;
/** Oldest build of Fred we will talk to */
- private static final int oldLastGoodBuild = 1143;
- private static final int newLastGoodBuild = 1144;
+ private static final int oldLastGoodBuild = 1144;
+ private static final int newLastGoodBuild = 1145;
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.APRIL, 28, 0, 0, 0 );
+ _cal.set( 2008, Calendar.MAY, 14, 0, 0, 0 );
transitionTime = _cal.getTimeInMillis();
}