logstash-filter-fingerprint 3.4.2 → 3.4.4

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
  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