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