logstash-filter-dns 3.0.4 → 3.0.5

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