Author: toad
Date: 2006-01-25 01:47:43 +0000 (Wed, 25 Jan 2006)
New Revision: 7916
Added:
trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
Modified:
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/Version.java
trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
trunk/freenet/src/freenet/node/fcp/FCPMessage.java
trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
Log:
380: (mandatory)
Add GenerateSSK to FCP.
Add testnet flag to FCP NodeHello.
Mandatory to make life easy for FCP users.
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2006-01-25 01:11:00 UTC (rev
7915)
+++ trunk/freenet/src/freenet/node/Node.java 2006-01-25 01:47:43 UTC (rev
7916)
@@ -154,7 +154,7 @@
String myName;
final LocationManager lm;
final PeerManager peers; // my peers
- final RandomSource random; // strong RNG
+ public final RandomSource random; // strong RNG
final UdpSocketManager usm;
final FNPPacketMangler packetMangler;
final PacketSender ps;
@@ -1470,4 +1470,8 @@
Logger.error(this, "Error accessing pubkey store: "+e,
e);
}
}
+
+ public boolean isTestnetEnabled() {
+ return testnetEnabled;
+ }
}
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-01-25 01:11:00 UTC (rev
7915)
+++ trunk/freenet/src/freenet/node/Version.java 2006-01-25 01:47:43 UTC (rev
7916)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 379;
+ public static final int buildNumber = 380;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 374;
+ public static final int lastGoodBuild = 380;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;
Modified: trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java 2006-01-25
01:11:00 UTC (rev 7915)
+++ trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java 2006-01-25
01:47:43 UTC (rev 7916)
@@ -39,7 +39,7 @@
public void run(FCPConnectionHandler handler, Node node) {
// We know the Hello is valid.
handler.setClientName(clientName);
- FCPMessage msg = new NodeHelloMessage();
+ FCPMessage msg = new NodeHelloMessage(node);
handler.outputHandler.queue(msg);
}
Modified: trunk/freenet/src/freenet/node/fcp/FCPMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPMessage.java 2006-01-25 01:11:00 UTC
(rev 7915)
+++ trunk/freenet/src/freenet/node/fcp/FCPMessage.java 2006-01-25 01:47:43 UTC
(rev 7916)
@@ -31,6 +31,8 @@
return new ClientGetMessage(fs);
if(name.equals(ClientPutMessage.name))
return new ClientPutMessage(fs);
+ if(name.equals(GenerateSSKMessage.name))
+ return new GenerateSSKMessage();
if(name.equals("Void"))
return null;
// if(name.equals("ClientPut"))
Added: trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java 2006-01-25
01:11:00 UTC (rev 7915)
+++ trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java 2006-01-25
01:47:43 UTC (rev 7916)
@@ -0,0 +1,29 @@
+package freenet.node.fcp;
+
+import freenet.keys.FreenetURI;
+import freenet.keys.InsertableClientSSK;
+import freenet.node.Node;
+import freenet.support.SimpleFieldSet;
+
+public class GenerateSSKMessage extends FCPMessage {
+
+ static final String name = "GenerateSSK";
+
+ public SimpleFieldSet getFieldSet() {
+ return new SimpleFieldSet();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void run(FCPConnectionHandler handler, Node node)
+ throws MessageInvalidException {
+ InsertableClientSSK key = InsertableClientSSK.createRandom(node.random);
+ FreenetURI insertURI = key.getInsertURI();
+ FreenetURI requestURI = key.getURI();
+ SSKKeypairMessage msg = new SSKKeypairMessage(insertURI, requestURI);
+ handler.outputHandler.queue(msg);
+ }
+
+}
Modified: trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java 2006-01-25
01:11:00 UTC (rev 7915)
+++ trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java 2006-01-25
01:47:43 UTC (rev 7916)
@@ -15,12 +15,19 @@
*/
public class NodeHelloMessage extends FCPMessage {
+ private final Node node;
+
+ public NodeHelloMessage(Node node) {
+ this.node = node;
+ }
+
public SimpleFieldSet getFieldSet() {
SimpleFieldSet sfs = new SimpleFieldSet();
// FIXME
sfs.put("FCPVersion", "0.7.0");
sfs.put("Node", "Fred");
sfs.put("Version", Version.getVersionString());
+ sfs.put("Testnet", Boolean.toString(node.isTestnetEnabled()));
return sfs;
}
Added: trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java 2006-01-25
01:11:00 UTC (rev 7915)
+++ trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java 2006-01-25
01:47:43 UTC (rev 7916)
@@ -0,0 +1,34 @@
+package freenet.node.fcp;
+
+import freenet.keys.FreenetURI;
+import freenet.node.Node;
+import freenet.support.SimpleFieldSet;
+
+public class SSKKeypairMessage extends FCPMessage {
+
+ private final FreenetURI insertURI;
+ private final FreenetURI requestURI;
+
+ public SSKKeypairMessage(FreenetURI insertURI, FreenetURI requestURI) {
+ this.insertURI = insertURI;
+ this.requestURI = requestURI;
+ }
+
+ public SimpleFieldSet getFieldSet() {
+ SimpleFieldSet sfs = new SimpleFieldSet();
+ sfs.put("InsertURI", insertURI.toString());
+ sfs.put("RequestURI", requestURI.toString());
+ return sfs;
+ }
+
+ public String getName() {
+ return "SSKKeypair";
+ }
+
+ public void run(FCPConnectionHandler handler, Node node) throws
MessageInvalidException {
+ throw new
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "SSKKeypair goes
from server to client not the other way around");
+ }
+
+
+
+}