This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 23a92d7 PR #487: Improve logging of unknown settings frames
23a92d7 is described below
commit 23a92d7a55cffa58e604f5162403521da3ca5d25
Author: remm <[email protected]>
AuthorDate: Wed Mar 23 21:00:41 2022 +0100
PR #487: Improve logging of unknown settings frames
Pull request by Thomas Hoffmann.
---
java/org/apache/coyote/http2/ConnectionSettingsBase.java | 2 --
java/org/apache/coyote/http2/Http2Parser.java | 7 ++++++-
java/org/apache/coyote/http2/Http2UpgradeHandler.java | 7 ++++++-
webapps/docs/changelog.xml | 4 ++++
4 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/java/org/apache/coyote/http2/ConnectionSettingsBase.java
b/java/org/apache/coyote/http2/ConnectionSettingsBase.java
index 042fb0c..ef4a200 100644
--- a/java/org/apache/coyote/http2/ConnectionSettingsBase.java
+++ b/java/org/apache/coyote/http2/ConnectionSettingsBase.java
@@ -88,8 +88,6 @@ abstract class ConnectionSettingsBase<T extends Throwable> {
break;
case UNKNOWN:
// Unrecognised. Ignore it.
- log.warn(sm.getString("connectionSettings.unknown",
- connectionId, setting, Long.toString(value)));
return;
}
diff --git a/java/org/apache/coyote/http2/Http2Parser.java
b/java/org/apache/coyote/http2/Http2Parser.java
index 5875e28..8c67d84 100644
--- a/java/org/apache/coyote/http2/Http2Parser.java
+++ b/java/org/apache/coyote/http2/Http2Parser.java
@@ -337,7 +337,12 @@ class Http2Parser {
}
int id = ByteUtil.getTwoBytes(setting, 0);
long value = ByteUtil.getFourBytes(setting, 2);
- output.setting(Setting.valueOf(id), value);
+ Setting key = Setting.valueOf(id);
+ if (log.isDebugEnabled() && key == Setting.UNKNOWN) {
+ log.warn(sm.getString("connectionSettings.unknown",
+ connectionId, Integer.toString(id),
Long.toString(value)));
+ }
+ output.setting(key, value);
}
}
output.settingsEnd(ack);
diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index a075c02..49427f5 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -233,7 +233,12 @@ class Http2UpgradeHandler extends AbstractStream
implements InternalHttpUpgradeH
for (int i = 0; i < settings.length % 6; i++) {
int id = ByteUtil.getTwoBytes(settings, i * 6);
long value = ByteUtil.getFourBytes(settings, (i * 6) + 2);
- remoteSettings.set(Setting.valueOf(id), value);
+ Setting key = Setting.valueOf(id);
+ if (log.isDebugEnabled() && key == Setting.UNKNOWN) {
+ log.warn(sm.getString("connectionSettings.unknown",
+ connectionId, Integer.toString(id),
Long.toString(value)));
+ }
+ remoteSettings.set(key, value);
}
} catch (Http2Exception e) {
throw new ProtocolException(
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index c1a69d6..1d55d26 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -125,6 +125,10 @@
skipping setting it in some cases (for example, it does not make
sense for OpenSSL TLS 1.3). (remm)
</fix>
+ <fix>
+ <pr>487</pr>: Improve logging of unknown settings frames. Pull request
+ by Thomas Hoffmann. (remm)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]