logstash-integration-kafka 11.8.4-java → 11.8.5-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: ae9f90bf263aa267bb6809c88ada05a3cfe91e4f7a51e8613a7a2c5cd08ef5f0
4
- data.tar.gz: ce4aae8cd2a07e9040a549f278fa81c4c30c59697336a82389fe5a20622980e9
3
+ metadata.gz: 6b695f9b526426ab9e7dd6017963b81f69d20083d54dc36a81c99784f23a695f
4
+ data.tar.gz: b34920fb15a9d7d1c9497e3fbc1b160cc70499bece99211b63865c56fe492d5e
5
5
  SHA512:
6
- metadata.gz: ede376a34781c536f687df6defbabc418c90b5f6ec9a60f005945f5b59e6cd1d4dac265d7a5077732a0959ac213ec06ead542b84e2d06adfea69ea5e3604f416
7
- data.tar.gz: adc663da616a174fd5a9e5e07c459cabd23f57941a053a41d60d01a9c10ca4c4b21607168a284f9673f52a7bbfff91121c12914d7889ab29c0af32991a539439
6
+ metadata.gz: bfd5ee3143bef4501ae61c3ec5301376d2e4365acd8b1cb7363de30ed8dff64d5b215803aaf7234fcafcc861cf7406aeb63a08cd196c18113f8750b995a0addd
7
+ data.tar.gz: 1befbc8a47cd22724b604116b7f6282dd03d3d3fb3d468d46dd4b973f9771f284e3dd5f3552585d371dcec3de153f2f322b0fc1316e11728c152d23734f43dc4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 11.8.5
2
+ - Redact `sasl_jaas_config` to prevent credentials from appearing in debug logs. [#237](https://github.com/logstash-plugins/logstash-integration-kafka/pull/237)
3
+
1
4
  ## 11.8.4
2
5
  - Upgrade kafka-avro-serializer dependency [#225](https://github.com/logstash-plugins/logstash-integration-kafka/pull/225)
3
6
 
data/docs/index.asciidoc CHANGED
@@ -1,7 +1,7 @@
1
1
  :plugin: kafka
2
2
  :type: integration
3
3
  :no_codec:
4
- :kafka_client: 3.9.1
4
+ :kafka_client: 3.9.2
5
5
 
6
6
  ///////////////////////////////////////////
7
7
  START - GENERATED VARIABLES, DO NOT EDIT!
@@ -2,7 +2,7 @@
2
2
  :plugin: kafka
3
3
  :type: input
4
4
  :default_codec: plain
5
- :kafka_client: 3.9.1
5
+ :kafka_client: 3.9.2
6
6
  :kafka_client_doc: 39
7
7
 
8
8
  ///////////////////////////////////////////
@@ -2,7 +2,7 @@
2
2
  :plugin: kafka
3
3
  :type: output
4
4
  :default_codec: plain
5
- :kafka_client: 3.9.1
5
+ :kafka_client: 3.9.2
6
6
  :kafka_client_doc: 39
7
7
 
8
8
  ///////////////////////////////////////////
@@ -254,7 +254,7 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
254
254
  # different JVM instances.
255
255
  config :jaas_path, :validate => :path
256
256
  # JAAS configuration settings. This allows JAAS config to be a part of the plugin configuration and allows for different JAAS configuration per each plugin config.
257
- config :sasl_jaas_config, :validate => :string
257
+ config :sasl_jaas_config, :validate => :password
258
258
  # Optional path to kerberos config file. This is krb5.conf style as detailed in https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html
259
259
  config :kerberos_config, :validate => :path
260
260
  # Option to add Kafka metadata like topic, message size and header key values to the event.
@@ -40,7 +40,7 @@ module LogStash module PluginMixins module Kafka
40
40
  end
41
41
 
42
42
  props.put("sasl.kerberos.service.name", sasl_kerberos_service_name) unless sasl_kerberos_service_name.nil?
43
- props.put("sasl.jaas.config", sasl_jaas_config) unless sasl_jaas_config.nil?
43
+ props.put("sasl.jaas.config", sasl_jaas_config.value) unless sasl_jaas_config.nil?
44
44
  props.put("sasl.client.callback.handler.class", sasl_client_callback_handler_class) unless sasl_client_callback_handler_class.nil?
45
45
  props.put("sasl.oauthbearer.token.endpoint.url", sasl_oauthbearer_token_endpoint_url) unless sasl_oauthbearer_token_endpoint_url.nil?
46
46
  props.put("sasl.oauthbearer.scope.claim.name", sasl_oauthbearer_scope_claim_name) unless sasl_oauthbearer_scope_claim_name.nil?
@@ -1,16 +1,16 @@
1
1
  # AUTOGENERATED BY THE GRADLE SCRIPT. DO NOT EDIT.
2
2
 
3
3
  require 'jar_dependencies'
4
- require_jar('io.confluent', 'kafka-avro-serializer', '7.9.3')
5
- require_jar('org.apache.kafka', 'kafka-clients', '3.9.1')
4
+ require_jar('io.confluent', 'kafka-avro-serializer', '7.9.5')
5
+ require_jar('org.apache.kafka', 'kafka-clients', '3.9.2')
6
6
  require_jar('at.yawk.lz4', 'lz4-java', '1.10.1')
7
- require_jar('io.confluent', 'kafka-schema-serializer', '7.9.3')
8
- require_jar('io.confluent', 'kafka-schema-registry-client', '7.9.3')
7
+ require_jar('io.confluent', 'kafka-schema-serializer', '7.9.5')
8
+ require_jar('io.confluent', 'kafka-schema-registry-client', '7.9.5')
9
9
  require_jar('org.apache.avro', 'avro', '1.11.4')
10
10
  require_jar('org.apache.commons', 'commons-compress', '1.28.0')
11
11
  require_jar('com.google.guava', 'guava', '32.0.1-jre')
12
12
  require_jar('io.confluent', 'logredactor', '1.0.12')
13
- require_jar('io.confluent', 'common-utils', '7.9.3')
13
+ require_jar('io.confluent', 'common-utils', '7.9.5')
14
14
  require_jar('com.github.luben', 'zstd-jni', '1.5.6-4')
15
15
  require_jar('org.xerial.snappy', 'snappy-java', '1.1.10.5')
16
16
  require_jar('org.slf4j', 'slf4j-api', '1.7.36')
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-integration-kafka'
3
- s.version = '11.8.4'
3
+ s.version = '11.8.5'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "Integration with Kafka - input and output plugins"
6
6
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline "+
@@ -187,6 +187,53 @@ describe "inputs/kafka", :integration => true do
187
187
  end
188
188
  end
189
189
 
190
+ # ToDo: add tests for other sasl config options as well (https://github.com/logstash-plugins/logstash-integration-kafka/issues/234)
191
+ context 'setting sasl_jaas_config' do
192
+ let(:base_config) do
193
+ {
194
+ 'topics' => ['logstash_integration_topic_plain'],
195
+ 'group_id' => rand(36**8).to_s(36),
196
+ }
197
+ end
198
+
199
+ shared_examples 'sasl_jaas_config password handling' do
200
+ it 'stores sasl_jaas_config as password type' do
201
+ kafka_input = LogStash::Inputs::Kafka.new(consumer_config)
202
+ expect(kafka_input.sasl_jaas_config).to be_a(LogStash::Util::Password)
203
+ expect(kafka_input.sasl_jaas_config.value).to eq(jaas_config_value)
204
+ end
205
+
206
+ it 'does not expose password in inspect output' do
207
+ kafka_input = LogStash::Inputs::Kafka.new(consumer_config)
208
+ expect(kafka_input.sasl_jaas_config.inspect).to eq('<password>')
209
+ expect(kafka_input.sasl_jaas_config.inspect).not_to include('admin-secret')
210
+ end
211
+ end
212
+
213
+ context 'with single-line config' do
214
+ let(:jaas_config_value) { 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";' }
215
+ let(:consumer_config) { base_config.merge('sasl_jaas_config' => jaas_config_value) }
216
+
217
+ include_examples 'sasl_jaas_config password handling'
218
+ end
219
+
220
+ context 'with multiline config' do
221
+ let(:jaas_config_value) do
222
+ <<~JAAS
223
+ org.apache.kafka.common.security.plain.PlainLoginModule required
224
+ username="admin"
225
+ password="admin-secret"
226
+ user_admin="admin-secret"
227
+ user_alice="alice-secret";
228
+ JAAS
229
+ end
230
+ let(:consumer_config) { base_config.merge('sasl_jaas_config' => jaas_config_value) }
231
+
232
+ include_examples 'sasl_jaas_config password handling'
233
+ end
234
+ end
235
+
236
+
190
237
  context "static membership 'group.instance.id' setting" do
191
238
  let(:base_config) do
192
239
  {
@@ -264,6 +264,43 @@ describe LogStash::Inputs::Kafka do
264
264
 
265
265
  expect(subject.send(:create_consumer, 'test-client-2', 'group_instance_id')).to be kafka_client
266
266
  end
267
+
268
+ context 'with sasl_jaas_config' do
269
+ shared_examples 'sasl_jaas_config password handling' do
270
+ it "sasl_jaas_config.value returns the original string" do
271
+ subject.register
272
+ expect(subject.sasl_jaas_config.value).to eq(jaas_config_value)
273
+ end
274
+
275
+ it "sasl_jaas_config.inspect does not expose the password" do
276
+ subject.register
277
+ expect(subject.sasl_jaas_config.inspect).not_to include('admin-secret')
278
+ expect(subject.sasl_jaas_config.inspect).to eq('<password>')
279
+ end
280
+ end
281
+
282
+ context 'with single-line config' do
283
+ let(:jaas_config_value) { 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";' }
284
+ let(:config) { super().merge('sasl_jaas_config' => jaas_config_value) }
285
+
286
+ include_examples 'sasl_jaas_config password handling'
287
+ end
288
+
289
+ context 'with multiline config' do
290
+ let(:jaas_config_value) {
291
+ <<~JAAS
292
+ org.apache.kafka.common.security.plain.PlainLoginModule required
293
+ username="admin"
294
+ password="admin-secret"
295
+ user_admin="admin-secret"
296
+ user_alice="alice-secret";
297
+ JAAS
298
+ }
299
+ let(:config) { super().merge('sasl_jaas_config' => jaas_config_value) }
300
+
301
+ include_examples 'sasl_jaas_config password handling'
302
+ end
303
+ end
267
304
  end
268
305
 
269
306
  describe "schema registry" do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-integration-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.8.4
4
+ version: 11.8.5
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-02-19 00:00:00.000000000 Z
10
+ date: 2026-03-11 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
13
+ name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -19,7 +19,6 @@ dependencies:
19
19
  - - "<="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
- name: logstash-core-plugin-api
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,12 +30,12 @@ dependencies:
31
30
  - !ruby/object:Gem::Version
32
31
  version: '2.99'
33
32
  - !ruby/object:Gem::Dependency
33
+ name: logstash-core
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
38
  version: 8.3.0
39
- name: logstash-core
40
39
  type: :runtime
41
40
  prerelease: false
42
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,12 +44,12 @@ dependencies:
45
44
  - !ruby/object:Gem::Version
46
45
  version: 8.3.0
47
46
  - !ruby/object:Gem::Dependency
47
+ name: logstash-codec-json
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
53
- name: logstash-codec-json
54
53
  type: :runtime
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
@@ -59,12 +58,12 @@ dependencies:
59
58
  - !ruby/object:Gem::Version
60
59
  version: '0'
61
60
  - !ruby/object:Gem::Dependency
61
+ name: logstash-codec-plain
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
- name: logstash-codec-plain
68
67
  type: :runtime
69
68
  prerelease: false
70
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -73,6 +72,7 @@ dependencies:
73
72
  - !ruby/object:Gem::Version
74
73
  version: '0'
75
74
  - !ruby/object:Gem::Dependency
75
+ name: stud
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - ">="
@@ -81,7 +81,6 @@ dependencies:
81
81
  - - "<"
82
82
  - !ruby/object:Gem::Version
83
83
  version: 0.1.0
84
- name: stud
85
84
  type: :runtime
86
85
  prerelease: false
87
86
  version_requirements: !ruby/object:Gem::Requirement
@@ -93,6 +92,7 @@ dependencies:
93
92
  - !ruby/object:Gem::Version
94
93
  version: 0.1.0
95
94
  - !ruby/object:Gem::Dependency
95
+ name: manticore
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  requirements:
98
98
  - - ">="
@@ -101,7 +101,6 @@ dependencies:
101
101
  - - "<"
102
102
  - !ruby/object:Gem::Version
103
103
  version: 1.0.0
104
- name: manticore
105
104
  type: :runtime
106
105
  prerelease: false
107
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -113,12 +112,12 @@ dependencies:
113
112
  - !ruby/object:Gem::Version
114
113
  version: 1.0.0
115
114
  - !ruby/object:Gem::Dependency
115
+ name: logstash-mixin-deprecation_logger_support
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
118
  - - "~>"
119
119
  - !ruby/object:Gem::Version
120
120
  version: '1.0'
121
- name: logstash-mixin-deprecation_logger_support
122
121
  type: :runtime
123
122
  prerelease: false
124
123
  version_requirements: !ruby/object:Gem::Requirement
@@ -127,12 +126,12 @@ dependencies:
127
126
  - !ruby/object:Gem::Version
128
127
  version: '1.0'
129
128
  - !ruby/object:Gem::Dependency
129
+ name: logstash-devutils
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - ">="
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
- name: logstash-devutils
136
135
  type: :development
137
136
  prerelease: false
138
137
  version_requirements: !ruby/object:Gem::Requirement
@@ -141,12 +140,12 @@ dependencies:
141
140
  - !ruby/object:Gem::Version
142
141
  version: '0'
143
142
  - !ruby/object:Gem::Dependency
143
+ name: logstash-codec-line
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - ">="
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
- name: logstash-codec-line
150
149
  type: :development
151
150
  prerelease: false
152
151
  version_requirements: !ruby/object:Gem::Requirement
@@ -155,12 +154,12 @@ dependencies:
155
154
  - !ruby/object:Gem::Version
156
155
  version: '0'
157
156
  - !ruby/object:Gem::Dependency
157
+ name: rspec-wait
158
158
  requirement: !ruby/object:Gem::Requirement
159
159
  requirements:
160
160
  - - ">="
161
161
  - !ruby/object:Gem::Version
162
162
  version: '0'
163
- name: rspec-wait
164
163
  type: :development
165
164
  prerelease: false
166
165
  version_requirements: !ruby/object:Gem::Requirement
@@ -169,12 +168,12 @@ dependencies:
169
168
  - !ruby/object:Gem::Version
170
169
  version: '0'
171
170
  - !ruby/object:Gem::Dependency
171
+ name: digest-crc
172
172
  requirement: !ruby/object:Gem::Requirement
173
173
  requirements:
174
174
  - - "~>"
175
175
  - !ruby/object:Gem::Version
176
176
  version: 0.5.1
177
- name: digest-crc
178
177
  type: :development
179
178
  prerelease: false
180
179
  version_requirements: !ruby/object:Gem::Requirement
@@ -183,12 +182,12 @@ dependencies:
183
182
  - !ruby/object:Gem::Version
184
183
  version: 0.5.1
185
184
  - !ruby/object:Gem::Dependency
185
+ name: ruby-kafka
186
186
  requirement: !ruby/object:Gem::Requirement
187
187
  requirements:
188
188
  - - ">="
189
189
  - !ruby/object:Gem::Version
190
190
  version: '0'
191
- name: ruby-kafka
192
191
  type: :development
193
192
  prerelease: false
194
193
  version_requirements: !ruby/object:Gem::Requirement
@@ -197,12 +196,12 @@ dependencies:
197
196
  - !ruby/object:Gem::Version
198
197
  version: '0'
199
198
  - !ruby/object:Gem::Dependency
199
+ name: snappy
200
200
  requirement: !ruby/object:Gem::Requirement
201
201
  requirements:
202
202
  - - ">="
203
203
  - !ruby/object:Gem::Version
204
204
  version: '0'
205
- name: snappy
206
205
  type: :development
207
206
  prerelease: false
208
207
  version_requirements: !ruby/object:Gem::Requirement
@@ -260,17 +259,17 @@ files:
260
259
  - vendor/jar-dependencies/com/google/re2j/re2j/1.6/re2j-1.6.jar
261
260
  - vendor/jar-dependencies/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar
262
261
  - vendor/jar-dependencies/commons-io/commons-io/2.20.0/commons-io-2.20.0.jar
263
- - vendor/jar-dependencies/io/confluent/common-utils/7.9.3/common-utils-7.9.3.jar
264
- - vendor/jar-dependencies/io/confluent/kafka-avro-serializer/7.9.3/kafka-avro-serializer-7.9.3.jar
265
- - vendor/jar-dependencies/io/confluent/kafka-schema-registry-client/7.9.3/kafka-schema-registry-client-7.9.3.jar
266
- - vendor/jar-dependencies/io/confluent/kafka-schema-serializer/7.9.3/kafka-schema-serializer-7.9.3.jar
262
+ - vendor/jar-dependencies/io/confluent/common-utils/7.9.5/common-utils-7.9.5.jar
263
+ - vendor/jar-dependencies/io/confluent/kafka-avro-serializer/7.9.5/kafka-avro-serializer-7.9.5.jar
264
+ - vendor/jar-dependencies/io/confluent/kafka-schema-registry-client/7.9.5/kafka-schema-registry-client-7.9.5.jar
265
+ - vendor/jar-dependencies/io/confluent/kafka-schema-serializer/7.9.5/kafka-schema-serializer-7.9.5.jar
267
266
  - vendor/jar-dependencies/io/confluent/logredactor-metrics/1.0.12/logredactor-metrics-1.0.12.jar
268
267
  - vendor/jar-dependencies/io/confluent/logredactor/1.0.12/logredactor-1.0.12.jar
269
268
  - vendor/jar-dependencies/io/swagger/core/v3/swagger-annotations/2.1.10/swagger-annotations-2.1.10.jar
270
269
  - vendor/jar-dependencies/org/apache/avro/avro/1.11.4/avro-1.11.4.jar
271
270
  - vendor/jar-dependencies/org/apache/commons/commons-compress/1.28.0/commons-compress-1.28.0.jar
272
271
  - vendor/jar-dependencies/org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar
273
- - vendor/jar-dependencies/org/apache/kafka/kafka-clients/3.9.1/kafka-clients-3.9.1.jar
272
+ - vendor/jar-dependencies/org/apache/kafka/kafka-clients/3.9.2/kafka-clients-3.9.2.jar
274
273
  - vendor/jar-dependencies/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar
275
274
  - vendor/jar-dependencies/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar
276
275
  - vendor/jar-dependencies/org/xerial/snappy/snappy-java/1.1.10.5/snappy-java-1.1.10.5.jar
@@ -282,7 +281,6 @@ metadata:
282
281
  logstash_plugin: 'true'
283
282
  logstash_group: integration
284
283
  integration_plugins: logstash-input-kafka,logstash-output-kafka
285
- post_install_message:
286
284
  rdoc_options: []
287
285
  require_paths:
288
286
  - lib
@@ -298,8 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
298
296
  - !ruby/object:Gem::Version
299
297
  version: '0'
300
298
  requirements: []
301
- rubygems_version: 3.3.26
302
- signing_key:
299
+ rubygems_version: 3.6.3
303
300
  specification_version: 4
304
301
  summary: Integration with Kafka - input and output plugins
305
302
  test_files: