]> source.dussan.org Git - redmine.git/commitdiff
Replace deprecated Sanitize keywords (#32424).
authorMarius Balteanu <marius.balteanu@zitec.com>
Wed, 11 Aug 2021 21:50:16 +0000 (21:50 +0000)
committerMarius Balteanu <marius.balteanu@zitec.com>
Wed, 11 Aug 2021 21:50:16 +0000 (21:50 +0000)
Patch by Martin Cizek.

git-svn-id: http://svn.redmine.org/redmine/trunk@21162 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/wiki_formatting/common_mark/sanitization_filter.rb

index df09fd9c8e8c7294f30dcc13e161e112f2d53fad..7ee973911343e2bd89b934a238213667b730516a 100644 (file)
@@ -27,23 +27,23 @@ module Redmine
           "a" => %w(href).freeze,
         }.freeze
 
-        def whitelist
-          @@whitelist ||= customize_whitelist(super.deep_dup)
+        def allowlist
+          @@allowlist ||= customize_allowlist(super.deep_dup)
         end
 
         private
 
-        # customizes the whitelist defined in
+        # customizes the allowlist defined in
         # https://github.com/jch/html-pipeline/blob/master/lib/html/pipeline/sanitization_filter.rb
-        def customize_whitelist(whitelist)
+        def customize_allowlist(allowlist)
           # Disallow `name` attribute globally, allow on `a`
-          whitelist[:attributes][:all].delete("name")
-          whitelist[:attributes]["a"].push("name")
+          allowlist[:attributes][:all].delete("name")
+          allowlist[:attributes]["a"].push("name")
 
           # allow class on code tags (this holds the language info from fenced
           # code bocks and has the format language-foo)
-          whitelist[:attributes]["code"] = %w(class)
-          whitelist[:transformers].push lambda{|env|
+          allowlist[:attributes]["code"] = %w(class)
+          allowlist[:transformers].push lambda{|env|
             node = env[:node]
             return unless node.name == "code"
             return unless node.has_attribute?("class")
@@ -59,15 +59,15 @@ module Redmine
           # commonmarker option (which we do not, currently).
           # By default, the align attribute is used (which is allowed on all
           # elements).
-          # whitelist[:attributes]["th"] = %w(style)
-          # whitelist[:attributes]["td"] = %w(style)
-          # whitelist[:css] = { properties: ["text-align"] }
+          # allowlist[:attributes]["th"] = %w(style)
+          # allowlist[:attributes]["td"] = %w(style)
+          # allowlist[:css] = { properties: ["text-align"] }
 
           # Allow `id` in a and li elements for footnotes
           # and remove any `id` properties not matching for footnotes
-          whitelist[:attributes]["a"].push "id"
-          whitelist[:attributes]["li"] = %w(id)
-          whitelist[:transformers].push lambda{|env|
+          allowlist[:attributes]["a"].push "id"
+          allowlist[:attributes]["li"] = %w(id)
+          allowlist[:transformers].push lambda{|env|
             node = env[:node]
             return unless node.name == "a" || node.name == "li"
             return unless node.has_attribute?("id")
@@ -78,8 +78,8 @@ module Redmine
           }
 
           # https://github.com/rgrove/sanitize/issues/209
-          whitelist[:protocols].delete("a")
-          whitelist[:transformers].push lambda{|env|
+          allowlist[:protocols].delete("a")
+          allowlist[:transformers].push lambda{|env|
             node = env[:node]
             return if node.type != Nokogiri::XML::Node::ELEMENT_NODE
 
@@ -96,7 +96,7 @@ module Redmine
             end
           }
 
-          whitelist
+          allowlist
         end
       end
     end