Author: toad
Date: 2008-12-05 16:10:58 +0000 (Fri, 05 Dec 2008)
New Revision: 24067
Modified:
trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
If the packet is to be padded, make sure it's the same size even if the
plaintext is a bit shorter than expected.
Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-12-05
16:06:48 UTC (rev 24066)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-12-05
16:10:58 UTC (rev 24067)
@@ -2458,11 +2458,8 @@
paddedLen = packetLength;
}
- byte[] padding = new byte[paddedLen - packetLength];
- if(paddThisPacket) {
- node.fastWeakRandom.nextBytes(padding);
+ if(paddThisPacket)
packetLength = paddedLen;
- }
if(logMINOR) Logger.minor(this, "Packet length:
"+packetLength+" ("+length+")");
@@ -2576,11 +2573,12 @@
ptr += length;
if(paddThisPacket) {
+ byte[] padding = new byte[packetLength - ptr];
+ node.fastWeakRandom.nextBytes(padding);
+
System.arraycopy(padding, 0, plaintext, ptr,
padding.length);
ptr += padding.length;
- }
-
- if(ptr != plaintext.length) {
+ } else if(ptr != plaintext.length) {
Logger.error(this, "Inconsistent length:
"+plaintext.length+" buffer but "+(ptr)+" actual");
byte[] newBuf = new byte[ptr];
System.arraycopy(plaintext, 0, newBuf, 0, ptr);
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs