diff --git a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java index e65f9ec90..8a1b92046 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java @@ -28,11 +28,13 @@ public class CSSHelper extends HelperBase { return url; } - /** change default language for the router but don't save it */ + /** change default language for the router AND save it */ public void setLang(String lang) { - // TODO: Protect with nonce or require POST - if (lang != null && lang.length() == 2) + // Protected with nonce in css.jsi + if (lang != null && lang.length() == 2 && !lang.equals(_context.getProperty(Messages.PROP_LANG))) { _context.router().setConfigSetting(Messages.PROP_LANG, lang); + _context.router().saveConfig(); + } } /** needed for conditional css loads for zh */ @@ -61,4 +63,13 @@ public class CSSHelper extends HelperBase { .append(""); return buf.toString(); } + + /** + * Should we allow a refreshing IFrame? + * @since 0.8.5 + */ + public boolean allowIFrame(String ua) { + return ua == null || !(ua.startsWith("Lynx") || ua.startsWith("w3m") || + ua.startsWith("ELinks") || ua.startsWith("Dillo")); + } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java index 1853ff246..b56108be3 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java @@ -19,15 +19,14 @@ public class ContentHelper extends HelperBase { _startAtBeginning = Boolean.valueOf(""+moo).booleanValue(); } public void setLang(String l) { +/***** if((_lang == null || !_lang.equals(l)) && (l != null)) { //Set language for router console _lang = l; -/***** TODO - Temporary for 0.8.4 Needed for desktopgui. But there's no nonce protection. Move the following to CSSHelper setLang(), or disable completely, See comments in CSSHelper -*****/ if(_context == null) { setContextId(null); } @@ -39,6 +38,7 @@ public class ContentHelper extends HelperBase { _context.setProperty(Messages.PROP_LANG, _lang); } } +*****/ } public void setMaxLines(String lines) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java index 55c7b009c..e21102c7f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java @@ -224,25 +224,21 @@ public class SummaryBarRenderer { System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev); System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+""); String uri = _helper.getRequestURI(); - buf.append("
\n"); } @@ -251,10 +247,9 @@ public class SummaryBarRenderer { - buf.append("") - .append(ConfigRestartBean.renderStatus(_helper.getRequestURI(), _helper.getAction(), _helper.getConsoleNonce())) + buf.append(ConfigRestartBean.renderStatus(_helper.getRequestURI(), _helper.getAction(), _helper.getConsoleNonce())) - .append("