Author: toad
Date: 2007-12-10 18:14:09 +0000 (Mon, 10 Dec 2007)
New Revision: 16446
Modified:
trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
Must not be <0
Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2007-12-10
18:08:07 UTC (rev 16445)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2007-12-10
18:14:09 UTC (rev 16446)
@@ -1569,6 +1569,8 @@
if(logMINOR) Logger.minor(this, "Data hash:
"+HexUtil.bytesToHex(hash));
int prePaddingLength = iv.length + hash.length + 2 /* length */
+ output.length;
int paddingLength = node.fastWeakRandom.nextInt(Math.min(100,
sock.getMaxPacketSize() - HEADERS_LENGTH_MINIMUM - prePaddingLength));
+ // Sometimes we have to send oversize packets (especially
JFK3/4 with anonymous-initiator)
+ if(paddingLength < 0) paddingLength = 0;
byte[] data = new byte[prePaddingLength + paddingLength];
pcfb.reset(iv);
System.arraycopy(iv, 0, data, 0, iv.length);