alchemy_cms 6.0.12 → 6.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/brakeman-analysis.yml +26 -26
- data/CHANGELOG.md +7 -0
- data/alchemy_cms.gemspec +0 -1
- data/app/models/alchemy/picture_thumb/create.rb +15 -3
- data/lib/alchemy/install/tasks.rb +7 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +1 -1
- data/lib/non_stupid_digest_assets.rb +55 -0
- data/package.json +1 -1
- metadata +4 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d401fd3a44495f1a096fc4115eec8d32be8862305cc95c35715548147ec7688a
|
4
|
+
data.tar.gz: 8f9a98f79c64acafaad1eaef6358a1ca468ed00cb18e5dff15627f47db028bde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7982344f2c8376017f665f70985da9f1263551a9424481646081a7cfa65a6cd65f7e87ee615cbd64ace815b9e6f4450c45625fea87330db7690233cb2b042d63
|
7
|
+
data.tar.gz: 4b148956360c26b3acb5495a341de5a14f809272fb709c856ff878882367af59b7b7a1133731c02e68fad2cf5404e00e5db8730b1b1b91d6a7a2e8511b5872b0
|
@@ -5,42 +5,42 @@ name: Brakeman Scan
|
|
5
5
|
|
6
6
|
on:
|
7
7
|
push:
|
8
|
-
branches: [
|
8
|
+
branches: [main]
|
9
9
|
pull_request:
|
10
10
|
# The branches below must be a subset of the branches above
|
11
|
-
branches: [
|
11
|
+
branches: [main]
|
12
12
|
schedule:
|
13
|
-
- cron:
|
13
|
+
- cron: "40 4 * * 2"
|
14
14
|
|
15
15
|
jobs:
|
16
16
|
brakeman-scan:
|
17
17
|
name: Brakeman Scan
|
18
18
|
runs-on: ubuntu-latest
|
19
19
|
steps:
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
# Checkout the repository to the GitHub Actions runner
|
21
|
+
- name: Checkout
|
22
|
+
uses: actions/checkout@v2
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
# Customize the ruby version depending on your needs
|
25
|
+
- name: Set up Ruby
|
26
|
+
uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
ruby-version: "3.0"
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
- name: Setup Brakeman
|
31
|
+
env:
|
32
|
+
BRAKEMAN_VERSION: "5.4" # SARIF support is provided in Brakeman version 4.10+
|
33
|
+
run: |
|
34
|
+
gem install brakeman --version $BRAKEMAN_VERSION
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
# Execute Brakeman CLI and generate a SARIF output with the security issues identified during the analysis
|
37
|
+
- name: Scan
|
38
|
+
continue-on-error: true
|
39
|
+
run: |
|
40
|
+
brakeman -f sarif -o output.sarif.json .
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
42
|
+
# Upload the SARIF file generated in the previous step
|
43
|
+
- name: Upload SARIF
|
44
|
+
uses: github/codeql-action/upload-sarif@v1
|
45
|
+
with:
|
46
|
+
sarif_file: output.sarif.json
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 6.0.13 (2023-03-29)
|
4
|
+
|
5
|
+
- Fix installer: Add seeds file if not exists [#2446](https://github.com/AlchemyCMS/alchemy_cms/pull/2446) ([tvdeyen](https://github.com/tvdeyen))
|
6
|
+
- Integrate non_stupid_digest_assets gem [#2430](https://github.com/AlchemyCMS/alchemy_cms/pull/2430) ([afdev82](https://github.com/afdev82))
|
7
|
+
|
1
8
|
## 6.0.12 (2022-11-19)
|
2
9
|
|
3
10
|
- More installer options [#2385](https://github.com/AlchemyCMS/alchemy_cms/pull/2385) ([tvdeyen](https://github.com/tvdeyen))
|
data/alchemy_cms.gemspec
CHANGED
@@ -45,7 +45,6 @@ Gem::Specification.new do |gem|
|
|
45
45
|
gem.add_runtime_dependency "jquery-ui-rails", ["~> 6.0"]
|
46
46
|
gem.add_runtime_dependency "kaminari", ["~> 1.1"]
|
47
47
|
gem.add_runtime_dependency "originator", ["~> 3.1"]
|
48
|
-
gem.add_runtime_dependency "non-stupid-digest-assets", ["~> 1.0.8"]
|
49
48
|
gem.add_runtime_dependency "ransack", [">= 1.8", "< 4.0"]
|
50
49
|
gem.add_runtime_dependency "request_store", ["~> 1.2"]
|
51
50
|
gem.add_runtime_dependency "responders", [">= 2.0", "< 4.0"]
|
@@ -15,13 +15,25 @@ module Alchemy
|
|
15
15
|
# @return [Alchemy::PictureThumb] The persisted thumbnail record
|
16
16
|
#
|
17
17
|
def call(variant, signature, uid)
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
return if !variant.picture.valid?
|
19
|
+
|
20
|
+
# create the thumb before storing
|
21
|
+
# to prevent db race conditions
|
22
|
+
thumb = Alchemy::PictureThumb.create!(
|
21
23
|
picture: variant.picture,
|
22
24
|
signature: signature,
|
23
25
|
uid: uid,
|
24
26
|
)
|
27
|
+
begin
|
28
|
+
# process the image
|
29
|
+
image = variant.image
|
30
|
+
# store the processed image
|
31
|
+
image.to_file(server_path(uid)).close
|
32
|
+
rescue RuntimeError => e
|
33
|
+
Rails.logger.warn(e)
|
34
|
+
# destroy the thumb if processing or storing fails
|
35
|
+
thumb&.destroy
|
36
|
+
end
|
25
37
|
end
|
26
38
|
|
27
39
|
private
|
@@ -31,7 +31,13 @@ module Alchemy
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def inject_seeder
|
34
|
-
|
34
|
+
seed_file = Rails.root.join("db", "seeds.rb")
|
35
|
+
args = [seed_file, "Alchemy::Seeder.seed!\n"]
|
36
|
+
if File.exist?(seed_file)
|
37
|
+
append_file(*args)
|
38
|
+
else
|
39
|
+
add_file(*args)
|
40
|
+
end
|
35
41
|
end
|
36
42
|
end
|
37
43
|
end
|
data/lib/alchemy/version.rb
CHANGED
data/lib/alchemy_cms.rb
CHANGED
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "sprockets/manifest"
|
4
|
+
require "active_support/core_ext/module/attribute_accessors"
|
5
|
+
|
6
|
+
module NonStupidDigestAssets
|
7
|
+
mattr_accessor :whitelist
|
8
|
+
@@whitelist = []
|
9
|
+
|
10
|
+
class << self
|
11
|
+
def assets(assets)
|
12
|
+
return assets if whitelist.empty?
|
13
|
+
|
14
|
+
whitelisted_assets(assets)
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def whitelisted_assets(assets)
|
20
|
+
assets.select do |logical_path, _digest_path|
|
21
|
+
whitelist.any? do |item|
|
22
|
+
item =~ logical_path
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
module CompileWithNonDigest
|
29
|
+
def compile(*args)
|
30
|
+
paths = super
|
31
|
+
NonStupidDigestAssets.assets(assets).each do |(logical_path, digest_path)|
|
32
|
+
full_digest_path = File.join dir, digest_path
|
33
|
+
full_digest_gz_path = "#{full_digest_path}.gz"
|
34
|
+
full_non_digest_path = File.join dir, logical_path
|
35
|
+
full_non_digest_gz_path = "#{full_non_digest_path}.gz"
|
36
|
+
|
37
|
+
if File.exist? full_digest_path
|
38
|
+
logger.debug "Writing #{full_non_digest_path}"
|
39
|
+
FileUtils.copy_file full_digest_path, full_non_digest_path, :preserve_attributes
|
40
|
+
else
|
41
|
+
logger.debug "Could not find: #{full_digest_path}"
|
42
|
+
end
|
43
|
+
if File.exist? full_digest_gz_path
|
44
|
+
logger.debug "Writing #{full_non_digest_gz_path}"
|
45
|
+
FileUtils.copy_file full_digest_gz_path, full_non_digest_gz_path, :preserve_attributes
|
46
|
+
else
|
47
|
+
logger.debug "Could not find: #{full_digest_gz_path}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
paths
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
Sprockets::Manifest.prepend NonStupidDigestAssets::CompileWithNonDigest
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2023-03-29 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: actionmailer
|
@@ -387,20 +387,6 @@ dependencies:
|
|
387
387
|
- - "~>"
|
388
388
|
- !ruby/object:Gem::Version
|
389
389
|
version: '3.1'
|
390
|
-
- !ruby/object:Gem::Dependency
|
391
|
-
name: non-stupid-digest-assets
|
392
|
-
requirement: !ruby/object:Gem::Requirement
|
393
|
-
requirements:
|
394
|
-
- - "~>"
|
395
|
-
- !ruby/object:Gem::Version
|
396
|
-
version: 1.0.8
|
397
|
-
type: :runtime
|
398
|
-
prerelease: false
|
399
|
-
version_requirements: !ruby/object:Gem::Requirement
|
400
|
-
requirements:
|
401
|
-
- - "~>"
|
402
|
-
- !ruby/object:Gem::Version
|
403
|
-
version: 1.0.8
|
404
390
|
- !ruby/object:Gem::Dependency
|
405
391
|
name: ransack
|
406
392
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1419,6 +1405,7 @@ files:
|
|
1419
1405
|
- lib/generators/alchemy/site_layouts/templates/layout.html.haml
|
1420
1406
|
- lib/generators/alchemy/site_layouts/templates/layout.html.slim
|
1421
1407
|
- lib/generators/alchemy/views/views_generator.rb
|
1408
|
+
- lib/non_stupid_digest_assets.rb
|
1422
1409
|
- lib/tasks/alchemy/db.rake
|
1423
1410
|
- lib/tasks/alchemy/install.rake
|
1424
1411
|
- lib/tasks/alchemy/thumbnails.rake
|
@@ -1524,7 +1511,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1524
1511
|
version: '0'
|
1525
1512
|
requirements:
|
1526
1513
|
- ImageMagick (libmagick), v6.6 or greater.
|
1527
|
-
rubygems_version: 3.
|
1514
|
+
rubygems_version: 3.4.6
|
1528
1515
|
signing_key:
|
1529
1516
|
specification_version: 4
|
1530
1517
|
summary: A powerful, userfriendly and flexible CMS for Rails
|