diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 19fb3bd0fe..8a2f9a269b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -1214,7 +1214,9 @@ public class I2PSnarkServlet extends Default { /** @since 0.7.14 */ private static String urlify(String s) { StringBuilder buf = new StringBuilder(256); - buf.append("").append(s).append(""); + // browsers seem to work without doing this but let's be strict + String link = s.replace("&", "&"); + buf.append("").append(link).append(""); return buf.toString(); } 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 f6c76d7f60..b93b67490b 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java @@ -175,7 +175,7 @@ public class EditBean extends IndexBean { } public String getAccessList(int tunnel) { - return getProperty(tunnel, "i2cp.accessList", "").replaceAll(",", "\n"); + return getProperty(tunnel, "i2cp.accessList", "").replace(",", "\n"); } public boolean getClose(int tunnel) { 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 d91a7900d7..8559c28148 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java @@ -666,7 +666,7 @@ public class IndexBean { } public void setAccessList(String val) { if (val != null) - _otherOptions.put("i2cp.accessList", val.trim().replaceAll("\r\n", ",").replaceAll("\n", ",").replaceAll(" ", ",")); + _otherOptions.put("i2cp.accessList", val.trim().replace("\r\n", ",").replace("\n", ",").replace(" ", ",")); } public void setCloseTime(String val) { if (val != null) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java index b407fe4948..d20524bfb5 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java @@ -142,7 +142,7 @@ public class ConfigUpdateHandler extends FormHandler { } if ( (_updateURL != null) && (_updateURL.length() > 0) ) { - _updateURL = _updateURL.replaceAll("\r\n", ",").replaceAll("\n", ","); + _updateURL = _updateURL.replace("\r\n", ",").replace("\n", ","); String oldURL = _context.router().getConfigSetting(PROP_UPDATE_URL); if ( (oldURL == null) || (!_updateURL.equals(oldURL)) ) { _context.router().setConfigSetting(PROP_UPDATE_URL, _updateURL); @@ -151,7 +151,7 @@ public class ConfigUpdateHandler extends FormHandler { } if ( (_trustedKeys != null) && (_trustedKeys.length() > 0) ) { - _trustedKeys = _trustedKeys.replaceAll("\r\n", ",").replaceAll("\n", ","); + _trustedKeys = _trustedKeys.replace("\r\n", ",").replace("\n", ","); String oldKeys = new TrustedUpdate(_context).getTrustedKeysString(); if ( (oldKeys == null) || (!_trustedKeys.equals(oldKeys)) ) { _context.router().setConfigSetting(PROP_TRUSTED_KEYS, _trustedKeys); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java index c9b6b7f43f..520c13104e 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java @@ -40,7 +40,7 @@ public class ConfigUpdateHelper extends HelperBase { public String getUpdateURL() { String url = _context.getProperty(ConfigUpdateHandler.PROP_UPDATE_URL); if (url != null) - return url.replaceAll(",", "\n"); + return url.replace(",", "\n"); else return ConfigUpdateHandler.DEFAULT_UPDATE_URL; } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java index f499b2ea43..9955ffeed3 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java @@ -33,7 +33,7 @@ public class LogsHelper extends HelperBase { if (str == null) return ""; else { - str = str.replaceAll("<", "<").replaceAll(">", ">"); + str = str.replace("&", "&").replace("<", "<").replace(">", ">"); return _("File location") + ": " + f.getAbsolutePath() + "
" + str + "
"; } } @@ -54,12 +54,14 @@ public class LogsHelper extends HelperBase { buf.append("\n"); for (int i = msgs.size(); i > 0; i--) { String msg = msgs.get(i - 1); + msg = msg.replace("&", "&").replace("<", "<").replace(">", ">"); buf.append("
  • "); if (colorize) { String color; // Homeland Security Advisory System // http://www.dhs.gov/xinfoshare/programs/Copy_of_press_release_0046.shtm // but pink instead of yellow for WARN + // FIXME doesnt work for translated levels if (msg.contains("CRIT")) color = "#cc0000"; else if (msg.contains("ERROR")) @@ -71,7 +73,7 @@ public class LogsHelper extends HelperBase { else color = "#006600"; buf.append(""); - buf.append(msg.replaceAll("<", "<").replaceAll(">", ">")); + buf.append(msg); buf.append(""); } else { buf.append(msg);