logstash-codec-netflow 4.3.2 → 4.3.3

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: 25aee1405937eb3d007e9c41fc86295eea44c81ca8f4559168fa892a3a37925c
4
- data.tar.gz: 151a0535226ecff1c22013a847156f8f4ff4fe3e7f2abae74f2ec49719f0c844
3
+ metadata.gz: 1077f3fabf491578e56f3bdf62833fcc57fa84e7a45339a86041d0d3cab20ea9
4
+ data.tar.gz: 483b793cab3301353f7631cba07eb82e6a560b62c9656cc0e718ef0286cc61ab
5
5
  SHA512:
6
- metadata.gz: 61aaf20a488e709118f96620414c16c5440cf17f1a3bd2d8a51aea3bd435ade159e13f774573d2e8f016f3bafa0e2ec213b259c085d44138dd44b1fdc9aa70c7
7
- data.tar.gz: b76dc8fd387086eef2c476ca79b116f6b541dd41a9947c4341941d9eba1d0874d937d5c558b29d2a56d03db790805be12b0aa0f4a0f8b1789a3646f0e98b5cc8
6
+ metadata.gz: 67390c9542344deb69f6d862de01458e06d11932ecad4afc6ad824bc4d22abf22188786d309738294d7b311e688acebe0735d6ab8a5007f52cf8852acc5745cd
7
+ data.tar.gz: b0ef1675c310fec9dd98ac6db3e8088c62feaa230a6a368d640b67c8ee25f2970edba1d52c49d8d3d619be38894a27f141f7c9c15cf554584210c7c3ffe2b44e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 4.3.3
2
+ - Fix NoMethodError when decode fails. [214](https://github.com/logstash-plugins/logstash-codec-netflow/pull/214)
3
+
1
4
  ## 4.3.2
2
5
  - Updates the milliseconds rounding for IPFIX start/end milliseconds fields.
3
6
  - Fix the test to run on Logstash 8 with microseconds precision. [#206](https://github.com/logstash-plugins/logstash-codec-netflow/pull/206)
@@ -88,16 +88,32 @@ class LogStash::Codecs::Netflow < LogStash::Codecs::Base
88
88
  if header.version == 5
89
89
  flowset = Netflow5PDU.read(payload)
90
90
  flowset.records.each do |record|
91
- yield(decode_netflow5(flowset, record))
91
+ begin
92
+ yield(decode_netflow5(flowset, record))
93
+ rescue BinData::ValidityError, IOError => e
94
+ @logger.warn("Invalid Netflow v5 record (#{e})")
95
+ if @logger.debug?
96
+ @logger.debug("Netflow v5 decode error", :flow_seq_num => flowset.flow_seq_num)
97
+ end
98
+ end
92
99
  end
93
100
  elsif header.version == 9
94
101
  # BinData::trace_reading do
95
102
  flowset = Netflow9PDU.read(payload)
96
103
  flowset.records.each do |record|
97
- if metadata != nil
98
- decode_netflow9(flowset, record, metadata).each{|event| yield(event)}
99
- else
100
- decode_netflow9(flowset, record).each{|event| yield(event)}
104
+ begin
105
+ if metadata != nil
106
+ decode_netflow9(flowset, record, metadata).each{|event| yield(event)}
107
+ else
108
+ decode_netflow9(flowset, record).each{|event| yield(event)}
109
+ end
110
+ rescue BinData::ValidityError, IOError => e
111
+ @logger.warn("Invalid Netflow v9 record (#{e})")
112
+ if @logger.debug?
113
+ host = metadata ? metadata["host"] : nil
114
+ port = metadata ? metadata["port"] : nil
115
+ @logger.debug("Netflow v9 decode error", :source_id => flowset.source_id, :flowset_id => record.flowset_id, :host => host, :port => port)
116
+ end
101
117
  end
102
118
  # end
103
119
  end
@@ -105,7 +121,14 @@ class LogStash::Codecs::Netflow < LogStash::Codecs::Base
105
121
  # BinData::trace_reading do
106
122
  flowset = IpfixPDU.read(payload)
107
123
  flowset.records.each do |record|
108
- decode_ipfix(flowset, record).each { |event| yield(event) }
124
+ begin
125
+ decode_ipfix(flowset, record).each { |event| yield(event) }
126
+ rescue BinData::ValidityError, IOError => e
127
+ @logger.warn("Invalid IPFIX record (#{e})")
128
+ if @logger.debug?
129
+ @logger.debug("IPFIX decode error", :observation_domain_id => flowset.observation_domain_id, :flowset_id => record.flowset_id)
130
+ end
131
+ end
109
132
  end
110
133
  # end
111
134
  else
@@ -151,8 +174,6 @@ class LogStash::Codecs::Netflow < LogStash::Codecs::Base
151
174
  end
152
175
 
153
176
  event_factory.new_event(event)
154
- rescue BinData::ValidityError, IOError => e
155
- @logger.warn("Invalid netflow packet received (#{e})")
156
177
  end
157
178
 
158
179
  def decode_netflow9(flowset, record, metadata = nil)
@@ -280,8 +301,6 @@ class LogStash::Codecs::Netflow < LogStash::Codecs::Base
280
301
  end
281
302
 
282
303
  events
283
- rescue BinData::ValidityError, IOError => e
284
- @logger.warn("Invalid netflow packet received (#{e})")
285
304
  end
286
305
 
287
306
  def decode_ipfix(flowset, record)
@@ -371,8 +390,6 @@ class LogStash::Codecs::Netflow < LogStash::Codecs::Base
371
390
  end
372
391
 
373
392
  events
374
- rescue BinData::ValidityError => e
375
- @logger.warn("Invalid IPFIX packet received (#{e})")
376
393
  end
377
394
 
378
395
  def load_definitions(defaults, extra)
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-codec-netflow'
4
- s.version = '4.3.2'
4
+ s.version = '4.3.3'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Reads Netflow v5, Netflow v9 and IPFIX data"
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"
metadata CHANGED
@@ -1,66 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-codec-netflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.2
4
+ version: 4.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-12-22 00:00:00.000000000 Z
10
+ date: 2026-01-21 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
13
+ name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
18
  version: '2.0'
19
- name: logstash-core-plugin-api
20
- prerelease: false
21
19
  type: :runtime
20
+ prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
25
  version: '2.0'
27
26
  - !ruby/object:Gem::Dependency
27
+ name: logstash-mixin-event_support
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '1.0'
33
- name: logstash-mixin-event_support
34
- prerelease: false
35
33
  type: :runtime
34
+ prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - "~>"
39
38
  - !ruby/object:Gem::Version
40
39
  version: '1.0'
41
40
  - !ruby/object:Gem::Dependency
41
+ name: bindata
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 1.5.0
47
- name: bindata
48
- prerelease: false
49
47
  type: :runtime
48
+ prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: 1.5.0
55
54
  - !ruby/object:Gem::Dependency
55
+ name: logstash-devutils
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 1.0.0
61
- name: logstash-devutils
62
- prerelease: false
63
61
  type: :development
62
+ prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - ">="
@@ -200,7 +199,6 @@ licenses:
200
199
  metadata:
201
200
  logstash_plugin: 'true'
202
201
  logstash_group: codec
203
- post_install_message:
204
202
  rdoc_options: []
205
203
  require_paths:
206
204
  - lib
@@ -215,8 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
215
213
  - !ruby/object:Gem::Version
216
214
  version: '0'
217
215
  requirements: []
218
- rubygems_version: 3.2.33
219
- signing_key:
216
+ rubygems_version: 3.6.3
220
217
  specification_version: 4
221
218
  summary: Reads Netflow v5, Netflow v9 and IPFIX data
222
219
  test_files: