logstash-core 2.2.3.snapshot2-java → 2.2.4-java

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.

Potentially problematic release.


This version of logstash-core might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2804fb78dfe3053c38a14f52877407e651b62878
4
- data.tar.gz: 9cd86c83af36368781c13cff02b791b5573a883c
3
+ metadata.gz: f831ead5e4ec098fc912b8f54e9f9d69798f7e9a
4
+ data.tar.gz: c26099f244c689551f1218eecdeae0608a30f053
5
5
  SHA512:
6
- metadata.gz: 9eff83576a0f081123345aa34aa7e37c7948a366057d3066de45cbf1eaf4949094310b0617d4d56f3360583cd808bdffddad3250d3b5643b2f6b8ecbecee1ffd
7
- data.tar.gz: d30e2c02b83ff8f964bbda2d2f0dbafe8d77e709e50690f140f68b0753036b4b409048d889c42acdbe9fbf414afe16f5d71878834f9caa7058a6943440625f65
6
+ metadata.gz: bd2d386fae5c0b15b95cd89b8e1a794f8baa4c3c73e3979c0709bcc3c39b6a2146257215a1fc4d404103f8b209ad15127833862f6846c18420983978a1a06e09
7
+ data.tar.gz: 3e272ebe1527efb486eec984152de845cb3a3ac21f7419b7d96f3e3ee2c6182344dc147e64862357d5837ddaff9be803568ce5cab661629aaa4b770922b1f0e4
@@ -5,4 +5,4 @@
5
5
  # Note to authors: this should not include dashes because 'gem' barfs if
6
6
  # you include a dash in the version string.
7
7
 
8
- LOGSTASH_CORE_VERSION = "2.2.3.snapshot2"
8
+ LOGSTASH_CORE_VERSION = "2.2.4"
@@ -9,6 +9,7 @@ require "logstash/pipeline"
9
9
  LogStash::Environment.load_locale!
10
10
 
11
11
  class LogStash::Agent < Clamp::Command
12
+
12
13
  DEFAULT_INPUT = "input { stdin { type => stdin } }"
13
14
  DEFAULT_OUTPUT = "output { stdout { codec => rubydebug } }"
14
15
 
@@ -53,6 +54,10 @@ class LogStash::Agent < Clamp::Command
53
54
  option "--verbose", :flag, I18n.t("logstash.agent.flag.verbose")
54
55
  option "--debug", :flag, I18n.t("logstash.agent.flag.debug")
55
56
 
57
+ option "--debug-config", :flag,
58
+ I18n.t("logstash.runner.flag.debug_config"),
59
+ :attribute_name => :debug_config, :default => false
60
+
56
61
  option ["-V", "--version"], :flag,
57
62
  I18n.t("logstash.agent.flag.version")
58
63
 
@@ -263,6 +268,7 @@ class LogStash::Agent < Clamp::Command
263
268
  #
264
269
  # Log file stuff, plugin path checking, etc.
265
270
  def configure
271
+ @pipeline_settings[:debug_config] = debug_config?
266
272
  configure_logging(log_file)
267
273
  configure_plugin_paths(plugin_paths)
268
274
  end # def configure
@@ -51,7 +51,7 @@ module LogStash::Config::Mixin
51
51
  # Keep a copy of the original config params so that we can later
52
52
  # differentiate between explicit configuration and implicit (default)
53
53
  # configuration.
54
- @original_params = params.clone
54
+ original_params = params.clone
55
55
 
56
56
  # store the plugin type, turns LogStash::Inputs::Base into 'input'
57
57
  @plugin_type = self.class.ancestors.find { |a| a.name =~ /::Base$/ }.config_name
@@ -123,6 +123,11 @@ module LogStash::Config::Mixin
123
123
  instance_variable_set("@#{key}", value)
124
124
  end
125
125
 
126
+ # now that we know the parameters are valid, we can obfuscate the original copy
127
+ # of the parameters before storing them as an instance variable
128
+ self.class.secure_params!(original_params)
129
+ @original_params = original_params
130
+
126
131
  @config = params
127
132
  end # def config_init
128
133
 
@@ -495,6 +500,14 @@ module LogStash::Config::Mixin
495
500
  return true, result
496
501
  end # def validate_value
497
502
 
503
+ def secure_params!(params)
504
+ params.each do |key, value|
505
+ if @config[key][:validate] == :password && !value.is_a?(::LogStash::Util::Password)
506
+ params[key] = ::LogStash::Util::Password.new(value)
507
+ end
508
+ end
509
+ end
510
+
498
511
  def hash_or_array(value)
499
512
  if !value.is_a?(Hash)
500
513
  value = [*value] # coerce scalar to array if necessary
@@ -134,7 +134,7 @@ module LogStash class OutputDelegator
134
134
  end
135
135
 
136
136
  def do_close
137
- @logger.debug("closing output delegator", :klass => self)
137
+ @logger.debug("closing output delegator", :klass => @klass)
138
138
 
