[freenet-cvs] r15472 - trunk/freenet/src/freenet/node

nextgens at freenetproject.org nextgens at freenetproject.org
Mon Oct 22 11:28:56 UTC 2007


Author: nextgens
Date: 2007-10-22 11:28:56 +0000 (Mon, 22 Oct 2007)
New Revision: 15472

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
JFK:
	Renew DH Exponentials once every 15mins if we aren't connected yet.

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java	2007-10-22 11:22:47 UTC (rev 15471)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java	2007-10-22 11:28:56 UTC (rev 15472)
@@ -508,8 +508,11 @@
 	 */
 	private void sendJFKMessage1(PeerNode pn, Peer replyTo) {
 		if(logMINOR) Logger.minor(this, "Sending a JFK(1) message to "+pn);
-		if(pn.jfkContext == null) // get a new DH exponents only if needed
+		final long now = System.currentTimeMillis();
+		if((pn.jfkContext == null) || ((pn.jfkContextLifetime + 15*60*1000) < now)) {
 			pn.jfkContext = getLightDiffieHellmanContext();
+			pn.jfkContextLifetime = now;
+		}
 		int offset = 0;
 		byte[] myExponential = stripBigIntegerToNetworkFormat(pn.jfkContext.myExponential);
 		byte[] nonce = new byte[NONCE_SIZE];
@@ -538,7 +541,11 @@
 	 */
 	private void sendJFKMessage2(byte[] nonceInitator, byte[] hisExponential, PeerNode pn, Peer replyTo) {
 		if(logMINOR) Logger.minor(this, "Sending a JFK(2) message to "+pn);
-		pn.jfkContext = getLightDiffieHellmanContext();
+		final long now = System.currentTimeMillis();
+		if((pn.jfkContext == null) || ((pn.jfkContextLifetime + 15*60*1000) < now)) {
+			pn.jfkContext = getLightDiffieHellmanContext();
+			pn.jfkContextLifetime = now;
+		}
 		// g^r
 		byte[] myExponential = stripBigIntegerToNetworkFormat(pn.jfkContext.myExponential);
 		// Nr




More information about the cvs mailing list