Author: nextgens
Date: 2007-12-01 17:00:49 +0000 (Sat, 01 Dec 2007)
New Revision: 16189

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
JFK: block message3 processing if we are already connected with a fresh 
handshake

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2007-12-01 
17:00:15 UTC (rev 16188)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2007-12-01 
17:00:49 UTC (rev 16189)
@@ -733,7 +733,9 @@
                if(!mac.verify(getTransientKey(), 
assembleJFKAuthenticator(responderExponential, initiatorExponential, 
nonceResponder, nonceInitiator, replyTo.getAddress().getAddress()) , 
authenticator)) {
                        Logger.error(this, "The HMAC doesn't match; let's 
discard the packet (either we rekeyed or we are victim of forgery)");
                        return;
-               }
+               } else if(pn.isConnected() && !pn.firstHandshake)
+                       return;
+               
                // Check try to find the authenticator in the cache.
                // If authenticator is already present, indicates 
duplicate/replayed message3
                // Now simply transmit the corresponding message4


Reply via email to