Author: toad
Date: 2006-06-12 17:06:16 +0000 (Mon, 12 Jun 2006)
New Revision: 9171

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/Version.java
Log:
808: Fetch previous ARK on startup, in case we have a corruption, as we have 
recently had.

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-06-12 17:01:38 UTC 
(rev 9170)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-06-12 17:06:16 UTC 
(rev 9171)
@@ -380,7 +380,7 @@

         // ARK stuff.

-        parseARK(fs);
+        parseARK(fs, true);

         arkFetcher = new ARKFetcher(this, node);

@@ -449,14 +449,15 @@
         setPeerNodeStatus(now);
     }

-    private boolean parseARK(SimpleFieldSet fs) {
+    private boolean parseARK(SimpleFieldSet fs, boolean onStartup) {
         USK ark = null;
         long arkNo = 0;
         try {
                String arkNumber = fs.get("ark.number");

                if(arkNumber != null) {
-                       arkNo = Long.parseLong(arkNumber) + 1; // this is the 
number of the ref we are parsing. we want the number of the next edition.
+                       arkNo = Long.parseLong(arkNumber) + (onStartup ? 0 : 1);
+                       // this is the number of the ref we are parsing. we 
want the number of the next edition. on startup we want to fetch the old 
edition in case there's been a corruption.
                }

                String arkPubKey = fs.get("ark.pubURI");
@@ -1374,7 +1375,7 @@

         Logger.minor(this, "Parsed successfully; changedAnything = 
"+changedAnything);

-        if(parseARK(fs))
+        if(parseARK(fs, false))
                changedAnything = true;
         if(!name.equals(myName)) changedAnything = true;
         myName = name;

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-12 17:01:38 UTC (rev 
9170)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-12 17:06:16 UTC (rev 
9171)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 807;
+       private static final int buildNumber = 808;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 765;


Reply via email to