This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 42b83ee1db5337ca6756681c90cfecad885a122f Author: remm <r...@apache.org> 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 | 8 ++++++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/java/org/apache/coyote/http2/ConnectionSettingsBase.java b/java/org/apache/coyote/http2/ConnectionSettingsBase.java index 2e67fbc..7ea44c2 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 df173e1..bd91cbd 100644 --- a/java/org/apache/coyote/http2/Http2Parser.java +++ b/java/org/apache/coyote/http2/Http2Parser.java @@ -309,7 +309,12 @@ class Http2Parser { input.fill(true, setting); 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 390463f..a0307e4 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 1e601e3..0eb5f60 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -118,6 +118,14 @@ </scode> </changelog> </subsection> + <subsection name="Coyote"> + <changelog> + <fix> + <pr>487</pr>: Improve logging of unknown settings frames. Pull request + by Thomas Hoffmann. (remm) + </fix> + </changelog> + </subsection> <subsection name="Jasper"> <changelog> <fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org