[freenet-cvs] r17520 - in trunk/freenet/src/freenet: l10n node

toad at freenetproject.org toad at freenetproject.org
Mon Feb 4 22:57:15 UTC 2008


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");




More information about the cvs mailing list