fluent-plugin-syslog-tls 2.0.0 → 2.1.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: 262868fd779671864af8b5cef830ce93520fead4d2180961594f6fa936eeeb85
4
- data.tar.gz: b8268ed11a3bd9f0735894d7ff53593f4a1f505b0ed2cb754d40faab78cecd2f
3
+ metadata.gz: 51cd955b5a0f3da96a8ea87a27efe4c9cde8a91cbf9db6d67d9714a4fa85c76d
4
+ data.tar.gz: 9e0a6b08a4dd7d9a853608f4076756b812aea1205d0a2439891d8446b402ffcf
5
5
  SHA512:
6
- metadata.gz: a867380a0f4fec32d2db3a2713b1d0249c0ffbac667517d38163e3215c59c82a1ed1f73c14e78c9ec60a68cc4d93a4b1c36d7fe9f90a2c73d13d6d7c3429ad51
7
- data.tar.gz: 1815edfd8f9faf39328de0c2690f13e95572dfd7d0e34e828562a83dcb1aee3c1890a1950491696ed573c33a33884b80b89cebde473ede9b48ba13e4ef089b66
6
+ metadata.gz: e8d8b1f440747076ad6edbf0cd05bb07070376eddeb82763c6e08f15c449ce1cda62560bc6dd3dbd3451b2b7540549e87a33583c30f1f20b5c8329df2d0d16b3
7
+ data.tar.gz: 95855ddb4df1d04d664318175327817673f397b56610b2a990c8e088a44f6c663df82894622022d039a05d08032d2270d2e2e441b5ad7f3fcec967ca82706a98
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ #### 2.1.0
2
+
3
+ * Require Ruby 2.5
4
+ * Allow TLS 1.3 (minimum remains TLS 1.2)
5
+
6
+
1
7
  #### 2.0.0
2
8
 
3
9
  * Require Ruby 2.4
data/Gemfile CHANGED
@@ -15,5 +15,3 @@
15
15
  source 'https://rubygems.org'
16
16
 
17
17
  gemspec
