From 15ec4ae07b17821625bd2ca1088a7573a7ed128c Mon Sep 17 00:00:00 2001 From: Eugen Date: Mon, 17 Apr 2017 19:58:54 +0200 Subject: Fix #1972, fix #1870 - Fix special characters in XML, add tests (#1988) Also improve efficiency of the mastodon:maintenance:add_static_avatars task --- app/lib/atom_serializer.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'app/lib') diff --git a/app/lib/atom_serializer.rb b/app/lib/atom_serializer.rb index 4e4031bba..5aeb7b4f9 100644 --- a/app/lib/atom_serializer.rb +++ b/app/lib/atom_serializer.rb @@ -3,13 +3,11 @@ class AtomSerializer include RoutingHelper - INVALID_XML_CHARS = /[^\u0009\u000a\u000d\u0020-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]/ - class << self def render(element) document = Ox::Document.new(version: '1.0') document << element - ('' + Ox.dump(element)).force_encoding('UTF-8') + ('' + Ox.dump(element, effort: :tolerant)).force_encoding('UTF-8') end end @@ -319,7 +317,7 @@ class AtomSerializer end def sanitize_str(raw_str) - raw_str.to_s.gsub(INVALID_XML_CHARS, '') + raw_str.to_s end def add_namespaces(parent) -- cgit