diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java index 90e5f7e20..06a46b701 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java @@ -8,9 +8,12 @@ package net.i2p.i2ptunnel.web; * */ +import java.util.Arrays; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Properties; +import java.util.Set; import java.util.StringTokenizer; import net.i2p.i2ptunnel.TunnelController; @@ -82,119 +85,100 @@ public class EditBean extends IndexBean { } public boolean shouldDelay(int tunnel) { - TunnelController tun = getController(tunnel); - if (tun != null) { - Properties opts = getOptions(tun); - if (opts != null) { - String delay = opts.getProperty("i2p.streaming.connectDelay"); - if ( (delay == null) || ("0".equals(delay)) ) - return false; - else - return true; - } else { - return false; - } - } else { - return false; - } + return getProperty(tunnel, "i2p.streaming.connectDelay", 0) > 0; } public boolean isInteractive(int tunnel) { - TunnelController tun = getController(tunnel); - if (tun != null) { - Properties opts = getOptions(tun); - if (opts != null) { - String wsiz = opts.getProperty("i2p.streaming.maxWindowSize"); - if ( (wsiz == null) || (!"1".equals(wsiz)) ) - return false; - else - return true; - } else { - return false; - } - } else { - return false; - } + return getProperty(tunnel, "i2p.streaming.maxWindowSize", 128) == 12; } public int getTunnelDepth(int tunnel, int defaultLength) { - TunnelController tun = getController(tunnel); - if (tun != null) { - Properties opts = getOptions(tun); - if (opts != null) { - String len = opts.getProperty("inbound.length"); - if (len == null) return defaultLength; - try { - return Integer.parseInt(len); - } catch (NumberFormatException nfe) { - return defaultLength; - } - } else { - return defaultLength; - } - } else { - return defaultLength; - } + return getProperty(tunnel, "inbound.length", defaultLength); } public int getTunnelQuantity(int tunnel, int defaultQuantity) { - TunnelController tun = getController(tunnel); - if (tun != null) { - Properties opts = getOptions(tun); - if (opts != null) { - String len = opts.getProperty("inbound.quantity"); - if (len == null) return defaultQuantity; - try { - return Integer.parseInt(len); - } catch (NumberFormatException nfe) { - return defaultQuantity; - } - } else { - return defaultQuantity; - } - } else { - return defaultQuantity; - } + return getProperty(tunnel, "inbound.quantity", defaultQuantity); } public int getTunnelBackupQuantity(int tunnel, int defaultBackupQuantity) { - TunnelController tun = getController(tunnel); - if (tun != null) { - Properties opts = getOptions(tun); - if (opts != null) { - String len = opts.getProperty("inbound.backupQuantity"); - if (len == null) return defaultBackupQuantity; - try { - return Integer.parseInt(len); - } catch (NumberFormatException nfe) { - return defaultBackupQuantity; - } - } else { - return defaultBackupQuantity; - } - } else { - return defaultBackupQuantity; - } + return getProperty(tunnel, "inbound.backupQuantity", defaultBackupQuantity); } public int getTunnelVariance(int tunnel, int defaultVariance) { + return getProperty(tunnel, "inbound.lengthVariance", defaultVariance); + } + + public boolean getReduce(int tunnel) { + return false; + } + + public int getReduceCount(int tunnel) { + return getProperty(tunnel, "inbound.reduceQuantity", 1); + } + + public int getReduceTime(int tunnel) { + return getProperty(tunnel, "reduceIdleTime", 20); + } + + public int getCert(int tunnel) { + return 0; + } + + public int getEffort(int tunnel) { + return 23; + } + + public String getSigner(int tunnel) { + return ""; + } + + public boolean getEncrypt(int tunnel) { + return false; + } + + public String getEncryptKey(int tunnel) { + return getProperty(tunnel, "encryptKey", ""); + } + + public boolean getAccess(int tunnel) { + return false; + } + + public String getAccessList(int tunnel) { + return getProperty(tunnel, "accessList", ""); + } + + public boolean getClose(int tunnel) { + return false; + } + + public boolean getNewDest(int tunnel) { + return false; + } + + private int getProperty(int tunnel, String prop, int def) { TunnelController tun = getController(tunnel); if (tun != null) { Properties opts = getOptions(tun); if (opts != null) { - String len = opts.getProperty("inbound.lengthVariance"); - if (len == null) return defaultVariance; + String s = opts.getProperty(prop); + if (s == null) return def; try { - return Integer.parseInt(len); - } catch (NumberFormatException nfe) { - return defaultVariance; - } - } else { - return defaultVariance; + return Integer.parseInt(s); + } catch (NumberFormatException nfe) {} } - } else { - return defaultVariance; } + return def; + } + + private String getProperty(int tunnel, String prop, String def) { + TunnelController tun = getController(tunnel); + if (tun != null) { + Properties opts = getOptions(tun); + if (opts != null) + return opts.getProperty(prop, def); + } + return def; } public String getI2CPHost(int tunnel) { @@ -213,6 +197,14 @@ public class EditBean extends IndexBean { return "7654"; } + private static final String noShowProps[] = { + "inbound.length", "outbound.length", "inbound.lengthVariance", "outbound.lengthVariance", + "inbound.backupQuantity", "outbound.backupQuantity", "inbound.quantity", "outbound.quantity", + "inbound.nickname", "outbound.nickname", "i2p.streaming.connectDelay", "i2p.streaming.maxWindowSize" + }; + private static final Set noShowSet = new HashSet(noShowProps.length); + static { noShowSet.addAll(Arrays.asList(noShowProps)); } + public String getCustomOptions(int tunnel) { TunnelController tun = getController(tunnel); if (tun != null) { @@ -222,19 +214,9 @@ public class EditBean extends IndexBean { int i = 0; for (Iterator iter = opts.keySet().iterator(); iter.hasNext(); ) { String key = (String)iter.next(); + if (noShowSet.contains(key)) + continue; String val = opts.getProperty(key); - if ("inbound.length".equals(key)) continue; - if ("outbound.length".equals(key)) continue; - if ("inbound.lengthVariance".equals(key)) continue; - if ("outbound.lengthVariance".equals(key)) continue; - if ("inbound.backupQuantity".equals(key)) continue; - if ("outbound.backupQuantity".equals(key)) continue; - if ("inbound.quantity".equals(key)) continue; - if ("outbound.quantity".equals(key)) continue; - if ("inbound.nickname".equals(key)) continue; - if ("outbound.nickname".equals(key)) continue; - if ("i2p.streaming.connectDelay".equals(key)) continue; - if ("i2p.streaming.maxWindowSize".equals(key)) continue; if (i != 0) buf.append(' '); buf.append(key).append('=').append(val); i++; diff --git a/apps/i2ptunnel/jsp/editClient.jsp b/apps/i2ptunnel/jsp/editClient.jsp index 97f8adbe5..2f06e1779 100644 --- a/apps/i2ptunnel/jsp/editClient.jsp +++ b/apps/i2ptunnel/jsp/editClient.jsp @@ -207,10 +207,10 @@ + +
+
+
+ +
+ +
+
+ + class="tickbox" /> +
+
+ + class="tickbox" /> +
+
+ + +
+ +
+
+
+ +
+ +
+
+ + class="tickbox" /> +
+
+ + +
+
+ + +

@@ -284,8 +340,10 @@
diff --git a/apps/i2ptunnel/jsp/editServer.jsp b/apps/i2ptunnel/jsp/editServer.jsp index 0cdf5e0e9..5b7ad9105 100644 --- a/apps/i2ptunnel/jsp/editServer.jsp +++ b/apps/i2ptunnel/jsp/editServer.jsp @@ -177,12 +177,12 @@ Variance: class="tickbox" /> + +
+ + + (Users will require this key) +
+ +
+
+
+ +
+ +
+
+ + class="tickbox" /> +
+
+ + + (Restrict to these clients only) +
+ +
+
+
+ +
+ +
+
+ + class="tickbox" /> +
+
+ + +
+
+ + +
+ +
+
+
+ +
+ +
+
+
+ + class="tickbox" /> + +
+
+ + class="tickbox" /> + +
+
+
+ + +
+
+
+ + class="tickbox" /> + +
+
+ + class="tickbox" /> + + +
+
+
+ + + (Tunnel must be stopped first) +
+ +
+
+
+