From 526aadb559d433be9c6e53d4ed899f03417af642 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 2 Aug 2018 21:08:20 +0000 Subject: [PATCH] NTCP2: Fix padding calculation for small frames --- router/java/src/net/i2p/router/RouterVersion.java | 2 +- .../src/net/i2p/router/transport/ntcp/NTCPConnection.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index f5c9264549..43dca92409 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 20; + public final static long BUILD = 21; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java index 259f30af18..b1d37ab1db 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPConnection.java @@ -915,6 +915,11 @@ public class NTCPConnection implements Closeable { * @since 0.9.36 */ private int getPaddingSize(int dataSize, int availForPad) { + // since we're calculating with percentages, get at least a + // 0-16 range with the default 0% min 6% max, + // even for small dataSize. + if (dataSize < 256) + dataSize = 256; // what we want to send, calculated in proportion to data size int minSend = (int) (dataSize * _paddingConfig.getSendMin()); int maxSend = (int) (dataSize * _paddingConfig.getSendMax()); -- GitLab