logstash-output-tcp 7.0.0 → 7.0.1
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 +5 -1
- data/lib/logstash/outputs/tcp.rb +25 -23
- data/logstash-output-tcp.gemspec +1 -1
- data/spec/fixtures/encrypted/instance.crt +27 -17
- data/spec/fixtures/encrypted/instance.key +50 -26
- data/spec/fixtures/plaintext/instance.crt +27 -17
- data/spec/fixtures/plaintext/instance.key +52 -27
- data/spec/outputs/tcp_spec.rb +43 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f3d55b1be71f4defe4a2d4825b00ea1b1e8c6cc5d97dbe3385129a743cfc0c1
|
4
|
+
data.tar.gz: 69875ac2174ededc584c88b8f842385cf7d57cefc0b0c8ffbf1c20e60daf0984
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a173f7ea4f9cc7f2b5876e2a774d649fe5a9cf5c2f6294496f3df0e53103238aa272953444d8ef0e5ddc0a5776528ea277aaa85927cbd01e8de36bf5a19f3ae3
|
7
|
+
data.tar.gz: 73d262224113489d7ac273fc2b9469d64eb39aeb3106a42b2e711ee1a2bda7dfb5eebeac9d7dd07586ae939d83a172c529391686b3a192ea730e908890fe6a0b
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,15 @@
|
|
1
|
+
## 7.0.1
|
2
|
+
- Invoke post_connection_check on connect [#61](https://github.com/logstash-plugins/logstash-output-tcp/pull/61)
|
3
|
+
|
1
4
|
## 7.0.0
|
2
5
|
- SSL settings that were marked deprecated in version `6.2.0` are now marked obsolete, and will prevent the plugin from starting.
|
6
|
+
[#58](https://github.com/logstash-plugins/logstash-output-tcp/pull/58)
|
3
7
|
- These settings are:
|
4
8
|
- `ssl_cert`, which should be replaced by `ssl_certificate`
|
5
9
|
- `ssl_cacert`, which should be replaced by `ssl_certificate_authorities`
|
6
10
|
- `ssl_enable`, which should be replaced by `ssl_enabled`
|
7
11
|
- `ssl_verify`, which should be replaced by `ssl_client_authentication` when `mode` is `server` or `ssl_verification_mode`when mode is `client`
|
8
|
-
|
12
|
+
|
9
13
|
## 6.2.1
|
10
14
|
- Document correct default plugin codec [#54](https://github.com/logstash-plugins/logstash-output-tcp/pull/54)
|
11
15
|
|
data/lib/logstash/outputs/tcp.rb
CHANGED
@@ -264,7 +264,7 @@ class LogStash::Outputs::Tcp < LogStash::Outputs::Base
|
|
264
264
|
client_socket = nil
|
265
265
|
@codec.on_event do |event, payload|
|
266
266
|
begin
|
267
|
-
client_socket =
|
267
|
+
client_socket = retryable_connect unless client_socket
|
268
268
|
while payload && payload.bytesize > 0
|
269
269
|
begin
|
270
270
|
written_bytes_size = client_socket.write_nonblock(payload)
|
@@ -316,32 +316,34 @@ class LogStash::Outputs::Tcp < LogStash::Outputs::Base
|
|
316
316
|
@logger.error(msg, details)
|
317
317
|
end
|
318
318
|
|
319
|
-
private
|
320
|
-
|
321
319
|
def connect
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
raise
|
333
|
-
end
|
320
|
+
client_socket = TCPSocket.new(@host, @port)
|
321
|
+
if @ssl_enabled
|
322
|
+
client_socket = OpenSSL::SSL::SSLSocket.new(client_socket, @ssl_context)
|
323
|
+
begin
|
324
|
+
client_socket.connect
|
325
|
+
client_socket.post_connection_check(@host) if @ssl_verification_mode == 'full'
|
326
|
+
rescue OpenSSL::SSL::SSLError => ssle
|
327
|
+
log_error 'connect ssl failure:', ssle, backtrace: false
|
328
|
+
client_socket.close rescue nil
|
329
|
+
raise
|
334
330
|
end
|
335
|
-
client_socket.extend(::LogStash::Util::SocketPeer)
|
336
|
-
@logger.debug("opened connection", :client => client_socket.peer)
|
337
|
-
return client_socket
|
338
|
-
rescue => e
|
339
|
-
log_error 'failed to connect:', e
|
340
|
-
sleep @reconnect_interval
|
341
|
-
retry
|
342
331
|
end
|
343
|
-
|
332
|
+
client_socket.extend(::LogStash::Util::SocketPeer)
|
333
|
+
@logger.debug("opened connection", :client => client_socket.peer)
|
334
|
+
client_socket
|
335
|
+
end
|
344
336
|
|
337
|
+
private
|
338
|
+
def retryable_connect
|
339
|
+
connect
|
340
|
+
rescue => e
|
341
|
+
log_error 'failed to connect:', e
|
342
|
+
sleep @reconnect_interval
|
343
|
+
retry
|
344
|
+
end
|
345
|
+
|
346
|
+
private
|
345
347
|
def validate_ssl_config!
|
346
348
|
unless @ssl_enabled
|
347
349
|
ignored_ssl_settings = original_params.select { |k| k != 'ssl_enabled' && k != 'ssl_enable' && k.start_with?('ssl_') }
|
data/logstash-output-tcp.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-output-tcp'
|
4
|
-
s.version = '7.0.
|
4
|
+
s.version = '7.0.1'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Writes events over a TCP socket"
|
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"
|
@@ -1,19 +1,29 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
2
|
+
MIIFCTCCAvGgAwIBAgIUdHG7Xk1l4WxvSlUvAk1mpmlhCTQwDQYJKoZIhvcNAQEL
|
3
|
+
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI1MDQyNDE1MDUzMFoXDTI2MDQy
|
4
|
+
NDE1MDUzMFowFDESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEF
|
5
|
+
AAOCAg8AMIICCgKCAgEApPKmPu7+6UxegJTzmS672REWIo+YtCK0I+Wxb4/SYwBo
|
6
|
+
9zbeGPYzs5PDA8kc8slWHsXuItjsRe5aPwtXjgmySpdQJN+RafO+F5r2nDnNftPs
|
7
|
+
oSqINJChKxfGAW+kNWDPU7gJWIujReBBrAojouPxSKsVmldtQONwS6aOJ397iPYH
|
8
|
+
d17eoqlKtQbCSwoNFTj+QkAeZRtbuwyfuwqdv1srn5HAaLMcJfXJ++1J400GLacw
|
9
|
+
Zk54HlPsPfFp092fMh0S2rkUc8ksSF3Ak5vJEgKIu3yYv3Exttvv5C1Hw5i0T1fk
|
10
|
+
26TEpsDkM3v+rJROLWZegolmyOOwPz+5OxhwCf806qatWbqQACBbS/Dpgd9wjeDO
|
11
|
+
cyunucN5zSjRYkRY0otsMOIFAfLumZJBOOJz2J1PkyfE1u38tHTBQ/EGFB/T60IN
|
12
|
+
6IE4xLCV3dlxM29ezEg7Lc+tzgMFWtWmMUlJP0HT8KUkBIyjaNl7PAgwrZvL9clQ
|
13
|
+
5ppLbU2A3e4HDE4PCqjfUq7ZEbgB0kiyvTb8LkOXRqu/jvQt3Askm6WnHGggCLY9
|
14
|
+
MYRzOkYOtCJn8zS/RY4KWrciOJYc8ieKoJ96oHc/gWkeIsL5eZ0RDUmwXbNqff8K
|
15
|
+
Ol2lx/UceoY89qoLBsTcD3Gdq4hKP5opEpsOPrTQA52Os01pEEJx4oB8tkLC00EC
|
16
|
+
AwEAAaNTMFEwHQYDVR0OBBYEFJLCl1hNHzoaJG4yaZTY0tRkBqt3MB8GA1UdIwQY
|
17
|
+
MBaAFJLCl1hNHzoaJG4yaZTY0tRkBqt3MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
18
|
+
hvcNAQELBQADggIBADlqdYnWF/dfNwvrP7A0lqiCO8Gc5ia/tP5xepswtKHwTLlf
|
19
|
+
WzvGI9gDDOdaOLU2BNAJjn5o6DA9MF9IWNHYCnEp0ZKTXX69IlJB3/VK2JU0L2pY
|
20
|
+
R9deha5fqAELge9o1dZ4lwvHPCsRO3peNSbQCVXSPSRNw/iQITrL/VM2qT88bJd9
|
21
|
+
v/DK0UNnhmJKNXQSjHwUtkBeKXrIURRlmkXr6YR+wIhQEm8Tx0dJTmUVb1e7bjmm
|
22
|
+
/NwDG+qFFiGScLzmVVk2gAaiPJpOFjyFqsazMUXPD/3uHPwIvVXpLxr0pby2bMHj
|
23
|
+
8FAxYYqIKcx8m0tSFecOx7k1gp1nODygJQwXuqsVbJjM1x1xA8WL0a4dcr7WCqhj
|
24
|
+
bswICLFPHTRhEqK1D8a6TEe156H2b0p4YFhjXDy94ppGEg+1/bKklehihpS2nerO
|
25
|
+
JUiuWrLNirK3Xqs7rNJ1tMx+D3fCJOdnELYjYB7HbIyySF5wTtNKSPGzhI7HMdj9
|
26
|
+
s1B8OuNJTDPKkz3P3OOFUL5Eqs6Ztvzt58+VBMv7X3+8qrSfgmhzKVm4vv3t/pOX
|
27
|
+
M3ACdYyC4y6p2HtoPke1C4ySze7f2LAW+g3Pj7awlSUsnaf2gElke8UszMvl84qI
|
28
|
+
QZ7qExJbYJ7UU9gzNG2rHE/e1OM4OL+W70t44QgNiynQCVfhC+XTAmjF0NZn
|
19
29
|
-----END CERTIFICATE-----
|
@@ -1,30 +1,54 @@
|
|
1
1
|
-----BEGIN RSA PRIVATE KEY-----
|
2
2
|
Proc-Type: 4,ENCRYPTED
|
3
|
-
DEK-Info: AES-128-CBC,
|
3
|
+
DEK-Info: AES-128-CBC,4E027532A0DE587AFF949BA191AB0BC1
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
5
|
+
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
|
30
54
|
-----END RSA PRIVATE KEY-----
|
@@ -1,19 +1,29 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
2
|
+
MIIFCTCCAvGgAwIBAgIUEfdmTh/66Nb7eEdKJ/b0HxO46S8wDQYJKoZIhvcNAQEL
|
3
|
+
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI1MDQyNDE1MDUzMFoXDTI2MDQy
|
4
|
+
NDE1MDUzMFowFDESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEF
|
5
|
+
AAOCAg8AMIICCgKCAgEApPKmPu7+6UxegJTzmS672REWIo+YtCK0I+Wxb4/SYwBo
|
6
|
+
9zbeGPYzs5PDA8kc8slWHsXuItjsRe5aPwtXjgmySpdQJN+RafO+F5r2nDnNftPs
|
7
|
+
oSqINJChKxfGAW+kNWDPU7gJWIujReBBrAojouPxSKsVmldtQONwS6aOJ397iPYH
|
8
|
+
d17eoqlKtQbCSwoNFTj+QkAeZRtbuwyfuwqdv1srn5HAaLMcJfXJ++1J400GLacw
|
9
|
+
Zk54HlPsPfFp092fMh0S2rkUc8ksSF3Ak5vJEgKIu3yYv3Exttvv5C1Hw5i0T1fk
|
10
|
+
26TEpsDkM3v+rJROLWZegolmyOOwPz+5OxhwCf806qatWbqQACBbS/Dpgd9wjeDO
|
11
|
+
cyunucN5zSjRYkRY0otsMOIFAfLumZJBOOJz2J1PkyfE1u38tHTBQ/EGFB/T60IN
|
12
|
+
6IE4xLCV3dlxM29ezEg7Lc+tzgMFWtWmMUlJP0HT8KUkBIyjaNl7PAgwrZvL9clQ
|
13
|
+
5ppLbU2A3e4HDE4PCqjfUq7ZEbgB0kiyvTb8LkOXRqu/jvQt3Askm6WnHGggCLY9
|
14
|
+
MYRzOkYOtCJn8zS/RY4KWrciOJYc8ieKoJ96oHc/gWkeIsL5eZ0RDUmwXbNqff8K
|
15
|
+
Ol2lx/UceoY89qoLBsTcD3Gdq4hKP5opEpsOPrTQA52Os01pEEJx4oB8tkLC00EC
|
16
|
+
AwEAAaNTMFEwHQYDVR0OBBYEFJLCl1hNHzoaJG4yaZTY0tRkBqt3MB8GA1UdIwQY
|
17
|
+
MBaAFJLCl1hNHzoaJG4yaZTY0tRkBqt3MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
18
|
+
hvcNAQELBQADggIBAGyxaUWK/Xhc8ZZ1TlJ8yz7RCN/wtRdB/Cw+6XIH9pJ86YEm
|
19
|
+
oSmdYj+2hJ650qjAh1rqjoACxcCAIWlBfrG14pVnDdKOVQwX+NZjRZv3V4fRdqSs
|
20
|
+
DgzOLbdZcocL97S42b6qPhlpkiTlQ4Z6nzeB4HjzVln+0bAb9ykFxnyicCHyCPg5
|
21
|
+
rSO5eiLGq/eXQOblBpb/xqOSsiRq6VHBFfOjjFDE2eOiYT5kuZvOWNgHUz/4e2TN
|
22
|
+
7WXNB3eJgNfmttXsQnNMK7G5J7rYlnOSg7bTCZFFbcGKf2CILKxDn4KCv/ZWeeBc
|
23
|
+
bAuAaGAJTO+DLZlah2Yn0bpkmvpsLZ6NmZr9T+BV0xa17Q8VEgd9tensxnmp0gf/
|
24
|
+
xC+kapL6pMu+2VJHQ0V9K32h3hongddofKczL1ztvKhISIVYM+vPwxS9VdXEwUxz
|
25
|
+
HTqu9hP5TBQCHR5cAKBwz3+haWA6iq8rCEXoDgwHgwYARQI6C6f8AVbU9OWLt5Nt
|
26
|
+
RwpJYMYpJhIOyuuRpaCIKAyBaST87MOj6dB31mlZQtXUFJ2ZYNmpZlCwoS1BWj8m
|
27
|
+
gHsv5vqPVHUq0lvxamNPJyGLfv+lckxXQcepMdjl2qLkAQJFYNMwOy9fFVZXOt3k
|
28
|
+
N5J4xyJ3nD50j/y9KeM3s7pDHENyIQtstJ3kMyCaD97SSlcXxTlinYOp2SIl
|
19
29
|
-----END CERTIFICATE-----
|
@@ -1,27 +1,52 @@
|
|
1
|
-
-----BEGIN
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
+
|
27
|
-
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCk8qY+7v7pTF6A
|
3
|
+
lPOZLrvZERYij5i0IrQj5bFvj9JjAGj3Nt4Y9jOzk8MDyRzyyVYexe4i2OxF7lo/
|
4
|
+
C1eOCbJKl1Ak35Fp874XmvacOc1+0+yhKog0kKErF8YBb6Q1YM9TuAlYi6NF4EGs
|
5
|
+
CiOi4/FIqxWaV21A43BLpo4nf3uI9gd3Xt6iqUq1BsJLCg0VOP5CQB5lG1u7DJ+7
|
6
|
+
Cp2/WyufkcBosxwl9cn77UnjTQYtpzBmTngeU+w98WnT3Z8yHRLauRRzySxIXcCT
|
7
|
+
m8kSAoi7fJi/cTG22+/kLUfDmLRPV+TbpMSmwOQze/6slE4tZl6CiWbI47A/P7k7
|
8
|
+
GHAJ/zTqpq1ZupAAIFtL8OmB33CN4M5zK6e5w3nNKNFiRFjSi2ww4gUB8u6ZkkE4
|
9
|
+
4nPYnU+TJ8TW7fy0dMFD8QYUH9PrQg3ogTjEsJXd2XEzb17MSDstz63OAwVa1aYx
|
10
|
+
SUk/QdPwpSQEjKNo2Xs8CDCtm8v1yVDmmkttTYDd7gcMTg8KqN9SrtkRuAHSSLK9
|
11
|
+
NvwuQ5dGq7+O9C3cCySbpaccaCAItj0xhHM6Rg60ImfzNL9FjgpatyI4lhzyJ4qg
|
12
|
+
n3qgdz+BaR4iwvl5nRENSbBds2p9/wo6XaXH9Rx6hjz2qgsGxNwPcZ2riEo/mikS
|
13
|
+
mw4+tNADnY6zTWkQQnHigHy2QsLTQQIDAQABAoICAEGGKshBRH4E2l2VzhcB25ll
|
14
|
+
Ejf0dyLHzmucKRo6NcciOJBL+XpNA0jI3+U3FQrVNCLRWcH6DhHRl4QHy2YfL/Y1
|
15
|
+
mZ6sOSWvr8nMwz5YL+u73/o93RGUipGFxiB36vFRXcrSBtRn1BpD9ZKUDIf+qLDH
|
16
|
+
VbOUG1B1iPxkU4AZQkesBFdFFofjXEwBPVl1yrCtjUNgGTLs5UmuwB0bIIMNgozG
|
17
|
+
53ov/HSP6QbswjdLN7MXAUEC1vClQelxZyrElSLhLcY5U4iTV8X/iCqa7gr7ermP
|
18
|
+
y1Xxb2BGiktIOYPXu3jxX3ZpQ71CTuSs0wRXfZ7HVa/hSTVwTWkytTBmistN2ATj
|
19
|
+
n0246fT+JRkncXQIcActqIyzk7b3o0bqxRLx3vBRUsif1BB34l0+mkUvyQXlGJux
|
20
|
+
XpCmbmA0BUDkUkLYFsHwBCEfmYXKM2ue5XB/nbqqK/UX7DrlrJSCh5eL8hpvWXEI
|
21
|
+
WQGSscEbDKAAWsoCMZn2ZEhUUIv/W7TOX6ApB3oJZOiYNlhQjlygZPebETyXEvWD
|
22
|
+
EN+4+Y7U2oKBF2iNfEcm0SOs/4mx6Sr7ifhXZ2Yue8WUcQ+sof/XERGPdWGb/Ye9
|
23
|
+
rg8BHvc80bNnXmGZphSOOXKdWKPSZI25ApIZyrqayc661hLztOKfH5rEhMwHW1ke
|
24
|
+
BSGka1EfvGovJ7JXqJvJAoIBAQDQAnLHbstyup+t7/UahnaAoI0YQ4IEbLwe7GUj
|
25
|
+
nJyTT1h5pL+WSxsljxrQq6LwVSgmE0Ib260s5581E9SM/b0hE7qeUS+V0J7Y3ePk
|
26
|
+
xiCaCgP6gALyVhxtQGQsL+05DuaDQ8Vo3Z0J4kUoCbYPnLAmYNI5FZ0GTrHOi9JD
|
27
|
+
Jh7u7jvIaNLaz9Fl8ebQU/0G4cT53HY+XMmlsm5n3ZJoFk14PAQiaQCSVZg8Ityk
|
28
|
+
M37gkLZYncaRuRvfp8Z/DRM3Zjoim3y4QIR/SAv/q+Asaqb5HAMbSrWThcXyNkLu
|
29
|
+
KGEs/xWnBAK2VIZr7XAVQYwxDgLZjowLmXgHb2vqsUJEPKQ/AoIBAQDLAN8Kp3Np
|
30
|
+
5R6ZDKvDyvZ/CfHVyqfaKzrKVQg67qddOjpNTtnz08OkOCW4HrnknCr9+WJElBdn
|
31
|
+
Q1eqPCngvWtxDxfh0Qzvkh1eiC90bgzks6OH4Ex98AYSX/+zX/B+TGalYtVlOstt
|
32
|
+
6oz7JYwjgNPsoEkAbBwnGl/JTFEQ1UNuRmxDBP+bgJRbqt6zMOr3Ig94mDLKI6xm
|
33
|
+
uxZLW6pSv12jXQPxsUQ/roUCrcFB0ry6PT7PEB3JxGAsJbZZE//QP9KZ8CAy+vR9
|
34
|
+
N8jk/gzCQgkhca3DI9EeB79wP/DLjSwE5AVodL9SJfZX9pYmsj2JSk615a946ELT
|
35
|
+
7AE4GrHaHKh/AoIBAQCxhiVnR4uistusmupYZQGl7V/9oT/JfvNegOogZnzKzCD6
|
36
|
+
UDyijB7zAxsjlBhPfJ3zQORe2jEF7ffWWMJCQhuzqx7OFwPBnHa1J0pj6SPR01Jp
|
37
|
+
6+6X3B4Or7HOdGjFFY5t4N0ODnUEBnR3IzKaSGOdnWxNA8ErrOXbHUGpxVMJH5Eu
|
38
|
+
DShHTq2rj7QpgESmJvDxPdI8jvwZyhqn0lYtNzuOrcnphCvUt/BhAm/EQ565EUhO
|
39
|
+
gPkDTTQYwRuLOyF3WmurNYBPz+BEsLxsy8daoPs4B0wvcqdc7AJwIRcmIpgsytcz
|
40
|
+
3xxhd+nxGodZ3MNE6mxMOHgVPjlOPy2e8wFXM1oJAoIBAHu2bTat85zuP2ZgHXE1
|
41
|
+
iGDFK7bxSLehLrPNfDWF6ULcUFl6m0KHpCu49+ur9feG4IBkcWl/on+Qv6UEAzVt
|
42
|
+
2kNNQm2gm7SIJBPPBLR8uKjLfPY6UANTui+Kh2bGKeaeItPZVljZqs2yafZH3I5q
|
43
|
+
XTxQNgzm1YVTAlrHgoOyo+RZUHLLYgZfJopyqEMlpZu0Cx+gCRu8/7yfeSe1lifV
|
44
|
+
bXg4IEYzlHcGoRKP1z2I8vDAkD1aAf1LCpz84pKIqJY9vteHSegnncWNsIU0+YuM
|
45
|
+
+MmD4LQSaMdXS2hZ3yH9R303hMAyncGvVuAmazzr1KqNOUiK0BPr34YMxnVtd0OH
|
46
|
+
wXsCggEBAMHukcdldqhBwdSUMDlzqoUGBtHdA5KCbAbJTL0P1EvqVivinWsu0idR
|
47
|
+
q4Nr+0y2SEsgWB0Io7BZcBRtXGFq08IkWV2PAcuEMNkXcOjZsPWEGxJxv7A0jhP1
|
48
|
+
9Y6eSxlOJfbT7nKQAnY3sADOzzCDR+xKcUrckFNxaIIKRFgkTyRP137LGeCvti4M
|
49
|
+
BFWjRfoaaDIJ6Fe8KfTz0Gds+oDQE5H9FzGaMSpY4OS9ERWmA+FVUBgGu8KYcZA8
|
50
|
+
L71sA6CRBK04MsK3rKi+/5tQZHxrkLb3Ast5So7f8TbgJCe7fGo0jDcmwxlarN+K
|
51
|
+
o22D2dsjujfyKKiKar1g0pjn2ouLyGI=
|
52
|
+
-----END PRIVATE KEY-----
|
data/spec/outputs/tcp_spec.rb
CHANGED
@@ -144,7 +144,7 @@ describe LogStash::Outputs::Tcp do
|
|
144
144
|
context "client mode" do
|
145
145
|
before { subject.register }
|
146
146
|
|
147
|
-
let(:config) { super().merge
|
147
|
+
let(:config) { super().merge('mode' => 'client', 'host' => 'localhost') }
|
148
148
|
|
149
149
|
it 'writes payload data' do
|
150
150
|
Thread.start { sleep 0.25; subject.receive event }
|
@@ -248,11 +248,48 @@ describe LogStash::Outputs::Tcp do
|
|
248
248
|
expect( read ).to end_with 'foo bar'
|
249
249
|
end
|
250
250
|
|
251
|
+
context 'with ssl_verification_mode => full' do
|
252
|
+
let(:config) do
|
253
|
+
{
|
254
|
+
"mode" => "client",
|
255
|
+
"host" => "localhost",
|
256
|
+
"port" => port,
|
257
|
+
"ssl_enabled" => true,
|
258
|
+
"ssl_certificate_authorities" => crt_file,
|
259
|
+
"ssl_verification_mode" => "full",
|
260
|
+
"codec" => "plain"
|
261
|
+
}
|
262
|
+
end
|
263
|
+
|
264
|
+
context "with right host name" do
|
265
|
+
let(:config) { super().merge("host" => "localhost") }
|
266
|
+
it 'reads plain data' do
|
267
|
+
thread = Thread.start { sleep 0.25; subject.receive event }
|
268
|
+
socket = secure_server.accept
|
269
|
+
read = socket.sysread(100)
|
270
|
+
expect( read.size ).to be > 0
|
271
|
+
expect( read ).to end_with 'foo bar'
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
context "with wrong host name" do
|
276
|
+
let(:config) { super().merge("host" => "127.0.0.1") }
|
277
|
+
it 'closes the connection' do
|
278
|
+
thread = Thread.start do
|
279
|
+
sleep 0.25
|
280
|
+
expect { subject.connect }.to raise_error(OpenSSL::SSL::SSLError, /hostname "127.0.0.1" does not match the server certificate/)
|
281
|
+
end
|
282
|
+
secure_server.accept rescue nil # the other side will close the connection potentially causing a "Socket closed" error
|
283
|
+
thread.join
|
284
|
+
end
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
251
288
|
end
|
252
289
|
|
253
290
|
context 'with unsupported protocol (on server)' do
|
254
291
|
|
255
|
-
let(:config) { super().merge("ssl_supported_protocols" => ['TLSv1.1']) }
|
292
|
+
let(:config) { super().merge("ssl_supported_protocols" => ['TLSv1.1'], "reconnect_interval" => 1) }
|
256
293
|
|
257
294
|
let(:server_min_version) { 'TLS1_2' }
|
258
295
|
|
@@ -260,16 +297,16 @@ describe LogStash::Outputs::Tcp do
|
|
260
297
|
after { secure_server.close }
|
261
298
|
|
262
299
|
it 'fails (and loops retrying)' do
|
263
|
-
expect(subject.logger).to receive(:error).with(/connect ssl failure/i, hash_including(message: /No appropriate protocol/i)).and_call_original
|
264
|
-
expect(subject.logger).to receive(:error).with(/failed to connect/i, hash_including(exception: OpenSSL::SSL::SSLError)).and_call_original
|
300
|
+
expect(subject.logger).to receive(:error).twice.with(/connect ssl failure/i, hash_including(message: /No appropriate protocol/i)).and_call_original
|
301
|
+
expect(subject.logger).to receive(:error).twice.with(/failed to connect/i, hash_including(exception: OpenSSL::SSL::SSLError)).and_call_original
|
265
302
|
expect(subject).to receive(:sleep).once.and_call_original
|
266
303
|
expect(subject).to receive(:sleep).once.and_throw :TEST_DONE # to be able to abort the retry loop
|
267
304
|
|
268
305
|
Thread.start { secure_server.accept rescue nil }
|
269
|
-
expect { subject.receive event }.to throw_symbol(:TEST_DONE)
|
306
|
+
expect { sleep 0.25; subject.receive event }.to throw_symbol(:TEST_DONE)
|
270
307
|
end
|
271
308
|
|
272
|
-
end
|
309
|
+
end
|
273
310
|
|
274
311
|
end
|
275
312
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-tcp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.
|
4
|
+
version: 7.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|