fluent-plugin-syslog-gobi-tls 2.1.3 → 2.1.4
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/fluent-plugin-syslog-tls.gemspec +1 -1
- data/lib/syslog_tls/ssl_transport.rb +34 -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: 5ce630881b7eec5768670ea60b861b14bd4c434aab48ab369001e48542d46ea3
|
4
|
+
data.tar.gz: 4958d79dad16536b4e4bfd42a29bac7b88cb668dfeb01d24ddd12b5ee1f13669
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e9e3c29a23cd9c198427522105258945195f187018c0f625afa33c420c7bdd0be55d4f746408bf9403372b78df062e22cc2d745bf1ad5b05031ec2fde1f7e98
|
7
|
+
data.tar.gz: a63f9d6b293c66bafeda9fa58aa8ce260ee73cf00cbf665071f11968d2400ddb1d418e33484bd1b67f2bbcfa5a52cfb749575c9620301b19bc10e6dc48793f30
|
@@ -19,7 +19,7 @@ require 'syslog_tls/version'
|
|
19
19
|
|
20
20
|
Gem::Specification.new do |s|
|
21
21
|
s.name = 'fluent-plugin-syslog-gobi-tls'
|
22
|
-
s.version = '2.1.
|
22
|
+
s.version = '2.1.4'
|
23
23
|
s.summary = %q{Fluent Syslog TLS output plugin}
|
24
24
|
s.authors = ['thomas morgan']
|
25
25
|
s.email = ['tm@iprog.com']
|
@@ -22,7 +22,8 @@ module SyslogTls
|
|
22
22
|
CONNECT_TIMEOUT = 10
|
23
23
|
# READ_TIMEOUT = 5
|
24
24
|
WRITE_TIMEOUT = 5
|
25
|
-
|
25
|
+
MAX_BACKOFF_RETRIES = 5
|
26
|
+
INITIAL_BACKOFF_DELAY = 1
|
26
27
|
attr_accessor :socket
|
27
28
|
|
28
29
|
attr_reader :host, :port, :idle_timeout, :ca_cert, :client_cert, :client_key, :verify_cert_name, :ssl_version
|
@@ -42,22 +43,49 @@ module SyslogTls
|
|
42
43
|
connect
|
43
44
|
end
|
44
45
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
46
|
+
def connect_with_backoff
|
47
|
+
retries = 0
|
48
|
+
backoff_delay = INITIAL_BACKOFF_DELAY
|
49
|
+
|
50
|
+
loop do
|
48
51
|
begin
|
52
|
+
@socket = get_ssl_connection
|
49
53
|
@socket.connect_nonblock
|
54
|
+
break
|
50
55
|
rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable
|
51
56
|
select_with_timeout(@socket, :connect_read) && retry
|
52
57
|
rescue IO::WaitWritable
|
53
58
|
select_with_timeout(@socket, :connect_write) && retry
|
59
|
+
rescue Errno::ETIMEDOUT
|
60
|
+
raise 'Socket timeout during connect' if retries >= MAX_BACKOFF_RETRIES
|
61
|
+
|
62
|
+
# Exponential backoff
|
63
|
+
retries += 1
|
64
|
+
sleep(backoff_delay)
|
65
|
+
backoff_delay *= 2
|
54
66
|
end
|
55
|
-
rescue Errno::ETIMEDOUT
|
56
|
-
raise 'Socket timeout during connect'
|
57
67
|
end
|
68
|
+
|
58
69
|
@last_write = Time.now if idle_timeout
|
59
70
|
end
|
60
71
|
|
72
|
+
def connect
|
73
|
+
connect_with_backoff
|
74
|
+
#@socket = get_ssl_connection
|
75
|
+
#begin
|
76
|
+
# begin
|
77
|
+
# @socket.connect_nonblock
|
78
|
+
#rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable
|
79
|
+
# select_with_timeout(@socket, :connect_read) && retry
|
80
|
+
#rescue IO::WaitWritable
|
81
|
+
# select_with_timeout(@socket, :connect_write) && retry
|
82
|
+
#end
|
83
|
+
#rescue Errno::ETIMEDOUT
|
84
|
+
# raise 'Socket timeout during connect'
|
85
|
+
#end
|
86
|
+
#@last_write = Time.now if idle_timeout
|
87
|
+
end
|
88
|
+
|
61
89
|
def get_tcp_connection
|
62
90
|
tcp = nil
|
63
91
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-syslog-gobi-tls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thomas morgan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|