From f34a05c35dc57e9d2dc14c7122a2e1d3f0af7c9c Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Thu, 25 Feb 2016 13:52:00 +0000
Subject: [PATCH] i2ptunnel: Fix default shouldBundleReplyInfo setting for
 non-http servers

---
 .../java/src/net/i2p/i2ptunnel/TunnelController.java      | 8 ++++++--
 .../java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java       | 7 +++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java
index 2997a18b2d..1e6206a22e 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java
@@ -79,7 +79,7 @@ public class TunnelController implements Logging {
     public static final String PFX_OPTION = "option.";
 
     private static final String OPT_PERSISTENT = PFX_OPTION + "persistentClientKey";
-    private static final String OPT_BUNDLE_REPLY = PFX_OPTION + "shouldBundleReplyInfo";
+    public static final String OPT_BUNDLE_REPLY = PFX_OPTION + "shouldBundleReplyInfo";
     private static final String OPT_TAGS_SEND = PFX_OPTION + "crypto.tagsToSend";
     private static final String OPT_LOW_TAGS = PFX_OPTION + "crypto.lowTagThreshold";
     private static final String OPT_SIG_TYPE = PFX_OPTION + I2PClient.PROP_SIGTYPE;
@@ -652,7 +652,11 @@ public class TunnelController implements Logging {
             if (type.equals(TYPE_HTTP_SERVER) || type.equals(TYPE_STREAMR_SERVER)) {
                 if (!_config.containsKey(OPT_BUNDLE_REPLY))
                     _config.setProperty(OPT_BUNDLE_REPLY, "false");
-            } else if (type.contains("irc") || type.equals(TYPE_STREAMR_CLIENT)) {
+            } else if (!isClient(type)) {
+                // override UI that sets it to false
+                _config.setProperty(OPT_BUNDLE_REPLY, "true");
+            }
+            if (type.contains("irc") || type.equals(TYPE_STREAMR_CLIENT)) {
                 // maybe a bad idea for ircclient if DCC is enabled
                 if (!_config.containsKey(OPT_TAGS_SEND))
                     _config.setProperty(OPT_TAGS_SEND, "20");
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
index 7cf91f1bac..a030255c90 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
@@ -560,6 +560,13 @@ public class TunnelConfig {
             }
         }
 
+        // override bundle setting set above
+        if (!TunnelController.isClient(_type) &&
+            !TunnelController.TYPE_HTTP_SERVER.equals(_type) &&
+            !TunnelController.TYPE_STREAMR_SERVER.equals(_type)) {
+            config.setProperty(TunnelController.OPT_BUNDLE_REPLY, "true");
+        }
+
         // generic proxy stuff
         if (TunnelController.TYPE_HTTP_CLIENT.equals(_type) || TunnelController.TYPE_CONNECT.equals(_type) || 
             TunnelController.TYPE_SOCKS.equals(_type) ||TunnelController.TYPE_SOCKS_IRC.equals(_type)) {
-- 
GitLab