139
139
  if @threadsafe
140
140
  @workers.each(&:do_close)
@@ -24,7 +24,8 @@ module LogStash; class Pipeline
24
24
  :pipeline_batch_size => 125,
25
25
  :pipeline_batch_delay => 5, # in milliseconds
26
26
  :flush_interval => 5, # in seconds
27
- :flush_timeout_interval => 60 # in seconds
27
+ :flush_timeout_interval => 60, # in seconds
28
+ :debug_config => false
28
29
  }
29
30
  MAX_INFLIGHT_WARN_THRESHOLD = 10_000
30
31
 
@@ -52,7 +53,9 @@ module LogStash; class Pipeline
52
53
  code = @config.compile
53
54
  # The config code is hard to represent as a log message...
54
55
  # So just print it.
55
- @logger.debug? && @logger.debug("Compiled pipeline code:\n#{code}")
56
+ if @settings[:debug_config]
57
+ @logger.debug? && @logger.debug("Compiled pipeline code:\n#{code}")
58
+ end
56
59
  begin
57
60
  eval(code)
58
61
  rescue => e
@@ -479,4 +482,18 @@ module LogStash; class Pipeline
479
482
  .each {|t| t.delete("blocked_on") }
480
483
  .each {|t| t.delete("status") }
481
484
  end
485
+
486
+ # Sometimes we log stuff that will dump the pipeline which may contain
487
+ # sensitive information (like the raw syntax tree which can contain passwords)
488
+ # We want to hide most of what's in here
489
+ def inspect
490
+ {
491
+ :pipeline_id => @pipeline_id,
492
+ :settings => @settings.inspect,
493
+ :ready => @ready,
494
+ :running => @running,
495
+ :flushing => @flushing
496
+ }
497
+ end
498
+
482
499
  end end
@@ -11,4 +11,4 @@
11
11
  # eventually this file should be in the root logstash lib fir and dependencies in logstash-core should be
12
12
  # fixed.
13
13
 
14
- LOGSTASH_VERSION = "2.2.3.snapshot2"
14
+ LOGSTASH_VERSION = "2.2.4"
@@ -193,6 +193,10 @@ en:
193
193
  debug: |+
194
194
  Most verbose logging. This causes 'debug'
195
195
  level logs to be emitted.
196
+ debug-config: |+
197
+ Print the compiled config ruby code out as a debug log (you must also have --debug enabled).
198
+ WARNING: This will include any 'password' options passed to plugin configs as plaintext, and may result
199
+ in plaintext passwords appearing in your logs!
196
200
  unsafe_shutdown: |+
197
201
  Force logstash to exit during shutdown even
198
202
  if there are still inflight events in memory.
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
17
17
  gem.require_paths = ["lib"]
18
18
  gem.version = LOGSTASH_CORE_VERSION
19
19
 
20
- gem.add_runtime_dependency "logstash-core-event", "~> 2.2.3.snapshot2"
20
+ gem.add_runtime_dependency "logstash-core-event", "~> 2.2.4"
21
21
 
22
22
  gem.add_runtime_dependency "cabin", "~> 0.7.0" #(Apache 2.0 license)
23
23
  gem.add_runtime_dependency "pry", "~> 0.10.1" #(Ruby license)
@@ -58,5 +58,28 @@ describe LogStash::Agent do
58
58
  subject.configure_plugin_paths(multiple_paths)
59
59
  end
60
60
  end
61
- end
62
61
 
62
+ describe "debug_config" do
63
+ let(:pipeline_string) { "input {} output {}" }
64
+ let(:pipeline) { double("pipeline") }
65
+
66
+ before(:each) do
67
+ allow(pipeline).to receive(:run)
68
+ end
69
+ it "should set 'debug_config' to false by default" do
70
+ expect(LogStash::Pipeline).to receive(:new).
71
+ with(anything,hash_including(:debug_config => false)).
72
+ and_return(pipeline)
73
+ args = ["--debug", "-e", pipeline_string]
74
+ subject.run(args)
75
+ end
76
+
77
+ it "should allow overriding debug_config" do
78
+ expect(LogStash::Pipeline).to receive(:new).
79
+ with(anything, hash_including(:debug_config => true))
80
+ .and_return(pipeline)
81
+ args = ["--debug", "--debug-config", "-e", pipeline_string]
82
+ subject.run(args)
83
+ end
84
+ end
85
+ end
@@ -96,6 +96,10 @@ describe LogStash::Config::Mixin do
96
96
  clone = subject.class.new(subject.params)
97
97
  expect(clone.password.value).to(be == secret)
98
98
  end
99
+
100
+ it "should obfuscate original_params" do
101
+ expect(subject.original_params['password']).to(be_a(LogStash::Util::Password))
102
+ end
99
103
  end
100
104
 
101
105
  describe "obsolete settings" do
@@ -416,7 +416,7 @@ describe LogStash::Pipeline do
416
416
  Thread.new { pipeline.run }
417
417
  sleep 0.1 while !pipeline.ready?
