logstash-input-tcp 5.2.1-java → 5.2.5-java
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 +13 -0
- data/lib/logstash/inputs/tcp/compat_ssl_options.rb +9 -2
- data/lib/logstash/inputs/tcp.rb +1 -5
- data/logstash-input-tcp.gemspec +5 -1
- data/spec/inputs/tcp_spec.rb +33 -15
- data/vendor/jar-dependencies/org/logstash/inputs/{logstash-input-tcp/5.2.1/logstash-input-tcp-5.2.1.jar → plugin/5.2.5/plugin-5.2.5.jar} +0 -0
- data/version +1 -1
- metadata +22 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eeb327ea4a6ee534cbaf7844b90492296ed940792dd7801e753b8866d51287a1
|
4
|
+
data.tar.gz: 4d71e276661849f6730e7f765b9a4202f75dd3ebc5668011d9dc7bafdc4de9ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f7351ec1cdf22d72507349dc1d7c7c1b933b5ea28f66ab2c3cc2477123cddfe0af4b41f270e6a1bbba5a6703f444b4ead434bc056fa72e18b7119209e29db75
|
7
|
+
data.tar.gz: 8eb0a4174e5c5f9405627762dc76b8100a8b1b6cf42dc4767c488ebf6ca62121ab05b9bcc74b6fd92c539468ec59f79cb46a8a3f739db79c2fd81f24f6e01bc8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
## 5.2.5
|
2
|
+
- Update Log4j dependency to 2.17
|
3
|
+
|
4
|
+
## 5.2.4
|
5
|
+
- Update Log4j dependency to 2.16, ensuring this plugin's runtime relies only on log4j-api instead
|
6
|
+
of providing its own log4j-core [#189](https://github.com/logstash-plugins/logstash-input-tcp/pull/189)
|
7
|
+
|
8
|
+
## 5.2.3
|
9
|
+
- Skip empty lines while reading certificate files [#144](https://github.com/logstash-plugins/logstash-input-tcp/issues/144)
|
10
|
+
|
11
|
+
## 5.2.2
|
12
|
+
- Fixed race condition where data would be accepted before queue was configured [#142](https://github.com/logstash-plugins/logstash-input-tcp/pull/142)
|
13
|
+
|
1
14
|
## 5.2.1
|
2
15
|
- Support multiple certificates per file [#140](https://github.com/logstash-plugins/logstash-input-tcp/pull/140)
|
3
16
|
- Fixed support for encrypted pkcs8 private keys [#133](https://github.com/logstash-plugins/logstash-input-tcp/pull/133)
|
@@ -127,12 +127,19 @@ class SslOptions
|
|
127
127
|
|
128
128
|
private
|
129
129
|
def fetch_certificates_from_file(file, cf)
|
130
|
-
fis = FileInputStream.new(file)
|
130
|
+
fis = java.io.FileInputStream.new(file)
|
131
131
|
|
132
132
|
while (fis.available > 0) do
|
133
|
-
|
133
|
+
cert = generate_certificate(cf, fis)
|
134
|
+
yield cert if cert
|
134
135
|
end
|
135
136
|
ensure
|
136
137
|
fis.close if fis
|
137
138
|
end
|
139
|
+
|
140
|
+
def generate_certificate(cf, fis)
|
141
|
+
cf.generateCertificate(fis)
|
142
|
+
rescue Java::JavaSecurityCert::CertificateException => e
|
143
|
+
raise e unless e.cause.message == "Empty input"
|
144
|
+
end
|
138
145
|
end
|
data/lib/logstash/inputs/tcp.rb
CHANGED
@@ -141,11 +141,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
|
141
141
|
def register
|
142
142
|
fix_streaming_codecs
|
143
143
|
|
144
|
-
# note that since we are opening a socket in register, we must also make sure we close it
|
145
|
-
# in the close method even if we also close it in the stop method since we could have
|
146
|
-
# a situation where register is called but not run & stop.
|
147
|
-
|
148
|
-
@logger.info("Starting tcp input listener", :address => "#{@host}:#{@port}", :ssl_enable => "#{@ssl_enable}")
|
149
144
|
if server?
|
150
145
|
ssl_context = get_ssl_context(SslOptions)
|
151
146
|
|
@@ -157,6 +152,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
|
157
152
|
def run(output_queue)
|
158
153
|
@output_queue = output_queue
|
159
154
|
if server?
|
155
|
+
@logger.info("Starting tcp input listener", :address => "#{@host}:#{@port}", :ssl_enable => "#{@ssl_enable}")
|
160
156
|
@loop.run
|
161
157
|
else
|
162
158
|
run_client()
|
data/logstash-input-tcp.gemspec
CHANGED
@@ -31,7 +31,11 @@ Gem::Specification.new do |s|
|
|
31
31
|
s.add_runtime_dependency 'logstash-codec-json_lines'
|
32
32
|
s.add_runtime_dependency 'logstash-codec-multiline'
|
33
33
|
|
34
|
-
|
34
|
+
# 5.x branch of this plugin provides support for LS5&6.
|
35
|
+
# To use LS7+, you must use v6+ of this plugin.
|
36
|
+
s.add_runtime_dependency 'logstash-core', '< 7.0.0'
|
37
|
+
|
38
|
+
s.add_development_dependency 'logstash-devutils', '~> 1.0'
|
35
39
|
s.add_development_dependency 'flores', '~> 0.0.6'
|
36
40
|
s.add_development_dependency 'stud', '~> 0.0.22'
|
37
41
|
end
|
data/spec/inputs/tcp_spec.rb
CHANGED
@@ -382,6 +382,35 @@ describe LogStash::Inputs::Tcp do
|
|
382
382
|
ssc.delete
|
383
383
|
end
|
384
384
|
end
|
385
|
+
|
386
|
+
context "with multiple certificates with empty spaces in them" do
|
387
|
+
let(:ssc) { SelfSignedCertificate.new }
|
388
|
+
let(:certificate_file) { ssc.certificate }
|
389
|
+
let(:key_file) { ssc.private_key}
|
390
|
+
let(:ssc_2) { SelfSignedCertificate.new }
|
391
|
+
let(:certificate_file_2) { ssc.certificate }
|
392
|
+
let(:config) do
|
393
|
+
{
|
394
|
+
"host" => "127.0.0.1",
|
395
|
+
"port" => port,
|
396
|
+
"ssl_enable" => true,
|
397
|
+
"ssl_cert" => certificate_file.path,
|
398
|
+
"ssl_key" => key_file.path
|
399
|
+
}
|
400
|
+
end
|
401
|
+
before(:each) do
|
402
|
+
File.open(certificate_file.path, "a") do |file|
|
403
|
+
path = ssc_2.certificate.path
|
404
|
+
file.puts("\n")
|
405
|
+
file.puts(IO.read(path))
|
406
|
+
file.puts("\n")
|
407
|
+
end
|
408
|
+
end
|
409
|
+
|
410
|
+
it "should register without errors" do
|
411
|
+
expect { subject.register }.to_not raise_error
|
412
|
+
end
|
413
|
+
end
|
385
414
|
end
|
386
415
|
end
|
387
416
|
|
@@ -399,12 +428,7 @@ describe LogStash::Inputs::Tcp do
|
|
399
428
|
chain_of_certificates = TcpHelpers.new.chain_of_certificates
|
400
429
|
|
401
430
|
let(:tcp) do
|
402
|
-
|
403
|
-
socket = TCPSocket.new("127.0.0.1", port)
|
404
|
-
rescue Errno::ECONNREFUSED
|
405
|
-
sleep 1
|
406
|
-
socket = TCPSocket.new("127.0.0.1", port)
|
407
|
-
end
|
431
|
+
Stud::try(5.times) { TCPSocket.new("127.0.0.1", port) }
|
408
432
|
end
|
409
433
|
let(:sslcontext) do
|
410
434
|
sslcontext = OpenSSL::SSL::SSLContext.new
|
@@ -502,14 +526,8 @@ describe LogStash::Inputs::Tcp do
|
|
502
526
|
|
503
527
|
context "that disconnects before doing TLS handshake" do
|
504
528
|
before do
|
505
|
-
|
506
|
-
|
507
|
-
client.close
|
508
|
-
rescue Errno::ECONNREFUSED
|
509
|
-
sleep 1
|
510
|
-
client = TCPSocket.new("127.0.0.1", port)
|
511
|
-
client.close
|
512
|
-
end
|
529
|
+
client = Stud::try(5.times) { TCPSocket.new("127.0.0.1", port) }
|
530
|
+
client.close
|
513
531
|
end
|
514
532
|
|
515
533
|
it "should not negatively impact the plugin" do
|
@@ -540,7 +558,7 @@ describe LogStash::Inputs::Tcp do
|
|
540
558
|
# Assertion to verify this test is actually sending something.
|
541
559
|
expect(garbage.length).to be > 0
|
542
560
|
|
543
|
-
client = TCPSocket.new("127.0.0.1", port)
|
561
|
+
client = Stud::try(5.times) { TCPSocket.new("127.0.0.1", port) }
|
544
562
|
client.write(garbage)
|
545
563
|
client.flush
|
546
564
|
Thread.new { sleep(1); client.close }
|
Binary file
|
data/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
5.2.
|
1
|
+
5.2.5
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-tcp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.2.
|
4
|
+
version: 5.2.5
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,17 +103,31 @@ dependencies:
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
requirement: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
|
-
- - "
|
106
|
+
- - "<"
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
108
|
+
version: 7.0.0
|
109
|
+
name: logstash-core
|
110
|
+
prerelease: false
|
111
|
+
type: :runtime
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "<"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 7.0.0
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
requirement: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '1.0'
|
109
123
|
name: logstash-devutils
|
110
124
|
prerelease: false
|
111
125
|
type: :development
|
112
126
|
version_requirements: !ruby/object:Gem::Requirement
|
113
127
|
requirements:
|
114
|
-
- - "
|
128
|
+
- - "~>"
|
115
129
|
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
130
|
+
version: '1.0'
|
117
131
|
- !ruby/object:Gem::Dependency
|
118
132
|
requirement: !ruby/object:Gem::Requirement
|
119
133
|
requirements:
|
@@ -164,7 +178,7 @@ files:
|
|
164
178
|
- logstash-input-tcp.gemspec
|
165
179
|
- spec/inputs/tcp_spec.rb
|
166
180
|
- spec/spec_helper.rb
|
167
|
-
- vendor/jar-dependencies/org/logstash/inputs/
|
181
|
+
- vendor/jar-dependencies/org/logstash/inputs/plugin/5.2.5/plugin-5.2.5.jar
|
168
182
|
- version
|
169
183
|
homepage: http://www.elastic.co/guide/en/logstash/current/index.html
|
170
184
|
licenses:
|
@@ -188,8 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
202
|
- !ruby/object:Gem::Version
|
189
203
|
version: '0'
|
190
204
|
requirements: []
|
191
|
-
|
192
|
-
rubygems_version: 2.6.13
|
205
|
+
rubygems_version: 3.1.6
|
193
206
|
signing_key:
|
194
207
|
specification_version: 4
|
195
208
|
summary: Reads events from a TCP socket
|