logstash-output-udp 3.2.0 → 3.3.0

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: b3988df4d07ed849b41de584e2c9e6b37edc51d002b773ad1cc9719e71ed7f9f
4
- data.tar.gz: 5ee9f9e3d85b0640a5fe9986950e68a07901c6252073fe3c9b2034a8e0793bbd
3
+ metadata.gz: 22334394865ae9b9de97f79d7d2dff4aa5425ec28fe2e4f4828d2305bd2768c6
4
+ data.tar.gz: 90ba577944eac251133f64b48f91b58d11897be2c7cf89be568e858a4dad79fb
5
5
  SHA512:
6
- metadata.gz: 842bb5c01a12602223e3e9778f756e6a25a9505a9e8c61d79b99aa801497ae990d5e241d6051ba79e9e4c3cb0b0871ff455d635f10d97946c4328ffd0fee2d3a
7
- data.tar.gz: 9250a7c4cecbafc3a1c8c36fd15c62c8a24bbebb38479f397dc2837b07f6860cc4ec391c7a4244caff2301d9a82a9f443d72d7b226eb18c87869208fbed98fa4
6
+ metadata.gz: 976650c4c90505855cade402b441a6efc1784049f123de6cd9597cc3af2e3c627844071b1a5c579281b08aba07d96a1d5b2df3ebd0c9e714a9fe779c30c5b4f8
7
+ data.tar.gz: d1340b04fa5353654c00cf40145387d1296f22f3baaed4a49e5f3b0c8731d1c5344ec08b304bd772c510a66547f9e04ce3851b42a6d058a52e264b86aa4e150e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 3.3.0
2
+ - Added support for IPv6 addresses [#16](https://github.com/logstash-plugins/logstash-output-udp/pull/16)
3
+
1
4
  ## 3.2.0
2
5
  - Added field reference support in `port` [#13](https://github.com/logstash-plugins/logstash-output-udp/pull/13)
3
6
 
data/docs/index.asciidoc CHANGED
@@ -58,7 +58,8 @@ output plugins.
58
58
  * Value type is <<string,string>>
59
59
  * There is no default value for this setting.
60
60
 
61
- The address to send messages to
61
+ The address to send messages to.
62
+ The address should be either a literal IPv4 or IPv6 address, or a hostname that resolves to one.
62
63
 
63
64
  [id="plugins-{type}s-{plugin}-port"]
64
65
  ===== `port`
@@ -25,7 +25,7 @@ class LogStash::Outputs::UDP < LogStash::Outputs::Base
25
25
  config :retry_backoff_ms, :validate => :number, :default => 100
26
26
 
27
27
  def register
28
- @socket = UDPSocket.new
28
+ @socket = UDPSocket.new(IPAddr.new(IPSocket.getaddress(@host)).family)
29
29
 
30
30
  @codec.on_event do |event, payload|
31
31
  port = event.sprintf(@port)
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-udp'
4
- s.version = '3.2.0'
4
+ s.version = ::File.read('version').split("\n").first
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Sends events over UDP"
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"
@@ -31,6 +31,46 @@ describe LogStash::Outputs::UDP do
31
31
  end
32
32
  end
33
33
 
34
+ context "IP-stack configuration" do
35
+ matcher :socket_address_family do |expected_flag_name|
36
+ expected_flag_value = Socket::Constants.const_get(expected_flag_name)
37
+ match do |actual|
38
+ actual == expected_flag_value
39
+ end
40
+ failure_message do |actual_flag_value|
41
+ actual_flag_name = Socket::Constants.constants
42
+ .select { |c| c.start_with?("AF_") }
43
+ .find {|c| Socket::Constants.const_get(c) == actual_flag_value } || "UNKNOWN"
44
+ "expected that #{actual_flag_name}(#{actual_flag_value}) would be equivalent to #{expected_flag_name}(#{expected_flag_value})"
45
+ end
46
+ end
47
+
48
+ {
49
+ "::1" => :AF_INET6,
50
+ "2001:db8:0000:0000:0000:0000:0000:0001" => :AF_INET6,
51
+ "[2001:db8:0000:0000:0000:0000:0000:0001]" => :AF_INET6,
52
+ "2001:db8::0001" => :AF_INET6,
53
+ "[2001:db8::0001]" => :AF_INET6,
54
+ "127.0.0.1" => :AF_INET,
55
+ "198.51.100.1" => :AF_INET,
56
+ "localhost" => (IPAddr.new(IPSocket.getaddress("localhost")).ipv4? ? :AF_INET : :AF_INET6),
57
+ "example.com" => (IPAddr.new(IPSocket.getaddress("example.com")).ipv4? ? :AF_INET : :AF_INET6),
58
+ }.each do |specified_host, expected_address_family|
59
+ context "host => '#{specified_host}'" do
60
+ let(:host) { specified_host }
61
+
62
+ it "creates a UDPSocket with the `#{expected_address_family}` family" do
63
+ expect(UDPSocket).to receive(:new).and_wrap_original do |original, socket_family|
64
+ expect(socket_family).to socket_address_family(expected_address_family)
65
+ original.call(socket_family)
66
+ end
67
+
68
+ subject.register
69
+ end
70
+ end
71
+ end
72
+ end
73
+
34
74
  describe "port" do
35
75
 
36
76
  let(:config) { super().merge('port' => '%{[target_port]}') }
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-udp
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2021-07-14 00:00:00.000000000 Z
10
+ date: 2026-05-29 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
  - - ">="
@@ -19,7 +19,6 @@ dependencies:
19
19
  - - "<="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
- name: logstash-core-plugin-api
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,12 +30,12 @@ dependencies:
31
30
  - !ruby/object:Gem::Version
32
31
  version: '2.99'
33
32
  - !ruby/object:Gem::Dependency
33
+ name: logstash-codec-json
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
- name: logstash-codec-json
40
39
  type: :runtime
41
40
  prerelease: false
42
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,12 +44,12 @@ dependencies:
45
44
  - !ruby/object:Gem::Version
46
45
  version: '0'
47
46
  - !ruby/object:Gem::Dependency
47
+ name: logstash-devutils
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
53
- name: logstash-devutils
54
53
  type: :development
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
@@ -83,7 +82,6 @@ licenses:
83
82
  metadata:
84
83
  logstash_plugin: 'true'
85
84
  logstash_group: output
86
- post_install_message:
87
85
  rdoc_options: []
88
86
  require_paths:
89
87
  - lib
@@ -98,8 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
96
  - !ruby/object:Gem::Version
99
97
  version: '0'
100
98
  requirements: []
101
- rubygems_version: 3.0.6
102
- signing_key:
99
+ rubygems_version: 3.6.3
103
100
  specification_version: 4
104
101
  summary: Sends events over UDP
105
102
  test_files: