logstash-filter-fingerprint 3.4.2 → 3.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f2a16bce946eb4f6e8397822a4abf882c600dcce7dee9fb10d4a94c186921b7
4
- data.tar.gz: 74a90fce053b44de8fcd0991f24f84fe2cfe6eedf7971ef4dd170f467d7b04c5
3
+ metadata.gz: 67ab2a8c642f61df85825d8de9f0cf7c6a1cf05b01b32ceffea1776ea4ebce66
4
+ data.tar.gz: 7af0a15fc8e0b686a263f2828919fd7da1fb5627fa86cb4f82a7b0a361c16b20
5
5
  SHA512:
6
- metadata.gz: e086c37f7f9a7321741febefb51a3ab35ffdad9ca635da178aec9378131842cce321df124c545b7c10149ec5c588b965ee13b2a2857fe034fd31654e3aebb1b2
7
- data.tar.gz: 4fef51f2ecf2a468006d8aca31ea225aac49ceca8826b8f4e4048bb2ad2d6052d22d388fa50b468ed5618c130c5e94d6a6b4f846c5cc86be4a4b45a446e85e13
6
+ metadata.gz: 23ded7513caf3a42ae83a921e535a0498132ddfa0b1fd4f992991abe1f9f910f9c1d4df475edb9c37677f1d9b59ebdd6442171794f58e91eb52e4d58a0052ac9
7
+ data.tar.gz: c0b36f667d92ff883b7e2507bbea40d6e9a3d0b52155c7a1342b435aa7bd144675684212092059f5bba20bcff64d08ce50f74eefa5762e1e41f772aafbb8c4dd
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 3.4.4
2
+ - Fix, eagerly load OpenSSL classes ot avoid uninitialized constant error [#76](https://github.com/logstash-plugins/logstash-filter-fingerprint/pull/76)
3
+
4
+ ## 3.4.3
5
+ - pin murmurhash3 to 0.1.6 [#74](https://github.com/logstash-plugins/logstash-filter-fingerprint/pull/74)
6
+
1
7
  ## 3.4.2
2
8
  - Key config type changed to `Password` type for better protection from leaks. [#71](https://github.com/logstash-plugins/logstash-filter-fingerprint/pull/71)
3
9
 
@@ -134,6 +134,10 @@ class LogStash::Filters::Fingerprint < LogStash::Filters::Base
134
134
  when :PUNCTUATION
135
135
  # nothing
136
136
  else
137
+ # force the resolution of OpenSSL class to avoid errors when loaded in multi-threaded
138
+ # #fingerprint_openssl method to instantiate the appropriate digest class.
139
+ # https://github.com/logstash-plugins/logstash-filter-fingerprint/issues/75
140
+ select_digest(@method)
137
141
  class << self; alias_method :fingerprint, :fingerprint_openssl; end
138
142
  end
139
143
  end
@@ -209,7 +213,10 @@ class LogStash::Filters::Fingerprint < LogStash::Filters::Base
209
213
  # we must include the id in the thread local variable name, so that we can
210
214
  # store multiple digest instances
211
215
  digest_string = "digest-#{id}"
212
- Thread.current[digest_string] ||= select_digest(@method)
216
+ unless Thread.current[digest_string]
217
+ digest_class = select_digest(@method)
218
+ Thread.current[digest_string] = digest_class.new
219
+ end
213
220
  digest = Thread.current[digest_string]
214
221
  # in JRuby 1.7.11 outputs as ASCII-8BIT
215
222
  if @key.nil?
@@ -261,18 +268,19 @@ class LogStash::Filters::Fingerprint < LogStash::Filters::Base
261
268
  end
262
269
  end
263
270
 
271
+ # Return Class reference more appropriate for the method.
264
272
  def select_digest(method)
265
273
  case method
266
274
  when :SHA1
267
- OpenSSL::Digest::SHA1.new
275
+ OpenSSL::Digest::SHA1
268
276
  when :SHA256
269
- OpenSSL::Digest::SHA256.new
277
+ OpenSSL::Digest::SHA256
270
278
  when :SHA384
271
- OpenSSL::Digest::SHA384.new
279
+ OpenSSL::Digest::SHA384
272
280
  when :SHA512
273
- OpenSSL::Digest::SHA512.new
281
+ OpenSSL::Digest::SHA512
274
282
  when :MD5
275
- OpenSSL::Digest::MD5.new
283
+ OpenSSL::Digest::MD5
276
284
  else
277
285
  # we really should never get here
278
286
  raise(LogStash::ConfigurationError, "Unknown digest for method=#{method.to_s}")
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-fingerprint'
4
- s.version = '3.4.2'
4
+ s.version = '3.4.4'
5
5
  s.licenses = ['Apache-2.0']
6
6
  s.summary = "Fingerprints fields by replacing values with a consistent hash"
7
7
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
 
22
22
  # Gem dependencies
23
23
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
24
- s.add_runtime_dependency "murmurhash3" #(MIT license)
24
+ s.add_runtime_dependency "murmurhash3", "= 0.1.6" #(MIT license)
25
25
  s.add_development_dependency 'logstash-devutils'
26
26
  s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.2'
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-fingerprint
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.2
4
+ version: 3.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-13 00:00:00.000000000 Z
11
+ date: 2024-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -33,17 +33,17 @@ dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - ">="
36
+ - - '='
37
37
  - !ruby/object:Gem::Version
38
- version: '0'
38
+ version: 0.1.6
39
39
  name: murmurhash3
40
40
  prerelease: false
41
41
  type: :runtime
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - '='
45
45
  - !ruby/object:Gem::Version
46
- version: '0'
46
+ version: 0.1.6
47
47
  - !ruby/object:Gem::Dependency
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 3.1.6
114
+ rubygems_version: 3.2.33
115
115
  signing_key:
116
116
  specification_version: 4
117
117
  summary: Fingerprints fields by replacing values with a consistent hash