Author: toad
Date: 2007-12-15 22:53:02 +0000 (Sat, 15 Dec 2007)
New Revision: 16583

Modified:
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
   trunk/freenet/src/freenet/node/NodeCrypto.java
   trunk/freenet/src/freenet/node/OpennetPeerNode.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/SeedClientPeerNode.java
   trunk/freenet/src/freenet/node/SeedServerPeerNode.java
Log:
Drop lastGoodVersion if anon-initiator.

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-12-15 22:35:55 UTC 
(rev 16582)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-12-15 22:53:02 UTC 
(rev 16583)
@@ -87,7 +87,7 @@
      * @param node2 The running Node we are part of.
      */
     public DarknetPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto crypto, 
PeerManager peers, boolean fromLocal, OutgoingPacketMangler mangler) throws 
FSParseException, PeerParseException, ReferenceSignatureVerificationException {
-       super(fs, node2, crypto, peers, fromLocal, false, mangler, false);
+       super(fs, node2, crypto, peers, fromLocal, false, mangler, false, 
false);

        logMINOR = Logger.shouldLog(Logger.MINOR, this);


Modified: trunk/freenet/src/freenet/node/NodeCrypto.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeCrypto.java      2007-12-15 22:35:55 UTC 
(rev 16582)
+++ trunk/freenet/src/freenet/node/NodeCrypto.java      2007-12-15 22:53:02 UTC 
(rev 16583)
@@ -294,7 +294,8 @@
                // FIXME remove location as soon as this build is mandatory!
                fs.put("location", node.lm.getLocation());
                fs.putSingle("version", Version.getVersionString()); // Keep, 
vital that peer know our version. For example, some types may be sent in 
different formats to different node versions (e.g. Peer).
-               fs.putSingle("lastGoodVersion", 
Version.getLastGoodVersionString()); // Also vital
+               if(!forAnonInitiator)
+                       fs.putSingle("lastGoodVersion", 
Version.getLastGoodVersionString()); // Also vital
                // FIXME move inside bracket after next mandatory.
                fs.put("testnet", node.testnetEnabled);
                if(node.testnetEnabled) {

Modified: trunk/freenet/src/freenet/node/OpennetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetPeerNode.java 2007-12-15 22:35:55 UTC 
(rev 16582)
+++ trunk/freenet/src/freenet/node/OpennetPeerNode.java 2007-12-15 22:53:02 UTC 
(rev 16583)
@@ -10,7 +10,7 @@
        private long timeLastSuccess;

        public OpennetPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto 
crypto, OpennetManager opennet, PeerManager peers, boolean fromLocal, 
OutgoingPacketMangler mangler) throws FSParseException, PeerParseException, 
ReferenceSignatureVerificationException {
-               super(fs, node2, crypto, peers, fromLocal, false, mangler, 
true);
+               super(fs, node2, crypto, peers, fromLocal, false, mangler, 
true, false);
                this.opennet = opennet;
        }


Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-12-15 22:35:55 UTC 
(rev 16582)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-12-15 22:53:02 UTC 
(rev 16583)
@@ -321,7 +321,7 @@
        * @param fs The SimpleFieldSet to parse
        * @param node2 The running Node we are part of.
        */
-       public PeerNode(SimpleFieldSet fs, Node node2, NodeCrypto crypto, 
PeerManager peers, boolean fromLocal, boolean fromAnonymousInitiator, 
OutgoingPacketMangler mangler, boolean isOpennet) throws FSParseException, 
PeerParseException, ReferenceSignatureVerificationException {
+       public PeerNode(SimpleFieldSet fs, Node node2, NodeCrypto crypto, 
PeerManager peers, boolean fromLocal, boolean fromAnonymousInitiator, 
OutgoingPacketMangler mangler, boolean isOpennet, boolean 
ignoreLastGoodVersion) throws FSParseException, PeerParseException, 
ReferenceSignatureVerificationException {
                boolean noSig = false;
                if(fromLocal || fromAnonymousInitiator) noSig = true;
                logMINOR = Logger.shouldLog(Logger.MINOR, PeerNode.class);
@@ -343,8 +343,10 @@
                disableRouting = disableRoutingHasBeenSetLocally = false;
                disableRoutingHasBeenSetRemotely = false; // Assume so

-               // FIXME make mandatory once everyone has upgraded
-               lastGoodVersion = fs.get("lastGoodVersion");
+               if(ignoreLastGoodVersion)
+                       lastGoodVersion = version;
+               else
+                       lastGoodVersion = fs.get("lastGoodVersion");
                updateShouldDisconnectNow();

                testnetEnabled = fs.getBoolean("testnet", false);

Modified: trunk/freenet/src/freenet/node/SeedClientPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedClientPeerNode.java      2007-12-15 
22:35:55 UTC (rev 16582)
+++ trunk/freenet/src/freenet/node/SeedClientPeerNode.java      2007-12-15 
22:53:02 UTC (rev 16583)
@@ -14,7 +14,7 @@
 public class SeedClientPeerNode extends PeerNode {

        public SeedClientPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto 
crypto, PeerManager peers, boolean fromLocal, boolean noSig, 
OutgoingPacketMangler mangler) throws FSParseException, PeerParseException, 
ReferenceSignatureVerificationException {
-               super(fs, node2, crypto, peers, fromLocal, noSig, mangler, 
true);
+               super(fs, node2, crypto, peers, fromLocal, noSig, mangler, 
true, noSig);
        }

        public PeerNodeStatus getStatus() {

Modified: trunk/freenet/src/freenet/node/SeedServerPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedServerPeerNode.java      2007-12-15 
22:35:55 UTC (rev 16582)
+++ trunk/freenet/src/freenet/node/SeedServerPeerNode.java      2007-12-15 
22:53:02 UTC (rev 16583)
@@ -19,7 +19,7 @@
 public class SeedServerPeerNode extends PeerNode {

        public SeedServerPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto 
crypto, PeerManager peers, boolean fromLocal, OutgoingPacketMangler mangler) 
throws FSParseException, PeerParseException, 
ReferenceSignatureVerificationException {
-               super(fs, node2, crypto, peers, fromLocal, false, mangler, 
true);
+               super(fs, node2, crypto, peers, fromLocal, false, mangler, 
true, false);
        }

        public PeerNodeStatus getStatus() {


Reply via email to