18
-
19
- gem 'coveralls', require: false
data/Gemfile.lock CHANGED
@@ -1,77 +1,67 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-syslog-tls (2.0.0)
4
+ fluent-plugin-syslog-tls (2.1.0.rc1)
5
5
  fluentd (>= 0.14.0, < 2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- addressable (2.6.0)
11
- public_suffix (>= 2.0.2, < 4.0)
12
- cool.io (1.5.4)
13
- coveralls (0.8.23)
14
- json (>= 1.8, < 3)
15
- simplecov (~> 0.16.1)
16
- term-ansicolor (~> 1.3)
17
- thor (>= 0.19.4, < 2.0)
18
- tins (~> 1.6)
19
- crack (0.4.3)
20
- safe_yaml (~> 1.0.0)
21
- dig_rb (1.0.1)
22
- docile (1.3.1)
23
- fluentd (1.5.0)
10
+ addressable (2.8.1)
11
+ public_suffix (>= 2.0.2, < 6.0)
12
+ concurrent-ruby (1.1.10)
13
+ cool.io (1.7.1)
14
+ crack (0.4.5)
15
+ rexml
16
+ docile (1.4.0)
17
+ fluentd (1.15.3)
18
+ bundler
24
19
  cool.io (>= 1.4.5, < 2.0.0)
25
- dig_rb (~> 1.0.0)
26
- http_parser.rb (>= 0.5.1, < 0.7.0)
27
- msgpack (>= 0.7.0, < 2.0.0)
28
- serverengine (>= 2.0.4, < 3.0.0)
20
+ http_parser.rb (>= 0.5.1, < 0.9.0)
21
+ msgpack (>= 1.3.1, < 2.0.0)
22
+ serverengine (>= 2.3.0, < 3.0.0)
29
23
  sigdump (~> 0.2.2)
30
- strptime (>= 0.2.2, < 1.0.0)
31
- tzinfo (~> 1.0)
24
+ strptime (>= 0.2.4, < 1.0.0)
25
+ tzinfo (>= 1.0, < 3.0)
32
26
  tzinfo-data (~> 1.0)
27
+ webrick (>= 1.4.2, < 1.8.0)
33
28
  yajl-ruby (~> 1.0)
34
- hashdiff (0.4.0)
35
- http_parser.rb (0.6.0)
36
- json (2.2.0)
37
- minitest (5.11.3)
38
- minitest-stub_any_instance (1.0.2)
39
- msgpack (1.2.10)
40
- power_assert (1.1.4)
41
- public_suffix (3.1.0)
42
- rake (12.3.2)
43
- safe_yaml (1.0.5)
44
- serverengine (2.1.1)
29
+ hashdiff (1.0.1)
30
+ http_parser.rb (0.8.0)
31
+ minitest (5.17.0)
32
+ minitest-stub_any_instance (1.0.3)
33
+ msgpack (1.6.0)
34
+ power_assert (2.0.3)
35
+ public_suffix (5.0.1)
36
+ rake (13.0.6)
37
+ rexml (3.2.5)
38
+ serverengine (2.3.1)
45
39
  sigdump (~> 0.2.2)
46
40
  sigdump (0.2.4)
47
- simplecov (0.16.1)
41
+ simplecov (0.22.0)
48
42
  docile (~> 1.1)
49
- json (>= 1.8, < 3)
50
- simplecov-html (~> 0.10.0)
51
- simplecov-html (0.10.2)
52
- strptime (0.2.3)
53
- term-ansicolor (1.7.1)
54
- tins (~> 1.0)
55
- test-unit (3.3.3)
43
+ simplecov-html (~> 0.11)
44
+ simplecov_json_formatter (~> 0.1)
45
+ simplecov-html (0.12.3)
46
+ simplecov_json_formatter (0.1.4)
47
+ strptime (0.2.5)
48
+ test-unit (3.5.7)
56
49
  power_assert
57
- thor (0.20.3)
58
- thread_safe (0.3.6)
59
- tins (1.20.3)
60
- tzinfo (1.2.5)
61
- thread_safe (~> 0.1)
62
- tzinfo-data (1.2019.1)
50
+ tzinfo (2.0.5)
51
+ concurrent-ruby (~> 1.0)
52
+ tzinfo-data (1.2022.7)
63
53
  tzinfo (>= 1.0.0)
64
- webmock (3.5.1)
65
- addressable (>= 2.3.6)
54
+ webmock (3.18.1)
55
+ addressable (>= 2.8.0)
66
56
  crack (>= 0.3.2)
67
- hashdiff
68
- yajl-ruby (1.4.1)
57
+ hashdiff (>= 0.4.0, < 2.0.0)
58
+ webrick (1.7.0)
59
+ yajl-ruby (1.4.3)
69
60
 
70
61
  PLATFORMS
71
62
  ruby
72
63
 
73
64
  DEPENDENCIES
74
- coveralls
75
65
  fluent-plugin-syslog-tls!
76
66
  minitest (~> 5.8)
77
67
  minitest-stub_any_instance (~> 1.0.0)
@@ -81,4 +71,4 @@ DEPENDENCIES
81
71
  webmock (~> 3.0)
82
72
 
83
73
  BUNDLED WITH
84
- 1.17.3
74
+ 2.3.26
@@ -1,5 +1,5 @@
1
1
  # Copyright 2016 Acquia, Inc.
2
- # Copyright 2016-2019 t.e.morgan.
2
+ # Copyright 2016-2023 t.e.morgan.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
31
31
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
32
32
  s.require_paths = ['lib']
33
- s.required_ruby_version = '>= 2.4'
33
+ s.required_ruby_version = '>= 2.5'
34
34
 
35
35
  s.add_runtime_dependency 'fluentd', [">= 0.14.0", "< 2"]
36
36
 
@@ -1,5 +1,5 @@
1
1
  # Copyright 2016 Acquia, Inc.
2
- # Copyright 2016-2019 t.e.morgan.
2
+ # Copyright 2016-2023 t.e.morgan.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ module SyslogTls
29
29
 
30
30
  attr_writer :retries
31
31
 
32
- def initialize(host, port, idle_timeout: nil, ca_cert: 'system', client_cert: nil, client_key: nil, verify_cert_name: true, ssl_version: :TLSv1_2, max_retries: 1)
32
+ def initialize(host, port, idle_timeout: nil, ca_cert: 'system', client_cert: nil, client_key: nil, verify_cert_name: true, ssl_version: :TLS1_2, max_retries: 1)
33
33
  @host = host
34
34
  @port = port
35
35
  @idle_timeout = idle_timeout
@@ -96,7 +96,7 @@ module SyslogTls
96
96
 
97
97
  ctx = OpenSSL::SSL::SSLContext.new
98
98
  ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
99
- ctx.ssl_version = ssl_version
99
+ ctx.min_version = ssl_version
100
100
 
101
101
  ctx.verify_hostname = verify_cert_name != false
102
102
 
@@ -14,5 +14,5 @@
14
14
  # limitations under the License.
15
15
 
16
16
  module SyslogTls
17
- VERSION = '2.0.0'
17
+ VERSION = '2.1.0'
18
18
  end
data/test/helper.rb CHANGED
@@ -12,13 +12,10 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'coveralls'
16
15
  require 'simplecov'
17
16
 
18
17
  SimpleCov.start
19
18
 
20
- Coveralls.wear! if ENV['TRAVIS']
21
-
22
19
  require 'test/unit'
23
20
  require 'fluent/test'
24
21
  require 'minitest/pride'
data/test/ssl.rb CHANGED
@@ -2,12 +2,14 @@ require 'socket'
2
2
  require 'openssl'
3
3
 
4
4
  module SSLTestHelper
5
- def ssl_server
5
+ def ssl_server(min_version: nil, max_version: nil)
6
6
  @ssl_server ||= begin
7
7
  tcp_server = TCPServer.new("localhost", 33000 + Random.rand(1000))
8
8
  ssl_context = OpenSSL::SSL::SSLContext.new
9
9
  ssl_context.cert = certificate
10
10
  ssl_context.key = rsa_key
11
+ ssl_context.min_version = min_version if min_version
12
+ ssl_context.max_version = max_version if max_version
11
13
  OpenSSL::SSL::SSLServer.new(tcp_server, ssl_context)
12
14
  end
13
15
  end
@@ -1,5 +1,5 @@
1
1
  # Copyright 2016 Acquia, Inc.
2
- # Copyright 2016 t.e.morgan.
2
+ # Copyright 2016-2023 t.e.morgan.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -20,19 +20,36 @@ require 'syslog_tls/ssl_transport'
20
20
  class SSLTransportTest < Test::Unit::TestCase
21
21
  include SSLTestHelper
22
22
 
23
- def test_ok_connection
24
- server = ssl_server
25
- st = Thread.new {
26
- client = server.accept
27
- assert_equal "TESTTEST2\n", client.gets
28
- client.close
29
- }
30
- SyslogTls::SSLTransport.stub_any_instance(:get_ssl_connection, ssl_client) do
31
- t = SyslogTls::SSLTransport.new("localhost", server.addr[1], max_retries: 3)
32
- t.write("TEST")
33
- t.write("TEST2\n")
23
+ # srvr-min srvr-max clnt-min should-raise?
24
+ [ [:TLS1_2, :TLS1_2, :TLS1_2],
25
+ [:TLS1_2, :TLS1_3, :TLS1_2],
26
+ [:TLS1_3, :TLS1_3, :TLS1_2],
27
+ [:TLS1_2, :TLS1_2, :TLS1_3, true],
28
+ [:TLS1_2, :TLS1_3, :TLS1_3],
29
+ [:TLS1_3, :TLS1_3, :TLS1_3],
30
+ ].each do |(server_min, server_max, client_min, should_raise)|
31
+ define_method "test_#{server_min}-#{server_max}_server_#{client_min}_client" do
32
+ Thread.report_on_exception = false
33
+ blk = lambda do
34
+ server = ssl_server(min_version: server_min, max_version: server_max)
35
+ st = Thread.new {
36
+ client = server.accept
37
+ assert_equal "TESTTEST2\n", client.gets
38
+ client.close
39
+ }
40
+ t = SyslogTls::SSLTransport.new("localhost", server.addr[1], ca_cert: false, ssl_version: client_min)
41
+ t.write("TEST")
42
+ t.write("TEST2\n")
43
+ st.join
44
+ end
45
+ if should_raise
46
+ assert_raises OpenSSL::SSL::SSLError, &blk
47
+ else
48
+ blk.call
49
+ end
50
+ ensure
51
+ Thread.report_on_exception = true
34
52
  end
35
- st.join
36
53
  end
37
54
 
38
55
  def test_retry
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-syslog-tls
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - thomas morgan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-01 00:00:00.000000000 Z
11
+ date: 2023-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -150,7 +150,7 @@ homepage: https://github.com/zarqman/fluent-plugin-syslog-tls
150
150
  licenses:
151
151
  - Apache v2
152
152
  metadata: {}
153
- post_install_message:
153
+ post_install_message:
154
154
  rdoc_options: []
155
155
  require_paths:
156
156
  - lib
@@ -158,15 +158,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - ">="
160
160
  - !ruby/object:Gem::Version
161
- version: '2.4'
161
+ version: '2.5'
162
162
  required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  requirements: []
168
- rubygems_version: 3.0.3
169
- signing_key:
168
+ rubygems_version: 3.3.26
169
+ signing_key:
170
170
  specification_version: 4
171
171
  summary: Fluent Syslog TLS output plugin
172
172
  test_files: