logstash-output-tcp 6.2.0 → 6.2.2

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: 9b97e9b9113d4cb10180102400b3a6ca6188f0a835df2628c059867ea0615fcf
4
- data.tar.gz: b13b7dc96ea37efdf72e697396ebcadfeb864c09a65465182dc9a9c3a7c78eec
3
+ metadata.gz: 12e6eaa4720dc56a6588aae77dd029643860e9ee7bfd92e5afe8893c32773f39
4
+ data.tar.gz: dd6cc7805773a7a5151aeb43c72a2d5f6122aee654c14cf206a41bdb870ca0be
5
5
  SHA512:
6
- metadata.gz: '08058e53dfcd3f6fcbf4c1e51a82e59998f6ad4348b9dc16c57a86393a92353a7e9c2396984183b2577afe2c35162a333b4d0c5c5e5aac855ffafa3a5a1c0836'
7
- data.tar.gz: f97cf1b1e6ddb5c5aeb01fe9f5cbb68aa71bf3798424a219095a8fe3a6b1678c3c7480f059769948e736277daf31f719eecd29a69b4a43bf81195ffa03025462
6
+ metadata.gz: e1a94857cb7891d1c95b30f14e19967e1a46a56c1b3380d479d064b5094318ec598914b268e13bd8c101e5234241ba0534410808152bfe1fd02d03bb63efdf0a
7
+ data.tar.gz: e16e659b6b97859000185d15321a2dd6c805da96628464b0989db7a6cf1879c7270309ce2eb5ba49266ea4582182f8d04183f2c7ea62094ff38b5a5053c5a168
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 6.2.2
2
+ - Invoke post_connection_check on connect [#61](https://github.com/logstash-plugins/logstash-output-tcp/pull/61)
3
+
4
+ ## 6.2.1
5
+ - Document correct default plugin codec [#54](https://github.com/logstash-plugins/logstash-output-tcp/pull/54)
6
+
1
7
  ## 6.2.0
2
8
  - Reviewed and deprecated SSL settings to comply with Logstash's naming convention [#53](https://github.com/logstash-plugins/logstash-output-tcp/pull/53)
3
9
  - Deprecated `ssl_enable` in favor of `ssl_enabled`
data/docs/index.asciidoc CHANGED
@@ -23,7 +23,7 @@ include::{include_path}/plugin_header.asciidoc[]
23
23
 
24
24
  Write events over a TCP socket.
25
25
 
26
- Each event json is separated by a newline.
26
+ By default this plugin uses the `json` codec. In order to have each event json separated by a newline, use the `json_lines` codec.
27
27
 
28
28
  Can either accept connections from clients or connect to a server,
29
29
  depending on `mode`.
@@ -279,7 +279,7 @@ class LogStash::Outputs::Tcp < LogStash::Outputs::Base
279
279
  client_socket = nil
280
280
  @codec.on_event do |event, payload|
281
281
  begin
282
- client_socket = connect unless client_socket
282
+ client_socket = retryable_connect unless client_socket
283
283
  while payload && payload.bytesize > 0
284
284
  begin
285
285
  written_bytes_size = client_socket.write_nonblock(payload)
@@ -331,32 +331,34 @@ class LogStash::Outputs::Tcp < LogStash::Outputs::Base
331
331
  @logger.error(msg, details)
332
332
  end
333
333
 
334
- private
335
-
336
334
  def connect
337
- begin
338
- client_socket = TCPSocket.new(@host, @port)
339
- if @ssl_enabled
340
- client_socket = OpenSSL::SSL::SSLSocket.new(client_socket, @ssl_context)
341
- begin
342
- client_socket.connect
343
- rescue OpenSSL::SSL::SSLError => ssle
344
- log_error 'connect ssl failure:', ssle, backtrace: false
345
- # NOTE(mrichar1): Hack to prevent hammering peer
346
- sleep(5)
347
- raise
348
- end
335
+ client_socket = TCPSocket.new(@host, @port)
336
+ if @ssl_enabled
337
+ client_socket = OpenSSL::SSL::SSLSocket.new(client_socket, @ssl_context)
338
+ begin
339
+ client_socket.connect
340
+ client_socket.post_connection_check(@host) if @ssl_verification_mode == 'full'
341
+ rescue OpenSSL::SSL::SSLError => ssle
342
+ log_error 'connect ssl failure:', ssle, backtrace: false
343
+ client_socket.close rescue nil
344
+ raise
349
345
  end
350
- client_socket.extend(::LogStash::Util::SocketPeer)
351
- @logger.debug("opened connection", :client => client_socket.peer)
352
- return client_socket
353
- rescue => e
354
- log_error 'failed to connect:', e
355
- sleep @reconnect_interval
356
- retry
357
346
  end
358
- end # def connect
347
+ client_socket.extend(::LogStash::Util::SocketPeer)
348
+ @logger.debug("opened connection", :client => client_socket.peer)
349
+ client_socket
350
+ end
359
351
 
352
+ private
353
+ def retryable_connect
354
+ connect
355
+ rescue => e
356
+ log_error 'failed to connect:', e
357
+ sleep @reconnect_interval
358
+ retry
359
+ end
360
+
361
+ private
360
362
  def validate_ssl_config!
361
363
  unless @ssl_enabled
362
364
  ignored_ssl_settings = original_params.select { |k| k != 'ssl_enabled' && k != 'ssl_enable' && k.start_with?('ssl_') }
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-tcp'
4
- s.version = '6.2.0'
4
+ s.version = '6.2.2'
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
- MIIDIjCCAgqgAwIBAgIUTCjyocBgCYSWU/GYI58F0IBXLHswDQYJKoZIhvcNAQEL
3
- BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
4
- cmF0ZWQgQ0EwHhcNMjIwMzIxMDc1NTU2WhcNMjUwMzIwMDc1NTU2WjATMREwDwYD
5
- VQQDEwhpbnN0YW5jZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJKT
6
- f0FF/R9WBC7lwN0IJdOn+jPJJ+4M3LY/sfFuTaAUgPSaiRLLzCjox1p1Xy9z+xyk
7
- C2Dkhb4FdOZBNqS/w0Z7lkrha8VZg2UKW4+i1lq4ANPl9sP9YCbh1R+SRdpHnZX7
8
- APG798+0+NC4GmEeOIFfWsEE4MiFXAPunhAlAbxMl6e5htX4cgYWMbH67Ur1/uQB
9
- 26Y6PBahKP7dbxaL/ugPE6MDmmA+cNRWMa21Ay2h94IesRXwNRFn1gQ1SqKU0hBJ
10
- KX7u0IoYyS6nbDlF6E+npLLWzDMCHsykrnadWV5kDSNv1t7Wvk0noNStrryOXgtc
11
- 7iCCOX1oqsP/yDNl9OECAwEAAaNNMEswHQYDVR0OBBYEFBtzuCJPEhHW3ZD1bReq
12
- S6K3P09OMB8GA1UdIwQYMBaAFJcC1Mw29qzRV0dPCCc6GyB8LXx3MAkGA1UdEwQC
13
- MAAwDQYJKoZIhvcNAQELBQADggEBAHvXsfMgY+PTBCnW3A6QCGZ3jTSRqqXRFYB8
14
- b/unfhD4iUFlgO4a/UCL2MTsFYXkzvlzwQyH6ll9/rTslBvJLiqi3+IZMfGNoaNI
15
- LhTLy0NF9scPju7Q6MxcPAceI4gmxKyBWJxm4XYJ1VwmPKJNzKqFEwfPWMakxUaT
16
- wiuhVodqZweWi7S2keYiduBLEbqWBJPKAnb8e3PIILBqL0nfhmVw0NSAD19d9oLR
17
- 89AaY8zQ4YL4Txs4FSrK0VQl3L6NAtAaq9JvXqzXD/E0EO1YL8ykM3Zash/GG9iN
18
- B9Momegqn8/q7pfoWdkE2oL9KUKispUT9Fq3mY6KHZL1T4SbxL8=
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,635374A0A566A0189BE4366E77881457
3
+ DEK-Info: AES-128-CBC,4E027532A0DE587AFF949BA191AB0BC1
4
4
 
5
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- GI2h1RRbn/Pnht17pkiXsajE8vESWLqzZj6gtmYmMHQ+GY5l8SHTTMhV2DpYZFfE
16
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
30
54
  -----END RSA PRIVATE KEY-----
@@ -1,19 +1,29 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- gH01PAoqQewkuxclufECAwEAAaNNMEswHQYDVR0OBBYEFNIW9layQi7V2kbYjwIu
12
- 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
- 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
- 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
- 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
- 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
- 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
- ncofcBHflmi8dkiKHVWNnOTdZdzkApYo59/eq4iDESR8YNgOCKA=
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 RSA PRIVATE KEY-----
2
- MIIEpAIBAAKCAQEAjSyxg8ZZ5xrRgwhUBPGcQD/5YUv95ZZxtpfkl5okD6DpbEyz
3
- YHoUQx9pLFq4asdkla1g0/WzSmm3MkQ8BnLHdOS/yg21JqLeuk6hxjd5sT9JZeVB
4
- 3vEda/L7DmWzUtEcg1SkScxmGN0epcWMiKmawBeKHNT8GseRYZ911yjzxi5oyC1Z
5
- ssipCv+gfJ3YXoqBBvIc9IPfmEJi8tCIcRju8ie0DoD2ZhJ1tmDRm8j5AYS9maFh
6
- dmMo7LtV+DynXOZ9sidd110I6QGnmBcO7xpHGKBpACLdj4RKdU/EOvrb5UTMJ2Z3
7
- 88JbxuUd+8T1tOCqNiaAfTU8CipB7CS7FyW58QIDAQABAoIBAD10dD4J7X72JLgm
8
- uvR//OXXM4cQXpFAAXZb/s2j8wi+on5bkUZxPjrOBKmjQF5zOC0UEW+TqJ2/EVmX
9
- bI3eD0eqgHbDqtUL12tA6Zlw8s+e3iO2Pgt/6K/iUTm+OebWUtQ012Osz9EJCNte
10
- +MNRGaV/WccdTDWYJIhbsx+bmyrsxxW49rwvgxI26tpJYp0QEmwEiDqfc8kRFWgy
11
- xVSt8Rjwk418YdsYUIGrO6RsGkwsCOTJWUJpBOzLBKwj4do5l5fC2g1/MSlj7Odj
12
- 0HH/riBmzBj/YcyMlkhfGU0Zj/OlDnz8FP5HhfpYsGxvrjOYJ49Cl4cu8r47wnFP
13
- nx4RMmUCgYEA4U9hOtp8oJ+Ztio/1I6bAb/hKLJ3LNeV46697/lTy6tSVmYJ1DGJ
14
- YU3P5wmOpjZC2xs22VyX/vgC1v5RT0Jg8CGgXukmMV1gQQch6gAQci9+ZJ4LRz9U
15
- ++dXyKuUbqncx9ezFwddBr+jQuu6Wn2AHljEp7wZGaijxD2lsp4B8vcCgYEAoGd8
16
- w+hre2pGy5PKJPSoPp+9tNVJasXe3DM6ZYEZkd+96gStA+8UlSYe9hP+Taik7oUJ
17
- SYzELfyU8s+9XWozaa1T5PeyY8jIbEnUHWy8Uag4dHY7ooR+7b3iAD4RLfx3o2GP
18
- vJwP3i2FwklDbbyugVXZBfkSf2NJ4QidYIWzGFcCgYAD4MHjqW8LtLOIlyGSHwI7
19
- /Xl6ode7RdqmmJNcVgZDMyevpQH2TQP4UMaLS3bRFY4BB27iPt2+3bXuzWHI43OX
20
- rnx8JbcqkljdxamnxWiDDp42TSIUj9p+m3S/V3Suku3h4qyKcO4A97tvo28Jr69M
21
- 1mpMGMi10FlBP25irKWL8QKBgQCZqKlnjrWwA24QROJnpoupeiMkIRH0m9rS/Kwb
22
- YqHZEQoALTyEwTnpaxxLxXlecYiWCZGNCLFCEG2rcQBJhZv8xxLQC8yzNDtzKQJu
23
- saRxYQG75ytXky94lebzLoIMmIcPVz13g9TblKZHKSHT9OUCdvewdhqXN8klLrh8
24
- J3gafwKBgQDcn/8lzfmbsKO/V9fzEbqUQJOJkwyf2adLFD+KlHM3+VAghnj70j05
25
- 1XDkQ3LOgKrqPdC/HIGjjlkTn6vaieXltHguMg99nPpzj+LXrtN22ru2eTjjUNsD
26
- +uB9N4kgUAR00xu60xkkOSK1TcudeL5uwejO2ul0tkDu1YGDvhXymA==
27
- -----END RSA PRIVATE KEY-----
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-----
@@ -125,7 +125,7 @@ describe LogStash::Outputs::Tcp do
125
125
  context "client mode" do
126
126
  before { subject.register }
127
127
 
128
- let(:config) { super().merge 'mode' => 'client' }
128
+ let(:config) { super().merge('mode' => 'client', 'host' => 'localhost') }
129
129
 
130
130
  it 'writes payload data' do
131
131
  Thread.start { sleep 0.25; subject.receive event }
@@ -229,11 +229,48 @@ describe LogStash::Outputs::Tcp do
229
229
  expect( read ).to end_with 'foo bar'
230
230
  end
231
231
 
232
+ context 'with ssl_verification_mode => full' do
233
+ let(:config) do
234
+ {
235
+ "mode" => "client",
236
+ "host" => "localhost",
237
+ "port" => port,
238
+ "ssl_enabled" => true,
239
+ "ssl_certificate_authorities" => crt_file,
240
+ "ssl_verification_mode" => "full",
241
+ "codec" => "plain"
242
+ }
243
+ end
244
+
245
+ context "with right host name" do
246
+ let(:config) { super().merge("host" => "localhost") }
247
+ it 'reads plain data' do
248
+ thread = Thread.start { sleep 0.25; subject.receive event }
249
+ socket = secure_server.accept
250
+ read = socket.sysread(100)
251
+ expect( read.size ).to be > 0
252
+ expect( read ).to end_with 'foo bar'
253
+ end
254
+ end
255
+
256
+ context "with wrong host name" do
257
+ let(:config) { super().merge("host" => "127.0.0.1") }
258
+ it 'closes the connection' do
259
+ thread = Thread.start do
260
+ sleep 0.25
261
+ expect { subject.connect }.to raise_error(OpenSSL::SSL::SSLError, /hostname "127.0.0.1" does not match the server certificate/)
262
+ end
263
+ secure_server.accept rescue nil # the other side will close the connection potentially causing a "Socket closed" error
264
+ thread.join
265
+ end
266
+ end
267
+ end
268
+
232
269
  end
233
270
 
234
271
  context 'with unsupported protocol (on server)' do
235
272
 
236
- let(:config) { super().merge("ssl_supported_protocols" => ['TLSv1.1']) }
273
+ let(:config) { super().merge("ssl_supported_protocols" => ['TLSv1.1'], "reconnect_interval" => 1) }
237
274
 
238
275
  let(:server_min_version) { 'TLS1_2' }
239
276
 
@@ -241,16 +278,16 @@ describe LogStash::Outputs::Tcp do
241
278
  after { secure_server.close }
242
279
 
243
280
  it 'fails (and loops retrying)' do
244
- expect(subject.logger).to receive(:error).with(/connect ssl failure/i, hash_including(message: /No appropriate protocol/i)).and_call_original
245
- expect(subject.logger).to receive(:error).with(/failed to connect/i, hash_including(exception: OpenSSL::SSL::SSLError)).and_call_original
281
+ expect(subject.logger).to receive(:error).twice.with(/connect ssl failure/i, hash_including(message: /No appropriate protocol/i)).and_call_original
282
+ expect(subject.logger).to receive(:error).twice.with(/failed to connect/i, hash_including(exception: OpenSSL::SSL::SSLError)).and_call_original
246
283
  expect(subject).to receive(:sleep).once.and_call_original
247
284
  expect(subject).to receive(:sleep).once.and_throw :TEST_DONE # to be able to abort the retry loop
248
285
 
249
286
  Thread.start { secure_server.accept rescue nil }
250
- expect { subject.receive event }.to throw_symbol(:TEST_DONE)
287
+ expect { sleep 0.25; subject.receive event }.to throw_symbol(:TEST_DONE)
251
288
  end
252
289
 
253
- end if LOGSTASH_VERSION > '7.0'
290
+ end
254
291
 
255
292
  end
256
293
 
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: 6.2.0
4
+ version: 6.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-19 00:00:00.000000000 Z
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
@@ -20,8 +20,8 @@ dependencies:
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
22
  name: logstash-core-plugin-api
23
- prerelease: false
24
23
  type: :runtime
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
@@ -37,8 +37,8 @@ dependencies:
37
37
  - !ruby/object:Gem::Version
38
38
  version: 8.1.0
39
39
  name: logstash-core
40
- prerelease: false
41
40
  type: :runtime
41
+ prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
@@ -51,8 +51,8 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
53
53
  name: logstash-codec-json
54
- prerelease: false
55
54
  type: :runtime
55
+ prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
@@ -65,8 +65,8 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  name: stud
68
- prerelease: false
69
68
  type: :runtime
69
+ prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
@@ -79,8 +79,8 @@ dependencies:
79
79
  - !ruby/object:Gem::Version
80
80
  version: '1.0'
81
81
  name: logstash-mixin-normalize_config_support
82
- prerelease: false
83
82
  type: :runtime
83
+ prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
@@ -93,8 +93,8 @@ dependencies:
93
93
  - !ruby/object:Gem::Version
94
94
  version: 0.12.2
95
95
  name: jruby-openssl
96
- prerelease: false
97
96
  type: :runtime
97
+ prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
@@ -107,8 +107,8 @@ dependencies:
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  name: logstash-devutils
110
- prerelease: false
111
110
  type: :development
111
+ prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
@@ -121,8 +121,8 @@ dependencies:
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  name: logstash-codec-plain
124
- prerelease: false
125
124
  type: :development
125
+ prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
@@ -135,8 +135,8 @@ dependencies:
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
137
  name: flores
138
- prerelease: false
139
138
  type: :development
139
+ prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - ">="
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  - !ruby/object:Gem::Version
186
186
  version: '0'
187
187
  requirements: []
188
- rubygems_version: 3.2.33
188
+ rubygems_version: 3.3.26
189
189
  signing_key:
190
190
  specification_version: 4
191
191
  summary: Writes events over a TCP socket