The GitHub Actions job "Java CI" on commons-jelly.git/feat/use-commons-xml has failed. Run started by GitHub user ppkarwasz (triggered by ppkarwasz).
Head commit for run: 7278e2475494d9f95ca80bb23724c8e5b7e52e1a / Piotr P. Karwasz <[email protected]> Harden XML parsing via commons-secure-xml Create SAX parsers and readers through org.apache.commons:commons-secure-xml. The secure factory enables FEATURE_SECURE_PROCESSING and installs a non-removable entity-resolver floor on every parser it produces: external DTD and entity lookups that a caller-set resolver does not resolve are resolved to empty content instead of being fetched, and internal entity expansion is bounded, regardless of the JAXP implementation on the classpath. Changes: - Add the commons-secure-xml dependency (1.0.0-SNAPSHOT until its first release) to core, jelly-tags/xml and jelly-tags/xmlunit. - core XMLParser keeps the documented JellyContext.setAllowDtdToCallExternalEntities(true) opt-in working by using a plain factory on that path; the default path uses the secure factory, and a factory assigned to the protected static field still wins. The flag-dependent choice is no longer cached in that field. - core ParseTag (which had no hardening at all) now creates its reader through the secure factory. - jelly-tags/xml: TransformTag's readers and ParseTag's dom4j SAXReader are built from the secure factory; dom4j and XMLReaderFactory otherwise provision readers through JAXP at their own defaults, and the deprecated org.xml.sax.driver system property no longer selects the reader class. The TransformerFactory itself stays unsecured for now: Xalan, which this module puts on the class path, drops the attributes of xsl:namespace-alias literal result elements under secure processing (XSLTElementProcessor rejects "foreign" attributes as non-fatal errors), silently breaking stylesheets such as the Schematron skeleton. - jelly-tags/xmlunit: the assertion tags' dom4j SAXReaders are built from the secure factory. - jelly-tags/html is unchanged: NekoHTML is an HTML scanner, not an XML parser. - Run the CI and CodeQL builds with -Puse-apache-snapshots (inherited from the org.apache:apache parent POM) so the commons-secure-xml SNAPSHOT resolves; CodeQL's autobuild receives the profile through MAVEN_ARGS. Assisted-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01MHgnMnGWHQoH2zD2jFdoMT Report URL: https://github.com/apache/commons-jelly/actions/runs/33402369169 With regards, GitHub Actions via GitBox
