diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java index e24306b3bf..7a1c84b954 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java @@ -43,13 +43,32 @@ public class ConfigReseedHandler extends FormHandler { return arr[0].trim(); } + /** @since 0.8.9 */ + private void saveString(String config, String param) { + String val = getJettyString(param); + if (val != null && val.length() > 0) + _context.router().setConfigSetting(config, val); + else + _context.router().removeConfigSetting(config); + } + + /** @since 0.8.9 */ + private void saveBoolean(String config, String param) { + boolean val = getJettyString(param) != null; + _context.router().setConfigSetting(config, Boolean.toString(val)); + } + private void saveChanges() { - String port = getJettyString("port"); - if (port != null) - _context.router().setConfigSetting(Reseeder.PROP_PROXY_PORT, port); - String host = getJettyString("host"); - if (host != null) - _context.router().setConfigSetting(Reseeder.PROP_PROXY_HOST, host); + saveString(Reseeder.PROP_PROXY_PORT, "port"); + saveString(Reseeder.PROP_PROXY_HOST, "host"); + saveString(Reseeder.PROP_PROXY_USERNAME, "username"); + saveString(Reseeder.PROP_PROXY_PASSWORD, "password"); + saveBoolean(Reseeder.PROP_PROXY_AUTH_ENABLE, "auth"); + saveString(Reseeder.PROP_SPROXY_PORT, "sport"); + saveString(Reseeder.PROP_SPROXY_HOST, "shost"); + saveString(Reseeder.PROP_SPROXY_USERNAME, "susername"); + saveString(Reseeder.PROP_SPROXY_PASSWORD, "spassword"); + saveBoolean(Reseeder.PROP_SPROXY_AUTH_ENABLE, "sauth"); String url = getJettyString("reseedURL"); if (url != null) _context.router().setConfigSetting(Reseeder.PROP_RESEED_URL, url.trim().replace("\r\n", ",").replace("\n", ",")); @@ -60,8 +79,8 @@ public class ConfigReseedHandler extends FormHandler { Boolean.toString(req)); _context.router().setConfigSetting(Reseeder.PROP_SSL_DISABLE, Boolean.toString(disabled)); - boolean proxy = getJettyString("enable") != null; - _context.router().setConfigSetting(Reseeder.PROP_PROXY_ENABLE, Boolean.toString(proxy)); + saveBoolean(Reseeder.PROP_PROXY_ENABLE, "enable"); + saveBoolean(Reseeder.PROP_SPROXY_ENABLE, "senable"); _context.router().saveConfig(); addFormNotice(_("Configuration saved successfully.")); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java index 249f5de59b..db0a93edfc 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java @@ -20,6 +20,36 @@ public class ConfigReseedHelper extends HelperBase { return _context.getProperty(Reseeder.PROP_PROXY_HOST, ""); } + /** @since 0.8.9 */ + public String getUsername() { + return _context.getProperty(Reseeder.PROP_PROXY_USERNAME, ""); + } + + /** @since 0.8.9 */ + public String getPassword() { + return _context.getProperty(Reseeder.PROP_PROXY_PASSWORD, ""); + } + + /** @since 0.8.9 */ + public String getSport() { + return _context.getProperty(Reseeder.PROP_SPROXY_PORT, ""); + } + + /** @since 0.8.9 */ + public String getShost() { + return _context.getProperty(Reseeder.PROP_SPROXY_HOST, ""); + } + + /** @since 0.8.9 */ + public String getSusername() { + return _context.getProperty(Reseeder.PROP_SPROXY_USERNAME, ""); + } + + /** @since 0.8.9 */ + public String getSpassword() { + return _context.getProperty(Reseeder.PROP_SPROXY_PASSWORD, ""); + } + public String modeChecked(int mode) { boolean required = _context.getBooleanProperty(Reseeder.PROP_SSL_REQUIRED); boolean disabled = _context.getBooleanPropertyDefaultTrue(Reseeder.PROP_SSL_DISABLE); @@ -31,7 +61,26 @@ public class ConfigReseedHelper extends HelperBase { } public String getEnable() { - boolean enabled = _context.getBooleanProperty(Reseeder.PROP_PROXY_ENABLE); + return checked(Reseeder.PROP_PROXY_ENABLE); + } + + /** @since 0.8.9 */ + public String getAuth() { + return checked(Reseeder.PROP_PROXY_AUTH_ENABLE); + } + + public String getSenable() { + return checked(Reseeder.PROP_SPROXY_ENABLE); + } + + /** @since 0.8.9 */ + public String getSauth() { + return checked(Reseeder.PROP_SPROXY_AUTH_ENABLE); + } + + /** @since 0.8.9 */ + private String checked(String prop) { + boolean enabled = _context.getBooleanProperty(prop); if (enabled) return "checked=\"true\""; return ""; diff --git a/apps/routerconsole/jsp/configreseed.jsp b/apps/routerconsole/jsp/configreseed.jsp index 87707444a2..6c94b78a22 100644 --- a/apps/routerconsole/jsp/configreseed.jsp +++ b/apps/routerconsole/jsp/configreseed.jsp @@ -33,21 +33,46 @@
<%=intl._("Reseed URL Selection")%> | +|
<%=intl._("Reseed URL Selection")%>: | >
-<%=intl._("Try SSL first then non-SSL")%>
+<%=intl._("Try SSL first then non-SSL")%> > -<%=intl._("Use SSL only")%> +<%=intl._("Use SSL only")%> > -<%=intl._("Use non-SSL only")%> |
<%=intl._("Reseed URLs")%> | +<%=intl._("Use non-SSL only")%>|
<%=intl._("Reseed URLs")%>: | |
<%=intl._("Enable HTTP proxy (not used for SSL)")%> | + +|
<%=intl._("Enable HTTP Proxy?")%> | > |
<%=intl._("HTTP Proxy Host")%>: | " > |
<%=intl._("HTTP Proxy Port")%>: | -" > | " > | + +
<%=intl._("Use HTTP Proxy Authorization?")%> | +> |
<%=intl._("HTTP Proxy Username")%>: | +" > |
<%=intl._("HTTP Proxy Password")%>: | +" > |