You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/12/08 17:58:00 UTC
[tomcat] 01/02: Remove support for ALLOW_UNSUPPORTED_EXTENSIONS
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 5fa161107bd53612432d995357ec8b1c3ee46299
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Dec 8 13:19:53 2021 +0000
Remove support for ALLOW_UNSUPPORTED_EXTENSIONS
All extensions are optional. If an endpoint declares an extension that
isn't supported no need for an error - just exclude it from the result
of the negotiation.
---
java/org/apache/tomcat/websocket/Constants.java | 2 --
java/org/apache/tomcat/websocket/LocalStrings.properties | 2 --
java/org/apache/tomcat/websocket/LocalStrings_fr.properties | 2 --
java/org/apache/tomcat/websocket/LocalStrings_ja.properties | 2 --
java/org/apache/tomcat/websocket/LocalStrings_ko.properties | 2 --
.../org/apache/tomcat/websocket/LocalStrings_zh_CN.properties | 2 --
java/org/apache/tomcat/websocket/TransformationFactory.java | 11 +----------
webapps/docs/changelog.xml | 11 +++++++++++
webapps/docs/config/systemprops.xml | 6 ------
9 files changed, 12 insertions(+), 28 deletions(-)
diff --git a/java/org/apache/tomcat/websocket/Constants.java b/java/org/apache/tomcat/websocket/Constants.java
index 5e1d124..6ecdc48 100644
--- a/java/org/apache/tomcat/websocket/Constants.java
+++ b/java/org/apache/tomcat/websocket/Constants.java
@@ -136,8 +136,6 @@ public class Constants {
*/
static final boolean DISABLE_BUILTIN_EXTENSIONS =
Boolean.getBoolean("org.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS");
- static final boolean ALLOW_UNSUPPORTED_EXTENSIONS =
- Boolean.getBoolean("org.apache.tomcat.websocket.ALLOW_UNSUPPORTED_EXTENSIONS");
public static final boolean STRICT_SPEC_COMPLIANCE =
Boolean.getBoolean("org.apache.tomcat.websocket.STRICT_SPEC_COMPLIANCE");
diff --git a/java/org/apache/tomcat/websocket/LocalStrings.properties b/java/org/apache/tomcat/websocket/LocalStrings.properties
index 9031baf..c755121 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings.properties
@@ -45,8 +45,6 @@ perMessageDeflate.invalidState=Invalid state
perMessageDeflate.invalidWindowSize=An invalid windows of [{1}] size was specified for [{0}]. Valid values are whole numbers from 8 to 15 inclusive.
perMessageDeflate.unknownParameter=An unknown extension parameter [{0}] was defined
-transformerFactory.unsupportedExtension=The extension [{0}] is not supported
-
util.invalidMessageHandler=The message handler provided does not have an onMessage(Object) method
util.invalidType=Unable to coerce value [{0}] to type [{1}]. That type is not supported.
util.notToken=An illegal extension parameter was specified with name [{0}] and value [{1}]
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_fr.properties b/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
index e681368..6dedb96 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
@@ -44,8 +44,6 @@ perMessageDeflate.invalidState=Etat invalide
perMessageDeflate.invalidWindowSize=Une taille [{1}] de fenêtre invalide a été spécifiée pour [{0}], les valeurs valides sont les entiers de 8 à 15 inclus
perMessageDeflate.unknownParameter=Un paramètre d''extension inconnu [{0}] a été défini
-transformerFactory.unsupportedExtension=L''extension [{0}] n''est pas supportée
-
util.invalidMessageHandler=Le gestionnaire de messages fourni n'a pas de méthode onMessage(Object)
util.invalidType=Incapable de convertir la valeur [{0}] en le type [{1}]. Ce type n''est pas supporté.
util.notToken=Un paramètre d''extension illégal a été spécifié avec le nom [{0}] et la valeur [{1}]
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
index cc32f3a..382944e 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
@@ -44,8 +44,6 @@ perMessageDeflate.invalidState=不正な状態です。
perMessageDeflate.invalidWindowSize=[{0}] のウインドウサイズに無効な値 [{1}] が指定されました。ウインドウサイズは 8 以上 15 以下でなければなりません。
perMessageDeflate.unknownParameter=未知の拡張パラメーター [{0}] が指定されました。
-transformerFactory.unsupportedExtension=未対応の拡張 [{0}] です。
-
util.invalidMessageHandler=提供されたメッセージハンドラにonMessage(Object)メソッドがありません
util.invalidType=値[{0}]をタイプ[{1}]に強制できません。 このタイプはサポートされていません。
util.notToken=パラメーター名 [{0}]、値 [{1}] の不正な拡張パラメーターが指定されました。
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_ko.properties b/java/org/apache/tomcat/websocket/LocalStrings_ko.properties
index 74d9468..2297888 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_ko.properties
@@ -44,8 +44,6 @@ perMessageDeflate.invalidState=유효하지 않은 상태
perMessageDeflate.invalidWindowSize=크기가 [{1}]인 유효하지 않은 윈도우들이 [{0}]을 위해 지정되었습니다. 유효한 값들의 범위는 8에서 15까지의 모든 숫자들입니다.
perMessageDeflate.unknownParameter=알 수 없는 확장 파라미터 [{0}]은(는), 정의되지 않았습니다.
-transformerFactory.unsupportedExtension=Extension [{0}]은(는) 지원되지 않습니다.
-
util.invalidMessageHandler=제공된 메시지 핸들러에 onMessage(Object) 메소드가 없습니다.
util.invalidType=[{0}] 값을 타입 [{1}](으)로 강제 변환시킬 수 없습니다. 해당 타입은 지원되지 않습니다.
util.notToken=허용되지 않는 확장 파라미터가 지정되었습니다. 이름: [{0}], 값: [{1}].
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
index 0ebc3fe..eac229a 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
@@ -45,8 +45,6 @@ perMessageDeflate.invalidState=无效状态
perMessageDeflate.invalidWindowSize=为[{0}]指定了[{1}]大小的无效窗口。 有效值是从8到15(包括8和15)的整数。
perMessageDeflate.unknownParameter=定义了未知的扩展参数[{0}]
-transformerFactory.unsupportedExtension=不支持扩展名[{0}]。
-
util.invalidMessageHandler=提供的消息处理程序没有onMessage(对象)方法。
util.invalidType=无法强制值[{0}]转为[{1}]类型(不支持次类型)。
util.notToken=一个非法的扩展参数被指定为名称[{0}]和值[{0}]
diff --git a/java/org/apache/tomcat/websocket/TransformationFactory.java b/java/org/apache/tomcat/websocket/TransformationFactory.java
index 9d2b37c..c1eae21 100644
--- a/java/org/apache/tomcat/websocket/TransformationFactory.java
+++ b/java/org/apache/tomcat/websocket/TransformationFactory.java
@@ -20,12 +20,8 @@ import java.util.List;
import jakarta.websocket.Extension;
-import org.apache.tomcat.util.res.StringManager;
-
public class TransformationFactory {
- private static final StringManager sm = StringManager.getManager(TransformationFactory.class);
-
private static final TransformationFactory factory = new TransformationFactory();
private TransformationFactory() {
@@ -41,11 +37,6 @@ public class TransformationFactory {
if (PerMessageDeflate.NAME.equals(name)) {
return PerMessageDeflate.negotiate(preferences, isServer);
}
- if (Constants.ALLOW_UNSUPPORTED_EXTENSIONS) {
- return null;
- } else {
- throw new IllegalArgumentException(
- sm.getString("transformerFactory.unsupportedExtension", name));
- }
+ return null;
}
}
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 139118d..942a5b5 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -132,6 +132,17 @@
</fix>
</changelog>
</subsection>
+ <subsection name="WebSocket">
+ <changelog>
+ <fix>
+ Remove the <code>ALLOW_UNSUPPORTED_EXTENSIONS</code> system property. As
+ per RFC 6455, all extensions are optional. If an endpoint declares an
+ extension that isn't supported there is no need to trigger an error. The
+ extension can just be excluded from the result of the negotiation.
+ (markt)
+ </fix>
+ </changelog>
+ </subsection>
</section>
<section name="Tomcat 10.1.0-M8 (markt)" rtext="2021-12-08">
<subsection name="Catalina">
diff --git a/webapps/docs/config/systemprops.xml b/webapps/docs/config/systemprops.xml
index 564fb87..392a302 100644
--- a/webapps/docs/config/systemprops.xml
+++ b/webapps/docs/config/systemprops.xml
@@ -259,12 +259,6 @@
<properties>
- <property name="org.apache.tomcat. websocket.ALLOW_UNSUPPORTED_EXTENSIONS">
- <p>If <code>true</code>, allow unknown extensions to be declared by
- the user.</p>
- <p>The default value is <code>false</code>.</p>
- </property>
-
<property name="org.apache.tomcat. websocket.DEFAULT_BUFFER_SIZE">
<p>The default size for buffers used in the Websockets container.</p>
<p>The default value is <code>8192</code> which corresponds to 8KB.</p>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org