Author: kryptos
Date: 2007-09-29 00:33:21 +0000 (Sat, 29 Sep 2007)
New Revision: 15375

Modified:
   branches/freenet-jfk/src/freenet/node/FNPPacketMangler.java
   branches/freenet-jfk/src/freenet/node/PeerNode.java
Log:
 Save state for use in JFK(4)

Modified: branches/freenet-jfk/src/freenet/node/FNPPacketMangler.java
===================================================================
--- branches/freenet-jfk/src/freenet/node/FNPPacketMangler.java 2007-09-29 
00:03:47 UTC (rev 15374)
+++ branches/freenet-jfk/src/freenet/node/FNPPacketMangler.java 2007-09-29 
00:33:21 UTC (rev 15375)
@@ -682,19 +682,27 @@
                byte[] nonceInitiator = new byte[NONCE_SIZE];
                System.arraycopy(payload, inputOffset, nonceInitiator, 0, 
NONCE_SIZE);
                inputOffset += NONCE_SIZE;
+                // Set Ni for the peerNode
+                System.arraycopy(nonceInitiator, 0, pn.nonceInitiatorJFK, 
0,NONCE_SIZE);
                // Nr
                byte[] nonceResponder = new byte[NONCE_SIZE];
                System.arraycopy(payload, inputOffset, nonceResponder, 0, 
NONCE_SIZE);
                inputOffset += NONCE_SIZE;
+                // Set Nr for the peerNode
+                System.arraycopy(nonceResponder, 0, pn.nonceResponderJFK, 0, 
NONCE_SIZE);
                // g^i
                byte[] initiatorExponential = new 
byte[DiffieHellman.modulusLengthInBytes()];
                System.arraycopy(payload, inputOffset, initiatorExponential, 0, 
DiffieHellman.modulusLengthInBytes());
                inputOffset += DiffieHellman.modulusLengthInBytes();
+                // Set g^i for the peerNode
+                System.arraycopy(initiatorExponential, 0, 
pn.initiatorExponentialJFK, 0, DiffieHellman.modulusLengthInBytes());
                // g^r
                byte[] responderExponential = new 
byte[DiffieHellman.modulusLengthInBytes()];
                System.arraycopy(payload, inputOffset, responderExponential, 0, 
DiffieHellman.modulusLengthInBytes());
                inputOffset += DiffieHellman.modulusLengthInBytes();
-               
+               // Set g^r for the peerNode
+                System.arraycopy(responderExponential, 0, 
pn.responderExponentialJFK, 0, DiffieHellman.modulusLengthInBytes());
+                
                byte[] authenticator = new byte[HASH_LENGTH];
                System.arraycopy(payload, inputOffset, authenticator, 0, 
HASH_LENGTH);
                inputOffset += HASH_LENGTH;

Modified: branches/freenet-jfk/src/freenet/node/PeerNode.java
===================================================================
--- branches/freenet-jfk/src/freenet/node/PeerNode.java 2007-09-29 00:03:47 UTC 
(rev 15374)
+++ branches/freenet-jfk/src/freenet/node/PeerNode.java 2007-09-29 00:33:21 UTC 
(rev 15375)
@@ -307,7 +307,10 @@
        private boolean disconnecting;

     private static boolean logMINOR;
-    
+    protected byte[] nonceInitiatorJFK = new byte[FNPPacketMangler.NONCE_SIZE];
+    protected byte[] nonceResponderJFK = new byte[FNPPacketMangler.NONCE_SIZE];
+    protected byte[] initiatorExponentialJFK = new 
byte[DiffieHellman.modulusLengthInBytes()];
+    protected byte[] responderExponentialJFK = new 
byte[DiffieHellman.modulusLengthInBytes()];
     /**
      * Create a PeerNode from a SimpleFieldSet containing a
      * node reference for one. This must contain the following


Reply via email to