Skip to content

Commit 1678914

Browse files
Edward De-Fariapdepaepe
authored andcommitted
Pull request logstash-plugins#1: update from upstream
Merge in THOT/logstash-input-http from dev-edefaria to prod * commit '476e106429ff76ad4fa6a55a1fba15c182d815cf': Doc: Update deprecation notices to standard (logstash-plugins#154) Feat: review and deprecate ssl protocol/cipher settings (logstash-plugins#151) Codec pipeline context (logstash-plugins#153) ensure execution_context is propagated to additional_codecs (logstash-plugins#152) Doc: Clarify description and make minor grammar fixes (logstash-plugins#150) Feat: TLSv1.3 support (logstash-plugins#146) Build: do not package log4j-api dependency (logstash-plugins#149) Update log4j version to 2.17.0 (logstash-plugins#148)
2 parents aa3ba88 + 476e106 commit 1678914

24 files changed

+917
-116
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
## 3.6.0
2+
- Feat: review and deprecate ssl protocol/cipher related settings [#151](https://github.com/logstash-plugins/logstash-input-http/pull/151)
3+
4+
## 3.5.1
5+
- Fix: codecs provided with `additional_codecs` now correctly run in the pipeline's context, which means that they respect the `pipeline.ecs_compatibility` setting [#152](https://github.com/logstash-plugins/logstash-input-http/pull/152)
6+
7+
## 3.5.0
8+
- Feat: TLSv1.3 support [#146](https://github.com/logstash-plugins/logstash-input-http/pull/146)
9+
10+
## 3.4.5
11+
- Build: do not package log4j-api dependency [#149](https://github.com/logstash-plugins/logstash-input-http/pull/149).
12+
Logstash provides the log4j framework and the dependency is not needed except testing and compiling.
13+
14+
## 3.4.4
15+
- Update log4j dependency to 2.17.0
16+
117
## 3.4.3
218
- Update log4j dependency to 2.15.0
319
- Fix: update to Gradle 7 [#145](https://github.com/logstash-plugins/logstash-input-http/pull/145)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.4.3
1+
3.6.0

build.gradle

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ version rootProject.file('VERSION').text.trim()
1010

1111
description = "HTTP Input Netty implementation"
1212

13+
String log4jVersion = '2.17.0'
14+
1315
sourceCompatibility = 1.8
1416
targetCompatibility = 1.8
1517

16-
String log4jVersion = '2.17.1'
17-
String netty4Version = '4.1.73.Final'
18-
String nettyTcnativeVersion = '2.0.46.Final'
18+
String log4jVersion = '2.17.2'
19+
String netty4Version = '4.1.77.Final'
20+
String nettyTcnativeVersion = '2.0.52.Final'
1921

2022
repositories {
2123
mavenCentral()

docs/index.asciidoc

Lines changed: 52 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ This plugin supports the following configuration options plus the <<plugins-{typ
9191
|=======================================================================
9292
|Setting |Input type|Required
9393
| <<plugins-{type}s-{plugin}-additional_codecs>> |<<hash,hash>>|No
94-
| <<plugins-{type}s-{plugin}-cipher_suites>> |<<array,array>>|No
94+
| <<plugins-{type}s-{plugin}-cipher_suites>> |<<array,array>>|__Deprecated__
9595
| <<plugins-{type}s-{plugin}-ecs_compatibility>> | <<string,string>>|No
9696
| <<plugins-{type}s-{plugin}-host>> |<<string,string>>|No
97-
| <<plugins-{type}s-{plugin}-keystore>> |<<path,path>>|No
98-
| <<plugins-{type}s-{plugin}-keystore_password>> |<<password,password>>|No
97+
| <<plugins-{type}s-{plugin}-keystore>> |<<path,path>>|__Deprecated__
98+
| <<plugins-{type}s-{plugin}-keystore_password>> |<<password,password>>|__Deprecated__
9999
| <<plugins-{type}s-{plugin}-password>> |<<password,password>>|No
100100
| <<plugins-{type}s-{plugin}-port>> |<<number,number>>|No
101101
| <<plugins-{type}s-{plugin}-max_pending_requests>> |<<number,number>>|No
@@ -104,15 +104,17 @@ This plugin supports the following configuration options plus the <<plugins-{typ
104104
| <<plugins-{type}s-{plugin}-ssl>> |<<boolean,boolean>>|No
105105
| <<plugins-{type}s-{plugin}-ssl_certificate>> |a valid filesystem path|No
106106
| <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> |<<array,array>>|No
107+
| <<plugins-{type}s-{plugin}-ssl_cipher_suites>> |<<array,array>>|No
107108
| <<plugins-{type}s-{plugin}-ssl_handshake_timeout>> |<<number,number>>|No
108109
| <<plugins-{type}s-{plugin}-ssl_key>> |a valid filesystem path|No
109110
| <<plugins-{type}s-{plugin}-ssl_key_passphrase>> |<<password,password>>|No
111+
| <<plugins-{type}s-{plugin}-ssl_supported_protocols>> |<<array,array>>|No
110112
| <<plugins-{type}s-{plugin}-ssl_verify_mode>> |<<string,string>>, one of `["none", "peer", "force_peer"]`|No
111113
| <<plugins-{type}s-{plugin}-threads>> |<<number,number>>|No
112-
| <<plugins-{type}s-{plugin}-tls_max_version>> |<<number,number>>|No
113-
| <<plugins-{type}s-{plugin}-tls_min_version>> |<<number,number>>|No
114+
| <<plugins-{type}s-{plugin}-tls_max_version>> |<<number,number>>|__Deprecated__
115+
| <<plugins-{type}s-{plugin}-tls_min_version>> |<<number,number>>|__Deprecated__
114116
| <<plugins-{type}s-{plugin}-user>> |<<string,string>>|No
115-
| <<plugins-{type}s-{plugin}-verify_mode>> |<<string,string>>, one of `["none", "peer", "force_peer"]`|No
117+
| <<plugins-{type}s-{plugin}-verify_mode>> |<<string,string>>, one of `["none", "peer", "force_peer"]`|__Deprecated__
116118
|=======================================================================
117119

118120
Also see <<plugins-{type}s-{plugin}-common-options>> for a list of options supported by all
@@ -132,26 +134,24 @@ and no codec for the request's content-type is found
132134

133135
[id="plugins-{type}s-{plugin}-cipher_suites"]
134136
===== `cipher_suites`
137+
deprecated[3.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_cipher_suites>>]
135138

136139
* Value type is <<array,array>>
137-
* Default value is `java.lang.String[TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256]@459cfcca`
138140

139-
The list of ciphers suite to use, listed by priorities.
141+
The list of cipher suites to use, listed by priorities.
140142

141143
[id="plugins-{type}s-{plugin}-ecs_compatibility"]
142144
===== `ecs_compatibility`
143145

144-
* Value type is <<string,string>>
145-
* Supported values are:
146-
** `disabled`: unstructured connection metadata added at root level
147-
** `v1`,`v8`: headers added under `[@metadata][http][header]`. Some are copied to structured ECS fields `http`, `url`, `user_agent` and `host`
146+
* Value type is <<string,string>>
147+
* Supported values are:
148+
** `disabled`: unstructured connection metadata added at root level
149+
** `v1`,`v8`: headers added under `[@metadata][http][header]`. Some are copied to structured ECS fields `http`, `url`, `user_agent` and `host`
148150

149151
Controls this plugin's compatibility with the
150152
{ecs-ref}[Elastic Common Schema (ECS)].
151153
See <<plugins-{type}s-{plugin}-ecs_metadata>> for detailed information.
152154

153-
Example output:
154-
155155
**Sample output: ECS disabled**
156156
[source,text]
157157
-----
@@ -214,28 +214,22 @@ The host or ip to bind
214214

215215
[id="plugins-{type}s-{plugin}-keystore"]
216216
===== `keystore`
217+
deprecated[3.1.0, Use <<plugins-{type}s-{plugin}-ssl_certificate>> and <<plugins-{type}s-{plugin}-ssl_key>> instead]
217218

218219
* Value type is <<path,path>>
219220
* There is no default value for this setting.
220-
* This option is deprecated
221221

222222
The JKS keystore to validate the client's certificates
223223

224-
Note: This option is deprecated and it will be removed in the next major version of Logstash.
225-
Use `ssl_certificate` and `ssl_key` instead.
226-
227224
[id="plugins-{type}s-{plugin}-keystore_password"]
228225
===== `keystore_password`
226+
deprecated[3.1.0, Use <<plugins-{type}s-{plugin}-ssl_certificate>> and <<plugins-{type}s-{plugin}-ssl_key>> instead]
229227

230228
* Value type is <<password,password>>
231229
* There is no default value for this setting.
232-
* This option is deprecated
233230

234231
Set the truststore password
235232

236-
Note: This option is deprecated and it will be removed in the next major version of Logstash.
237-
Use `ssl_certificate` and `ssl_key` instead.
238-
239233
[id="plugins-{type}s-{plugin}-password"]
240234
===== `password`
241235

@@ -342,6 +336,17 @@ be read and added to the trust store. You need to configure the `ssl_verify_mode
342336
to `peer` or `force_peer` to enable the verification.
343337

344338

339+
[id="plugins-{type}s-{plugin}-ssl_cipher_suites"]
340+
===== `ssl_cipher_suites`
341+
342+
* Value type is <<array,array>>
343+
* Default value is `['TLS_AES_256_GCM_SHA384', 'TLS_AES_128_GCM_SHA256', 'TLS_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256', 'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384', 'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384', 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256', 'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256']`
344+
345+
The list of cipher suites to use, listed by priorities.
346+
This default list applies for OpenJDK 11.0.14 and higher.
347+
For older JDK versions, the default list includes only suites supported by that version.
348+
For example, the ChaCha20 family of ciphers is not supported in older versions.
349+
345350
[id="plugins-{type}s-{plugin}-ssl_handshake_timeout"]
346351
===== `ssl_handshake_timeout`
347352

@@ -357,7 +362,7 @@ Time in milliseconds for an incomplete ssl handshake to timeout
357362
* There is no default value for this setting.
358363

359364
SSL key to use.
360-
NOTE: This key need to be in the PKCS8 format, you can convert it with https://www.openssl.org/docs/man1.1.0/apps/pkcs8.html[OpenSSL]
365+
NOTE: This key need to be in the PKCS8 format, you can convert it with https://www.openssl.org/docs/man1.1.1/man1/openssl-pkcs8.html[OpenSSL]
361366
for more information.
362367

363368
[id="plugins-{type}s-{plugin}-ssl_key_passphrase"]
@@ -368,6 +373,23 @@ for more information.
368373

369374
SSL key passphrase to use.
370375

376+
[id="plugins-{type}s-{plugin}-ssl_supported_protocols"]
377+
===== `ssl_supported_protocols`
378+
379+
* Value type is <<array,array>>
380+
* Allowed values are: `'TLSv1.1'`, `'TLSv1.2'`, `'TLSv1.3'`
381+
* Default depends on the JDK being used. With up-to-date Logstash, the default is `['TLSv1.2', 'TLSv1.3']`.
382+
`'TLSv1.1'` is not considered secure and is only provided for legacy applications.
383+
384+
List of allowed SSL/TLS versions to use when establishing a connection to the HTTP endpoint.
385+
386+
For Java 8 `'TLSv1.3'` is supported only since **8u262** (AdoptOpenJDK), but requires that you set the
387+
`LS_JAVA_OPTS="-Djdk.tls.client.protocols=TLSv1.3"` system property in Logstash.
388+
389+
NOTE: If you configure the plugin to use `'TLSv1.1'` on any recent JVM, such as the one packaged with Logstash,
390+
the protocol is disabled by default and needs to be enabled manually by changing `jdk.tls.disabledAlgorithms` in
391+
the *$JDK_HOME/conf/security/java.security* configuration file. That is, `TLSv1.1` needs to be removed from the list.
392+
371393
[id="plugins-{type}s-{plugin}-ssl_verify_mode"]
372394
===== `ssl_verify_mode`
373395

@@ -394,21 +416,21 @@ Number of threads to use for both accepting connections and handling requests
394416

395417
[id="plugins-{type}s-{plugin}-tls_max_version"]
396418
===== `tls_max_version`
419+
deprecated[3.6.0]
397420

398421
* Value type is <<number,number>>
399-
* Default value is `1.2`
400422

401-
The maximum TLS version allowed for the encrypted connections. The value must be the one of the following:
402-
1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2
423+
The maximum TLS version allowed for the encrypted connections.
424+
The value must be the one of the following: 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLSv1.3
403425

404426
[id="plugins-{type}s-{plugin}-tls_min_version"]
405427
===== `tls_min_version`
428+
deprecated[3.6.0]
406429

407430
* Value type is <<number,number>>
408-
* Default value is `1`
409431

410-
The minimum TLS version allowed for the encrypted connections. The value must be one of the following:
411-
1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2
432+
The minimum TLS version allowed for the encrypted connections.
433+
The value must be one of the following: 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLSv1.3
412434

413435
[id="plugins-{type}s-{plugin}-user"]
414436
===== `user`
@@ -420,16 +442,13 @@ Username for basic authorization
420442

421443
[id="plugins-{type}s-{plugin}-verify_mode"]
422444
===== `verify_mode`
445+
deprecated[3.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_verify_mode>>]
423446

424447
* Value can be any of: `none`, `peer`, `force_peer`
425448
* Default value is `"none"`
426-
* This option is deprecated
427449

428450
Set the client certificate verification method. Valid methods: none, peer, force_peer
429451

430-
Note: This option is deprecated and it will be removed in the next major version of Logstash.
431-
Use `ssl_verify_mode` instead.
432-
433452

434453
[id="plugins-{type}s-{plugin}-common-options"]
435454
include::{include_path}/{type}.asciidoc[]

0 commit comments

Comments
 (0)