logstash-input-tcp 6.4.4-java → 7.0.0-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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90b8855ae3bcc6aea919af0a8c2ac8d3fd85c3a523d51b67693d0b60dd5a6688
4
- data.tar.gz: 68aca7dc0516584b95d45159102a1d5e314659dd02dfd2b9d4962f24617027ec
3
+ metadata.gz: c8bc68458ba90d33f5f007625f68bbe9a1807a18c2c7d197aa75ed5092e1cc55
4
+ data.tar.gz: 0aa68f080ab88ad648bd9a19455bc495cdcbb1dbcab3b34e27d14e496ec5b3f9
5
5
  SHA512:
6
- metadata.gz: 9daaf0ea4912079e2399795312c6176f2ebbe738fb7d6685f35b799ff65595a50c08912ebf8a366b82999eca5b4f3e77e999420a74f8418e03b367fb7aeeec9b
7
- data.tar.gz: ed2a952062aa12ff2de9d733ddbf6eb03b7801fa4f5d47011b24820c9b7adf0e6a524883c8a6ff18fdcfc358f77e031e985da2ea516f89c0c37c6cd31e1e65a0
6
+ metadata.gz: 0ab15b83290d8dd586523d0a83a5a49741f2f9050851e8f86d04a2441ecf1b767467fecbd8372e8d7a67454b3f6cbcbcd2890790ba875914790d10e00bea5f92
7
+ data.tar.gz: e87be82c1979de3b29a4ad66d7c022a6cad29327d6ec660b835908d69d7abf5284af027a7194d2103e3c180d836f9f9039cc9b17f3e96046101012dac2a5a86a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 7.0.0
2
+ - SSL settings that were marked deprecated in version `6.4.0` are now marked obsolete, and will prevent the plugin from starting.
3
+ - These settings are:
4
+ - `ssl_cert`, which should be replaced by `ssl_certificate`
5
+ - `ssl_enable`, which should be replaced by `ssl_enabled`
6
+ - `ssl_verify`, which should be replaced by `ssl_client_authentication` when `mode` is `server` or `ssl_verification_mode`when mode is `client`
7
+ - [228](https://github.com/logstash-plugins/logstash-input-tcp/pull/228)
8
+
1
9
  ## 6.4.4
2
10
  - update netty to 4.1.115 [#227](https://github.com/logstash-plugins/logstash-input-tcp/pull/227)
3
11
 
data/docs/index.asciidoc CHANGED
@@ -121,6 +121,10 @@ filter {
121
121
 
122
122
  This plugin supports the following configuration options plus the <<plugins-{type}s-{plugin}-common-options>> described later.
123
123
 
124
+ NOTE: As of version `7.0.0` of this plugin, a number of previously deprecated settings related to SSL have been removed. Please see the
125
+ <<plugins-{type}s-{plugin}-obsolete-options>> for more details.
126
+
127
+
124
128
  [cols="<,<,<",options="header",]
125
129
  |=======================================================================
126
130
  |Setting |Input type|Required
@@ -130,19 +134,16 @@ This plugin supports the following configuration options plus the <<plugins-{typ
130
134
  | <<plugins-{type}s-{plugin}-mode>> |<<string,string>>, one of `["server", "client"]`|No
131
135
  | <<plugins-{type}s-{plugin}-port>> |<<number,number>>|Yes
132
136
  | <<plugins-{type}s-{plugin}-proxy_protocol>> |<<boolean,boolean>>|No
133
- | <<plugins-{type}s-{plugin}-ssl_cert>> |a valid filesystem path|__Deprecated__
134
137
  | <<plugins-{type}s-{plugin}-ssl_certificate>> |a valid filesystem path|No
135
138
  | <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> |<<array,array>>|No
136
139
  | <<plugins-{type}s-{plugin}-ssl_cipher_suites>> |<<string,string>>|No
137
140
  | <<plugins-{type}s-{plugin}-ssl_client_authentication>> |<<string,string>>, one of `["none", "optional", "required"]`|No
138
- | <<plugins-{type}s-{plugin}-ssl_enable>> |<<boolean,boolean>>|__Deprecated__
139
141
  | <<plugins-{type}s-{plugin}-ssl_enabled>> |<<boolean,boolean>>|No
140
142
  | <<plugins-{type}s-{plugin}-ssl_extra_chain_certs>> |<<array,array>>|No
141
143
  | <<plugins-{type}s-{plugin}-ssl_key>> |a valid filesystem path|No
142
144
  | <<plugins-{type}s-{plugin}-ssl_key_passphrase>> |<<password,password>>|No
143
145
  | <<plugins-{type}s-{plugin}-ssl_supported_protocols>> |<<string,string>>|No
144
146
  | <<plugins-{type}s-{plugin}-ssl_verification_mode>> |<<string,string>>, one of `["full", "none"]`|No
145
- | <<plugins-{type}s-{plugin}-ssl_verify>> |<<boolean,boolean>>|__Deprecated__
146
147
  | <<plugins-{type}s-{plugin}-tcp_keep_alive>> |<<boolean,boolean>>|No
147
148
  |=======================================================================
148
149
 
@@ -212,16 +213,6 @@ When mode is `client`, the port to connect to.
212
213
  Proxy protocol support, only v1 is supported at this time
213
214
  http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt
214
215
 
215
- [id="plugins-{type}s-{plugin}-ssl_cert"]
216
- ===== `ssl_cert`
217
- deprecated[6.4.0, Replaced by <<plugins-{type}s-{plugin}-ssl_certificate>>]
218
-
219
- * Value type is <<path,path>>
220
- * There is no default value for this setting.
221
-
222
- Path to certificate in PEM format. This certificate will be presented
223
- to the connecting clients.
224
-
225
216
  [id="plugins-{type}s-{plugin}-ssl_certificate"]
226
217
  ===== `ssl_certificate`
227
218
 
@@ -268,14 +259,6 @@ Please note that the server does not validate the client certificate CN (Common
268
259
 
269
260
  NOTE: This setting can be used only if <<plugins-{type}s-{plugin}-mode>> is `server` and <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> is set.
270
261
 
271
- [id="plugins-{type}s-{plugin}-ssl_enable"]
272
- ===== `ssl_enable`
273
- deprecated[6.4.0, Replaced by <<plugins-{type}s-{plugin}-ssl_enabled>>]
274
-
275
- * Value type is <<boolean,boolean>>
276
- * Default value is `false`
277
-
278
- Enable SSL (must be set for other `ssl_` options to take effect).
279
262
 
280
263
  [id="plugins-{type}s-{plugin}-ssl_enabled"]
281
264
  ===== `ssl_enabled`
@@ -343,16 +326,6 @@ This setting can be used only if <<plugins-{type}s-{plugin}-mode>> is `client`.
343
326
 
344
327
  WARNING: Setting certificate verification to `none` disables many security benefits of SSL/TLS, which is very dangerous. For more information on disabling certificate verification please read https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf
345
328
 
346
- [id="plugins-{type}s-{plugin}-ssl_verify"]
347
- ===== `ssl_verify`
348
- deprecated[6.4.0, Replaced by <<plugins-{type}s-{plugin}-ssl_client_authentication>> and <<plugins-{type}s-{plugin}-ssl_verification_mode>>]
349
-
350
- * Value type is <<boolean,boolean>>
351
- * Default value is `true`
352
-
353
- Verify the identity of the other end of the SSL connection against the CA.
354
- For input, sets the field `sslsubject` to that of the client certificate.
355
-
356
329
  [id="plugins-{type}s-{plugin}-tcp_keep_alive"]
357
330
  ===== `tcp_keep_alive`
358
331
 
@@ -363,6 +336,21 @@ Instruct the socket to use TCP keep alive. If it's `true` then the underlying so
363
336
  will use the OS defaults settings for keep alive. If it's `false` it doesn't configure any
364
337
  keep alive setting for the underlying socket.
365
338
 
339
+ [id="plugins-{type}s-{plugin}-obsolete-options"]
340
+ ==== TCP Input Obsolete Configuration Options
341
+
342
+ WARNING: As of version `7.0.0` of this plugin, some configuration options have been replaced.
343
+ The plugin will fail to start if it contains any of these obsolete options.
344
+
345
+
346
+ [cols="<,<",options="header",]
347
+ |=======================================================================
348
+ |Setting|Replaced by
349
+ | ssl_cert |<<plugins-{type}s-{plugin}-ssl_certificate>>
350
+ | ssl_enable |<<plugins-{type}s-{plugin}-ssl_enabled>>
351
+ | ssl_verify |<<plugins-{type}s-{plugin}-ssl_client_authentication>> in `server` mode and <<plugins-{type}s-{plugin}-ssl_verification_mode>> in `client` mode
352
+ |=======================================================================
353
+
366
354
 
367
355
  [id="plugins-{type}s-{plugin}-common-options"]
368
356
  include::{include_path}/{type}.asciidoc[]
@@ -6,7 +6,6 @@ require "logstash/inputs/base"
6
6
  require "logstash/util/socket_peer"
7
7
  require "logstash-input-tcp_jars"
8
8
  require 'logstash/plugin_mixins/ecs_compatibility_support'
9
- require "logstash/plugin_mixins/normalize_config_support"
10
9
 
11
10
  require "socket"
12
11
  require "openssl"
@@ -69,8 +68,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
69
68
  # ecs_compatibility option, provided by Logstash core or the support adapter.
70
69
  include LogStash::PluginMixins::ECSCompatibilitySupport(:disabled, :v1, :v8 => :v1)
71
70
 
72
- include LogStash::PluginMixins::NormalizeConfigSupport
73
-
74
71
  config_name "tcp"
75
72
 
76
73
  default :codec, "line"
@@ -91,8 +88,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
91
88
  # http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt
92
89
  config :proxy_protocol, :validate => :boolean, :default => false
93
90
 
94
- # Enable SSL (must be set for other `ssl_` options to take effect).
95
- config :ssl_enable, :validate => :boolean, :default => false, :deprecated => "Use 'ssl_enabled' instead."
96
91
 
97
92
  # Enable SSL (must be set for other `ssl_` options to take effect).
98
93
  config :ssl_enabled, :validate => :boolean, :default => false
@@ -104,9 +99,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
104
99
  # This option needs to be used with `ssl_certificate_authorities` and a defined list of CAs.
105
100
  config :ssl_client_authentication, :validate => %w[none optional required], :default => 'required'
106
101
 
107
- # Verify the identity of the other end of the SSL connection against the CA.
108
- # For input, sets the field `sslsubject` to that of the client certificate.
109
- config :ssl_verify, :validate => :boolean, :default => true, :deprecated => "Use 'ssl_client_authentication' when mode is 'server' or 'ssl_verification_mode' when mode is 'client'"
110
102
 
111
103
  # Options to verify the server's certificate.
112
104
  # "full": validates that the provided certificate has an issue date that’s within the not_before and not_after dates;
@@ -116,8 +108,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
116
108
  config :ssl_verification_mode, :validate => %w[full none], :default => 'full'
117
109
 
118
110
  # SSL certificate path
119
- config :ssl_cert, :validate => :path, :deprecated => "Use 'ssl_certificate' instead."
120
-
121
111
  # SSL certificate path
122
112
  config :ssl_certificate, :validate => :path
123
113
 
@@ -148,6 +138,13 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
148
138
  # Option to allow users to avoid DNS Reverse Lookup.
149
139
  config :dns_reverse_lookup_enabled, :validate => :boolean, :default => true
150
140
 
141
+ # Obsolete SSL Settings
142
+ config :ssl_enable, :obsolete => "Use 'ssl_enabled' instead."
143
+ config :ssl_verify, :obsolete => "Use 'ssl_client_authentication' when mode is 'server' or 'ssl_verification_mode' when mode is 'client'"
144
+ config :ssl_cert, :obsolete => "Use 'ssl_certificate' instead."
145
+
146
+
147
+
151
148
  # Monkey patch TCPSocket and SSLSocket to include socket peer
152
149
  # @private
153
150
  def self.patch_socket_peer!
@@ -163,7 +160,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
163
160
  super(*args)
164
161
 
165
162
  setup_fields!
166
- setup_ssl_params!
167
163
 
168
164
  self.class.patch_socket_peer!
169
165
 
@@ -368,35 +364,6 @@ class LogStash::Inputs::Tcp < LogStash::Inputs::Base
368
364
  original_params.include?('ssl_enable') ? 'ssl_enable' : 'ssl_enabled'
369
365
  end
370
366
 
371
- def setup_ssl_params!
372
- @ssl_enabled = normalize_config(:ssl_enabled) do |normalizer|
373
- normalizer.with_deprecated_alias(:ssl_enable)
374
- end
375
-
376
- @ssl_certificate = normalize_config(:ssl_certificate) do |normalizer|
377
- normalizer.with_deprecated_alias(:ssl_cert)
378
- end
379
-
380
- if server?
381
- @ssl_client_authentication = normalize_config(:ssl_client_authentication) do |normalizer|
382
- normalizer.with_deprecated_mapping(:ssl_verify) do |ssl_verify|
383
- ssl_verify == true ? "required" : "none"
384
- end
385
- end
386
- else
387
- @ssl_verification_mode = normalize_config(:ssl_verification_mode) do |normalize|
388
- normalize.with_deprecated_mapping(:ssl_verify) do |ssl_verify|
389
- ssl_verify == true ? "full" : "none"
390
- end
391
- end
392
- end
393
-
394
- params['ssl_enabled'] = @ssl_enabled unless @ssl_enabled.nil?
395
- params['ssl_certificate'] = @ssl_certificate unless @ssl_certificate.nil?
396
- params['ssl_verification_mode'] = @ssl_verification_mode unless @ssl_verification_mode.nil?
397
- params['ssl_client_authentication'] = @ssl_client_authentication unless @ssl_client_authentication.nil?
398
- end
399
-
400
367
  def server?
401
368
  @mode == "server"
402
369
  end
@@ -9,4 +9,4 @@ require_jar('io.netty', 'netty-handler', '4.1.115.Final')
9
9
  require_jar('io.netty', 'netty-transport-native-unix-common', '4.1.115.Final')
10
10
  require_jar('commons-io', 'commons-io', '2.17.0')
11
11
 
12
- require_jar('org.logstash.inputs', 'logstash-input-tcp', '6.4.4')
12
+ require_jar('org.logstash.inputs', 'logstash-input-tcp', '7.0.0')
@@ -22,7 +22,6 @@ Gem::Specification.new do |s|
22
22
  # Gem dependencies
23
23
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
24
24
  s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.2'
25
- s.add_runtime_dependency 'logstash-mixin-normalize_config_support', '~>1.0'
26
25
 
27
26
  s.add_runtime_dependency 'logstash-core', '>= 8.1.0'
28
27
 
@@ -54,6 +54,25 @@ describe LogStash::Inputs::Tcp, :ecs_compatibility_support do
54
54
  end
55
55
  end
56
56
 
57
+ ['client', 'server'].each do | mode|
58
+ describe "handling obsolete settings for #{mode} mode" do
59
+ [{:name => 'ssl_cert', :replacement => 'ssl_certificate', :sample_value => "certificate_path"},
60
+ {:name => 'ssl_enable', :replacement => 'ssl_enabled', :sample_value => true},
61
+ {:name => 'ssl_verify', :replacement => 'ssl_client_authentication', :sample_value => 'peer'}].each do | obsolete_setting |
62
+ context "with obsolete #{obsolete_setting[:name]}" do
63
+ let(:config) { { "mode" => mode, "port" => port } }
64
+ let (:deprecated_config) do
65
+ config.merge({obsolete_setting[:name] => obsolete_setting[:sample_value]})
66
+ end
67
+
68
+ it "should raise a config error with the appropriate message" do
69
+ expect { LogStash::Inputs::Tcp.new(deprecated_config).register }.to raise_error LogStash::ConfigurationError, /The setting `#{obsolete_setting[:name]}` in plugin `tcp` is obsolete and is no longer available. Use '#{obsolete_setting[:replacement]}'/i
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+
57
76
  ecs_compatibility_matrix(:disabled,:v1, :v8 => :v1) do |ecs_select|
58
77
  before(:each) do
59
78
  allow_any_instance_of(described_class).to receive(:ecs_compatibility).and_return(ecs_compatibility)
@@ -90,7 +109,9 @@ describe LogStash::Inputs::Tcp, :ecs_compatibility_support do
90
109
  aggregate_failures("event #{i}") do
91
110
  expect(event.get("message")).to eq("#{i} ☹")
92
111
  expect(event.get(ecs_select[disabled: "host", v1: "[@metadata][input][tcp][source][name]"])).to eq("localhost").or eq("ip6-localhost")
93
- expect(event.get(ecs_select[disabled: "[@metadata][ip_address]", v1: "[@metadata][input][tcp][source][ip]"])).to eq('127.0.0.1')
112
+ ip_address = event.get(ecs_select[disabled: "[@metadata][ip_address]", v1: "[@metadata][input][tcp][source][ip]"])
113
+ # Account for both ipv4 or ipv6 localhost
114
+ expect(["127.0.0.1", "::1", "0:0:0:0:0:0:0:1"]).to include(ip_address)
94
115
  end
95
116
  end
96
117
  end
@@ -600,17 +621,6 @@ describe LogStash::Inputs::Tcp, :ecs_compatibility_support do
600
621
  end
601
622
  end
602
623
 
603
- context "with deprecated ssl_verify = true and no ssl_certificate_authorities" do
604
- let(:config) { super().merge(
605
- 'ssl_verify' => true,
606
- 'ssl_certificate_authorities' => []
607
- ) }
608
-
609
- it "should register without errors" do
610
- expect { subject.register }.to_not raise_error
611
- end
612
- end
613
-
614
624
  %w[required optional].each do |ssl_client_authentication|
615
625
  context "with ssl_client_authentication = `#{ssl_client_authentication}` and no ssl_certificate_authorities" do
616
626
  let(:config) { super().merge(
@@ -634,70 +644,6 @@ describe LogStash::Inputs::Tcp, :ecs_compatibility_support do
634
644
  end
635
645
  end
636
646
  end
637
-
638
- context "with deprecated settings" do
639
- let(:ssl_verify) { true }
640
- let(:certificate_path) { File.expand_path('../fixtures/small.crt', File.dirname(__FILE__)) }
641
- let(:config) do
642
- {
643
- "host" => "127.0.0.1",
644
- "port" => port,
645
- "ssl_enable" => true,
646
- "ssl_cert" => certificate_path,
647
- "ssl_key" => File.expand_path('../fixtures/small.key', File.dirname(__FILE__)),
648
- "ssl_verify" => ssl_verify
649
- }
650
- end
651
-
652
- context "and mode is server" do
653
- let(:config) { super().merge("mode" => 'server') }
654
- [true, false].each do |verify|
655
- context "and ssl_verify is #{verify}" do
656
- let(:ssl_verify) { verify }
657
-
658
- it "should set new configs params" do
659
- subject.register
660
- expect(subject.params).to match hash_including(
661
- "ssl_enabled" => true,
662
- "ssl_certificate" => certificate_path,
663
- "ssl_client_authentication" => verify ? 'required' : 'none')
664
- end
665
-
666
- it "should set new configs variables" do
667
- subject.register
668
- expect(subject.instance_variable_get(:@ssl_enabled)).to eql(true)
669
- expect(subject.instance_variable_get(:@ssl_client_authentication)).to eql(verify ? 'required' : 'none')
670
- expect(subject.instance_variable_get(:@ssl_certificate)).to eql(certificate_path)
671
- end
672
- end
673
- end
674
- end
675
-
676
- context "and mode is client" do
677
- let(:config) { super().merge("mode" => 'client') }
678
- [true, false].each do |verify|
679
- context "and ssl_verify is #{verify}" do
680
- let(:ssl_verify) { verify }
681
-
682
- it "should set new configs params" do
683
- subject.register
684
- expect(subject.params).to match hash_including(
685
- "ssl_enabled" => true,
686
- "ssl_certificate" => certificate_path,
687
- "ssl_verification_mode" => verify ? 'full' : 'none'
688
- )
689
- end
690
-
691
- it "should set new configs variables" do
692
- subject.register
693
- expect(subject.instance_variable_get(:@ssl_enabled)).to eql(true)
694
- expect(subject.instance_variable_get(:@ssl_verification_mode)).to eql(verify ? 'full' : 'none')
695
- expect(subject.instance_variable_get(:@ssl_certificate)).to eql(certificate_path)
696
- end
697
- end
698
- end
699
- end
700
- end
701
647
  end
702
648
  end
703
649
 
@@ -745,7 +691,7 @@ describe LogStash::Inputs::Tcp, :ecs_compatibility_support do
745
691
 
746
692
  context "with a non encrypted private key" do
747
693
  let(:config) do
748
- base_config.merge "ssl_verify" => true
694
+ base_config.merge "ssl_client_authentication" => "required"
749
695
  end
750
696
  it "should be able to connect and write data" do
751
697
  result = TcpHelpers.pipelineless_input(subject, 1) do
data/version CHANGED
@@ -1 +1 @@
1
- 6.4.4
1
+ 7.0.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-tcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.4.4
4
+ version: 7.0.0
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-18 00:00:00.000000000 Z
11
+ date: 2025-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -44,20 +44,6 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.2'
47
- - !ruby/object:Gem::Dependency
48
- requirement: !ruby/object:Gem::Requirement
49
- requirements:
50
- - - "~>"
51
- - !ruby/object:Gem::Version
52
- version: '1.0'
53
- name: logstash-mixin-normalize_config_support
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '1.0'
61
47
  - !ruby/object:Gem::Dependency
62
48
  requirement: !ruby/object:Gem::Requirement
63
49
  requirements:
@@ -252,7 +238,7 @@ files:
252
238
  - vendor/jar-dependencies/io/netty/netty-handler/4.1.115.Final/netty-handler-4.1.115.Final.jar
253
239
  - vendor/jar-dependencies/io/netty/netty-transport-native-unix-common/4.1.115.Final/netty-transport-native-unix-common-4.1.115.Final.jar
254
240
  - vendor/jar-dependencies/io/netty/netty-transport/4.1.115.Final/netty-transport-4.1.115.Final.jar
255
- - vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/6.4.4/logstash-input-tcp-6.4.4.jar
241
+ - vendor/jar-dependencies/org/logstash/inputs/logstash-input-tcp/7.0.0/logstash-input-tcp-7.0.0.jar
256
242
  - version
257
243
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
258
244
  licenses: