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


Reply via email to