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;
+       }

 }


Reply via email to