From a570e09166f66bcec0eaa9f072d164557cb6fb8e Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Wed, 11 Mar 2015 10:34:02 +0000
Subject: [PATCH] Explicit boolean setters in TunnelConfig

---
 .../net/i2p/i2ptunnel/ui/TunnelConfig.java    | 98 +++++++++++++------
 .../src/net/i2p/i2ptunnel/web/IndexBean.java  | 28 +++---
 2 files changed, 84 insertions(+), 42 deletions(-)

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 c7a71d8f56..81202a5db8 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
@@ -177,26 +177,47 @@ public class TunnelConfig {
         _profile = profile; 
     }
 
-    public void setReduce() {
-        _booleanOptions.add("i2cp.reduceOnIdle");
+    public void setReduce(boolean val) {
+        if (val)
+            _booleanOptions.add("i2cp.reduceOnIdle");
+        else
+            _booleanOptions.remove("i2cp.reduceOnIdle");
     }
-    public void setClose() {
-        _booleanOptions.add("i2cp.closeOnIdle");
+    public void setClose(boolean val) {
+        if (val)
+            _booleanOptions.add("i2cp.closeOnIdle");
+        else
+            _booleanOptions.remove("i2cp.closeOnIdle");
     }
-    public void setEncrypt() {
-        _booleanOptions.add("i2cp.encryptLeaseSet");
+    public void setEncrypt(boolean val) {
+        if (val)
+            _booleanOptions.add("i2cp.encryptLeaseSet");
+        else
+            _booleanOptions.remove("i2cp.encryptLeaseSet");
     }
-    public void setDCC() {
-        _booleanOptions.add(I2PTunnelIRCClient.PROP_DCC);
+    public void setDCC(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelIRCClient.PROP_DCC);
+        else
+            _booleanOptions.remove(I2PTunnelIRCClient.PROP_DCC);
     }
-    public void setUseSSL() {
-        _booleanOptions.add(I2PTunnelServer.PROP_USE_SSL);
+    public void setUseSSL(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelServer.PROP_USE_SSL);
+        else
+            _booleanOptions.remove(I2PTunnelServer.PROP_USE_SSL);
     }
-    public void setRejectInproxy() {
-        _booleanOptions.add(I2PTunnelHTTPServer.OPT_REJECT_INPROXY);
+    public void setRejectInproxy(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelHTTPServer.OPT_REJECT_INPROXY);
+        else
+            _booleanOptions.remove(I2PTunnelHTTPServer.OPT_REJECT_INPROXY);
     }
-    public void setUniqueLocal() {
-        _booleanOptions.add(I2PTunnelServer.PROP_UNIQUE_LOCAL);
+    public void setUniqueLocal(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelServer.PROP_UNIQUE_LOCAL);
+        else
+            _booleanOptions.remove(I2PTunnelServer.PROP_UNIQUE_LOCAL);
     }
 
     protected static final String PROP_ENABLE_ACCESS_LIST = "i2cp.enableAccessList";
@@ -209,8 +230,11 @@ public class TunnelConfig {
             _booleanOptions.add(PROP_ENABLE_BLACKLIST);
     }
 
-    public void setDelayOpen() {
-        _booleanOptions.add("i2cp.delayOpen");
+    public void setDelayOpen(boolean val) {
+        if (val)
+            _booleanOptions.add("i2cp.delayOpen");
+        else
+            _booleanOptions.remove("i2cp.delayOpen");
     }
     public void setNewDest(String val) {
         if ("1".equals(val))
@@ -244,21 +268,36 @@ public class TunnelConfig {
         _otherOptions.put("i2cp.closeIdleTime", Integer.toString(val * 60*1000));
     }
 
-    public void setAllowUserAgent() {
-        _booleanOptions.add(I2PTunnelHTTPClient.PROP_USER_AGENT);
+    public void setAllowUserAgent(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelHTTPClient.PROP_USER_AGENT);
+        else
+            _booleanOptions.remove(I2PTunnelHTTPClient.PROP_USER_AGENT);
     }
-    public void setAllowReferer() {
-        _booleanOptions.add(I2PTunnelHTTPClient.PROP_REFERER);
+    public void setAllowReferer(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelHTTPClient.PROP_REFERER);
+        else
+            _booleanOptions.remove(I2PTunnelHTTPClient.PROP_REFERER);
     }
-    public void setAllowAccept() {
-        _booleanOptions.add(I2PTunnelHTTPClient.PROP_ACCEPT);
+    public void setAllowAccept(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelHTTPClient.PROP_ACCEPT);
+        else
+            _booleanOptions.add(I2PTunnelHTTPClient.PROP_ACCEPT);
     }
-    public void setAllowInternalSSL() {
-        _booleanOptions.add(I2PTunnelHTTPClient.PROP_INTERNAL_SSL);
+    public void setAllowInternalSSL(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelHTTPClient.PROP_INTERNAL_SSL);
+        else
+            _booleanOptions.remove(I2PTunnelHTTPClient.PROP_INTERNAL_SSL);
     }
 
-    public void setMultihome() {
-        _booleanOptions.add("shouldBundleReplyInfo");
+    public void setMultihome(boolean val) {
+        if (val)
+            _booleanOptions.add("shouldBundleReplyInfo");
+        else
+            _booleanOptions.remove("shouldBundleReplyInfo");
     }
 
     /** all proxy auth */
@@ -296,8 +335,11 @@ public class TunnelConfig {
             _otherOptions.put(I2PTunnelHTTPClient.PROP_SSL_OUTPROXIES, s.trim().replace(" ", ","));
     }
 
-    public void setUseOutproxyPlugin() {
-        _booleanOptions.add(I2PTunnelHTTPClient.PROP_USE_OUTPROXY_PLUGIN);
+    public void setUseOutproxyPlugin(boolean val) {
+        if (val)
+            _booleanOptions.add(I2PTunnelHTTPClient.PROP_USE_OUTPROXY_PLUGIN);
+        else
+            _booleanOptions.remove(I2PTunnelHTTPClient.PROP_USE_OUTPROXY_PLUGIN);
     }
     
     /**
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
index 60395b6c19..5cecb3afba 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
@@ -811,23 +811,23 @@ public class IndexBean {
     }
 
     public void setReduce(String moo) {
-        _config.setReduce();
+        _config.setReduce(true);
     }
     public void setClose(String moo) {
-        _config.setClose();
+        _config.setClose(true);
     }
     public void setEncrypt(String moo) {
-        _config.setEncrypt();
+        _config.setEncrypt(true);
     }
 
     /** @since 0.8.9 */
     public void setDCC(String moo) {
-        _config.setDCC();
+        _config.setDCC(true);
     }
 
     /** @since 0.9.9 */
     public void setUseSSL(String moo) {
-        _config.setUseSSL();
+        _config.setUseSSL(true);
     }
 
     /** @since 0.9.9 */
@@ -842,7 +842,7 @@ public class IndexBean {
 
     /** @since 0.9.12 */
     public void setRejectInproxy(String moo) {
-        _config.setRejectInproxy();
+        _config.setRejectInproxy(true);
     }
 
     /** @since 0.9.12 */
@@ -857,7 +857,7 @@ public class IndexBean {
 
     /** @since 0.9.13 */
     public void setUniqueLocal(String moo) {
-        _config.setUniqueLocal();
+        _config.setUniqueLocal(true);
     }
 
     protected static final String PROP_ENABLE_ACCESS_LIST = "i2cp.enableAccessList";
@@ -868,7 +868,7 @@ public class IndexBean {
     }
 
     public void setDelayOpen(String moo) {
-        _config.setDelayOpen();
+        _config.setDelayOpen(true);
     }
     public void setNewDest(String val) {
         _config.setNewDest(val);
@@ -910,27 +910,27 @@ public class IndexBean {
 
     /** @since 0.9.14 */
     public void setAllowUserAgent(String moo) {
-        _config.setAllowUserAgent();
+        _config.setAllowUserAgent(true);
     }
 
     /** @since 0.9.14 */
     public void setAllowReferer(String moo) {
-        _config.setAllowReferer();
+        _config.setAllowReferer(true);
     }
 
     /** @since 0.9.14 */
     public void setAllowAccept(String moo) {
-        _config.setAllowAccept();
+        _config.setAllowAccept(true);
     }
 
     /** @since 0.9.14 */
     public void setAllowInternalSSL(String moo) {
-        _config.setAllowInternalSSL();
+        _config.setAllowInternalSSL(true);
     }
 
     /** @since 0.9.18 */
     public void setMultihome(String moo) {
-        _config.setMultihome();
+        _config.setMultihome(true);
     }
 
     /** all proxy auth @since 0.8.2 */
@@ -965,7 +965,7 @@ public class IndexBean {
 
     /** @since 0.9.11 */
     public void setUseOutproxyPlugin(String moo) {
-        _config.setUseOutproxyPlugin();
+        _config.setUseOutproxyPlugin(true);
     }
 
     public void setLimitMinute(String s) {
-- 
GitLab