loofah 2.18.0 → 2.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/loofah/html5/safelist.rb +172 -18
- data/lib/loofah/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d59ed56910860de60170e919b3ab77b382f00eadc5d37518a7a395edabc8a4f
|
|
4
|
+
data.tar.gz: d0ed6a2362ec8b366f4739a67c2197a24c45e0681cba6e5bd6b7b55617d492dc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dabaf4204cf846132d0b2962cef11534e3043ae8b2be39cbf23dea2fabc3722d83fba8805a5453fca6f2ec80f13c48c62726751f6acf06d3fdfd427297f07968
|
|
7
|
+
data.tar.gz: 84d3442b65227346d62df8ea24ef0febe3212b1a1bdb61266f22cafc356467637f2a3a050d4c52672d55e081a3e040d2cb423961d571cf364978265398742f47
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.19.0 / 2022-09-14
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* Allow SVG 1.0 color keyword names in CSS attributes. These colors are part of the [CSS Color Module Level 3](https://www.w3.org/TR/css-color-3/#svg-color) recommendation released 2022-01-18. [[#243](https://github.com/flavorjones/loofah/issues/243)]
|
|
8
|
+
|
|
9
|
+
|
|
3
10
|
## 2.18.0 / 2022-05-11
|
|
4
11
|
|
|
5
12
|
### Features
|
|
@@ -684,23 +684,16 @@ module Loofah
|
|
|
684
684
|
|
|
685
685
|
ACCEPTABLE_CSS_KEYWORDS = Set.new([
|
|
686
686
|
"!important",
|
|
687
|
-
"aqua",
|
|
688
687
|
"auto",
|
|
689
|
-
"black",
|
|
690
688
|
"block",
|
|
691
|
-
"blue",
|
|
692
689
|
"bold",
|
|
693
690
|
"both",
|
|
694
691
|
"bottom",
|
|
695
|
-
"brown",
|
|
696
692
|
"center",
|
|
697
693
|
"collapse",
|
|
698
694
|
"dashed",
|
|
699
695
|
"dotted",
|
|
700
696
|
"double",
|
|
701
|
-
"fuchsia",
|
|
702
|
-
"gray",
|
|
703
|
-
"green",
|
|
704
697
|
"groove",
|
|
705
698
|
"hidden",
|
|
706
699
|
"inherit",
|
|
@@ -708,35 +701,196 @@ module Loofah
|
|
|
708
701
|
"inset",
|
|
709
702
|
"italic",
|
|
710
703
|
"left",
|
|
711
|
-
"lime",
|
|
712
|
-
"maroon",
|
|
713
704
|
"medium",
|
|
714
|
-
"navy",
|
|
715
705
|
"none",
|
|
716
706
|
"normal",
|
|
717
707
|
"nowrap",
|
|
718
|
-
"olive",
|
|
719
708
|
"outset",
|
|
720
709
|
"pointer",
|
|
721
|
-
"purple",
|
|
722
|
-
"red",
|
|
723
710
|
"revert",
|
|
724
711
|
"ridge",
|
|
725
712
|
"right",
|
|
726
713
|
"separate",
|
|
727
|
-
"silver",
|
|
728
714
|
"solid",
|
|
729
|
-
"teal",
|
|
730
715
|
"thick",
|
|
731
716
|
"thin",
|
|
732
717
|
"top",
|
|
733
718
|
"transparent",
|
|
734
719
|
"underline",
|
|
735
720
|
"unset",
|
|
736
|
-
"white",
|
|
737
|
-
"yellow",
|
|
738
721
|
])
|
|
739
722
|
|
|
723
|
+
# https://www.w3.org/TR/css-color-3/#html4
|
|
724
|
+
ACCEPTABLE_CSS_COLORS = Set.new([
|
|
725
|
+
"aqua",
|
|
726
|
+
"black",
|
|
727
|
+
"blue",
|
|
728
|
+
"fuchsia",
|
|
729
|
+
"gray",
|
|
730
|
+
"green",
|
|
731
|
+
"lime",
|
|
732
|
+
"maroon",
|
|
733
|
+
"navy",
|
|
734
|
+
"olive",
|
|
735
|
+
"purple",
|
|
736
|
+
"red",
|
|
737
|
+
"silver",
|
|
738
|
+
"teal",
|
|
739
|
+
"white",
|
|
740
|
+
"yellow",
|
|
741
|
+
])
|
|
742
|
+
|
|
743
|
+
# https://www.w3.org/TR/css-color-3/#svg-color
|
|
744
|
+
ACCEPTABLE_CSS_EXTENDED_COLORS = Set.new([
|
|
745
|
+
"aliceblue",
|
|
746
|
+
"antiquewhite",
|
|
747
|
+
"aqua",
|
|
748
|
+
"aquamarine",
|
|
749
|
+
"azure",
|
|
750
|
+
"beige",
|
|
751
|
+
"bisque",
|
|
752
|
+
"black",
|
|
753
|
+
"blanchedalmond",
|
|
754
|
+
"blue",
|
|
755
|
+
"blueviolet",
|
|
756
|
+
"brown",
|
|
757
|
+
"burlywood",
|
|
758
|
+
"cadetblue",
|
|
759
|
+
"chartreuse",
|
|
760
|
+
"chocolate",
|
|
761
|
+
"coral",
|
|
762
|
+
"cornflowerblue",
|
|
763
|
+
"cornsilk",
|
|
764
|
+
"crimson",
|
|
765
|
+
"cyan",
|
|
766
|
+
"darkblue",
|
|
767
|
+
"darkcyan",
|
|
768
|
+
"darkgoldenrod",
|
|
769
|
+
"darkgray",
|
|
770
|
+
"darkgreen",
|
|
771
|
+
"darkgrey",
|
|
772
|
+
"darkkhaki",
|
|
773
|
+
"darkmagenta",
|
|
774
|
+
"darkolivegreen",
|
|
775
|
+
"darkorange",
|
|
776
|
+
"darkorchid",
|
|
777
|
+
"darkred",
|
|
778
|
+
"darksalmon",
|
|
779
|
+
"darkseagreen",
|
|
780
|
+
"darkslateblue",
|
|
781
|
+
"darkslategray",
|
|
782
|
+
"darkslategrey",
|
|
783
|
+
"darkturquoise",
|
|
784
|
+
"darkviolet",
|
|
785
|
+
"deeppink",
|
|
786
|
+
"deepskyblue",
|
|
787
|
+
"dimgray",
|
|
788
|
+
"dimgrey",
|
|
789
|
+
"dodgerblue",
|
|
790
|
+
"firebrick",
|
|
791
|
+
"floralwhite",
|
|
792
|
+
"forestgreen",
|
|
793
|
+
"fuchsia",
|
|
794
|
+
"gainsboro",
|
|
795
|
+
"ghostwhite",
|
|
796
|
+
"gold",
|
|
797
|
+
"goldenrod",
|
|
798
|
+
"gray",
|
|
799
|
+
"green",
|
|
800
|
+
"greenyellow",
|
|
801
|
+
"grey",
|
|
802
|
+
"honeydew",
|
|
803
|
+
"hotpink",
|
|
804
|
+
"indianred",
|
|
805
|
+
"indigo",
|
|
806
|
+
"ivory",
|
|
807
|
+
"khaki",
|
|
808
|
+
"lavender",
|
|
809
|
+
"lavenderblush",
|
|
810
|
+
"lawngreen",
|
|
811
|
+
"lemonchiffon",
|
|
812
|
+
"lightblue",
|
|
813
|
+
"lightcoral",
|
|
814
|
+
"lightcyan",
|
|
815
|
+
"lightgoldenrodyellow",
|
|
816
|
+
"lightgray",
|
|
817
|
+
"lightgreen",
|
|
818
|
+
"lightgrey",
|
|
819
|
+
"lightpink",
|
|
820
|
+
"lightsalmon",
|
|
821
|
+
"lightseagreen",
|
|
822
|
+
"lightskyblue",
|
|
823
|
+
"lightslategray",
|
|
824
|
+
"lightslategrey",
|
|
825
|
+
"lightsteelblue",
|
|
826
|
+
"lightyellow",
|
|
827
|
+
"lime",
|
|
828
|
+
"limegreen",
|
|
829
|
+
"linen",
|
|
830
|
+
"magenta",
|
|
831
|
+
"maroon",
|
|
832
|
+
"mediumaquamarine",
|
|
833
|
+
"mediumblue",
|
|
834
|
+
"mediumorchid",
|
|
835
|
+
"mediumpurple",
|
|
836
|
+
"mediumseagreen",
|
|
837
|
+
"mediumslateblue",
|
|
838
|
+
"mediumspringgreen",
|
|
839
|
+
"mediumturquoise",
|
|
840
|
+
"mediumvioletred",
|
|
841
|
+
"midnightblue",
|
|
842
|
+
"mintcream",
|
|
843
|
+
"mistyrose",
|
|
844
|
+
"moccasin",
|
|
845
|
+
"navajowhite",
|
|
846
|
+
"navy",
|
|
847
|
+
"oldlace",
|
|
848
|
+
"olive",
|
|
849
|
+
"olivedrab",
|
|
850
|
+
"orange",
|
|
851
|
+
"orangered",
|
|
852
|
+
"orchid",
|
|
853
|
+
"palegoldenrod",
|
|
854
|
+
"palegreen",
|
|
855
|
+
"paleturquoise",
|
|
856
|
+
"palevioletred",
|
|
857
|
+
"papayawhip",
|
|
858
|
+
"peachpuff",
|
|
859
|
+
"peru",
|
|
860
|
+
"pink",
|
|
861
|
+
"plum",
|
|
862
|
+
"powderblue",
|
|
863
|
+
"purple",
|
|
864
|
+
"red",
|
|
865
|
+
"rosybrown",
|
|
866
|
+
"royalblue",
|
|
867
|
+
"saddlebrown",
|
|
868
|
+
"salmon",
|
|
869
|
+
"sandybrown",
|
|
870
|
+
"seagreen",
|
|
871
|
+
"seashell",
|
|
872
|
+
"sienna",
|
|
873
|
+
"silver",
|
|
874
|
+
"skyblue",
|
|
875
|
+
"slateblue",
|
|
876
|
+
"slategray",
|
|
877
|
+
"slategrey",
|
|
878
|
+
"snow",
|
|
879
|
+
"springgreen",
|
|
880
|
+
"steelblue",
|
|
881
|
+
"tan",
|
|
882
|
+
"teal",
|
|
883
|
+
"thistle",
|
|
884
|
+
"tomato",
|
|
885
|
+
"turquoise",
|
|
886
|
+
"violet",
|
|
887
|
+
"wheat",
|
|
888
|
+
"white",
|
|
889
|
+
"whitesmoke",
|
|
890
|
+
"yellow",
|
|
891
|
+
"yellowgreen",
|
|
892
|
+
])
|
|
893
|
+
|
|
740
894
|
# see https://www.quackit.com/css/functions/
|
|
741
895
|
# omit `url` and `image` from that list
|
|
742
896
|
ACCEPTABLE_CSS_FUNCTIONS = Set.new([
|
|
@@ -854,7 +1008,7 @@ module Loofah
|
|
|
854
1008
|
ALLOWED_ELEMENTS = ACCEPTABLE_ELEMENTS + MATHML_ELEMENTS + SVG_ELEMENTS
|
|
855
1009
|
ALLOWED_ATTRIBUTES = ACCEPTABLE_ATTRIBUTES + MATHML_ATTRIBUTES + SVG_ATTRIBUTES + ARIA_ATTRIBUTES
|
|
856
1010
|
ALLOWED_CSS_PROPERTIES = ACCEPTABLE_CSS_PROPERTIES
|
|
857
|
-
ALLOWED_CSS_KEYWORDS = ACCEPTABLE_CSS_KEYWORDS
|
|
1011
|
+
ALLOWED_CSS_KEYWORDS = ACCEPTABLE_CSS_KEYWORDS + ACCEPTABLE_CSS_COLORS + ACCEPTABLE_CSS_EXTENDED_COLORS
|
|
858
1012
|
ALLOWED_CSS_FUNCTIONS = ACCEPTABLE_CSS_FUNCTIONS
|
|
859
1013
|
ALLOWED_SVG_PROPERTIES = ACCEPTABLE_SVG_PROPERTIES
|
|
860
1014
|
ALLOWED_PROTOCOLS = ACCEPTABLE_PROTOCOLS
|
data/lib/loofah/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: loofah
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.19.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mike Dalessio
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2022-
|
|
12
|
+
date: 2022-09-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: crass
|
|
@@ -199,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
199
199
|
- !ruby/object:Gem::Version
|
|
200
200
|
version: '0'
|
|
201
201
|
requirements: []
|
|
202
|
-
rubygems_version: 3.3.
|
|
202
|
+
rubygems_version: 3.3.7
|
|
203
203
|
signing_key:
|
|
204
204
|
specification_version: 4
|
|
205
205
|
summary: Loofah is a general library for manipulating and transforming HTML/XML documents
|