safemode 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of safemode might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/VERSION +1 -1
- data/lib/safemode/core_jails.rb +64 -59
- data/safemode.gemspec +4 -4
- metadata +27 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1df400788a700fe1dbff2e37123aef653548f1d8
|
4
|
+
data.tar.gz: 9d088ff79506db2f0eaea34f25e734532903380e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf9f2f11f9c89759c242a66929f4b17c560170d09794eda8acd6de1475110f049fa2da64b49c565dcaac241a101d851a69a7edd2ac172c65049d4bf670d4d6a5
|
7
|
+
data.tar.gz: 35a492a0e9232d3239b7739f41c419d2a6ee0928405cce30a2e465dc931a512c06c7b59113f9dc85399c23d56c5c0de71ac7e1e8919d9de28cdb7ee4274331b7
|
data/Gemfile
CHANGED
@@ -12,7 +12,7 @@ group :development do
|
|
12
12
|
gem "bundler", "~> 1.0"
|
13
13
|
gem "jeweler", "~> 1.8.3"
|
14
14
|
gem "rcov", :platforms => :ruby_18
|
15
|
-
gem "simplecov", :platforms => [:ruby_19, :ruby_20, :ruby_21]
|
16
|
-
gem "test-unit", :platforms => [:ruby_19, :ruby_20, :ruby_21]
|
15
|
+
gem "simplecov", :platforms => [:ruby_19, :ruby_20, :ruby_21, :ruby_22, :ruby_23]
|
16
|
+
gem "test-unit", :platforms => [:ruby_19, :ruby_20, :ruby_21, :ruby_22, :ruby_23]
|
17
17
|
gem "rake"
|
18
18
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.3
|
data/lib/safemode/core_jails.rb
CHANGED
@@ -27,76 +27,81 @@ module Safemode
|
|
27
27
|
|
28
28
|
# these methods are allowed in all classes if they are present
|
29
29
|
@@default_methods = %w( % & * ** + +@ - -@ / < << <= <=> ! != == === > >= >> ^ | ~
|
30
|
-
eql? equal? new methods is_a? kind_of? nil?
|
30
|
+
eql? equal? new methods is_a? kind_of? nil?
|
31
31
|
[] []= to_a to_jail to_s inspect to_param not)
|
32
32
|
|
33
33
|
# whitelisted methods for core classes ... kind of arbitrary selection
|
34
34
|
@@methods_whitelist = {
|
35
|
-
'Array' => %w(assoc at blank? collect collect! compact compact!
|
36
|
-
delete delete_at delete_if each each_index empty?
|
37
|
-
fill first flatten flatten! hash include? index
|
38
|
-
indices inject insert join last length map map!
|
39
|
-
push rassoc reject reject! reverse
|
40
|
-
rindex select shift size slice
|
41
|
-
uniq uniq! unshift values_at
|
42
|
-
|
43
|
-
|
44
|
-
|
35
|
+
'Array' => %w(any? assoc at blank? collect collect! compact compact!
|
36
|
+
concat delete delete_at delete_if each each_index empty?
|
37
|
+
fetch fill first flatten flatten! hash include? index
|
38
|
+
indexes indices inject insert join last length map map!
|
39
|
+
nitems pop push present? rassoc reject reject! reverse
|
40
|
+
reverse! reverse_each rindex select shift size slice
|
41
|
+
slice! sort sort! transpose uniq uniq! unshift values_at
|
42
|
+
zip),
|
43
|
+
|
44
|
+
'Bignum' => %w(abs blank? ceil chr coerce div divmod downto floor hash
|
45
|
+
integer? modulo next nonzero? present? quo remainder round
|
45
46
|
singleton_method_added size step succ times to_f to_i
|
46
47
|
to_int to_s truncate upto zero?),
|
47
48
|
|
48
|
-
'Fixnum' => %w(abs ceil chr coerce div divmod downto floor id2name
|
49
|
-
integer? modulo modulo next nonzero? quo remainder
|
50
|
-
singleton_method_added size step succ times to_f to_i
|
49
|
+
'Fixnum' => %w(abs blank? ceil chr coerce div divmod downto floor id2name
|
50
|
+
integer? modulo modulo next nonzero? present? quo remainder
|
51
|
+
round singleton_method_added size step succ times to_f to_i
|
51
52
|
to_int to_s to_sym truncate upto zero?),
|
52
53
|
|
53
|
-
'Float' => %w(abs ceil coerce div divmod finite? floor hash
|
54
|
-
infinite? integer? modulo nan? nonzero? quo
|
55
|
-
round singleton_method_added step to_f to_i
|
56
|
-
truncate zero?),
|
54
|
+
'Float' => %w(abs blank? ceil coerce div divmod finite? floor hash
|
55
|
+
infinite? integer? modulo nan? nonzero? present? quo
|
56
|
+
remainder round singleton_method_added step to_f to_i
|
57
|
+
to_int to_s truncate zero?),
|
57
58
|
|
58
|
-
'Hash' => %w(blank? clear delete delete_if each each_key
|
59
|
-
each_value empty? fetch has_key? has_value?
|
60
|
-
invert key? keys length member? merge merge!
|
61
|
-
reject reject! select shift
|
62
|
-
update value? values values_at),
|
59
|
+
'Hash' => %w(any? blank? clear delete delete_if each each_key
|
60
|
+
each_pair each_value empty? fetch has_key? has_value?
|
61
|
+
include? index invert key? keys length member? merge merge!
|
62
|
+
present? rec_merge! rehash reject reject! select shift
|
63
|
+
size sort store update value? values values_at),
|
63
64
|
|
64
|
-
'Range' => %w(begin each end exclude_end? first hash
|
65
|
-
include_without_range? last member?
|
65
|
+
'Range' => %w(any? begin blank? each end exclude_end? first hash
|
66
|
+
include? include_without_range? last member? present?
|
67
|
+
step),
|
66
68
|
|
67
69
|
'String' => %w(blank? capitalize capitalize! casecmp center chomp chomp!
|
68
70
|
chop chop! concat count crypt delete delete! downcase
|
69
|
-
downcase! dump each_byte each_line empty? end_with?
|
70
|
-
gsub! hash hex include? index insert
|
71
|
-
isutf8 kconv length ljust lstrip
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
'
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
71
|
+
downcase! dump each_byte each_line empty? end_with?
|
72
|
+
force_encoding gsub gsub! hash hex include? index insert
|
73
|
+
intern iseuc issjis isutf8 kconv length ljust lstrip
|
74
|
+
lstrip! match next next! oct present? reverse reverse!
|
75
|
+
rindex rjust rstrip rstrip! scan size slice slice! split
|
76
|
+
squeeze squeeze! start_with? strip strip! sub sub! succ
|
77
|
+
succ! sum swapcase swapcase! to_f to_i to_str to_sym to_xs
|
78
|
+
toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! upcase
|
79
|
+
upcase! upto),
|
80
|
+
|
81
|
+
'Symbol' => %w(blank? present? to_i to_int),
|
82
|
+
|
83
|
+
'Time' => %w(blank? _dump asctime ctime day dst? getgm getlocal
|
84
|
+
getutc gmt? gmt_offset gmtime gmtoff hash hour httpdate
|
85
|
+
isdst iso8601 localtime mday min minus_without_duration mon
|
86
|
+
month plus_without_duration present? rfc2822 rfc822 sec
|
87
|
+
strftime succ to_date to_datetime to_f to_i tv_sec tv_usec
|
88
|
+
usec utc utc? utc_offset wday xmlschema yday year zone
|
89
|
+
to_formatted_s),
|
90
|
+
|
91
|
+
'Date' => %w(ajd amjd asctime blank? ctime cwday cweek cwyear day
|
92
|
+
day_fraction default_inspect downto england gregorian
|
93
|
+
gregorian? hash italy jd julian julian? ld leap? mday
|
94
|
+
minus_without_duration mjd mon month new_start newsg next
|
95
|
+
ns? os? plus_without_duration present? sg start step
|
96
|
+
strftime succ upto wday yday year),
|
97
|
+
|
98
|
+
'DateTime' => %w(blank? hour min new_offset newof of offset present? sec
|
99
|
+
sec_fraction strftime to_datetime_default_s to_json zone),
|
100
|
+
|
101
|
+
'NilClass' => %w(blank? duplicable? present? to_f to_i),
|
102
|
+
|
103
|
+
'FalseClass' => %w(blank? duplicable? present?),
|
104
|
+
|
105
|
+
'TrueClass' => %w(blank? duplicable? present?)
|
106
|
+
}
|
107
|
+
end
|
data/safemode.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: safemode 1.2.
|
5
|
+
# stub: safemode 1.2.3 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "safemode"
|
9
|
-
s.version = "1.2.
|
9
|
+
s.version = "1.2.3"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Sven Fuchs", "Peter Cooper", "Matthias Viehweger", "Kingsley Hendrickse", "Ohad Levy", "Dmitri Dolguikh"]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2016-03-08"
|
15
15
|
s.description = "A library for safe evaluation of Ruby code based on RubyParser and Ruby2Ruby. Provides Rails ActionView template handlers for ERB and Haml."
|
16
16
|
s.email = "ohadlevy@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -48,7 +48,7 @@ Gem::Specification.new do |s|
|
|
48
48
|
]
|
49
49
|
s.homepage = "http://github.com/svenfuchs/safemode"
|
50
50
|
s.licenses = ["MIT"]
|
51
|
-
s.rubygems_version = "2.
|
51
|
+
s.rubygems_version = "2.4.8"
|
52
52
|
s.summary = "A library for safe evaluation of Ruby code based on ParseTree/RubyParser and Ruby2Ruby"
|
53
53
|
|
54
54
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safemode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Fuchs
|
@@ -13,160 +13,160 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2016-03-08 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: sexp_processor
|
20
20
|
requirement: !ruby/object:Gem::Requirement
|
21
21
|
requirements:
|
22
|
-
- -
|
22
|
+
- - ">="
|
23
23
|
- !ruby/object:Gem::Version
|
24
24
|
version: 4.3.0
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
28
|
requirements:
|
29
|
-
- -
|
29
|
+
- - ">="
|
30
30
|
- !ruby/object:Gem::Version
|
31
31
|
version: 4.3.0
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: ruby2ruby
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
35
35
|
requirements:
|
36
|
-
- -
|
36
|
+
- - ">="
|
37
37
|
- !ruby/object:Gem::Version
|
38
38
|
version: 2.0.6
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 2.0.6
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: ruby_parser
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
|
-
- -
|
50
|
+
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 3.2.0
|
53
53
|
type: :runtime
|
54
54
|
prerelease: false
|
55
55
|
version_requirements: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: 3.2.0
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: shoulda
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- -
|
64
|
+
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- -
|
71
|
+
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '0'
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
75
|
name: rdoc
|
76
76
|
requirement: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- - ~>
|
78
|
+
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '3.12'
|
81
81
|
type: :development
|
82
82
|
prerelease: false
|
83
83
|
version_requirements: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
|
-
- - ~>
|
85
|
+
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: '3.12'
|
88
88
|
- !ruby/object:Gem::Dependency
|
89
89
|
name: bundler
|
90
90
|
requirement: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
|
-
- - ~>
|
92
|
+
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '1.0'
|
95
95
|
type: :development
|
96
96
|
prerelease: false
|
97
97
|
version_requirements: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- - ~>
|
99
|
+
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '1.0'
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: jeweler
|
104
104
|
requirement: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
|
-
- - ~>
|
106
|
+
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: 1.8.3
|
109
109
|
type: :development
|
110
110
|
prerelease: false
|
111
111
|
version_requirements: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
|
-
- - ~>
|
113
|
+
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
version: 1.8.3
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: rcov
|
118
118
|
requirement: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
|
-
- -
|
120
|
+
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: '0'
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
|
-
- -
|
127
|
+
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
129
|
version: '0'
|
130
130
|
- !ruby/object:Gem::Dependency
|
131
131
|
name: simplecov
|
132
132
|
requirement: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
|
-
- -
|
134
|
+
- - ">="
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
type: :development
|
138
138
|
prerelease: false
|
139
139
|
version_requirements: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
|
-
- -
|
141
|
+
- - ">="
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: '0'
|
144
144
|
- !ruby/object:Gem::Dependency
|
145
145
|
name: test-unit
|
146
146
|
requirement: !ruby/object:Gem::Requirement
|
147
147
|
requirements:
|
148
|
-
- -
|
148
|
+
- - ">="
|
149
149
|
- !ruby/object:Gem::Version
|
150
150
|
version: '0'
|
151
151
|
type: :development
|
152
152
|
prerelease: false
|
153
153
|
version_requirements: !ruby/object:Gem::Requirement
|
154
154
|
requirements:
|
155
|
-
- -
|
155
|
+
- - ">="
|
156
156
|
- !ruby/object:Gem::Version
|
157
157
|
version: '0'
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: rake
|
160
160
|
requirement: !ruby/object:Gem::Requirement
|
161
161
|
requirements:
|
162
|
-
- -
|
162
|
+
- - ">="
|
163
163
|
- !ruby/object:Gem::Version
|
164
164
|
version: '0'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
167
|
version_requirements: !ruby/object:Gem::Requirement
|
168
168
|
requirements:
|
169
|
-
- -
|
169
|
+
- - ">="
|
170
170
|
- !ruby/object:Gem::Version
|
171
171
|
version: '0'
|
172
172
|
description: A library for safe evaluation of Ruby code based on RubyParser and Ruby2Ruby.
|
@@ -214,17 +214,17 @@ require_paths:
|
|
214
214
|
- lib
|
215
215
|
required_ruby_version: !ruby/object:Gem::Requirement
|
216
216
|
requirements:
|
217
|
-
- -
|
217
|
+
- - ">="
|
218
218
|
- !ruby/object:Gem::Version
|
219
219
|
version: '0'
|
220
220
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
221
|
requirements:
|
222
|
-
- -
|
222
|
+
- - ">="
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
requirements: []
|
226
226
|
rubyforge_project:
|
227
|
-
rubygems_version: 2.
|
227
|
+
rubygems_version: 2.4.8
|
228
228
|
signing_key:
|
229
229
|
specification_version: 4
|
230
230
|
summary: A library for safe evaluation of Ruby code based on ParseTree/RubyParser
|