logstash-input-tcp 6.0.6-java → 6.0.7-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/lib/logstash/inputs/tcp.rb +16 -19
- data/lib/logstash/inputs/tcp/decoder_impl.rb +2 -2
- data/vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/{6.0.6/logstash-input-tcp-6.0.6.jar → 6.0.7/logstash-input-tcp-6.0.7.jar} +0 -0
- data/version +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '007417778a970ec7915f1f5bd2cf4e01b08c7682b361b208d44309f04d9ed29e'
|
4
|
+
data.tar.gz: f2b63ea306e7ecf323663d69f05780096c2ee76c8fbfbe2cac357bc90c3b744e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 522cd25c63ec98067a9b52efb10a3f55b8ab728ced841f96f812c9c9262198584efe0aee5c95125ff9b513d9147dfd351a3cf2648ce43b87fc948ba517f5c952
|
7
|
+
data.tar.gz: d03ef7cb60c5ee53dab6fc109b85aa3a2e3d5ebae87ce35ba99c2dad9a0b9e5085d797a6a4c9f8dea4312e4c1e4f0603fc85a51a4749e1ef052621bb0be1bb1f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 6.0.7
|
2
|
+
- Fix: reduce error logging (to info level) on connection resets [#168](https://github.com/logstash-plugins/logstash-input-tcp/pull/168)
|
3
|
+
- Refactor: only patch Socket classes once (on first input)
|
4
|
+
- Refactor: use a proper log4j logger (in Java to avoid surprises when unwrapping `LogStash::Logging::Logger`)
|
5
|
+
|
1
6
|
## 6.0.6
|
2
7
|
- Updated Netty dependencies. Additionally, this release removes the dependency on `tcnative` +
|
3
8
|
`boringssl`, using JVM supplied ciphers instead. This may result in fewer ciphers being available if the JCE
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Logstash Plugin
|
2
2
|
|
3
|
-
[![Travis Build Status](https://travis-ci.
|
3
|
+
[![Travis Build Status](https://travis-ci.com/logstash-plugins/logstash-input-tcp.svg)](https://travis-ci.com/logstash-plugins/logstash-input-tcp)
|
4
4
|
|
5
5
|
This is a plugin for [Logstash](https://github.com/elastic/logstash).
|
6
6
|
|
data/lib/logstash/inputs/tcp.rb
CHANGED
@@ -119,15 +119,21 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
|
119
119
|
PROXY_PORT_FIELD = "proxy_port".freeze
|
120
120
|
SSLSUBJECT_FIELD = "sslsubject".freeze
|
121
121
|
|
122
|
-
|
123
|
-
|
122
|
+
# Monkey patch TCPSocket and SSLSocket to include socket peer
|
123
|
+
# @private
|
124
|
+
def self.patch_socket_peer!
|
125
|
+
unless TCPSocket < ::LogStash::Util::SocketPeer
|
126
|
+
TCPSocket.send :include, ::LogStash::Util::SocketPeer
|
127
|
+
end
|
128
|
+
unless OpenSSL::SSL::SSLSocket < ::LogStash::Util::SocketPeer
|
129
|
+
OpenSSL::SSL::SSLSocket.send :include, ::LogStash::Util::SocketPeer
|
130
|
+
end
|
131
|
+
end
|
124
132
|
|
125
133
|
def initialize(*args)
|
126
134
|
super(*args)
|
127
135
|
|
128
|
-
|
129
|
-
TCPSocket.module_eval{include ::LogStash::Util::SocketPeer}
|
130
|
-
OpenSSL::SSL::SSLSocket.module_eval{include ::LogStash::Util::SocketPeer}
|
136
|
+
self.class.patch_socket_peer!
|
131
137
|
|
132
138
|
# threadsafe socket bookkeeping
|
133
139
|
@server_socket = nil
|
@@ -144,22 +150,15 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
|
144
150
|
if server?
|
145
151
|
ssl_context = get_ssl_context(SslOptions)
|
146
152
|
|
147
|
-
# RubyObject#to_java is not threadsafe, and we cannot guarantee
|
148
|
-
# that ours is the only reference to the underlying logger, which
|
149
|
-
# is memoized at a class level.
|
150
|
-
log4j_logger = PLUGIN_GLOBAL_MUTEX.synchronize do
|
151
|
-
@logger.to_java(org.apache.logging.log4j.Logger)
|
152
|
-
end
|
153
153
|
|
154
|
-
@loop = InputLoop.new(@host, @port, DecoderImpl.new(@codec, self), @tcp_keep_alive,
|
155
|
-
ssl_context, log4j_logger)
|
154
|
+
@loop = InputLoop.new(@host, @port, DecoderImpl.new(@codec, self), @tcp_keep_alive, ssl_context)
|
156
155
|
end
|
157
156
|
end
|
158
157
|
|
159
158
|
def run(output_queue)
|
160
159
|
@output_queue = output_queue
|
161
160
|
if server?
|
162
|
-
@logger.info("Starting tcp input listener", :address => "#{@host}:#{@port}", :ssl_enable =>
|
161
|
+
@logger.info("Starting tcp input listener", :address => "#{@host}:#{@port}", :ssl_enable => @ssl_enable)
|
163
162
|
@loop.run
|
164
163
|
else
|
165
164
|
run_client()
|
@@ -252,12 +251,10 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
|
252
251
|
rescue Errno::ECONNRESET
|
253
252
|
@logger.debug? && @logger.debug("Connection reset by peer", :client => peer)
|
254
253
|
rescue OpenSSL::SSL::SSLError => e
|
255
|
-
|
256
|
-
@logger.error("SSL Error", :exception => e, :backtrace => e.backtrace)
|
257
|
-
socket.close rescue nil
|
254
|
+
@logger.error("SSL error", :client => peer, :message => e.message, :exception => e.class, :backtrace => e.backtrace)
|
258
255
|
rescue => e
|
259
256
|
# if plugin is stopping, don't bother logging it as an error
|
260
|
-
!stop? && @logger.error("An error occurred
|
257
|
+
!stop? && @logger.error("An error occurred, closing connection", :client => peer, :message => e.message, :exception => e.class, :backtrace => e.backtrace)
|
261
258
|
ensure
|
262
259
|
# catch all rescue nil on close to discard any close errors or invalid socket
|
263
260
|
socket.close rescue nil
|
@@ -293,7 +290,7 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
|
|
293
290
|
@ssl_context.verify_mode = OpenSSL::SSL::VERIFY_PEER|OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT
|
294
291
|
end
|
295
292
|
rescue => e
|
296
|
-
@logger.error("Could not inititalize SSL context", :exception => e, :backtrace => e.backtrace)
|
293
|
+
@logger.error("Could not inititalize SSL context", :message => e.message, :exception => e.class, :backtrace => e.backtrace)
|
297
294
|
raise e
|
298
295
|
end
|
299
296
|
|
@@ -38,8 +38,8 @@ class DecoderImpl
|
|
38
38
|
pp_info = pp_hdr.split(/\s/)
|
39
39
|
# PROXY proto clientip proxyip clientport proxyport
|
40
40
|
if pp_info[0] != "PROXY"
|
41
|
-
@tcp.logger.error("
|
42
|
-
raise IOError
|
41
|
+
@tcp.logger.error("Invalid proxy protocol header label", :header => pp_hdr)
|
42
|
+
raise IOError.new("Invalid proxy protocol header label #{pp_hdr.inspect}")
|
43
43
|
else
|
44
44
|
@proxy_address = pp_info[3]
|
45
45
|
@proxy_port = pp_info[5]
|
Binary file
|
data/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.0.
|
1
|
+
6.0.7
|
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: 6.0.
|
4
|
+
version: 6.0.7
|
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-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,7 +178,7 @@ files:
|
|
178
178
|
- logstash-input-tcp.gemspec
|
179
179
|
- spec/inputs/tcp_spec.rb
|
180
180
|
- spec/spec_helper.rb
|
181
|
-
- vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/6.0.
|
181
|
+
- vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/6.0.7/logstash-input-tcp-6.0.7.jar
|
182
182
|
- version
|
183
183
|
homepage: http://www.elastic.co/guide/en/logstash/current/index.html
|
184
184
|
licenses:
|