logstash-filter-tld 3.1.2 → 3.1.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/logstash-filter-tld.gemspec +6 -6
- data/spec/filters/tld_spec.rb +76 -48
- metadata +14 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca0f49ad03d78e4c4cbb989d541064af569c23a30984a83703b2fc35d44a0e61
|
4
|
+
data.tar.gz: b0daa7412413c708655e99a71d453ba7bf0ec50a5d7314f85472e428089d2d96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 842e0e37fd289ee2a8463a1718d9eb06d49227da27e481c88ff2eb4a925eba8025f90351ecba23a8254eed8970a95c93e1cf9826aefde3af7a68b4da2ccb2124
|
7
|
+
data.tar.gz: abbf5f13d9770c0b09ab2d05b69765e0abf2886788e86722df2cdfccd743497f7b303f82b492af4579bf06fdd97d20c7202c1ddaeb38606e6ac31aa08fe3afec
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 3.1.3
|
2
|
+
- Bumped `public_suffix` gem version to `> 4` `< 6` and updated specs [#24](https://github.com/logstash-plugins/logstash-filter-tld/issues/24)
|
3
|
+
|
1
4
|
## 3.1.2
|
2
5
|
- Fix race condition initializing PublicSuffix list [#8](https://github.com/logstash-plugins/logstash-filter-tld/issues/8)
|
3
6
|
|
data/logstash-filter-tld.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-filter-tld'
|
3
|
-
s.version = '3.1.
|
3
|
+
s.version = '3.1.3'
|
4
4
|
s.licenses = ['Apache-2.0']
|
5
5
|
s.summary = "Replaces the contents of the default message field with whatever you specify in the configuration"
|
6
6
|
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"
|
@@ -17,14 +17,14 @@ Gem::Specification.new do |s|
|
|
17
17
|
# Special flag to let us know this is actually a logstash plugin
|
18
18
|
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" }
|
19
19
|
|
20
|
-
#
|
21
|
-
#
|
22
|
-
|
20
|
+
# Logstash 7.17.x-8.x uses ruby 2.5-3.1 compatiblity
|
21
|
+
# public_suffix 4.x+ includes ruby syntax from 2.3
|
22
|
+
# public_suffix 5.x+ includes ruby syntax from 2.6
|
23
|
+
s.required_ruby_version = '>= 2.3'
|
23
24
|
|
24
25
|
# Gem dependencies
|
25
26
|
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
|
26
|
-
s.add_runtime_dependency 'public_suffix', '
|
27
|
+
s.add_runtime_dependency 'public_suffix', '> 4', '< 6'
|
27
28
|
|
28
29
|
s.add_development_dependency 'logstash-devutils'
|
29
|
-
s.add_development_dependency 'insist'
|
30
30
|
end
|
data/spec/filters/tld_spec.rb
CHANGED
@@ -1,57 +1,85 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require "logstash/filters/tld"
|
1
|
+
require 'logstash/devutils/rspec/spec_helper'
|
2
|
+
require 'logstash/filters/tld'
|
4
3
|
|
5
4
|
describe LogStash::Filters::Tld do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
# "@version" => "1",
|
17
|
-
# "@timestamp" => "2015-01-22T17:33:19.669Z",
|
18
|
-
# "host" => "homer",
|
19
|
-
# "sequence" => 0,
|
20
|
-
# "tld" => {
|
21
|
-
# "tld" => "com",
|
22
|
-
# "sld" => "google",
|
23
|
-
# "trd" => nil,
|
24
|
-
# "domain" => "google.com",
|
25
|
-
# "subdomain" => nil
|
26
|
-
# }
|
27
|
-
|
28
|
-
|
29
|
-
sample("message" => "google.com") do
|
30
|
-
insist { subject.get("tld")["tld"] } == "com"
|
31
|
-
insist { subject.get("tld")["top_level_domain"] } == "com"
|
32
|
-
insist { subject.get("tld")["sld"] } == "google"
|
33
|
-
insist { subject.get("tld")["trd"] } == nil
|
34
|
-
insist { subject.get("tld")["domain"] } == "google.com"
|
35
|
-
insist { subject.get("tld")["subdomain"] } == nil
|
36
|
-
end
|
5
|
+
let(:config) { {} }
|
6
|
+
|
7
|
+
subject(:plugin) { described_class.new(config) }
|
8
|
+
|
9
|
+
let(:event) { LogStash::Event.new('message' => 'www.google.com') }
|
10
|
+
|
11
|
+
before(:each) { plugin.register }
|
12
|
+
|
13
|
+
shared_examples 'sets tld fields' do |source, target|
|
14
|
+
let(:config) { {'source' => source, 'target' => target } }
|
37
15
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
16
|
+
context 'domain without subdomains' do
|
17
|
+
it 'should set tld fields' do
|
18
|
+
expect_tld_event_fields(target, LogStash::Event.new(source => 'google.com'), {
|
19
|
+
'tld' => 'com',
|
20
|
+
'top_level_domain' => 'com',
|
21
|
+
'sld' => 'google',
|
22
|
+
'trd' => nil,
|
23
|
+
'domain' => 'google.com',
|
24
|
+
'subdomain' => nil
|
25
|
+
})
|
26
|
+
|
27
|
+
expect_tld_event_fields(target, LogStash::Event.new(source => 'google.co.uk'), {
|
28
|
+
'tld' => 'co.uk',
|
29
|
+
'top_level_domain' => 'co.uk',
|
30
|
+
'sld' => 'google',
|
31
|
+
'trd' => nil,
|
32
|
+
'domain' => 'google.co.uk',
|
33
|
+
'subdomain' => nil
|
34
|
+
})
|
35
|
+
end
|
45
36
|
end
|
46
37
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
38
|
+
context 'domain with subdomains' do
|
39
|
+
it 'should set tld fields' do
|
40
|
+
expect_tld_event_fields(target, LogStash::Event.new(source => 'www.google.com'), {
|
41
|
+
'tld' => 'com',
|
42
|
+
'top_level_domain' => 'com',
|
43
|
+
'sld' => 'google',
|
44
|
+
'trd' => 'www',
|
45
|
+
'domain' => 'google.com',
|
46
|
+
'subdomain' => 'www.google.com'
|
47
|
+
})
|
48
|
+
|
49
|
+
expect_tld_event_fields(target, LogStash::Event.new(source => 'foo.bar.google.es'), {
|
50
|
+
'tld' => 'es',
|
51
|
+
'top_level_domain' => 'es',
|
52
|
+
'sld' => 'google',
|
53
|
+
'trd' => 'foo.bar',
|
54
|
+
'domain' => 'google.es',
|
55
|
+
'subdomain' => 'foo.bar.google.es'
|
56
|
+
})
|
57
|
+
end
|
54
58
|
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'with default configuration' do
|
62
|
+
include_examples('sets tld fields', 'message', 'tld')
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'with `source` option configured' do
|
66
|
+
include_examples('sets tld fields', 'another_source', 'tld')
|
67
|
+
end
|
68
|
+
|
69
|
+
context 'with `target` option configured' do
|
70
|
+
include_examples('sets tld fields', 'message', 'another_tld')
|
71
|
+
end
|
55
72
|
|
73
|
+
context 'with `source` and `target` options configured' do
|
74
|
+
include_examples('sets tld fields', 'another_source', 'another_tld')
|
75
|
+
end
|
76
|
+
|
77
|
+
private
|
78
|
+
|
79
|
+
def expect_tld_event_fields(target, event, hash)
|
80
|
+
subject.filter(event)
|
81
|
+
hash.each do |key, value|
|
82
|
+
expect(event.get(target)[key]).to eq(value)
|
83
|
+
end
|
56
84
|
end
|
57
85
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-tld
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -33,38 +33,30 @@ 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: '
|
38
|
+
version: '4'
|
39
|
+
- - "<"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '6'
|
39
42
|
name: public_suffix
|
40
43
|
prerelease: false
|
41
44
|
type: :runtime
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
43
46
|
requirements:
|
44
|
-
- - "
|
47
|
+
- - ">"
|
45
48
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
47
|
-
-
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
requirements:
|
50
|
-
- - ">="
|
49
|
+
version: '4'
|
50
|
+
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
53
|
-
name: logstash-devutils
|
54
|
-
prerelease: false
|
55
|
-
type: :development
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0'
|
52
|
+
version: '6'
|
61
53
|
- !ruby/object:Gem::Dependency
|
62
54
|
requirement: !ruby/object:Gem::Requirement
|
63
55
|
requirements:
|
64
56
|
- - ">="
|
65
57
|
- !ruby/object:Gem::Version
|
66
58
|
version: '0'
|
67
|
-
name:
|
59
|
+
name: logstash-devutils
|
68
60
|
prerelease: false
|
69
61
|
type: :development
|
70
62
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -105,14 +97,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
97
|
requirements:
|
106
98
|
- - ">="
|
107
99
|
- !ruby/object:Gem::Version
|
108
|
-
version: 2.
|
100
|
+
version: '2.3'
|
109
101
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
102
|
requirements:
|
111
103
|
- - ">="
|
112
104
|
- !ruby/object:Gem::Version
|
113
105
|
version: '0'
|
114
106
|
requirements: []
|
115
|
-
rubygems_version: 3.
|
107
|
+
rubygems_version: 3.2.33
|
116
108
|
signing_key:
|
117
109
|
specification_version: 4
|
118
110
|
summary: Replaces the contents of the default message field with whatever you specify
|