brakeman 3.2.0.pre1 → 3.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e770766f6b12a78d68bb5578ca2f03edc16dbb0
4
- data.tar.gz: d16b6325409502c5828ce379e364e43fbc10ec9e
3
+ metadata.gz: 29cc8c4c02ffe39935546b7fec4aea86bb445538
4
+ data.tar.gz: e7a969565a996a37c76ea94acb6f8011ca8ff6eb
5
5
  SHA512:
6
- metadata.gz: 79dbc7972a53fd175306dd50e21943b1825870fa2273b489bb2fef00c7870c5f0c5fc48e90b919d78b57dd2ff46b1a1be7fdee40f55f545d8a0cbecfe0878826
7
- data.tar.gz: 647e2c2f42057c5f2d64a4e5166f3541ed1764062d4b6bed7668e6ba31429214486dbb8a495435dc144a98f52ec7357330640cb2730c71157a236b23bd7fdbb4
6
+ metadata.gz: fc5dff0ab0695c08c08b76e596cf1353f4dbb36ad6e09542f524fc10aa271105672ba16ce89bc747f11dd85d34eb83c412ce962596554b0cc3ffba5f33075b4b
7
+ data.tar.gz: 7e4ba7803effc7765b7c7b699d4dc1d20516a9579df83783ec4c4cfde98c33761160e0aad8ca19b4d5284bb8b76aa019b1aecb9a1720c4e74d720674e681049e
data/CHANGES CHANGED
@@ -1,5 +1,8 @@
1
- # 3.2.0.pre1
1
+ # 3.2.0
2
2
 
3
+ * Skip Symbol DoS check on Rails 5
4
+ * Only update ignore config file on changes
5
+ * Sort ignore config file
3
6
  * Support calls using `&.` operator
4
7
  * Update ruby_parser dependency to 3.8.1
5
8
  * Remove `fastercsv` dependency
@@ -8,6 +8,8 @@ class Brakeman::CheckSymbolDoS < Brakeman::BaseCheck
8
8
  @description = "Checks for symbol denial of service"
9
9
 
10
10
  def run_check
11
+ return if rails_version > "5.0.0"
12
+
11
13
  tracker.find_call(:methods => UNSAFE_METHODS, :nested => true).each do |result|
12
14
  check_unsafe_symbol_creation(result)
13
15
  end
@@ -13,6 +13,7 @@ module Brakeman
13
13
  @ignored_fingerprints = Set.new
14
14
  @notes = {}
15
15
  @shown_warnings = @ignored_warnings = nil
16
+ @changed = false
16
17
  end
17
18
 
18
19
  # Populate ignored_warnings and shown_warnings based on ignore
@@ -35,8 +36,8 @@ module Brakeman
35
36
  # Remove warning from ignored list
36
37
  def unignore warning
37
38
  @ignored_fingerprints.delete warning.fingerprint
38
- @already_ignored.reject! do |w|
39
- w[:fingerprint] == warning.fingerprint
39
+ if @already_ignored.reject! { |w|w[:fingerprint] == warning.fingerprint }
40
+ @changed = true
40
41
  end
41
42
  end
42
43
 
@@ -46,11 +47,13 @@ module Brakeman
46
47
  end
47
48
 
48
49
  def ignore warning
50
+ @changed = true unless ignored? warning
49
51
  @ignored_fingerprints << warning.fingerprint
50
52
  end
51
53
 
52
54
  # Add note for warning
53
55
  def add_note warning, note
56
+ @changed = true
54
57
  @notes[warning.fingerprint] = note
55
58
  end
56
59
 
@@ -98,7 +101,7 @@ module Brakeman
98
101
 
99
102
  w[:note] = @notes[w[:fingerprint]] || ""
100
103
  w
101
- end
104
+ end.sort_by { |w| w[:fingerprint] }
102
105
 
103
106
  output = {
104
107
  :ignored_warnings => warnings,
@@ -124,7 +127,9 @@ module Brakeman
124
127
  end
125
128
  end
126
129
 
127
- save_to_file warnings
130
+ if @changed
131
+ save_to_file warnings
132
+ end
128
133
  end
129
134
  end
130
135
  end
@@ -1,3 +1,3 @@
1
1
  module Brakeman
2
- Version = "3.2.0.pre1"
2
+ Version = "3.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brakeman
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0.pre1
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Collins
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - brakeman-public_cert.pem
12
- date: 2016-02-22 00:00:00.000000000 Z
12
+ date: 2016-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: test-unit
@@ -346,9 +346,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
346
346
  version: '0'
347
347
  required_rubygems_version: !ruby/object:Gem::Requirement
348
348
  requirements:
349
- - - ">"
349
+ - - ">="
350
350
  - !ruby/object:Gem::Version
351
- version: 1.3.1
351
+ version: '0'
352
352
  requirements: []
353
353
  rubyforge_project:
354
354
  rubygems_version: 2.4.8