Mercurial > hg > shenandoah-preopenjdk-archive > openjdk8 > jaxp
changeset 696:60f2cc76b346
Merge
author | asaha |
---|---|
date | Tue, 20 May 2014 12:03:27 -0700 |
parents | d03960b97ec8 (current diff) 1d894a9d308c (diff) |
children | d4c8a2ea4779 |
files | .hgtags |
diffstat | 19 files changed, 85 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Wed May 14 10:59:45 2014 -0700 +++ b/.hgtags Tue May 20 12:03:27 2014 -0700 @@ -260,6 +260,9 @@ bd97ff5f82588c627869218df02a9c2dbb9402d0 jdk8u5-b02 195b74b3e57905b6d6c9ed9b32139c6781ba7d28 jdk8u5-b03 106fdcde4b8a6981be13dac34a3de99d6fece97c jdk8u5-b04 +8f859b1b0f0b18ee7e231d6887b18b5721c2404e jdk8u11-b00 +57c695af3fe838c36eaef647f2af543cd60533e4 jdk8u5-b05 +0000000000000000000000000000000000000000 jdk8u5-b05 8f859b1b0f0b18ee7e231d6887b18b5721c2404e jdk8u5-b05 e22bc548b58a695eede0304399777314ae473562 jdk8u5-b06 0f96584b02b399df706bec2052a7fe48bdc6058b jdk8u5-b07 @@ -269,6 +272,15 @@ c17a827bec287f4c7565c72c195667e52154772b jdk8u5-b11 0e5317cbe451d57f9ffcbb835de07fe553a8aa34 jdk8u5-b12 a303ebb338518a716c267b17986634e3574e7cfe jdk8u5-b13 +3e1631f54539cc21770659dcf61440693ac5fa79 jdk8u11-b01 +6eaf565691a13328e82473d70dfd0feb8fb2f5e8 jdk8u11-b02 +36d713c3339ad945521d298eeb21c67ee856344e jdk8u11-b03 +a25020bdca11acad85454a35a9912fd1b4168d83 jdk8u11-b04 +65e5ee249ebc81c0ccfff23946a0a2a6d4becdcc jdk8u11-b05 +beafeb0b7a178a3906bcb7dcf46f3c9a9c9717c5 jdk8u11-b06 +1923c759e5ed7e9a92512797269d997cae1135b8 jdk8u11-b07 +61faafa45502e4e6db6ce9026d2a7f2121dcae3f jdk8u11-b08 +a01fd971ef667977a131f5fbaaee300e500424c3 jdk8u11-b09 de9ec1246a0c5c0b32ce3818386019fd4a6fceaa jdk8u20-b02 47cdfe271b1e97e5906eb1b96cd7d15f0717a118 jdk8u20-b03 f6742d0cf71201f1ffd0584c1f2990df343bc5eb jdk8u20-b04
--- a/src/com/sun/org/apache/xalan/internal/XalanConstants.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xalan/internal/XalanConstants.java Tue May 20 12:03:27 2014 -0700 @@ -91,6 +91,13 @@ */ public static final String JDK_XML_NAME_LIMIT = ORACLE_JAXP_PROPERTY_PREFIX + "maxXMLNameLimit"; + + /** + * JDK maxElementDepth limit + */ + public static final String JDK_MAX_ELEMENT_DEPTH = + ORACLE_JAXP_PROPERTY_PREFIX + "maxElementDepth"; + /** * JDK property indicating whether the parser shall print out entity * count information @@ -139,6 +146,11 @@ */ public static final String SP_XML_NAME_LIMIT = "jdk.xml.maxXMLNameLimit"; + /** + * JDK maxElementDepth limit + */ + public static final String SP_MAX_ELEMENT_DEPTH = "jdk.xml.maxElementDepth"; + //legacy System Properties public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit"; public static final String ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ;
--- a/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java Tue May 20 12:03:27 2014 -0700 @@ -76,7 +76,9 @@ GENERAL_ENTITY_SIZE_LIMIT(XalanConstants.JDK_GENERAL_ENTITY_SIZE_LIMIT, XalanConstants.SP_GENERAL_ENTITY_SIZE_LIMIT, 0, 0), PARAMETER_ENTITY_SIZE_LIMIT(XalanConstants.JDK_PARAMETER_ENTITY_SIZE_LIMIT, - XalanConstants.SP_PARAMETER_ENTITY_SIZE_LIMIT, 0, 1000000); + XalanConstants.SP_PARAMETER_ENTITY_SIZE_LIMIT, 0, 1000000), + MAX_ELEMENT_DEPTH_LIMIT(XalanConstants.JDK_MAX_ELEMENT_DEPTH, + XalanConstants.SP_MAX_ELEMENT_DEPTH, 0, 0); final String apiProperty; final String systemProperty;
--- a/src/com/sun/org/apache/xerces/internal/impl/Constants.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/Constants.java Tue May 20 12:03:27 2014 -0700 @@ -252,6 +252,13 @@ */ public static final String JDK_XML_NAME_LIMIT = ORACLE_JAXP_PROPERTY_PREFIX + "maxXMLNameLimit"; + + /** + * JDK maxElementDepth limit + */ + public static final String JDK_MAX_ELEMENT_DEPTH = + ORACLE_JAXP_PROPERTY_PREFIX + "maxElementDepth"; + /** * JDK property to allow printing out information from the limit analyzer */ @@ -297,6 +304,11 @@ */ public static final String SP_XML_NAME_LIMIT = "jdk.xml.maxXMLNameLimit"; + /** + * JDK maxElementDepth limit + */ + public static final String SP_MAX_ELEMENT_DEPTH = "jdk.xml.maxElementDepth"; + //legacy System Properties public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit"; public static final String ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ;
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java Tue May 20 12:03:27 2014 -0700 @@ -1309,6 +1309,7 @@ fAttributes.removeAllAttributes(); + checkDepth(rawname); if(!seekCloseOfStartTag()){ fReadingAttributes = true; fAttributeCacheUsedCount =0; @@ -1913,6 +1914,21 @@ // utility methods /** + * Check if the depth exceeds the maxElementDepth limit + * @param elementName name of the current element + */ + void checkDepth(String elementName) { + fLimitAnalyzer.addValue(Limit.MAX_ELEMENT_DEPTH_LIMIT, elementName, fElementStack.fDepth); + if (fSecurityManager.isOverLimit(Limit.MAX_ELEMENT_DEPTH_LIMIT,fLimitAnalyzer)) { + fSecurityManager.debugPrint(fLimitAnalyzer); + reportFatalError("MaxElementDepthLimit", new Object[]{elementName, + fLimitAnalyzer.getTotalValue(Limit.MAX_ELEMENT_DEPTH_LIMIT), + fSecurityManager.getLimit(Limit.MAX_ELEMENT_DEPTH_LIMIT), + "maxElementDepth"}); + } + } + + /** * Calls document handler with a single character resulting from * built-in entity resolution. *
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java Tue May 20 12:03:27 2014 -0700 @@ -220,6 +220,7 @@ fCurrentElement = fElementQName; String rawname = fElementQName.rawname; + checkDepth(rawname); if (fBindNamespaces) { fNamespaceContext.pushContext(); if (fScannerState == SCANNER_STATE_ROOT_ELEMENT) {
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: The length of entity \"{0}\" is \"{1}\" that exceeds the \"{2}\" limit set by \"{3}\". TotalEntitySizeLimit=JAXP00010004: The accumulated size \"{0}\" of entities exceeded the \"{1}\" limit set by \"{2}\". MaxXMLNameLimit=JAXP00010005: The name \"{0}\" exceeded the \"{1}\" limit set by \"{2}\". + MaxElementDepthLimit=JAXP00010006: The element \"{0}\" has a depth of \"{1}\" that exceeds the limit \"{2}\" set by \"{3}\".
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties Tue May 20 12:03:27 2014 -0700 @@ -251,7 +251,7 @@ NMTOKENInvalid = Attributwert "{0}" mit dem Typ NMTOKEN muss ein Namenstoken sein. NMTOKENSInvalid = Attributwert "{0}" mit dem Typ NMTOKENS muss mindestens ein Namenstoken sein. NoNotationOnEmptyElement = Elementtyp "{0}", der als EMPTY deklariert wurde, kann nicht das Attribut "{1}" mit dem Typ NOTATION deklarieren. - RootElementTypeMustMatchDoctypedecl = Dokument-Root-Element "{1}"muss mit DOCTYPE-Root "{0}" \u00FCbereinstimmen. + RootElementTypeMustMatchDoctypedecl = Document Root-Element "{1}"muss mit DOCTYPE-Root "{0}" \u00FCbereinstimmen. UndeclaredElementInContentSpec = Contentmodell des Elements "{0}" verweist auf das nicht deklarierte Element "{1}". UniqueNotationName = Deklaration f\u00FCr die Notation "{0}" ist nicht eindeutig. Ein jeweiliger Name darf nicht in mehreren Notationsdeklarationen deklariert werden. ENTITYFailedInitializeGrammar = ENTITYDatatype-Validator: Nicht erfolgreich. Initialisierungsmethode muss mit einer g\u00FCltigen Grammatikreferenz aufgerufen werden. \t @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: Die L\u00E4nge von Entit\u00E4t "{0}" ist "{1}" und \u00FCberschreitet den Grenzwert "{2}", der von "{3}" festgelegt wurde. TotalEntitySizeLimit=JAXP00010004: Die akkumulierte Gr\u00F6\u00DFe "{0}" der Entit\u00E4ten \u00FCberschreitet den Grenzwert "{1}", der von "{2}" festgelegt wurde. MaxXMLNameLimit=JAXP00010005: Der Name "{0}" \u00FCberschreitet den Grenzwert "{1}", der von "{2}" festgelegt wurde. + MaxElementDepthLimit=JAXP00010006: Die Tiefe von Element "{0}" ist "{1}" und \u00FCberschreitet den Grenzwert "{2}", der von "{3}" festgelegt wurde.
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: la longitud de la entidad "{0}" es "{1}", que excede el l\u00EDmite de "{2}" que ha definido "{3}". TotalEntitySizeLimit=JAXP00010004: el tama\u00F1o acumulado "{0}" de las entidades ha excedido el l\u00EDmite de "{1}" que ha definido "{2}". MaxXMLNameLimit=JAXP00010005: el nombre "{0}" ha excedido el l\u00EDmite de "{1}" que ha definido "{2}". + MaxElementDepthLimit=JAXP00010006: El elemento "{0}" tiene una profundidad de "{1}" que excede el l\u00EDmite "{2}" definido por "{3}".
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003 : La longueur de l''entit\u00E9 "{0}" est de "{1}". Cette valeur d\u00E9passe la limite de "{2}" d\u00E9finie par "{3}". TotalEntitySizeLimit=JAXP00010004 : La taille cumul\u00E9e des entit\u00E9s ("{0}") d\u00E9passe la limite de "{1}" d\u00E9finie par "{2}". MaxXMLNameLimit=JAXP00010005 : le nom "{0}" d\u00E9passe la limite de "{1}" d\u00E9finie par "{2}". + MaxElementDepthLimit=JAXP00010006 : l''\u00E9l\u00E9ment "{0}" a une profondeur de "{1}" qui d\u00E9passe la limite de "{2}" d\u00E9finie par "{3}".
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: la lunghezza dell''entit\u00E0 "{0}" \u00E8 "{1}". Tale valore supera il limite "{2}" definito da "{3}". TotalEntitySizeLimit=JAXP00010004: le dimensioni accumulate "{0}" delle entit\u00E0 supera il limite "{1}" definito da "{2}". MaxXMLNameLimit=JAXP00010005: il nome "{0}" supera il limite "{1}" definito da "{2}". + MaxElementDepthLimit=JAXP00010006: la profondit\u00E0 dell''elemento "{0}" \u00E8 "{1}". Tale valore supera il limite "{2}" definito da "{3}".
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties Tue May 20 12:03:27 2014 -0700 @@ -122,7 +122,7 @@ ExpectedByte = {1}\u30D0\u30A4\u30C8\u306EUTF-8\u30B7\u30FC\u30B1\u30F3\u30B9\u306E\u30D0\u30A4\u30C8{0}\u304C\u5FC5\u8981\u3067\u3059\u3002 InvalidHighSurrogate = UTF-8\u30B7\u30FC\u30B1\u30F3\u30B9\u306E\u4E0A\u4F4D\u30B5\u30ED\u30B2\u30FC\u30C8\u30FB\u30D3\u30C3\u30C8\u306E\u4E0A\u9650\u306F0x10\u3067\u3059\u304C\u30010x{0}\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002 OperationNotSupported = \u64CD\u4F5C"{0}"\u306F{1}\u30EA\u30FC\u30C0\u30FC\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 - InvalidASCII = \u30D0\u30A4\u30C8"{0}"\u306F\u3001(7\u30D3\u30C3\u30C8) ASCII\u30AD\u30E3\u30E9\u30AF\u30BF\u30FB\u30BB\u30C3\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 + InvalidASCII = \u30D0\u30A4\u30C8"{0}"\u306F\u3001(7\u30D3\u30C3\u30C8) ASCII\u6587\u5B57\u30BB\u30C3\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 CharConversionFailure = \u7279\u5B9A\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3067\u3042\u308B\u3068\u78BA\u5B9A\u3055\u308C\u305F\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306B\u306F\u3001\u305D\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3067\u4E0D\u6B63\u306A\u30B7\u30FC\u30B1\u30F3\u30B9\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 # DTD Messages @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3"{0}"\u306E\u9577\u3055\u306F"{1}"\u3067\u3001"{3}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{2}"\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\u3002 TotalEntitySizeLimit=JAXP00010004: \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\u7D2F\u7A4D\u30B5\u30A4\u30BA"{0}"\u306F\u3001"{2}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{1}"\u3092\u8D85\u3048\u307E\u3057\u305F\u3002 MaxXMLNameLimit=JAXP00010005: \u540D\u524D"{0}"\u306F\u3001"{2}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{1}"\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\u3002 + MaxElementDepthLimit=JAXP00010006: \u8981\u7D20"{0}"\u306E\u6DF1\u3055\u306F"{1}"\u3067\u3001"{3}"\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u5236\u9650"{2}"\u3092\u8D85\u3048\u3066\u3044\u307E\u3059\u3002
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: "{0}" \uC5D4\uD2F0\uD2F0\uC758 \uAE38\uC774\uAC00 "{3}"\uC5D0\uC11C \uC124\uC815\uB41C "{2}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD558\uB294 "{1}"\uC785\uB2C8\uB2E4. TotalEntitySizeLimit=JAXP00010004: \uC5D4\uD2F0\uD2F0\uC758 \uB204\uC801 \uD06C\uAE30 "{0}"\uC774(\uAC00) "{2}"\uC5D0\uC11C \uC124\uC815\uB41C "{1}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD588\uC2B5\uB2C8\uB2E4. MaxXMLNameLimit=JAXP00010005: "{0}" \uC774\uB984\uC774 "{2}"\uC5D0\uC11C \uC124\uC815\uB41C "{1}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD588\uC2B5\uB2C8\uB2E4. + MaxElementDepthLimit=JAXP00010006: "{0}" \uC694\uC18C\uC758 \uAE4A\uC774\uAC00 "{3}"\uC5D0\uC11C \uC124\uC815\uB41C "{2}" \uC81C\uD55C\uC744 \uCD08\uACFC\uD558\uB294 "{1}"\uC785\uB2C8\uB2E4.
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties Tue May 20 12:03:27 2014 -0700 @@ -129,7 +129,7 @@ # 2.2 Characters InvalidCharInEntityValue = Um caractere XML inv\u00E1lido (Unicode: 0x {0}) foi encontrado no valor da entidade da literal. InvalidCharInExternalSubset = Um caractere XML inv\u00E1lido (Unicode: 0x {0}) foi encontrado no subconjunto externo do DTD. - InvalidCharInIgnoreSect = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado na se\u00E7\u00E3o condicional deletada. + InvalidCharInIgnoreSect = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado na se\u00E7\u00E3o condicional exclu\u00EDda. InvalidCharInPublicID = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado no identificador p\u00FAblico. InvalidCharInSystemID = Um caractere XML inv\u00E1lido (Unicode: 0x{0}) foi encontrado no identificador do sistema. # 2.3 Common Syntactic Constructs @@ -148,7 +148,7 @@ PEReferenceWithinMarkup = A refer\u00EAncia da entidade do par\u00E2metro "%{0};" n\u00E3o pode ocorrer na marca\u00E7\u00E3o no subconjunto interno do DTD. MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = As declara\u00E7\u00F5es de marca\u00E7\u00E3o contidas ou apontadas pela declara\u00E7\u00E3o do tipo de documento devem estar corretas. # 2.10 White Space Handling - MSG_XML_SPACE_DECLARATION_ILLEGAL = Deve ser fornecida a declara\u00E7\u00E3o do atributo para "xml:space" como um tipo enumerado, cujo os \u00FAnicos valores poss\u00EDveis s\u00E3o "default" e "preserve". + MSG_XML_SPACE_DECLARATION_ILLEGAL = Deve ser fornecida a declara\u00E7\u00E3o do atributo para "xml:space" como um tipo enumerado, cujo os \u00FAnicos valores poss\u00EDveis s\u00E3o "padr\u00E3o" e "preserve". # 3.2 Element Type Declarations MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = O espa\u00E7o em branco \u00E9 necess\u00E1rio ap\u00F3s "<!ELEMENT" na declara\u00E7\u00E3o do tipo de elemento. MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = O tipo de elemento \u00E9 necess\u00E1rio na declara\u00E7\u00E3o do tipo de elemento. @@ -169,7 +169,7 @@ AttNameRequiredInAttDef = O nome do atributo deve ser especificado na declara\u00E7\u00E3o da lista de atributos do elemento "{0}". MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do tipo de atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}". AttTypeRequiredInAttDef = \u00C9 necess\u00E1rio o tipo de atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}". - MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do default do atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}". + MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = \u00C9 necess\u00E1rio o espa\u00E7o em branco antes do padr\u00E3o do atributo na declara\u00E7\u00E3o do atributo "{1}" do elemento "{0}". MSG_DUPLICATE_ATTRIBUTE_DEFINITION = Mais de uma defini\u00E7\u00E3o de atributo fornecida para o mesmo atributo "{1}" de um determinado elemento "{0}". # 3.3.1 Attribute Types MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = O espa\u00E7o em branco deve aparecer ap\u00F3s "NOTATION" na declara\u00E7\u00E3o do atributo "{1}". @@ -216,7 +216,7 @@ DuplicateTypeInMixedContent = O tipo de elemento "{1}" j\u00E1 foi especificado no modelo de conte\u00FAdo da declara\u00E7\u00E3o do elemento "{0}". ENTITIESInvalid = O valor do atributo "{1}" do tipo ENTITIES deve ser o nome de uma ou mais entidades n\u00E3o submetidas a parsing. ENTITYInvalid = O valor do atributo "{1}" do tipo ENTITY deve ser o nome de uma entidade n\u00E3o submetida a parsing. - IDDefaultTypeInvalid = O atributo do ID "{0}" deve ter um default declarado "#IMPLIED" ou "#REQUIRED". + IDDefaultTypeInvalid = O atributo do ID "{0}" deve ter um padr\u00E3o declarado "#IMPLIED" ou "#REQUIRED". IDInvalid = O valor do atributo "{0}" do ID de tipo deve ser um nome. IDInvalidWithNamespaces = O valor do atributo "{0}" do ID de tipo deve ser um NCName quando os namespaces estiverem ativados. IDNotUnique = O valor do atributo "{0}" do ID de tipo deve ser exclusivo no documento. @@ -233,7 +233,7 @@ MSG_CONTENT_INCOMPLETE = O conte\u00FAdo do tipo de elemento "{0}" est\u00E1 incompleto; ele deve corresponder a "{1}". MSG_CONTENT_INVALID = O conte\u00FAdo do tipo de elemento "{0}" deve corresponder a "{1}". MSG_CONTENT_INVALID_SPECIFIED = O conte\u00FAdo do tipo de elemento "{0}" deve corresponder a "{1}". N\u00E3o s\u00E3o permitidos os filhos do tipo "{2}". - MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = O atributo "{1}" do tipo de elemento "{0}" tem um valor default e deve ser especificado em um documento stand-alone. + MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = O atributo "{1}" do tipo de elemento "{0}" tem um valor padr\u00E3o e deve ser especificado em um documento stand-alone. MSG_DUPLICATE_ATTDEF = O atributo "{1}" j\u00E1 foi declarado para o tipo de elemento "{0}". MSG_ELEMENT_ALREADY_DECLARED = O tipo de elemento "{0}" n\u00E3o deve ser declarado mais de uma vez. MSG_ELEMENT_NOT_DECLARED = O tipo de elemento "{0}" deve ser declarado. @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: o tamanho da entidade "{0}" \u00E9 "{1}", o que excede o limite de "{2}" definido por "{3}". TotalEntitySizeLimit=JAXP00010004: o tamanho acumulado "{0}" de entidades excedeu o limite de "{1}" definido por "{2}". MaxXMLNameLimit=JAXP00010005: o nome "{0}" excedeu o limite de "{1}" definido por "{2}". + MaxElementDepthLimit=JAXP00010006: o elemento "{0}" tem uma profundidade de "{1}" que excede o limite de "{2}" definido por "{3}".
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties Tue May 20 12:03:27 2014 -0700 @@ -7,7 +7,7 @@ FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n # Document messages - PrematureEOF=F\u00F6r tidigt filslut (EOF). + PrematureEOF=Filen har avslutats f\u00F6r tidigt. # 2.1 Well-Formed XML Documents RootElementRequired = Rotelementet kr\u00E4vs i ett v\u00E4lformulerat dokument. # 2.2 Characters @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: L\u00E4ngden p\u00E5 enheten "{0}" \u00E4r "{1}" som \u00F6verskriver gr\u00E4nsv\u00E4rdet p\u00E5 "{2}" som anges av "{3}". TotalEntitySizeLimit=JAXP00010004: Den ackumulerade storleken "{0}" f\u00F6r enheter \u00F6verskred gr\u00E4nsv\u00E4rdet p\u00E5 "{1}" som anges av "{2}". MaxXMLNameLimit=JAXP00010005: Namnet "{0}" \u00F6verskred gr\u00E4nsv\u00E4rdet p\u00E5 "{1}" som anges av "{2}". + MaxElementDepthLimit=JAXP00010006: Elementet "{0}" har djupet "{1}" vilket \u00E4r st\u00F6rre \u00E4n gr\u00E4nsen "{2}" som anges av "{3}".
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: \u5B9E\u4F53 "{0}" \u7684\u957F\u5EA6\u4E3A "{1}", \u8D85\u8FC7\u4E86 "{3}" \u8BBE\u7F6E\u7684 "{2}" \u9650\u5236\u3002 TotalEntitySizeLimit=JAXP00010004: \u5B9E\u4F53\u7684\u7D2F\u8BA1\u5927\u5C0F "{0}" \u8D85\u8FC7\u4E86 "{2}" \u8BBE\u7F6E\u7684 "{1}" \u9650\u5236\u3002 MaxXMLNameLimit=JAXP00010005: \u540D\u79F0 "{0}" \u8D85\u8FC7\u4E86 "{2}" \u8BBE\u7F6E\u7684 "{1}" \u9650\u5236\u3002 + MaxElementDepthLimit=JAXP00010006: \u5143\u7D20 "{0}" \u7684\u6DF1\u5EA6 "{1}" \u8D85\u8FC7\u4E86 "{3}" \u8BBE\u7F6E\u7684\u9650\u5236 "{2}"\u3002
--- a/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties Tue May 20 12:03:27 2014 -0700 @@ -299,4 +299,5 @@ MaxEntitySizeLimit=JAXP00010003: \u5BE6\u9AD4 "{0}" \u7684\u9577\u5EA6\u70BA "{1}"\uFF0C\u8D85\u904E "{3}" \u6240\u8A2D\u5B9A\u7684 "{2}" \u9650\u5236\u3002 TotalEntitySizeLimit=JAXP00010004: \u5BE6\u9AD4\u7684\u7D2F\u7A4D\u5927\u5C0F "{0}" \u8D85\u904E "{2}" \u8A2D\u5B9A\u7684 "{1}" \u9650\u5236\u3002 MaxXMLNameLimit=JAXP00010005: \u540D\u7A31 "{0}" \u8D85\u904E "{2}" \u8A2D\u5B9A\u7684 "{1}" \u9650\u5236\u3002 + MaxElementDepthLimit=JAXP00010006: \u5143\u7D20 "{0}" \u7684\u6DF1\u5EA6\u70BA "{1}"\uFF0C\u8D85\u904E "{3}" \u8A2D\u5B9A\u7684 "{2}" \u9650\u5236\u3002
--- a/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java Tue May 20 12:03:27 2014 -0700 @@ -132,6 +132,10 @@ totalValue[index] += value; return; } + if (index == Limit.MAX_ELEMENT_DEPTH_LIMIT.ordinal()) { + totalValue[index] = value; + return; + } Map<String, Integer> cache; if (caches[index] == null) {
--- a/src/com/sun/org/apache/xerces/internal/utils/XMLSecurityManager.java Wed May 14 10:59:45 2014 -0700 +++ b/src/com/sun/org/apache/xerces/internal/utils/XMLSecurityManager.java Tue May 20 12:03:27 2014 -0700 @@ -66,7 +66,8 @@ ELEMENT_ATTRIBUTE_LIMIT(Constants.JDK_ELEMENT_ATTRIBUTE_LIMIT, Constants.SP_ELEMENT_ATTRIBUTE_LIMIT, 0, 10000), TOTAL_ENTITY_SIZE_LIMIT(Constants.JDK_TOTAL_ENTITY_SIZE_LIMIT, Constants.SP_TOTAL_ENTITY_SIZE_LIMIT, 0, 50000000), GENERAL_ENTITY_SIZE_LIMIT(Constants.JDK_GENERAL_ENTITY_SIZE_LIMIT, Constants.SP_GENERAL_ENTITY_SIZE_LIMIT, 0, 0), - PARAMETER_ENTITY_SIZE_LIMIT(Constants.JDK_PARAMETER_ENTITY_SIZE_LIMIT, Constants.SP_PARAMETER_ENTITY_SIZE_LIMIT, 0, 1000000); + PARAMETER_ENTITY_SIZE_LIMIT(Constants.JDK_PARAMETER_ENTITY_SIZE_LIMIT, Constants.SP_PARAMETER_ENTITY_SIZE_LIMIT, 0, 1000000), + MAX_ELEMENT_DEPTH_LIMIT(Constants.JDK_MAX_ELEMENT_DEPTH, Constants.SP_MAX_ELEMENT_DEPTH, 0, 0); final String apiProperty; final String systemProperty; @@ -429,9 +430,10 @@ return false; } - if (index==Limit.ELEMENT_ATTRIBUTE_LIMIT.ordinal() || - index==Limit.ENTITY_EXPANSION_LIMIT.ordinal() || - index==Limit.TOTAL_ENTITY_SIZE_LIMIT.ordinal()) { + if (index == Limit.ELEMENT_ATTRIBUTE_LIMIT.ordinal() || + index == Limit.ENTITY_EXPANSION_LIMIT.ordinal() || + index == Limit.TOTAL_ENTITY_SIZE_LIMIT.ordinal() || + index == Limit.MAX_ELEMENT_DEPTH_LIMIT.ordinal()) { return (limitAnalyzer.getTotalValue(index) > values[index]); } else { return (limitAnalyzer.getValue(index) > values[index]);