From 26ae4db32da42086354cc596f17dfec079f3a42c Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 12 Jun 2024 18:16:06 -0400 Subject: [PATCH 1/2] fix: set the DOCTYPE by removing the DTD and creating a new one because GNOME/libxml2@8d0aaf4 prevents us from changing the node name in libxml >= 2.13.0. See discussion in #3230 for context. --- lib/sanitize/transformers/clean_doctype.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/sanitize/transformers/clean_doctype.rb b/lib/sanitize/transformers/clean_doctype.rb index c4d244d..ad153df 100644 --- a/lib/sanitize/transformers/clean_doctype.rb +++ b/lib/sanitize/transformers/clean_doctype.rb @@ -9,7 +9,11 @@ class Sanitize; module Transformers if node.type == Nokogiri::XML::Node::DTD_NODE if env[:config][:allow_doctype] - node.name = 'html' + if node.name != "html" + document = node.document + node.unlink + document.create_internal_subset("html", nil, nil) + end else node.unlink end From 49f7eedbc42d1250b834653587f9743ad780e94b Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 12 Jun 2024 19:00:47 -0400 Subject: [PATCH 2/2] dep: update minitest dependency to avoid mutex_m on ruby 3.4.0-dev --- sanitize.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sanitize.gemspec b/sanitize.gemspec index 4f28b23..ebbe0f1 100644 --- a/sanitize.gemspec +++ b/sanitize.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |s| s.add_dependency('nokogiri', '>= 1.12.0') # Development dependencies. - s.add_development_dependency('minitest', '~> 5.14.4') + s.add_development_dependency('minitest', '~> 5.15') # needs to float to support ruby 2.5 and 3.4 s.add_development_dependency('rake', '~> 13.0.6') s.require_paths = ['lib']