sqreen 1.14.0.beta2 → 1.14.0.beta3
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/lib/sqreen/js/js_service.rb +1 -47
- data/lib/sqreen/js/mini_racer_adapter.rb +7 -0
- data/lib/sqreen/version.rb +1 -1
- metadata +4 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1a88f697fb1155fa5e354c753604e97c9446944d2c8b7c75ed8aebbb586845a
|
4
|
+
data.tar.gz: c7440ae2799d091d33a75c5b29c8d583a041335ab5b0597820388349368bf0a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64b3110988d5e5360640fb189b947320f58eb7a075cc70d39e37abc8df2802444063dc573755a1a50b47d3c9952ca4ccdf9b2272f11d82fbf689fc8e5bd6a971
|
7
|
+
data.tar.gz: 62d4e5e3f8b07b6d0aaa502decc9ff5a62fdbd1dd4a1709d37614bc70b776ddd31436587bb38200d101b9b5728e792993737d066092b3ae4a7df4c44d9b9ca33
|
data/lib/sqreen/js/js_service.rb
CHANGED
@@ -28,36 +28,11 @@ module Sqreen
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def detect_adapter
|
31
|
-
|
32
|
-
@online = try_sq_mini_racer
|
33
|
-
else
|
34
|
-
@online = try_mini_racer || try_rhino || try_therubyracer
|
35
|
-
end
|
31
|
+
@online = try_sq_mini_racer || try_rhino
|
36
32
|
|
37
33
|
Sqreen.log.info "JS engine online: #{variant}" if @online
|
38
34
|
end
|
39
35
|
|
40
|
-
def try_mini_racer
|
41
|
-
gem = Gem.loaded_specs['mini_racer']
|
42
|
-
unless gem
|
43
|
-
Sqreen.log.info "mini_racer gem not detected"
|
44
|
-
return false
|
45
|
-
end
|
46
|
-
unless gem.version >= Gem::Version.create('0.1.15') &&
|
47
|
-
gem.version < Gem::Version.create('2.0')
|
48
|
-
Sqreen.log.warn 'mini_racer won\'t be used because its version is' \
|
49
|
-
"#{gem.version}; not >= 0.1.15, < 2.0"
|
50
|
-
return false
|
51
|
-
end
|
52
|
-
|
53
|
-
require 'mini_racer'
|
54
|
-
require 'sqreen/js/mini_racer_adapter'
|
55
|
-
@adapter = MiniRacerAdapter.new
|
56
|
-
rescue LoadError => e
|
57
|
-
Sqreen.log.warn "Failed loading mini_racer: #{e}"
|
58
|
-
false
|
59
|
-
end
|
60
|
-
|
61
36
|
def try_sq_mini_racer
|
62
37
|
gem = Gem.loaded_specs['sq_mini_racer']
|
63
38
|
unless gem
|
@@ -87,27 +62,6 @@ module Sqreen
|
|
87
62
|
Sqreen.log.warn "Failed loading rhino: #{e}"
|
88
63
|
false
|
89
64
|
end
|
90
|
-
|
91
|
-
def try_therubyracer
|
92
|
-
gem = Gem.loaded_specs['therubyracer']
|
93
|
-
unless gem
|
94
|
-
Sqreen.log.info "therubyracer gem not detected"
|
95
|
-
return false
|
96
|
-
end
|
97
|
-
unless gem.version >= Gem::Version.create('0.12.1')
|
98
|
-
Sqreen.log.warn 'therubyracer won\'t be used because its version is ' \
|
99
|
-
"#{gem.version}; not >= 0.12.1"
|
100
|
-
return false
|
101
|
-
end
|
102
|
-
|
103
|
-
require 'therubyracer'
|
104
|
-
require 'sqreen/js/execjs_adapter'
|
105
|
-
@adapter = ExecjsAdapter.new
|
106
|
-
rescue LoadError => e
|
107
|
-
Sqreen.log.warn "Failed loading therubyracer: #{e}"
|
108
|
-
false
|
109
|
-
end
|
110
|
-
|
111
65
|
end
|
112
66
|
|
113
67
|
CallContext = Struct.new(:inst, :args, :rv)
|
@@ -7,6 +7,7 @@ module Sqreen
|
|
7
7
|
class MiniRacerAdapter < JsServiceAdapter
|
8
8
|
def initialize(vendored = false)
|
9
9
|
@vendored = vendored
|
10
|
+
self.class.static_init
|
10
11
|
end
|
11
12
|
|
12
13
|
def preprocess(_rule_name, code)
|
@@ -16,6 +17,12 @@ module Sqreen
|
|
16
17
|
def variant_name
|
17
18
|
@vendored ? 'sq_mini_racer' : 'mini_racer'
|
18
19
|
end
|
20
|
+
|
21
|
+
def self.static_init
|
22
|
+
return if @done_static_init
|
23
|
+
Sqreen::MiniRacer::Platform.set_flags! :noconcurrent_recompilation
|
24
|
+
@done_static_init = true
|
25
|
+
end
|
19
26
|
end
|
20
27
|
|
21
28
|
# Auxiliary classes
|
data/lib/sqreen/version.rb
CHANGED
metadata
CHANGED
@@ -1,57 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sqreen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.14.0.
|
4
|
+
version: 1.14.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sqreen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: execjs
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.3.0
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.3.0
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: sq_mini_racer
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - "~>"
|
32
18
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.2.0.
|
19
|
+
version: 0.2.0.beta3
|
34
20
|
type: :runtime
|
35
21
|
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
38
24
|
- - "~>"
|
39
25
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.2.0.
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: therubyracer
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.12.1
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.12.1
|
26
|
+
version: 0.2.0.beta3
|
55
27
|
description: Sqreen is a SaaS based Application protection and monitoring platform
|
56
28
|
that integrates directly into your Ruby applications. Learn more at https://sqreen.io.
|
57
29
|
email: contact@sqreen.io
|