logstash-input-http 3.4.4-java → 3.5.1-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 +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/docs/index.asciidoc +12 -9
- data/lib/logstash/inputs/http/tls.rb +2 -1
- data/lib/logstash/inputs/http.rb +14 -3
- data/lib/logstash-input-http_jars.rb +1 -2
- data/logstash-input-http.gemspec +1 -1
- data/spec/fixtures/certs/generate.sh +40 -0
- data/spec/fixtures/certs/generated/README.txt +2 -0
- data/spec/fixtures/certs/generated/client_from_root.crt +35 -0
- data/spec/fixtures/certs/generated/client_from_root.jks +0 -0
- data/spec/fixtures/certs/generated/client_from_root.key +51 -0
- data/spec/fixtures/certs/generated/client_from_root.key.pkcs8 +52 -0
- data/spec/fixtures/certs/generated/client_from_root.p12 +0 -0
- data/spec/fixtures/certs/generated/root.crt +32 -0
- data/spec/fixtures/certs/generated/root.key +51 -0
- data/spec/fixtures/certs/generated/root.key.pkcs8 +52 -0
- data/spec/fixtures/certs/generated/server_from_root.crt +37 -0
- data/spec/fixtures/certs/generated/server_from_root.key +51 -0
- data/spec/fixtures/certs/generated/server_from_root.key.pkcs8 +52 -0
- data/spec/fixtures/certs/openssl.cnf +47 -0
- data/spec/inputs/http_spec.rb +170 -17
- data/vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/{3.4.4/logstash-input-http-3.4.4.jar → 3.5.1/logstash-input-http-3.5.1.jar} +0 -0
- metadata +31 -4
- data/vendor/jar-dependencies/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 57c80d7659006a5cbaa321016046be88431d7df9ab7aff47c2b6e22670e420aa
|
|
4
|
+
data.tar.gz: fbf35768bf5bfc1bddeb2fab860ca5dd6e7d76eee6e5b03590ea6239ebb0935a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6474b6cf869b1e9c07f43ddf7c7903496d38d366f02f3a5c4217c16011eb008dcee940bc87d1f77a885c5c92c0f440ea207e56c677431df65d04f9cb3fcafb82
|
|
7
|
+
data.tar.gz: 5ddf0b72e016873e9bce678f74f8052dbad329819fadcfcf431af0d2126251a33901f5033b0948eff2e18f08dd0d107c092f505cabd63b5731c2679a3c13e0af
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 3.5.1
|
|
2
|
+
- 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)
|
|
3
|
+
|
|
4
|
+
## 3.5.0
|
|
5
|
+
- Feat: TLSv1.3 support [#146](https://github.com/logstash-plugins/logstash-input-http/pull/146)
|
|
6
|
+
|
|
7
|
+
## 3.4.5
|
|
8
|
+
- Build: do not package log4j-api dependency [#149](https://github.com/logstash-plugins/logstash-input-http/pull/149).
|
|
9
|
+
Logstash provides the log4j framework and the dependency is not needed except testing and compiling.
|
|
10
|
+
|
|
1
11
|
## 3.4.4
|
|
2
12
|
- Update log4j dependency to 2.17.0
|
|
3
13
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.5.1
|
data/docs/index.asciidoc
CHANGED
|
@@ -134,9 +134,12 @@ and no codec for the request's content-type is found
|
|
|
134
134
|
===== `cipher_suites`
|
|
135
135
|
|
|
136
136
|
* Value type is <<array,array>>
|
|
137
|
-
* Default value is `
|
|
137
|
+
* Default value is `[TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, 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]`
|
|
138
138
|
|
|
139
|
-
The list of
|
|
139
|
+
The list of cipher suites to use, listed by priorities.
|
|
140
|
+
This default list applies for OpenJDK 11.0.14 and higher.
|
|
141
|
+
For older JDK versions, the default list includes only suites supported by that version.
|
|
142
|
+
For example, the ChaCha20 family of ciphers is not supported in older versions.
|
|
140
143
|
|
|
141
144
|
[id="plugins-{type}s-{plugin}-ecs_compatibility"]
|
|
142
145
|
===== `ecs_compatibility`
|
|
@@ -357,7 +360,7 @@ Time in milliseconds for an incomplete ssl handshake to timeout
|
|
|
357
360
|
* There is no default value for this setting.
|
|
358
361
|
|
|
359
362
|
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.
|
|
363
|
+
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]
|
|
361
364
|
for more information.
|
|
362
365
|
|
|
363
366
|
[id="plugins-{type}s-{plugin}-ssl_key_passphrase"]
|
|
@@ -396,19 +399,19 @@ Number of threads to use for both accepting connections and handling requests
|
|
|
396
399
|
===== `tls_max_version`
|
|
397
400
|
|
|
398
401
|
* Value type is <<number,number>>
|
|
399
|
-
* Default value is `1.
|
|
402
|
+
* Default value is `1.3`
|
|
400
403
|
|
|
401
|
-
The maximum TLS version allowed for the encrypted connections.
|
|
402
|
-
1.
|
|
404
|
+
The maximum TLS version allowed for the encrypted connections.
|
|
405
|
+
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
|
|
403
406
|
|
|
404
407
|
[id="plugins-{type}s-{plugin}-tls_min_version"]
|
|
405
408
|
===== `tls_min_version`
|
|
406
409
|
|
|
407
410
|
* Value type is <<number,number>>
|
|
408
|
-
* Default value is `1`
|
|
411
|
+
* Default value is `1.2`
|
|
409
412
|
|
|
410
|
-
The minimum TLS version allowed for the encrypted connections.
|
|
411
|
-
1.
|
|
413
|
+
The minimum TLS version allowed for the encrypted connections.
|
|
414
|
+
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
|
|
412
415
|
|
|
413
416
|
[id="plugins-{type}s-{plugin}-user"]
|
|
414
417
|
===== `user`
|
data/lib/logstash/inputs/http.rb
CHANGED
|
@@ -87,11 +87,11 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
|
|
|
87
87
|
config :ssl_handshake_timeout, :validate => :number, :default => 10000
|
|
88
88
|
|
|
89
89
|
# The minimum TLS version allowed for the encrypted connections. The value must be one of the following:
|
|
90
|
-
# 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2
|
|
90
|
+
# 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLS 1.3
|
|
91
91
|
config :tls_min_version, :validate => :number, :default => TLS.min.version
|
|
92
92
|
|
|
93
93
|
# The maximum TLS version allowed for the encrypted connections. The value must be the one of the following:
|
|
94
|
-
# 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2
|
|
94
|
+
# 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLS 1.3
|
|
95
95
|
config :tls_max_version, :validate => :number, :default => TLS.max.version
|
|
96
96
|
|
|
97
97
|
# The list of ciphers suite to use, listed by priorities.
|
|
@@ -127,6 +127,8 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
|
|
|
127
127
|
config :verify_mode, :validate => ['none', 'peer', 'force_peer'], :default => 'none',
|
|
128
128
|
:deprecated => "Set 'ssl_verify_mode' instead."
|
|
129
129
|
|
|
130
|
+
attr_reader :codecs
|
|
131
|
+
|
|
130
132
|
public
|
|
131
133
|
def register
|
|
132
134
|
|
|
@@ -140,7 +142,7 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
|
|
|
140
142
|
@codecs = Hash.new
|
|
141
143
|
|
|
142
144
|
@additional_codecs.each do |content_type, codec|
|
|
143
|
-
@codecs[content_type] =
|
|
145
|
+
@codecs[content_type] = initialize_codec(codec)
|
|
144
146
|
end
|
|
145
147
|
|
|
146
148
|
require "logstash/inputs/http/message_handler"
|
|
@@ -333,4 +335,13 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
|
|
|
333
335
|
error_details
|
|
334
336
|
end
|
|
335
337
|
|
|
338
|
+
def initialize_codec(codec_name)
|
|
339
|
+
codec_klass = LogStash::Plugin.lookup("codec", codec_name)
|
|
340
|
+
if defined?(::LogStash::Plugins::Contextualizer)
|
|
341
|
+
::LogStash::Plugins::Contextualizer.initialize_plugin(execution_context, codec_klass)
|
|
342
|
+
else
|
|
343
|
+
codec_klass.new
|
|
344
|
+
end
|
|
345
|
+
end
|
|
346
|
+
|
|
336
347
|
end # class LogStash::Inputs::Http
|
|
@@ -2,5 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
require 'jar_dependencies'
|
|
4
4
|
require_jar('io.netty', 'netty-all', '4.1.65.Final')
|
|
5
|
-
require_jar('org.
|
|
6
|
-
require_jar('org.logstash.plugins.input.http', 'logstash-input-http', '3.4.4')
|
|
5
|
+
require_jar('org.logstash.plugins.input.http', 'logstash-input-http', '3.5.1')
|
data/logstash-input-http.gemspec
CHANGED
|
@@ -2,7 +2,7 @@ HTTP_INPUT_VERSION = File.read(File.expand_path(File.join(File.dirname(__FILE__)
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = 'logstash-input-http'
|
|
5
|
-
s.version
|
|
5
|
+
s.version = HTTP_INPUT_VERSION
|
|
6
6
|
s.licenses = ['Apache License (2.0)']
|
|
7
7
|
s.summary = "Receives events over HTTP or HTTPS"
|
|
8
8
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# warning: do not use the certificates produced by this tool in production.
|
|
2
|
+
# This is for testing purposes only
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
rm -rf generated
|
|
6
|
+
mkdir generated
|
|
7
|
+
cd generated
|
|
8
|
+
|
|
9
|
+
echo "GENERATED CERTIFICATES FOR TESTING ONLY." >> ./README.txt
|
|
10
|
+
echo "DO NOT USE THESE CERTIFICATES IN PRODUCTION" >> ./README.txt
|
|
11
|
+
|
|
12
|
+
# certificate authority
|
|
13
|
+
openssl genrsa -out root.key 4096
|
|
14
|
+
openssl req -new -x509 -days 1826 -extensions ca -key root.key -out root.crt -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=root" -config ../openssl.cnf
|
|
15
|
+
|
|
16
|
+
# server certificate from root
|
|
17
|
+
openssl genrsa -out server_from_root.key 4096
|
|
18
|
+
openssl req -new -key server_from_root.key -out server_from_root.csr -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=server" -config ../openssl.cnf
|
|
19
|
+
openssl x509 -req -extensions server_cert -extfile ../openssl.cnf -days 1096 -in server_from_root.csr -CA root.crt -CAkey root.key -set_serial 03 -out server_from_root.crt
|
|
20
|
+
|
|
21
|
+
# client certificate from root
|
|
22
|
+
openssl genrsa -out client_from_root.key 4096
|
|
23
|
+
openssl req -new -key client_from_root.key -out client_from_root.csr -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=client" -config ../openssl.cnf
|
|
24
|
+
openssl x509 -req -extensions client_cert -extfile ../openssl.cnf -days 1096 -in client_from_root.csr -CA root.crt -CAkey root.key -set_serial 04 -out client_from_root.crt
|
|
25
|
+
|
|
26
|
+
# verify :allthethings
|
|
27
|
+
openssl verify -CAfile root.crt server_from_root.crt
|
|
28
|
+
|
|
29
|
+
# create pkcs8 versions of all keys
|
|
30
|
+
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in client_from_root.key -out client_from_root.key.pkcs8
|
|
31
|
+
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in server_from_root.key -out server_from_root.key.pkcs8
|
|
32
|
+
|
|
33
|
+
# create pkcs12 keystores (pass:12345678)
|
|
34
|
+
openssl pkcs12 -export -in client_from_root.crt -inkey client_from_root.key -out client_from_root.p12 -name "client_from_root" -passout 'pass:12345678'
|
|
35
|
+
|
|
36
|
+
# use java keytool to convert all pkcs12 keystores to jks-format keystores (pass:12345678)
|
|
37
|
+
keytool -importkeystore -srckeystore client_from_root.p12 -srcstoretype pkcs12 -srcstorepass 12345678 -destkeystore client_from_root.jks -deststorepass 12345678 -alias client_from_root
|
|
38
|
+
|
|
39
|
+
# cleanup csr, we don't need them
|
|
40
|
+
rm -rf *.csr
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
34
|
+
P1W1gRQ=
|
|
35
|
+
-----END CERTIFICATE-----
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
1RNKTSMq7zpGMzQSlv8udQbWq1Kk8g==
|
|
52
|
+
-----END PRIVATE KEY-----
|
|
Binary file
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
32
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
4FPPlZqhsT/dPOtTFHF4qPXJbLuz6Jk=
|
|
52
|
+
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
36
|
+
PgAX97A6xJeB4AFhXw==
|
|
37
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
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
|
|
51
|
+
2ovkeMh05cseiXfaeEaXgvoABDrwog==
|
|
52
|
+
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[ req ]
|
|
2
|
+
distinguished_name= req_distinguished_name
|
|
3
|
+
attributes= req_attributes
|
|
4
|
+
|
|
5
|
+
[ req_distinguished_name ]
|
|
6
|
+
countryName= Country Name (2 letter code)
|
|
7
|
+
countryName_min= 2
|
|
8
|
+
countryName_max= 2
|
|
9
|
+
stateOrProvinceName= State or Province Name (full name)
|
|
10
|
+
localityName= Locality Name (eg, city)
|
|
11
|
+
0.organizationName= Organization Name (eg, company)
|
|
12
|
+
organizationalUnitName= Organizational Unit Name (eg, section)
|
|
13
|
+
commonName= Common Name (eg, fully qualified host name)
|
|
14
|
+
commonName_max= 64
|
|
15
|
+
emailAddress= Email Address
|
|
16
|
+
emailAddress_max= 64
|
|
17
|
+
|
|
18
|
+
[ req_attributes ]
|
|
19
|
+
challengePassword= A challenge password
|
|
20
|
+
challengePassword_min= 4
|
|
21
|
+
challengePassword_max= 20
|
|
22
|
+
|
|
23
|
+
[ ca ]
|
|
24
|
+
subjectKeyIdentifier = hash
|
|
25
|
+
authorityKeyIdentifier = keyid:always,issuer
|
|
26
|
+
basicConstraints = critical, CA:true
|
|
27
|
+
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
|
|
28
|
+
|
|
29
|
+
[ client_cert ]
|
|
30
|
+
basicConstraints = CA:FALSE
|
|
31
|
+
nsCertType = client, email
|
|
32
|
+
nsComment = "OpenSSL Generated Client Certificate"
|
|
33
|
+
subjectKeyIdentifier = hash
|
|
34
|
+
authorityKeyIdentifier = keyid,issuer
|
|
35
|
+
keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
|
|
36
|
+
extendedKeyUsage = clientAuth, emailProtection
|
|
37
|
+
subjectAltName = "DNS:localhost, IP:127.0.0.1"
|
|
38
|
+
|
|
39
|
+
[ server_cert ]
|
|
40
|
+
basicConstraints = CA:FALSE
|
|
41
|
+
nsCertType = server
|
|
42
|
+
nsComment = "OpenSSL Generated Server Certificate"
|
|
43
|
+
subjectKeyIdentifier = hash
|
|
44
|
+
authorityKeyIdentifier = keyid,issuer:always
|
|
45
|
+
keyUsage = critical, digitalSignature, keyEncipherment
|
|
46
|
+
extendedKeyUsage = serverAuth
|
|
47
|
+
subjectAltName = "DNS:localhost, IP:127.0.0.1"
|
data/spec/inputs/http_spec.rb
CHANGED
|
@@ -20,6 +20,11 @@ describe LogStash::Inputs::Http do
|
|
|
20
20
|
let(:client_options) { { } }
|
|
21
21
|
let(:logstash_queue) { Queue.new }
|
|
22
22
|
let(:port) { rand(5000) + 1025 }
|
|
23
|
+
let(:url) { "http://127.0.0.1:#{port}" }
|
|
24
|
+
|
|
25
|
+
let(:config) { { "port" => port } }
|
|
26
|
+
|
|
27
|
+
subject { described_class.new(config) }
|
|
23
28
|
|
|
24
29
|
it_behaves_like "an interruptible input plugin" do
|
|
25
30
|
let(:config) { { "port" => port } }
|
|
@@ -32,7 +37,6 @@ describe LogStash::Inputs::Http do
|
|
|
32
37
|
end
|
|
33
38
|
|
|
34
39
|
describe "request handling" do
|
|
35
|
-
subject { LogStash::Inputs::Http.new("port" => port) }
|
|
36
40
|
|
|
37
41
|
before :each do
|
|
38
42
|
setup_server_client
|
|
@@ -49,7 +53,7 @@ describe LogStash::Inputs::Http do
|
|
|
49
53
|
"socket_timeout" => 0.1
|
|
50
54
|
} }
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
let(:config) { { "port" => port, "threads" => threads, "max_pending_requests" => max_pending_requests } }
|
|
53
57
|
|
|
54
58
|
context "when sending more requests than queue slots" do
|
|
55
59
|
it "should block when the queue is full" do
|
|
@@ -74,7 +78,7 @@ describe LogStash::Inputs::Http do
|
|
|
74
78
|
end
|
|
75
79
|
|
|
76
80
|
context "with default codec" do
|
|
77
|
-
|
|
81
|
+
|
|
78
82
|
context "when receiving a text/plain request" do
|
|
79
83
|
it "should process the request normally" do
|
|
80
84
|
client.post("http://127.0.0.1:#{port}/meh.json",
|
|
@@ -84,6 +88,7 @@ describe LogStash::Inputs::Http do
|
|
|
84
88
|
expect(event.get("message")).to eq("hello")
|
|
85
89
|
end
|
|
86
90
|
end
|
|
91
|
+
|
|
87
92
|
context "when receiving a deflate compressed text/plain request" do
|
|
88
93
|
it "should process the request normally" do
|
|
89
94
|
client.post("http://127.0.0.1:#{port}/meh.json",
|
|
@@ -93,16 +98,18 @@ describe LogStash::Inputs::Http do
|
|
|
93
98
|
expect(event.get("message")).to eq("hello")
|
|
94
99
|
end
|
|
95
100
|
end
|
|
101
|
+
|
|
96
102
|
context "when receiving a deflate text/plain request that cannot be decompressed" do
|
|
97
103
|
let(:response) do
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
client.post("http://127.0.0.1:#{port}/meh.json",
|
|
105
|
+
:headers => { "content-type" => "text/plain", "content-encoding" => "deflate" },
|
|
106
|
+
:body => "hello").call
|
|
101
107
|
end
|
|
102
108
|
it "should respond with 400" do
|
|
103
109
|
expect(response.code).to eq(400)
|
|
104
110
|
end
|
|
105
111
|
end
|
|
112
|
+
|
|
106
113
|
context "when receiving a gzip compressed text/plain request" do
|
|
107
114
|
it "should process the request normally" do
|
|
108
115
|
wio = StringIO.new("w")
|
|
@@ -118,6 +125,7 @@ describe LogStash::Inputs::Http do
|
|
|
118
125
|
expect(event.get("message")).to eq("hello")
|
|
119
126
|
end
|
|
120
127
|
end
|
|
128
|
+
|
|
121
129
|
context "when receiving a gzip text/plain request that cannot be decompressed" do
|
|
122
130
|
let(:response) do
|
|
123
131
|
client.post("http://127.0.0.1:#{port}",
|
|
@@ -128,6 +136,7 @@ describe LogStash::Inputs::Http do
|
|
|
128
136
|
expect(response.code).to eq(400)
|
|
129
137
|
end
|
|
130
138
|
end
|
|
139
|
+
|
|
131
140
|
context "when receiving an application/json request" do
|
|
132
141
|
it "should parse the json body" do
|
|
133
142
|
client.post("http://127.0.0.1:#{port}/meh.json",
|
|
@@ -140,16 +149,94 @@ describe LogStash::Inputs::Http do
|
|
|
140
149
|
end
|
|
141
150
|
|
|
142
151
|
context "with json codec" do
|
|
143
|
-
|
|
152
|
+
let(:config) { super().merge("codec" => "json") }
|
|
153
|
+
let(:url) { "http://127.0.0.1:#{port}/meh.json" }
|
|
154
|
+
let(:response) do
|
|
155
|
+
client.post(url, :body => { "message" => "Hello" }.to_json).call
|
|
156
|
+
end
|
|
157
|
+
|
|
144
158
|
it "should parse the json body" do
|
|
145
|
-
response
|
|
159
|
+
expect(response.code).to eq(200)
|
|
146
160
|
event = logstash_queue.pop
|
|
147
161
|
expect(event.get("message")).to eq("Hello")
|
|
148
162
|
end
|
|
163
|
+
|
|
164
|
+
context 'with ssl' do
|
|
165
|
+
|
|
166
|
+
let(:url) { super().sub('http://', 'https://') }
|
|
167
|
+
|
|
168
|
+
certs_dir = File.expand_path('../fixtures/certs/generated', File.dirname(__FILE__))
|
|
169
|
+
|
|
170
|
+
let(:config) do
|
|
171
|
+
super().merge 'ssl' => true,
|
|
172
|
+
'ssl_certificate_authorities' => [ File.join(certs_dir, 'root.crt') ],
|
|
173
|
+
'ssl_certificate' => File.join(certs_dir, 'server_from_root.crt'),
|
|
174
|
+
'ssl_key' => File.join(certs_dir, 'server_from_root.key.pkcs8'),
|
|
175
|
+
'ssl_verify_mode' => 'peer'
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
let(:client_options) do
|
|
179
|
+
super().merge ssl: {
|
|
180
|
+
verify: false,
|
|
181
|
+
ca_file: File.join(certs_dir, 'root.crt'),
|
|
182
|
+
client_cert: File.join(certs_dir, 'client_from_root.crt'),
|
|
183
|
+
client_key: File.join(certs_dir, 'client_from_root.key.pkcs8'),
|
|
184
|
+
}
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
it "should parse the json body" do
|
|
188
|
+
# [DEBUG][io.netty.handler.ssl.SslHandler] [id: 0xcaf869ff, L:/127.0.0.1:5610 - R:/127.0.0.1:32890] HANDSHAKEN: protocol:TLSv1.2 cipher suite:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|
|
189
|
+
# [DEBUG][org.apache.http.conn.ssl.SSLConnectionSocketFactory] Secure session established
|
|
190
|
+
# [DEBUG][org.apache.http.conn.ssl.SSLConnectionSocketFactory] negotiated protocol: TLSv1.2
|
|
191
|
+
# [DEBUG][org.apache.http.conn.ssl.SSLConnectionSocketFactory] negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|
|
192
|
+
expect(response.code).to eq(200)
|
|
193
|
+
event = logstash_queue.pop
|
|
194
|
+
expect(event.get("message")).to eq("Hello")
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
TLS13_ENABLED_BY_DEFAULT = begin
|
|
198
|
+
context = javax.net.ssl.SSLContext.getInstance('TLS')
|
|
199
|
+
context.init nil, nil, nil
|
|
200
|
+
context.getDefaultSSLParameters.getProtocols.include? 'TLSv1.3'
|
|
201
|
+
rescue => e
|
|
202
|
+
warn "failed to detect TLSv1.3 support: #{e.inspect}"
|
|
203
|
+
nil
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
context 'with TLSv1.3 client' do
|
|
207
|
+
|
|
208
|
+
let(:client_options) do
|
|
209
|
+
super().tap do |opts|
|
|
210
|
+
opts.fetch(:ssl).merge! protocols: ['TLSv1.3']
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
it "should parse the json body" do
|
|
215
|
+
expect(response.code).to eq(200)
|
|
216
|
+
event = logstash_queue.pop
|
|
217
|
+
expect(event.get("message")).to eq("Hello")
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
context 'enforced TLSv1.3 in plugin' do
|
|
221
|
+
|
|
222
|
+
let(:config) { super().merge 'tls_min_version' => '1.3', 'cipher_suites' => [ 'TLS_AES_128_GCM_SHA256' ] }
|
|
223
|
+
|
|
224
|
+
it "should parse the json body" do
|
|
225
|
+
expect(response.code).to eq(200)
|
|
226
|
+
event = logstash_queue.pop
|
|
227
|
+
expect(event.get("message")).to eq("Hello")
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
end if TLS13_ENABLED_BY_DEFAULT
|
|
233
|
+
|
|
234
|
+
end
|
|
235
|
+
|
|
149
236
|
end
|
|
150
237
|
|
|
151
238
|
context "with json_lines codec without final delimiter" do
|
|
152
|
-
|
|
239
|
+
let(:config) { super().merge("codec" => "json_lines") }
|
|
153
240
|
let(:line1) { '{"foo": 1}' }
|
|
154
241
|
let(:line2) { '{"foo": 2}' }
|
|
155
242
|
it "should parse all json_lines in body including last one" do
|
|
@@ -169,7 +256,7 @@ describe LogStash::Inputs::Http do
|
|
|
169
256
|
body = { "message" => "Hello" }.to_json
|
|
170
257
|
client.post("http://127.0.0.1:#{port}/meh.json",
|
|
171
258
|
:headers => { "content-type" => "application/json" },
|
|
172
|
-
|
|
259
|
+
:body => body).call
|
|
173
260
|
event = logstash_queue.pop
|
|
174
261
|
expect(event.get("message")).to eq(body)
|
|
175
262
|
end
|
|
@@ -388,15 +475,18 @@ describe LogStash::Inputs::Http do
|
|
|
388
475
|
end
|
|
389
476
|
|
|
390
477
|
# wait until server is ready
|
|
391
|
-
def setup_server_client
|
|
478
|
+
def setup_server_client(url = self.url)
|
|
392
479
|
subject.register
|
|
393
|
-
t = Thread.
|
|
480
|
+
t = Thread.start { subject.run(logstash_queue) }
|
|
394
481
|
ok = false
|
|
395
482
|
until ok
|
|
396
483
|
begin
|
|
397
|
-
client.post(
|
|
398
|
-
rescue => e
|
|
399
|
-
#
|
|
484
|
+
client.post(url, :body => '{}').call
|
|
485
|
+
rescue Manticore::SocketException => e
|
|
486
|
+
puts "retry client.post due #{e}" if $VERBOSE
|
|
487
|
+
rescue Manticore::ManticoreException => e
|
|
488
|
+
warn e.inspect
|
|
489
|
+
raise e.cause ? e.cause : e
|
|
400
490
|
else
|
|
401
491
|
ok = true
|
|
402
492
|
end
|
|
@@ -548,8 +638,7 @@ describe LogStash::Inputs::Http do
|
|
|
548
638
|
|
|
549
639
|
context "with invalid ssl certificate_authorities" do
|
|
550
640
|
let(:config) do
|
|
551
|
-
super().merge("ssl_verify_mode" => "peer",
|
|
552
|
-
"ssl_certificate_authorities" => [ ssc.certificate.path, ssc.private_key.path ])
|
|
641
|
+
super().merge("ssl_verify_mode" => "peer", "ssl_certificate_authorities" => [ ssc.certificate.path, ssc.private_key.path ])
|
|
553
642
|
end
|
|
554
643
|
|
|
555
644
|
it "should raise a cert error" do
|
|
@@ -567,4 +656,68 @@ describe LogStash::Inputs::Http do
|
|
|
567
656
|
|
|
568
657
|
end
|
|
569
658
|
end
|
|
659
|
+
end if false
|
|
660
|
+
|
|
661
|
+
# If we have a setting called `pipeline.ecs_compatibility`, we need to
|
|
662
|
+
# ensure that our additional_codecs are instantiated with the proper
|
|
663
|
+
# execution context in order to ensure that the pipeline setting is
|
|
664
|
+
# respected.
|
|
665
|
+
if LogStash::SETTINGS.registered?('pipeline.ecs_compatibility')
|
|
666
|
+
|
|
667
|
+
def with_setting(name, value, &block)
|
|
668
|
+
setting = LogStash::SETTINGS.get_setting(name)
|
|
669
|
+
was_set, orignial_value = setting.set?, setting.value
|
|
670
|
+
setting.set(value)
|
|
671
|
+
|
|
672
|
+
yield(true)
|
|
673
|
+
|
|
674
|
+
ensure
|
|
675
|
+
was_set ? setting.set(orignial_value) : setting.reset
|
|
676
|
+
end
|
|
677
|
+
|
|
678
|
+
def setting_value_supported?(name, value)
|
|
679
|
+
with_setting(name, value) { true }
|
|
680
|
+
rescue
|
|
681
|
+
false
|
|
682
|
+
end
|
|
683
|
+
|
|
684
|
+
describe LogStash::Inputs::Http do
|
|
685
|
+
context 'additional_codecs' do
|
|
686
|
+
let(:port) { rand(1025...5000) }
|
|
687
|
+
|
|
688
|
+
%w(disabled v1 v8).each do |spec|
|
|
689
|
+
if setting_value_supported?('pipeline.ecs_compatibility', spec)
|
|
690
|
+
context "with `pipeline.ecs_compatibility: #{spec}`" do
|
|
691
|
+
around(:each) { |example| with_setting('pipeline.ecs_compatibility', spec, &example) }
|
|
692
|
+
|
|
693
|
+
it 'propagates the ecs_compatibility pipeline setting to the additional_codecs' do
|
|
694
|
+
input("input { http { port => #{port} additional_codecs => { 'application/json' => 'json' 'text/plain' => 'plain' } } }") do |pipeline, queue|
|
|
695
|
+
http_input = pipeline.inputs.first
|
|
696
|
+
expect(http_input).to be_a_kind_of(described_class) # precondition
|
|
697
|
+
|
|
698
|
+
http_input.codecs.each do |key, value|
|
|
699
|
+
aggregate_failures("Codec for `#{key}`") do
|
|
700
|
+
expect(value.ecs_compatibility).to eq(spec.to_sym)
|
|
701
|
+
end
|
|
702
|
+
end
|
|
703
|
+
end
|
|
704
|
+
end
|
|
705
|
+
end
|
|
706
|
+
end
|
|
707
|
+
end
|
|
708
|
+
|
|
709
|
+
it 'propagates the execution context from the input to the codecs' do
|
|
710
|
+
input("input { http { port => #{port} } }") do |pipeline, queue|
|
|
711
|
+
http_input = pipeline.inputs.first
|
|
712
|
+
expect(http_input).to be_a_kind_of(described_class) # precondition
|
|
713
|
+
|
|
714
|
+
http_input.codecs.each do |key, value|
|
|
715
|
+
aggregate_failures("Codec for `#{key}`") do
|
|
716
|
+
expect(value.execution_context).to be http_input.execution_context
|
|
717
|
+
end
|
|
718
|
+
end
|
|
719
|
+
end
|
|
720
|
+
end
|
|
721
|
+
end
|
|
722
|
+
end
|
|
570
723
|
end
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: logstash-input-http
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.5.1
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Elastic
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-04-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -157,10 +157,23 @@ files:
|
|
|
157
157
|
- lib/logstash/util/http_compressed_requests.rb
|
|
158
158
|
- lib/tasks/build.rake
|
|
159
159
|
- logstash-input-http.gemspec
|
|
160
|
+
- spec/fixtures/certs/generate.sh
|
|
161
|
+
- spec/fixtures/certs/generated/README.txt
|
|
162
|
+
- spec/fixtures/certs/generated/client_from_root.crt
|
|
163
|
+
- spec/fixtures/certs/generated/client_from_root.jks
|
|
164
|
+
- spec/fixtures/certs/generated/client_from_root.key
|
|
165
|
+
- spec/fixtures/certs/generated/client_from_root.key.pkcs8
|
|
166
|
+
- spec/fixtures/certs/generated/client_from_root.p12
|
|
167
|
+
- spec/fixtures/certs/generated/root.crt
|
|
168
|
+
- spec/fixtures/certs/generated/root.key
|
|
169
|
+
- spec/fixtures/certs/generated/root.key.pkcs8
|
|
170
|
+
- spec/fixtures/certs/generated/server_from_root.crt
|
|
171
|
+
- spec/fixtures/certs/generated/server_from_root.key
|
|
172
|
+
- spec/fixtures/certs/generated/server_from_root.key.pkcs8
|
|
173
|
+
- spec/fixtures/certs/openssl.cnf
|
|
160
174
|
- spec/inputs/http_spec.rb
|
|
161
175
|
- vendor/jar-dependencies/io/netty/netty-all/4.1.65.Final/netty-all-4.1.65.Final.jar
|
|
162
|
-
- vendor/jar-dependencies/org/
|
|
163
|
-
- vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/3.4.4/logstash-input-http-3.4.4.jar
|
|
176
|
+
- vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/3.5.1/logstash-input-http-3.5.1.jar
|
|
164
177
|
homepage: http://www.elastic.co/guide/en/logstash/current/index.html
|
|
165
178
|
licenses:
|
|
166
179
|
- Apache License (2.0)
|
|
@@ -188,4 +201,18 @@ signing_key:
|
|
|
188
201
|
specification_version: 4
|
|
189
202
|
summary: Receives events over HTTP or HTTPS
|
|
190
203
|
test_files:
|
|
204
|
+
- spec/fixtures/certs/generate.sh
|
|
205
|
+
- spec/fixtures/certs/generated/README.txt
|
|
206
|
+
- spec/fixtures/certs/generated/client_from_root.crt
|
|
207
|
+
- spec/fixtures/certs/generated/client_from_root.jks
|
|
208
|
+
- spec/fixtures/certs/generated/client_from_root.key
|
|
209
|
+
- spec/fixtures/certs/generated/client_from_root.key.pkcs8
|
|
210
|
+
- spec/fixtures/certs/generated/client_from_root.p12
|
|
211
|
+
- spec/fixtures/certs/generated/root.crt
|
|
212
|
+
- spec/fixtures/certs/generated/root.key
|
|
213
|
+
- spec/fixtures/certs/generated/root.key.pkcs8
|
|
214
|
+
- spec/fixtures/certs/generated/server_from_root.crt
|
|
215
|
+
- spec/fixtures/certs/generated/server_from_root.key
|
|
216
|
+
- spec/fixtures/certs/generated/server_from_root.key.pkcs8
|
|
217
|
+
- spec/fixtures/certs/openssl.cnf
|
|
191
218
|
- spec/inputs/http_spec.rb
|