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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