418
418
  # give us a bit of time to flush the events
419
- wait(5).for do
419
+ wait(15).for do
420
420
  next unless output && output.events && output.events.first
421
421
  output.events.first["message"].split("\n").count
422
422
  end.to eq(number_of_events)
@@ -40,7 +40,7 @@ describe LogStash::Runner do
40
40
 
41
41
  describe "pipeline settings" do
42
42
  let(:pipeline_string) { "input { stdin {} } output { stdout {} }" }
43
- let(:base_pipeline_settings) { { :pipeline_id => "base" } }
43
+ let(:base_pipeline_settings) { { :pipeline_id => "base", :debug_config => false } }
44
44
  let(:pipeline) { double("pipeline") }
45
45
 
46
46
  before(:each) do
metadata CHANGED
@@ -1,33 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.3.snapshot2
4
+ version: 2.2.4
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-25 00:00:00.000000000 Z
11
+ date: 2016-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - ~>
16
+ - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 2.2.3.snapshot2
18
+ version: 2.2.4
19
19
  name: logstash-core-event
20
20
  prerelease: false
21
21
  type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.3.snapshot2
26
+ version: 2.2.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - ~>
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 0.7.0
33
33
  name: cabin
@@ -35,13 +35,13 @@ dependencies:
35
35
  type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.7.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ~>
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 0.10.1
47
47
  name: pry
@@ -49,13 +49,13 @@ dependencies:
49
49
  type: :runtime
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.10.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ~>
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: 0.0.19
61
61
  name: stud
@@ -63,13 +63,13 @@ dependencies:
63
63
  type: :runtime
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.0.19
69
69
  - !ruby/object:Gem::Dependency
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ~>
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: 0.6.5
75
75
  name: clamp
@@ -77,7 +77,7 @@ dependencies:
77
77
  type: :runtime
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.6.5
83
83
  - !ruby/object:Gem::Dependency
@@ -97,7 +97,7 @@ dependencies:
97
97
  - !ruby/object:Gem::Dependency
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ~>
100
+ - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: 0.8.3
103
103
  name: gems
@@ -105,7 +105,7 @@ dependencies:
105
105
  type: :runtime
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 0.8.3
111
111
  - !ruby/object:Gem::Dependency
@@ -139,7 +139,7 @@ dependencies:
139
139
  - !ruby/object:Gem::Dependency
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - <
142
+ - - "<"
143
143
  - !ruby/object:Gem::Version
144
144
  version: 1.5.0
145
145
  name: treetop
@@ -147,7 +147,7 @@ dependencies:
147
147
  type: :runtime
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - <
150
+ - - "<"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 1.5.0
153
153
  - !ruby/object:Gem::Dependency
@@ -167,7 +167,7 @@ dependencies:
167
167
  - !ruby/object:Gem::Dependency
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - ~>
170
+ - - "~>"
171
171
  - !ruby/object:Gem::Version
172
172
  version: 0.5.4
173
173
  name: minitar
@@ -175,13 +175,13 @@ dependencies:
175
175
  type: :runtime
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ~>
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: 0.5.4
181
181
  - !ruby/object:Gem::Dependency
182
182
  requirement: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ~>
184
+ - - "~>"
185
185
  - !ruby/object:Gem::Version
186
186
  version: 1.1.7
187
187
  name: rubyzip
@@ -189,13 +189,13 @@ dependencies:
189
189
  type: :runtime
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ~>
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: 1.1.7
195
195
  - !ruby/object:Gem::Dependency
196
196
  requirement: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - ~>
198
+ - - "~>"
199
199
  - !ruby/object:Gem::Version
200
200
  version: 0.3.5
201
201
  name: thread_safe
@@ -203,13 +203,13 @@ dependencies:
203
203
  type: :runtime
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ~>
206
+ - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: 0.3.5
209
209
  - !ruby/object:Gem::Dependency
210
210
  requirement: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - ~>
212
+ - - "~>"
213
213
  - !ruby/object:Gem::Version
214
214
  version: 0.3.7
215
215
  name: jrjackson
@@ -217,7 +217,7 @@ dependencies:
217
217
  type: :runtime
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - ~>
220
+ - - "~>"
221
221
  - !ruby/object:Gem::Version
222
222
  version: 0.3.7
223
223
  description: The core components of logstash, the scalable log and event management tool
@@ -318,14 +318,14 @@ require_paths:
318
318
  - lib
319
319
  required_ruby_version: !ruby/object:Gem::Requirement
320
320
  requirements:
321
- - - '>='
321
+ - - ">="
322
322
  - !ruby/object:Gem::Version
323
323
  version: '0'
324
324
  required_rubygems_version: !ruby/object:Gem::Requirement
325
325
  requirements:
326
- - - '>'
326
+ - - ">="
327
327
  - !ruby/object:Gem::Version
328
- version: 1.3.1
328
+ version: '0'
329
329
  requirements: []
330
330
  rubyforge_project:
331
331
  rubygems_version: 2.4.8