Backout changeset 6e67c73f730c: not a major fix and it breaks interop with at least Isode M-Link, and possibly standards, while it's not clear it actually fixes the original problem either.
--- a/util/stanza.lua Sun Oct 19 03:05:49 2014 -0400
+++ b/util/stanza.lua Fri Oct 24 23:20:06 2014 +0100
@@ -202,19 +202,8 @@
local xml_escape
do
- local escape_table = {
- ["'"] = "'";
- ['"'] = """;
- ["<"] = "<";
- [">"] = ">";
- ["&"] = "&";
- -- escape this whitespace because [\r\n\t] change into spaces in attributes
- -- and \r\n changes into \n in text, and we want to preserve original bytes
- ["\t"] = "	";
- ["\n"] = "
";
- ["\r"] = "
";
- };
- function xml_escape(str) return (s_gsub(str, "['&<>\"\t\n\r]", escape_table)); end
+ local escape_table = { ["'"] = "'", ["\""] = """, ["<"] = "<", [">"] = ">", ["&"] = "&" };
+ function xml_escape(str) return (s_gsub(str, "['&<>\"]", escape_table)); end
_M.xml_escape = xml_escape;
end