logstash-filter-dns 3.0.4 → 3.0.5

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: 2588795adf083d4812dc3c59973afd5109e97f78
4
- data.tar.gz: 129c2b1c78212afb83dc0a76ea52072e62b31639
3
+ metadata.gz: 23bd0ad7f0cb35f1fbd7bf887225925d3cd8387d
4
+ data.tar.gz: e65faad679055d46e9f36e02e4cf244d1682fe86
5
5
  SHA512:
6
- metadata.gz: 4a440cdd51ec786800ff5d387f82dcbe0359832db7ea7ec3bed9323e1ffae7495516e684f15e32e9ac2c943715b89cef754c17aa94cc5563f93f1a32e590f59f
7
- data.tar.gz: ae8c839ce54b097491394a4383e77c6a6afd18ee38c69c178374ca9b0e1a20d1a3288fd3f00d750b0c9d61b2d17290569a3ec87dde443e1a4187b8cf17e19863
6
+ metadata.gz: 4512979f4fdad4a716b2e52501bf7216b5b9f1bf6eadf5ca570f632d691c09eff60e4f642f29c58b71416584d7722825bad0e73b4ccc17121826ae0ced48f9c7
7
+ data.tar.gz: ff0ef459e2952a74d6da4c997ede4af97f314dd617a0825079c1cae45336a767f4e0a8a3815a325ddfa7e796fcf6a53f98785c22c16ef806fe6dd565e50f0939
@@ -1,3 +1,6 @@
1
+ ## 3.0.4
2
+ - Log a warning on missing resolve/reverse fields rather than crashing
3
+
1
4
  ## 3.0.3
2
5
  - Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
3
6
 
@@ -12,7 +12,7 @@ START - GENERATED VARIABLES, DO NOT EDIT!
12
12
  END - GENERATED VARIABLES, DO NOT EDIT!
13
13
  ///////////////////////////////////////////
14
14
 
15
- [id="plugins-{type}-{plugin}"]
15
+ [id="plugins-{type}s-{plugin}"]
16
16
 
17
17
  === Dns filter plugin
18
18
 
@@ -122,6 +122,12 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
122
122
  @resolve.each do |field|
123
123
  is_array = false
124
124
  raw = event.get(field)
125
+
126
+ if raw.nil?
127
+ @logger.warn("DNS filter could not resolve missing field", :field => field)
128
+ next
129
+ end
130
+
125
131
  if raw.is_a?(Array)
126
132
  is_array = true
127
133
  if raw.length > 1
@@ -176,6 +182,12 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
176
182
  def reverse(event)
177
183
  @reverse.each do |field|
178
184
  raw = event.get(field)
185
+
186
+ if raw.nil?
187
+ @logger.warn("DNS filter could not perform reverse lookup on missing field", :field => field)
188
+ next
189
+ end
190
+
179
191
  is_array = false
180
192
  if raw.is_a?(Array)
181
193
  is_array = true
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-dns'
4
- s.version = '3.0.4'
4
+ s.version = '3.0.5'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "This filter will resolve any IP addresses from a field of your choosing."
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"
@@ -30,6 +30,27 @@ describe LogStash::Filters::DNS do
30
30
  end
31
31
  end
32
32
 
33
+ describe "dns reverse lookup, missing field" do
34
+ let(:plugin) { ::LogStash::Filters::DNS.new("reverse" => "foo") }
35
+ let(:event) { ::LogStash::Event.new }
36
+
37
+ before do
38
+ plugin.register
39
+ allow(plugin.logger).to receive(:warn).with(any_args)
40
+ end
41
+
42
+ it "should not throw an error when filtering" do
43
+ expect do
44
+ plugin.filter(event)
45
+ end.not_to raise_error
46
+ end
47
+
48
+ it "should log a warning" do
49
+ plugin.filter(event)
50
+ expect(plugin.logger).to have_received(:warn).with("DNS filter could not perform reverse lookup on missing field", :field => "foo")
51
+ end
52
+ end
53
+
33
54
  describe "dns reverse lookup, append" do
34
55
  config <<-CONFIG
35
56
  filter {
@@ -77,6 +98,27 @@ describe LogStash::Filters::DNS do
77
98
  end
78
99
  end
79
100
 
101
+ describe "dns resolve lookup, missing field" do
102
+ let(:plugin) { ::LogStash::Filters::DNS.new("resolve" => "foo") }
103
+ let(:event) { ::LogStash::Event.new }
104
+
105
+ before do
106
+ plugin.register
107
+ allow(plugin.logger).to receive(:warn).with(any_args)
108
+ end
109
+
110
+ it "should not throw an error when filtering" do
111
+ expect do
112
+ plugin.filter(event)
113
+ end.not_to raise_error
114
+ end
115
+
116
+ it "should log a warning" do
117
+ plugin.filter(event)
118
+ expect(plugin.logger).to have_received(:warn).with("DNS filter could not resolve missing field", :field => "foo")
119
+ end
120
+ end
121
+
80
122
  describe "dns fail resolve lookup, don't add tag" do
81
123
  config <<-CONFIG
82
124
  filter {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-dns
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.4
4
+ version: 3.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-23 00:00:00.000000000 Z
11
+ date: 2017-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement