activestorage 5.2.6.3 → 5.2.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activestorage might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13b52cd35b6dc01b7589a2c6a666628f0dd9022a7003be3b4ccb461854aa8f54
4
- data.tar.gz: c5b000e97cc5c5da0800bb963892f20857841d1a6c1d1d41224c7053b340aaaa
3
+ metadata.gz: 221e253595145d3f877c7f1c72422ab97989ba9cba8cb7a5c14f20d8589b0240
4
+ data.tar.gz: 32de8686073e333e7f0a4177acc3aba161e5bbd59d90597e42ad49ca7ec55af9
5
5
  SHA512:
6
- metadata.gz: 81552bc85fb46cac27886e71abd1434d0e184e8eb6f679642e6cc2589c6c8e1f72aea689ab169407a6467bc03d2a846ed77d36c6ea4ee55102d451fc9be1ade8
7
- data.tar.gz: 907cc0d61bf68b93edecfd2caabc06656a5a31b7a64931c98342005ddf8976a0c33d412e376da464f1453a738156efa8769449ffd554f14c08d20bd853329cd6
6
+ metadata.gz: 5617c40e89b030ed1e8b3a05a57ab954a572e40b27f6aade9e4046ae23f7ff298a9f40b1d1ecb31ec7e9cd3717186d6cc7e6ceb939a3967bcd3ab70533e431c9
7
+ data.tar.gz: 39a0968e43f9d8a1763c3120a83b3ae8cc82b9c2d78b1a0a5503da4818296f0cf5abad84fd57733bd1eac61f321b0a288d99c2aff058d3f37fb0cd453fc423ff
data/CHANGELOG.md CHANGED
@@ -1,10 +1,18 @@
1
+ ## Rails 5.2.7 (March 10, 2022) ##
2
+
3
+ * Fix `ActiveStorage.supported_image_processing_methods` and
4
+ `ActiveStorage.unsupported_image_processing_arguments` that were not being applied.
5
+
6
+ *Rafael Mendonça França*
7
+
8
+
1
9
  ## Rails 5.2.6.3 (March 08, 2022) ##
2
10
 
3
11
  * Added image transformation validation via configurable allow-list.
4
-
12
+
5
13
  Variant now offers a configurable allow-list for
6
14
  transformation methods in addition to a configurable deny-list for arguments.
7
-
15
+
8
16
  [CVE-2022-21831]
9
17
 
10
18
 
@@ -23,298 +23,6 @@ class ActiveStorage::Variation
23
23
  class UnsupportedImageProcessingMethod < StandardError; end
24
24
  class UnsupportedImageProcessingArgument < StandardError; end
25
25
 
26
- SUPPORTED_IMAGE_PROCESSING_METHODS = [
27
- "adaptive_blur",
28
- "adaptive_resize",
29
- "adaptive_sharpen",
30
- "adjoin",
31
- "affine",
32
- "alpha",
33
- "annotate",
34
- "antialias",
35
- "append",
36
- "apply",
37
- "attenuate",
38
- "authenticate",
39
- "auto_gamma",
40
- "auto_level",
41
- "auto_orient",
42
- "auto_threshold",
43
- "backdrop",
44
- "background",
45
- "bench",
46
- "bias",
47
- "bilateral_blur",
48
- "black_point_compensation",
49
- "black_threshold",
50
- "blend",
51
- "blue_primary",
52
- "blue_shift",
53
- "blur",
54
- "border",
55
- "bordercolor",
56
- "borderwidth",
57
- "brightness_contrast",
58
- "cache",
59
- "canny",
60
- "caption",
61
- "channel",
62
- "channel_fx",
63
- "charcoal",
64
- "chop",
65
- "clahe",
66
- "clamp",
67
- "clip",
68
- "clip_path",
69
- "clone",
70
- "clut",
71
- "coalesce",
72
- "colorize",
73
- "colormap",
74
- "color_matrix",
75
- "colors",
76
- "colorspace",
77
- "colourspace",
78
- "color_threshold",
79
- "combine",
80
- "combine_options",
81
- "comment",
82
- "compare",
83
- "complex",
84
- "compose",
85
- "composite",
86
- "compress",
87
- "connected_components",
88
- "contrast",
89
- "contrast_stretch",
90
- "convert",
91
- "convolve",
92
- "copy",
93
- "crop",
94
- "cycle",
95
- "deconstruct",
96
- "define",
97
- "delay",
98
- "delete",
99
- "density",
100
- "depth",
101
- "descend",
102
- "deskew",
103
- "despeckle",
104
- "direction",
105
- "displace",
106
- "dispose",
107
- "dissimilarity_threshold",
108
- "dissolve",
109
- "distort",
110
- "dither",
111
- "draw",
112
- "duplicate",
113
- "edge",
114
- "emboss",
115
- "encoding",
116
- "endian",
117
- "enhance",
118
- "equalize",
119
- "evaluate",
120
- "evaluate_sequence",
121
- "extent",
122
- "extract",
123
- "family",
124
- "features",
125
- "fft",
126
- "fill",
127
- "filter",
128
- "flatten",
129
- "flip",
130
- "floodfill",
131
- "flop",
132
- "font",
133
- "foreground",
134
- "format",
135
- "frame",
136
- "function",
137
- "fuzz",
138
- "fx",
139
- "gamma",
140
- "gaussian_blur",
141
- "geometry",
142
- "gravity",
143
- "grayscale",
144
- "green_primary",
145
- "hald_clut",
146
- "highlight_color",
147
- "hough_lines",
148
- "iconGeometry",
149
- "iconic",
150
- "identify",
151
- "ift",
152
- "illuminant",
153
- "immutable",
154
- "implode",
155
- "insert",
156
- "intensity",
157
- "intent",
158
- "interlace",
159
- "interline_spacing",
160
- "interpolate",
161
- "interpolative_resize",
162
- "interword_spacing",
163
- "kerning",
164
- "kmeans",
165
- "kuwahara",
166
- "label",
167
- "lat",
168
- "layers",
169
- "level",
170
- "level_colors",
171
- "limit",
172
- "limits",
173
- "linear_stretch",
174
- "linewidth",
175
- "liquid_rescale",
176
- "list",
177
- "loader",
178
- "log",
179
- "loop",
180
- "lowlight_color",
181
- "magnify",
182
- "map",
183
- "mattecolor",
184
- "median",
185
- "mean_shift",
186
- "metric",
187
- "mode",
188
- "modulate",
189
- "moments",
190
- "monitor",
191
- "monochrome",
192
- "morph",
193
- "morphology",
194
- "mosaic",
195
- "motion_blur",
196
- "name",
197
- "negate",
198
- "noise",
199
- "normalize",
200
- "opaque",
201
- "ordered_dither",
202
- "orient",
203
- "page",
204
- "paint",
205
- "pause",
206
- "perceptible",
207
- "ping",
208
- "pointsize",
209
- "polaroid",
210
- "poly",
211
- "posterize",
212
- "precision",
213
- "preview",
214
- "process",
215
- "quality",
216
- "quantize",
217
- "quiet",
218
- "radial_blur",
219
- "raise",
220
- "random_threshold",
221
- "range_threshold",
222
- "red_primary",
223
- "regard_warnings",
224
- "region",
225
- "remote",
226
- "render",
227
- "repage",
228
- "resample",
229
- "resize",
230
- "resize_to_fill",
231
- "resize_to_fit",
232
- "resize_to_limit",
233
- "resize_and_pad",
234
- "respect_parentheses",
235
- "reverse",
236
- "roll",
237
- "rotate",
238
- "sample",
239
- "sampling_factor",
240
- "saver",
241
- "scale",
242
- "scene",
243
- "screen",
244
- "seed",
245
- "segment",
246
- "selective_blur",
247
- "separate",
248
- "sepia_tone",
249
- "shade",
250
- "shadow",
251
- "shared_memory",
252
- "sharpen",
253
- "shave",
254
- "shear",
255
- "sigmoidal_contrast",
256
- "silent",
257
- "similarity_threshold",
258
- "size",
259
- "sketch",
260
- "smush",
261
- "snaps",
262
- "solarize",
263
- "sort_pixels",
264
- "sparse_color",
265
- "splice",
266
- "spread",
267
- "statistic",
268
- "stegano",
269
- "stereo",
270
- "storage_type",
271
- "stretch",
272
- "strip",
273
- "stroke",
274
- "strokewidth",
275
- "style",
276
- "subimage_search",
277
- "swap",
278
- "swirl",
279
- "synchronize",
280
- "taint",
281
- "text_font",
282
- "threshold",
283
- "thumbnail",
284
- "tile_offset",
285
- "tint",
286
- "title",
287
- "transform",
288
- "transparent",
289
- "transparent_color",
290
- "transpose",
291
- "transverse",
292
- "treedepth",
293
- "trim",
294
- "type",
295
- "undercolor",
296
- "unique_colors",
297
- "units",
298
- "unsharp",
299
- "update",
300
- "valid_image",
301
- "view",
302
- "vignette",
303
- "virtual_pixel",
304
- "visual",
305
- "watermark",
306
- "wave",
307
- "wavelet_denoise",
308
- "weight",
309
- "white_balance",
310
- "white_point",
311
- "white_threshold",
312
- "window",
313
- "window_group",
314
- ].concat(ActiveStorage.supported_image_processing_methods)
315
-
316
- UNSUPPORTED_IMAGE_PROCESSING_ARGUMENTS = ActiveStorage.unsupported_image_processing_arguments
317
-
318
26
  class << self
319
27
  # Returns a Variation instance based on the given variator. If the variator is a Variation, it is
320
28
  # returned unmodified. If it is a String, it is passed to ActiveStorage::Variation.decode. Otherwise,
@@ -388,7 +96,7 @@ class ActiveStorage::Variation
388
96
  def validate_transformation(name, argument)
389
97
  method_name = name.to_s.gsub("-","_")
390
98
 
391
- unless SUPPORTED_IMAGE_PROCESSING_METHODS.any? { |method| method_name == method }
99
+ unless ActiveStorage.supported_image_processing_methods.any? { |method| method_name == method }
392
100
  raise UnsupportedImageProcessingMethod, <<~ERROR.squish
393
101
  One or more of the provided transformation methods is not supported.
394
102
  ERROR
@@ -406,7 +114,7 @@ class ActiveStorage::Variation
406
114
  end
407
115
 
408
116
  def validate_arg_string(argument)
409
- if UNSUPPORTED_IMAGE_PROCESSING_ARGUMENTS.any? { |bad_arg| argument.to_s.downcase.include?(bad_arg) }; raise UnsupportedImageProcessingArgument end
117
+ if ActiveStorage.unsupported_image_processing_arguments.any? { |bad_arg| argument.to_s.downcase.include?(bad_arg) }; raise UnsupportedImageProcessingArgument end
410
118
  end
411
119
 
412
120
  def validate_arg_array(argument)
@@ -51,20 +51,6 @@ module ActiveStorage
51
51
  application/pdf
52
52
  )
53
53
 
54
- default_unsupported_image_processing_arguments = %w(
55
- -debug
56
- -display
57
- -distribute-cache
58
- -help
59
- -path
60
- -print
61
- -set
62
- -verbose
63
- -version
64
- -write
65
- -write-mask
66
- )
67
-
68
54
  config.eager_load_namespaces << ActiveStorage
69
55
 
70
56
  initializer "active_storage.configs" do
@@ -75,8 +61,20 @@ module ActiveStorage
75
61
  ActiveStorage.analyzers = app.config.active_storage.analyzers || []
76
62
  ActiveStorage.paths = app.config.active_storage.paths || {}
77
63
 
78
- ActiveStorage.supported_image_processing_methods = app.config.active_storage.supported_image_processing_methods || []
79
- ActiveStorage.unsupported_image_processing_arguments = app.config.active_storage.unsupported_image_processing_arguments || default_unsupported_image_processing_arguments
64
+ ActiveStorage.supported_image_processing_methods += app.config.active_storage.supported_image_processing_methods || []
65
+ ActiveStorage.unsupported_image_processing_arguments = app.config.active_storage.unsupported_image_processing_arguments || %w(
66
+ -debug
67
+ -display
68
+ -distribute-cache
69
+ -help
70
+ -path
71
+ -print
72
+ -set
73
+ -verbose
74
+ -version
75
+ -write
76
+ -write-mask
77
+ )
80
78
  ActiveStorage.variable_content_types = app.config.active_storage.variable_content_types || []
81
79
  ActiveStorage.content_types_to_serve_as_binary = app.config.active_storage.content_types_to_serve_as_binary || []
82
80
  ActiveStorage.content_types_allowed_inline = app.config.active_storage.content_types_allowed_inline || []
@@ -9,8 +9,8 @@ module ActiveStorage
9
9
  module VERSION
10
10
  MAJOR = 5
11
11
  MINOR = 2
12
- TINY = 6
13
- PRE = "3"
12
+ TINY = 7
13
+ PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -50,6 +50,294 @@ module ActiveStorage
50
50
  mattr_accessor :content_types_to_serve_as_binary, default: []
51
51
  mattr_accessor :content_types_allowed_inline, default: []
52
52
  mattr_accessor :binary_content_type, default: "application/octet-stream"
53
- mattr_accessor :supported_image_processing_methods, default: []
53
+ mattr_accessor :supported_image_processing_methods, default: [
54
+ "adaptive_blur",
55
+ "adaptive_resize",
56
+ "adaptive_sharpen",
57
+ "adjoin",
58
+ "affine",
59
+ "alpha",
60
+ "annotate",
61
+ "antialias",
62
+ "append",
63
+ "apply",
64
+ "attenuate",
65
+ "authenticate",
66
+ "auto_gamma",
67
+ "auto_level",
68
+ "auto_orient",
69
+ "auto_threshold",
70
+ "backdrop",
71
+ "background",
72
+ "bench",
73
+ "bias",
74
+ "bilateral_blur",
75
+ "black_point_compensation",
76
+ "black_threshold",
77
+ "blend",
78
+ "blue_primary",
79
+ "blue_shift",
80
+ "blur",
81
+ "border",
82
+ "bordercolor",
83
+ "borderwidth",
84
+ "brightness_contrast",
85
+ "cache",
86
+ "canny",
87
+ "caption",
88
+ "channel",
89
+ "channel_fx",
90
+ "charcoal",
91
+ "chop",
92
+ "clahe",
93
+ "clamp",
94
+ "clip",
95
+ "clip_path",
96
+ "clone",
97
+ "clut",
98
+ "coalesce",
99
+ "colorize",
100
+ "colormap",
101
+ "color_matrix",
102
+ "colors",
103
+ "colorspace",
104
+ "colourspace",
105
+ "color_threshold",
106
+ "combine",
107
+ "combine_options",
108
+ "comment",
109
+ "compare",
110
+ "complex",
111
+ "compose",
112
+ "composite",
113
+ "compress",
114
+ "connected_components",
115
+ "contrast",
116
+ "contrast_stretch",
117
+ "convert",
118
+ "convolve",
119
+ "copy",
120
+ "crop",
121
+ "cycle",
122
+ "deconstruct",
123
+ "define",
124
+ "delay",
125
+ "delete",
126
+ "density",
127
+ "depth",
128
+ "descend",
129
+ "deskew",
130
+ "despeckle",
131
+ "direction",
132
+ "displace",
133
+ "dispose",
134
+ "dissimilarity_threshold",
135
+ "dissolve",
136
+ "distort",
137
+ "dither",
138
+ "draw",
139
+ "duplicate",
140
+ "edge",
141
+ "emboss",
142
+ "encoding",
143
+ "endian",
144
+ "enhance",
145
+ "equalize",
146
+ "evaluate",
147
+ "evaluate_sequence",
148
+ "extent",
149
+ "extract",
150
+ "family",
151
+ "features",
152
+ "fft",
153
+ "fill",
154
+ "filter",
155
+ "flatten",
156
+ "flip",
157
+ "floodfill",
158
+ "flop",
159
+ "font",
160
+ "foreground",
161
+ "format",
162
+ "frame",
163
+ "function",
164
+ "fuzz",
165
+ "fx",
166
+ "gamma",
167
+ "gaussian_blur",
168
+ "geometry",
169
+ "gravity",
170
+ "grayscale",
171
+ "green_primary",
172
+ "hald_clut",
173
+ "highlight_color",
174
+ "hough_lines",
175
+ "iconGeometry",
176
+ "iconic",
177
+ "identify",
178
+ "ift",
179
+ "illuminant",
180
+ "immutable",
181
+ "implode",
182
+ "insert",
183
+ "intensity",
184
+ "intent",
185
+ "interlace",
186
+ "interline_spacing",
187
+ "interpolate",
188
+ "interpolative_resize",
189
+ "interword_spacing",
190
+ "kerning",
191
+ "kmeans",
192
+ "kuwahara",
193
+ "label",
194
+ "lat",
195
+ "layers",
196
+ "level",
197
+ "level_colors",
198
+ "limit",
199
+ "limits",
200
+ "linear_stretch",
201
+ "linewidth",
202
+ "liquid_rescale",
203
+ "list",
204
+ "loader",
205
+ "log",
206
+ "loop",
207
+ "lowlight_color",
208
+ "magnify",
209
+ "map",
210
+ "mattecolor",
211
+ "median",
212
+ "mean_shift",
213
+ "metric",
214
+ "mode",
215
+ "modulate",
216
+ "moments",
217
+ "monitor",
218
+ "monochrome",
219
+ "morph",
220
+ "morphology",
221
+ "mosaic",
222
+ "motion_blur",
223
+ "name",
224
+ "negate",
225
+ "noise",
226
+ "normalize",
227
+ "opaque",
228
+ "ordered_dither",
229
+ "orient",
230
+ "page",
231
+ "paint",
232
+ "pause",
233
+ "perceptible",
234
+ "ping",
235
+ "pointsize",
236
+ "polaroid",
237
+ "poly",
238
+ "posterize",
239
+ "precision",
240
+ "preview",
241
+ "process",
242
+ "quality",
243
+ "quantize",
244
+ "quiet",
245
+ "radial_blur",
246
+ "raise",
247
+ "random_threshold",
248
+ "range_threshold",
249
+ "red_primary",
250
+ "regard_warnings",
251
+ "region",
252
+ "remote",
253
+ "render",
254
+ "repage",
255
+ "resample",
256
+ "resize",
257
+ "resize_to_fill",
258
+ "resize_to_fit",
259
+ "resize_to_limit",
260
+ "resize_and_pad",
261
+ "respect_parentheses",
262
+ "reverse",
263
+ "roll",
264
+ "rotate",
265
+ "sample",
266
+ "sampling_factor",
267
+ "saver",
268
+ "scale",
269
+ "scene",
270
+ "screen",
271
+ "seed",
272
+ "segment",
273
+ "selective_blur",
274
+ "separate",
275
+ "sepia_tone",
276
+ "shade",
277
+ "shadow",
278
+ "shared_memory",
279
+ "sharpen",
280
+ "shave",
281
+ "shear",
282
+ "sigmoidal_contrast",
283
+ "silent",
284
+ "similarity_threshold",
285
+ "size",
286
+ "sketch",
287
+ "smush",
288
+ "snaps",
289
+ "solarize",
290
+ "sort_pixels",
291
+ "sparse_color",
292
+ "splice",
293
+ "spread",
294
+ "statistic",
295
+ "stegano",
296
+ "stereo",
297
+ "storage_type",
298
+ "stretch",
299
+ "strip",
300
+ "stroke",
301
+ "strokewidth",
302
+ "style",
303
+ "subimage_search",
304
+ "swap",
305
+ "swirl",
306
+ "synchronize",
307
+ "taint",
308
+ "text_font",
309
+ "threshold",
310
+ "thumbnail",
311
+ "tile_offset",
312
+ "tint",
313
+ "title",
314
+ "transform",
315
+ "transparent",
316
+ "transparent_color",
317
+ "transpose",
318
+ "transverse",
319
+ "treedepth",
320
+ "trim",
321
+ "type",
322
+ "undercolor",
323
+ "unique_colors",
324
+ "units",
325
+ "unsharp",
326
+ "update",
327
+ "valid_image",
328
+ "view",
329
+ "vignette",
330
+ "virtual_pixel",
331
+ "visual",
332
+ "watermark",
333
+ "wave",
334
+ "wavelet_denoise",
335
+ "weight",
336
+ "white_balance",
337
+ "white_point",
338
+ "white_threshold",
339
+ "window",
340
+ "window_group",
341
+ ]
54
342
  mattr_accessor :unsupported_image_processing_arguments
55
343
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activestorage
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.6.3
4
+ version: 5.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-08 00:00:00.000000000 Z
11
+ date: 2022-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.6.3
19
+ version: 5.2.7
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 5.2.6.3
26
+ version: 5.2.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 5.2.6.3
33
+ version: 5.2.7
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 5.2.6.3
40
+ version: 5.2.7
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: marcel
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -124,9 +124,9 @@ homepage: http://rubyonrails.org
124
124
  licenses:
125
125
  - MIT
126
126
  metadata:
127
- source_code_uri: https://github.com/rails/rails/tree/v5.2.6.3/activestorage
128
- changelog_uri: https://github.com/rails/rails/blob/v5.2.6.3/activestorage/CHANGELOG.md
129
- post_install_message:
127
+ source_code_uri: https://github.com/rails/rails/tree/v5.2.7/activestorage
128
+ changelog_uri: https://github.com/rails/rails/blob/v5.2.7/activestorage/CHANGELOG.md
129
+ post_install_message:
130
130
  rdoc_options: []
131
131
  require_paths:
132
132
  - lib
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  requirements: []
144
144
  rubygems_version: 3.1.6
145
- signing_key:
145
+ signing_key:
146
146
  specification_version: 4
147
147
  summary: Local and cloud file storage framework.
148
148
  test_files: []