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