From 2c65173becba282a3194f03d0cc990582d722245 Mon Sep 17 00:00:00 2001
From: zzz
Date: Sat, 12 Nov 2016 15:14:43 +0000
Subject: [PATCH] Console: Add IPv6 firewalled setting on /confignet
---
.../src/net/i2p/router/web/ConfigNetHandler.java | 14 ++++++++++++++
.../src/net/i2p/router/web/ConfigNetHelper.java | 5 +++++
apps/routerconsole/jsp/confignet.jsp | 2 ++
.../net/i2p/router/transport/TransportUtil.java | 8 ++++----
4 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
index 7e4c7c5f7..8a53fde1c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
@@ -52,6 +52,7 @@ public class ConfigNetHandler extends FormHandler {
private boolean _udpDisabled;
private String _ipv6Mode;
private boolean _ipv4Firewalled;
+ private boolean _ipv6Firewalled;
private final Map changes = new HashMap();
private static final String PROP_HIDDEN = Router.PROP_HIDDEN_HIDDEN; // see Router for other choice
@@ -87,6 +88,9 @@ public class ConfigNetHandler extends FormHandler {
/** @since 0.9.20 */
public void setIPv4Firewalled(String moo) { _ipv4Firewalled = true; }
+
+ /** @since 0.9.28 */
+ public void setIPv6Firewalled(String moo) { _ipv6Firewalled = true; }
public void setHostname(String hostname) {
_hostname = (hostname != null ? hostname.trim() : null);
@@ -366,6 +370,16 @@ public class ConfigNetHandler extends FormHandler {
}
changes.put(TransportUtil.PROP_IPV4_FIREWALLED, "" + _ipv4Firewalled);
+ if (Boolean.parseBoolean(_context.getProperty(TransportUtil.PROP_IPV6_FIREWALLED)) !=
+ _ipv6Firewalled) {
+ if (_ipv6Firewalled)
+ addFormNotice(_t("Disabling inbound IPv6"));
+ else
+ addFormNotice(_t("Enabling inbound IPv6"));
+ restartRequired = true;
+ }
+ changes.put(TransportUtil.PROP_IPV6_FIREWALLED, "" + _ipv6Firewalled);
+
if (_context.getBooleanPropertyDefaultTrue(TransportManager.PROP_ENABLE_UDP) !=
!_udpDisabled) {
if (_udpDisabled)
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java
index 76b136988..8222a0572 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java
@@ -90,6 +90,11 @@ public class ConfigNetHelper extends HelperBase {
return getChecked(TransportUtil.PROP_IPV4_FIREWALLED);
}
+ /** @since 0.9.28 */
+ public String getIPv6FirewalledChecked() {
+ return getChecked(TransportUtil.PROP_IPV6_FIREWALLED);
+ }
+
public String getTcpAutoPortChecked(int mode) {
String port = _context.getProperty(PROP_I2NP_NTCP_PORT);
boolean specified = port != null && port.length() > 0;
diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp
index 7b81518e3..455166863 100644
--- a/apps/routerconsole/jsp/confignet.jsp
+++ b/apps/routerconsole/jsp/confignet.jsp
@@ -56,6 +56,8 @@
<%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%>
<%=intl._t("IPv6 Configuration")%>:
+ >
+ <%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%>
>
<%=intl._t("Disable IPv6")%>
>
diff --git a/router/java/src/net/i2p/router/transport/TransportUtil.java b/router/java/src/net/i2p/router/transport/TransportUtil.java
index 16ede3b34..bb4e022d6 100644
--- a/router/java/src/net/i2p/router/transport/TransportUtil.java
+++ b/router/java/src/net/i2p/router/transport/TransportUtil.java
@@ -25,6 +25,8 @@ public abstract class TransportUtil {
public static final String NTCP_IPV6_CONFIG = "i2np.ntcp.ipv6";
public static final String SSU_IPV6_CONFIG = "i2np.udp.ipv6";
public static final String PROP_IPV4_FIREWALLED = "i2np.ipv4.firewalled";
+ /** @since 0.9.28 */
+ public static final String PROP_IPV6_FIREWALLED = "i2np.ipv6.firewalled";
public enum IPv6Config {
/** IPv6 disabled */
@@ -99,12 +101,10 @@ public abstract class TransportUtil {
* This returns true if the force-firewalled setting is configured, false otherwise.
*
* @param transportStyle ignored
- * @since 0.9.27
+ * @since 0.9.27, implemented in 0.9.28
*/
public static boolean isIPv6Firewalled(RouterContext ctx, String transportStyle) {
- // TODO
- //return ctx.getBooleanProperty(PROP_IPV6_FIREWALLED);
- return false;
+ return ctx.getBooleanProperty(PROP_IPV6_FIREWALLED);
}
/**