Author: toad
Date: 2008-02-04 22:57:15 +0000 (Mon, 04 Feb 2008)
New Revision: 17520

Modified:
   trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeARKInserter.java
   trunk/freenet/src/freenet/node/NodeCrypto.java
   trunk/freenet/src/freenet/node/NodeIPPortDetector.java
   trunk/freenet/src/freenet/node/NodeStarter.java
   trunk/freenet/src/freenet/node/OpennetManager.java
Log:
Don't insert ARKs when testing.

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2008-02-04 
22:38:25 UTC (rev 17519)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2008-02-04 
22:57:15 UTC (rev 17520)
@@ -591,6 +591,8 @@
 Node.disablePHTLSLong=Disable probabilistic HTL (don't touch this unless you 
know what you are doing)
 Node.dropPacketEvery=Testing packet drop frequency
 Node.dropPacketEveryLong=Frequency of dropping packets. Testing option used by 
devs to simulate packet loss. 0 means never artificially drop a packet. Don't 
touch this!
+Node.enableARKs=Enable ARKs? (DON'T TURN THIS OFF!)
+Node.enableARKsLong=Enable ARKs? (DON'T TURN THIS OFF!)
 Node.errorApplyingConfig=Error while applying the new config : ${error}
 Node.extraPeerDir=Extra peer data directory
 Node.extraPeerDirLong=Name of directory to put extra peer data in

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2008-02-04 22:38:25 UTC (rev 
17519)
+++ trunk/freenet/src/freenet/node/Node.java    2008-02-04 22:57:15 UTC (rev 
17520)
@@ -366,6 +366,7 @@
        private int outputBandwidthLimit;
        private int inputBandwidthLimit;
        boolean inputLimitDefault;
+       final boolean enableARKs;
        public static final short DEFAULT_MAX_HTL = (short)10;
        private short maxHTL;
        /** Type identifier for fproxy node to node messages, as sent on 
DMT.nodeToNodeMessage's */
@@ -724,13 +725,29 @@
                ipDetector = new NodeIPDetector(this);
                sortOrder = ipDetector.registerConfigs(nodeConfig, sortOrder);

+               // ARKs enabled?
+               
+               nodeConfig.register("enableARKs", true, sortOrder++, true, 
false, "enableARKs", "enableARKsLong", new BooleanCallback() {
+
+                       public boolean get() {
+                               return enableARKs;
+                       }
+
+                       public void set(boolean val) throws 
InvalidConfigValueException {
+                               throw new InvalidConfigValueException("Cannot 
change on the fly");
+                       }
+                       
+               });
+               enableARKs = nodeConfig.getBoolean("enableARKs");
+               
                // Determine the port number
                // @see #191
                if(oldConfig != null && 
"-1".equals(oldConfig.get("node.listenPort")))
                        throw new 
NodeInitException(NodeInitException.EXIT_COULD_NOT_BIND_USM, "Your freenet.ini 
file is corrupted! 'listenPort=-1'");
                NodeCryptoConfig darknetConfig = new 
NodeCryptoConfig(nodeConfig, sortOrder++, false);
                sortOrder += NodeCryptoConfig.OPTION_COUNT;
-               darknetCrypto = new NodeCrypto(this, false, darknetConfig, 
startupTime);
+               
+               darknetCrypto = new NodeCrypto(this, false, darknetConfig, 
startupTime, enableARKs);

                // Must be created after darknetCrypto
                dnsr = new DNSRequester(this);

Modified: trunk/freenet/src/freenet/node/NodeARKInserter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeARKInserter.java 2008-02-04 22:38:25 UTC 
(rev 17519)
+++ trunk/freenet/src/freenet/node/NodeARKInserter.java 2008-02-04 22:57:15 UTC 
(rev 17520)
@@ -33,18 +33,20 @@
        private final String darknetOpennetString;
        private final NodeIPPortDetector detector;
        private static boolean logMINOR;
+       private final boolean enabled;

        /**
         * @param node
         * @param old If true, use the old ARK rather than the new ARK
         */
-       NodeARKInserter(Node node, NodeCrypto crypto, NodeIPPortDetector 
detector) {
+       NodeARKInserter(Node node, NodeCrypto crypto, NodeIPPortDetector 
detector, boolean enableARKs) {
                this.node = node;
                this.crypto = crypto;
                this.detector = detector;
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(crypto.isOpennet) darknetOpennetString = "Opennet";
                else darknetOpennetString = "Darknet";
+               this.enabled = enableARKs;
        }

        private ClientPutter inserter;
@@ -54,6 +56,7 @@
        private long preInsertARKNumber = -1;

        void start() {
+               if(!enabled) return;
                canStart = true;
                update();
        }

Modified: trunk/freenet/src/freenet/node/NodeCrypto.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeCrypto.java      2008-02-04 22:38:25 UTC 
(rev 17519)
+++ trunk/freenet/src/freenet/node/NodeCrypto.java      2008-02-04 22:57:15 UTC 
(rev 17520)
@@ -86,7 +86,7 @@
         * Get port number from a config, create socket and packet mangler
         * @throws NodeInitException 
         */
-       public NodeCrypto(final Node node, final boolean isOpennet, 
NodeCryptoConfig config, long startupTime) throws NodeInitException {
+       public NodeCrypto(final Node node, final boolean isOpennet, 
NodeCryptoConfig config, long startupTime, boolean enableARKs) throws 
NodeInitException {

                this.node = node;
                this.config = config;
@@ -144,7 +144,7 @@

                socket.setLowLevelFilter(packetMangler = new 
FNPPacketMangler(node, this, socket));

-               detector = new NodeIPPortDetector(node, node.ipDetector, this);
+               detector = new NodeIPPortDetector(node, node.ipDetector, this, 
enableARKs);

                anonSetupCipher = new Rijndael(256,256);


Modified: trunk/freenet/src/freenet/node/NodeIPPortDetector.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeIPPortDetector.java      2008-02-04 
22:38:25 UTC (rev 17519)
+++ trunk/freenet/src/freenet/node/NodeIPPortDetector.java      2008-02-04 
22:57:15 UTC (rev 17520)
@@ -30,11 +30,11 @@
        /** Last detected IP address */
        Peer[] lastPeers;

-       NodeIPPortDetector(Node node, NodeIPDetector ipDetector, NodeCrypto 
crypto) {
+       NodeIPPortDetector(Node node, NodeIPDetector ipDetector, NodeCrypto 
crypto, boolean enableARKs) {
                this.node = node;
                this.ipDetector = ipDetector;
                this.crypto = crypto;
-               arkPutter = new NodeARKInserter(node, crypto, this);
+               arkPutter = new NodeARKInserter(node, crypto, this, enableARKs);
                ipDetector.addPortDetector(this);
        }


Modified: trunk/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStarter.java     2008-02-04 22:38:25 UTC 
(rev 17519)
+++ trunk/freenet/src/freenet/node/NodeStarter.java     2008-02-04 22:57:15 UTC 
(rev 17520)
@@ -362,6 +362,7 @@
                configFS.put("node.testingDropPacketsEvery", dropProb);
                configFS.put("node.alwaysAllowLocalAddresses", true);
                configFS.put("node.includeLocalAddressesInNoderefs", true);
+               configFS.put("node.enableARKs", false);

                PersistentConfig config = new PersistentConfig(configFS);


Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2008-02-04 22:38:25 UTC 
(rev 17519)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2008-02-04 22:57:15 UTC 
(rev 17520)
@@ -94,7 +94,7 @@
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.node = node;
                crypto =
-                       new NodeCrypto(node, true, opennetConfig, startupTime);
+                       new NodeCrypto(node, true, opennetConfig, startupTime, 
node.enableARKs);

                File nodeFile = new File(node.nodeDir, 
"opennet-"+crypto.portNumber);
                File backupNodeFile = new 
File("opennet-"+crypto.portNumber+".bak");


Reply via email to