fluent-plugin-secure-forward 0.1.6 → 0.1.7
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/README.md +1 -1
- data/fluent-plugin-secure-forward.gemspec +1 -1
- data/lib/fluent/plugin/in_secure_forward.rb +10 -5
- data/lib/fluent/plugin/out_secure_forward.rb +15 -10
- metadata +15 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8af5d60c64844af10a3b696b82575ea1fe454ca4
|
4
|
+
data.tar.gz: 2b2233c78c7ed1e3719739164509d81170f96729
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fb1d89761e7732a110d0c1b539645b382585adda84c69922f1a28fee51d98e7e02671bfa13c7a63d8ef697c9c87df24b0833ef3fe8bfa90eb1dfdfc78441d7d
|
7
|
+
data.tar.gz: 5637f5af9ea6b56eea5f125e3ce14d03f684620974560898ca3d0446b2510485bd71ae1869b9d8d8ca98614460bcdcfccd5f9a8a47e0c66fde09eb5230b0ffde
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# fluent-plugin-secure-forward
|
2
2
|
|
3
|
-
Fluentd input/output plugin to forward fluentd messages over SSL with authentication.
|
3
|
+
[Fluentd](http://fluentd.org) input/output plugin to forward fluentd messages over SSL with authentication.
|
4
4
|
|
5
5
|
This plugin makes you to be able to:
|
6
6
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |gem|
|
3
3
|
gem.name = "fluent-plugin-secure-forward"
|
4
|
-
gem.version = "0.1.
|
4
|
+
gem.version = "0.1.7"
|
5
5
|
gem.authors = ["TAGOMORI Satoshi"]
|
6
6
|
gem.email = ["tagomoris@gmail.com"]
|
7
7
|
gem.summary = %q{Fluentd input/output plugin to forward over SSL with authentications}
|
@@ -69,6 +69,11 @@ module Fluent
|
|
69
69
|
require 'digest'
|
70
70
|
end
|
71
71
|
|
72
|
+
# Define `log` method for v0.10.42 or earlier
|
73
|
+
unless method_defined?(:log)
|
74
|
+
define_method("log") { $log }
|
75
|
+
end
|
76
|
+
|
72
77
|
def configure(conf)
|
73
78
|
super
|
74
79
|
|
@@ -165,22 +170,22 @@ module Fluent
|
|
165
170
|
end
|
166
171
|
|
167
172
|
def run # sslsocket server thread
|
168
|
-
|
173
|
+
log.trace "setup for ssl sessions"
|
169
174
|
cert, key = self.certificate
|
170
175
|
ctx = OpenSSL::SSL::SSLContext.new
|
171
176
|
ctx.cert = cert
|
172
177
|
ctx.key = key
|
173
178
|
|
174
|
-
|
179
|
+
log.trace "start to listen", :bind => @bind, :port => @port
|
175
180
|
server = TCPServer.new(@bind, @port)
|
176
|
-
|
181
|
+
log.trace "starting SSL server", :bind => @bind, :port => @port
|
177
182
|
@sock = OpenSSL::SSL::SSLServer.new(server, ctx)
|
178
183
|
@sock.start_immediately = false
|
179
184
|
begin
|
180
|
-
|
185
|
+
log.trace "accepting sessions"
|
181
186
|
loop do
|
182
187
|
while socket = @sock.accept
|
183
|
-
|
188
|
+
log.trace "accept tcp connection (ssl session not established yet)"
|
184
189
|
@sessions.push Session.new(self, socket)
|
185
190
|
end
|
186
191
|
end
|
@@ -57,6 +57,11 @@ module Fluent
|
|
57
57
|
require 'resolve/hostname'
|
58
58
|
end
|
59
59
|
|
60
|
+
# Define `log` method for v0.10.42 or earlier
|
61
|
+
unless method_defined?(:log)
|
62
|
+
define_method("log") { $log }
|
63
|
+
end
|
64
|
+
|
60
65
|
def configure(conf)
|
61
66
|
super
|
62
67
|
|
@@ -113,11 +118,11 @@ module Fluent
|
|
113
118
|
def start
|
114
119
|
super
|
115
120
|
|
116
|
-
|
121
|
+
log.debug "starting secure-forward"
|
117
122
|
OpenSSL::Random.seed(File.read("/dev/urandom", 16))
|
118
|
-
|
123
|
+
log.debug "start to connect target nodes"
|
119
124
|
@nodes.each do |node|
|
120
|
-
|
125
|
+
log.debug "connecting node", :host => node.host, :port => node.port
|
121
126
|
node.start
|
122
127
|
end
|
123
128
|
@nodewatcher = Thread.new(&method(:node_watcher))
|
@@ -127,24 +132,24 @@ module Fluent
|
|
127
132
|
loop do
|
128
133
|
sleep @reconnect_interval
|
129
134
|
|
130
|
-
|
135
|
+
log.trace "in node health watcher"
|
131
136
|
|
132
137
|
(0...(@nodes.size)).each do |i|
|
133
|
-
|
138
|
+
log.trace "node health watcher for #{@nodes[i].host}"
|
134
139
|
|
135
140
|
next if @nodes[i].established? && ! @nodes[i].expired?
|
136
141
|
|
137
|
-
|
142
|
+
log.info "dead connection found: #{@nodes[i].host}, reconnecting..." unless @nodes[i].established?
|
138
143
|
|
139
144
|
node = @nodes[i]
|
140
|
-
|
145
|
+
log.debug "reconnecting to node", :host => node.host, :port => node.port, :expire => node.expire, :expired => node.expired?
|
141
146
|
|
142
147
|
@nodes[i] = node.dup
|
143
148
|
@nodes[i].start
|
144
149
|
begin
|
145
150
|
node.shutdown
|
146
151
|
rescue => e
|
147
|
-
|
152
|
+
log.warn "error in shutdown of dead connection", :error_class => e.class, :error => e
|
148
153
|
end
|
149
154
|
end
|
150
155
|
end
|
@@ -167,12 +172,12 @@ module Fluent
|
|
167
172
|
unless node
|
168
173
|
raise "no one nodes with valid ssl session"
|
169
174
|
end
|
170
|
-
|
175
|
+
log.trace "selected node", :host => node.host, :port => node.port, :standby => node.standby
|
171
176
|
|
172
177
|
begin
|
173
178
|
send_data(node, tag, es)
|
174
179
|
rescue Errno::EPIPE, IOError, OpenSSL::SSL::SSLError => e
|
175
|
-
|
180
|
+
log.warn "Failed to send messages to #{node.host}, parging.", :error_class => e.class, :error => e
|
176
181
|
begin
|
177
182
|
node.shutdown
|
178
183
|
rescue => e2
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-secure-forward
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TAGOMORI Satoshi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fluent-mixin-config-placeholders
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: resolve-hostname
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
description: Message forwarding over SSL with authentication
|
@@ -73,8 +73,8 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
- .gitignore
|
77
|
-
- .travis.yml
|
76
|
+
- ".gitignore"
|
77
|
+
- ".travis.yml"
|
78
78
|
- Gemfile
|
79
79
|
- LICENSE.txt
|
80
80
|
- README.md
|
@@ -106,17 +106,17 @@ require_paths:
|
|
106
106
|
- lib
|
107
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
requirements: []
|
118
118
|
rubyforge_project:
|
119
|
-
rubygems_version: 2.
|
119
|
+
rubygems_version: 2.2.2
|
120
120
|
signing_key:
|
121
121
|
specification_version: 4
|
122
122
|
summary: Fluentd input/output plugin to forward over SSL with authentications
|
@@ -124,4 +124,3 @@ test_files:
|
|
124
124
|
- test/helper.rb
|
125
125
|
- test/plugin/test_in_secure_forward.rb
|
126
126
|
- test/plugin/test_out_secure_forward.rb
|
127
|
-
has_rdoc:
|