Author: toad
Date: 2008-03-13 16:10:49 +0000 (Thu, 13 Mar 2008)
New Revision: 18508

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
Fix NPE when replaying JFK(4) on anon-auth.

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-03-13 
15:51:48 UTC (rev 18507)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-03-13 
16:10:49 UTC (rev 18508)
@@ -1064,7 +1064,12 @@
                }
                if(message4 != null) {
                        Logger.normal(this, "We replayed a message from the 
cache (shouldn't happen often) - "+pn);
-                       sendAuthPacket(1, 2, 3, (byte[]) message4, pn, replyTo);
+                       // We are replaying a JFK(4).
+                       // Therefore if it is anon-initiator it is encrypted 
with our setup key.
+                       if(unknownInitiator)
+                               sendAnonAuthPacket(1,2,3,setupType, (byte[]) 
message4, null, replyTo, crypto.anonSetupCipher);
+                       else
+                               sendAuthPacket(1, 2, 3, (byte[]) message4, pn, 
replyTo);
                        return;
                } else {
                        if(logDEBUG) Logger.debug(this, "No message4 found for 
"+HexUtil.bytesToHex(authenticator)+" responderExponential 
"+Fields.hashCode(responderExponential)+" initiatorExponential 
"+Fields.hashCode(initiatorExponential)+" nonceResponder 
"+Fields.hashCode(nonceResponder)+" nonceInitiator 
"+Fields.hashCode(nonceInitiator)+" address 
"+HexUtil.bytesToHex(replyTo.getAddress().getAddress()));


Reply via email to