Author: toad
Date: 2008-05-27 22:26:55 +0000 (Tue, 27 May 2008)
New Revision: 20108
Modified:
trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
Log:
If we are run on a 1.4 JVM, tell the user that this won't be supported for much
longer, and temporarily (session-only) turn off auto-update deployment.
Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-05-27
15:00:51 UTC (rev 20107)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-05-27
22:26:55 UTC (rev 20108)
@@ -662,6 +662,9 @@
Node.inBWLimit=Input bandwidth limit (bytes per second)
Node.inBWLimitLong=Input bandwidth limit (bytes/sec); the node will try not to
exceed this; -1 = 4x set outputBandwidthLimit
Node.invalidStoreSize=Store size must be at least 32MB
+Node.java14Title=Java 1.4 no longer supported
+Node.java14Text=You are running Freenet on a 1.4 version of Java. Please
upgrade to at least java 1.5. Auto-update has been temporarily disabled as
future builds may not load at all.
+Node.java14ShortText=Java 1.4 will not be supported for much longer, please
upgrade to 1.5.
Node.l10nLanguage=The language the node will use to display messages
Node.l10nLanguageLong=This setting will change the language used to display
messages. Keep in mind that some strings won't be translated until next node
startup though.
Node.maxHTL=Maximum HTL
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2008-05-27 15:00:51 UTC (rev
20107)
+++ trunk/freenet/src/freenet/node/Node.java 2008-05-27 22:26:55 UTC (rev
20108)
@@ -1706,6 +1706,12 @@
if(logMINOR) Logger.minor(this, "JVM vendor: "+jvmVendor+", JVM
version: "+jvmVersion+", OS name: "+osName+", OS version: "+osVersion);
+ if(jvmVersion.startsWith("1.4")) {
+ System.err.println("Java 1.4 will not be supported for
much longer, PLEASE UPGRADE!");
+ nodeUpdater.disableThisSession();
+ clientCore.alerts.register(new SimpleUserAlert(false,
l10n("java14Title"), l10n("java14Text"), l10n("java14ShortText"),
UserAlert.ERROR));
+ }
+
if(jvmVendor.startsWith("Sun ")) {
// Sun bugs
Modified: trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
===================================================================
--- trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
2008-05-27 15:00:51 UTC (rev 20107)
+++ trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
2008-05-27 22:26:55 UTC (rev 20108)
@@ -88,6 +88,7 @@
public final UpdateOverMandatoryManager uom;
private boolean logMINOR;
+ private boolean disabledThisSession;
public NodeUpdateManager(Node node, Config config) throws
InvalidConfigValueException {
logMINOR = Logger.shouldLog(Logger.MINOR, this);
@@ -386,6 +387,12 @@
logMINOR = Logger.shouldLog(Logger.MINOR, this);
try {
synchronized(this) {
+ if(disabledThisSession) {
+ String msg = "Not deploying update
because disabled for this session (bad java version??)";
+ Logger.error(this, msg);
+ System.err.println(msg);
+ return;
+ }
if(hasBeenBlown) {
String msg = "Trying to update but key
has been blown! Not updating, message was "+revocationMessage;
Logger.error(this, msg);
@@ -904,5 +911,9 @@
}
};
+
+ public void disableThisSession() {
+ disabledThisSession = true;
+ }
}