From ae8aaa888068448b2c51a04b15d1e2772b1490db Mon Sep 17 00:00:00 2001 From: Suraj Rajan Date: Fri, 28 Aug 2026 21:17:21 +0530 Subject: [PATCH] Fixed: Complete Mustang 2.26 compatibility --- dependencies.gradle | 9 +++++---- .../org/apache/ofbiz/entity/serialize/XmlSerializer.java | 2 +- .../java/org/apache/ofbiz/security/SecuredUpload.java | 4 +++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index aa3d311eea1..1f375ee3f72 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -49,14 +49,15 @@ dependencies { implementation 'org.apache.logging.log4j:log4j-api:2.25.4' // the API of log4j 2 implementation 'org.apache.logging.log4j:log4j-core:2.25.4' // Somehow needed by Buildbot to compile OFBizDynamicThresholdFilter.java implementation 'org.apache.poi:poi:4.1.2' // poi-ooxml-schemas-5.0.0.pom'. Received status code 401 from server - implementation 'org.apache.pdfbox:pdfbox:2.0.37' // 3.0.1 does not compile + implementation 'org.apache.pdfbox:pdfbox:3.0.8' + implementation 'org.apache.pdfbox:pdfbox-io:3.0.8' implementation 'org.apache.shiro:shiro-core:1.13.0' implementation 'org.apache.shiro:shiro-crypto-cipher:2.1.0' implementation 'org.apache.sshd:sshd-core:2.17.1' implementation 'org.apache.sshd:sshd-sftp:2.17.1' - implementation 'org.apache.tika:tika-core:2.9.4' - implementation 'org.apache.tika:tika-parsers:2.9.4' - implementation 'org.apache.tika:tika-parser-pdf-module:2.9.4' + implementation 'org.apache.tika:tika-core:3.3.2' + implementation 'org.apache.tika:tika-parsers:3.3.2' + implementation 'org.apache.tika:tika-parser-pdf-module:3.3.2' implementation 'org.apache.cxf:cxf-rt-frontend-jaxrs:3.6.12' // 4.0.3 does not compile implementation 'org.apache.tomcat:tomcat-catalina-ha:9.0.121' // Remember to change the version number (9 now) in javadoc block if needed. implementation 'org.apache.tomcat:tomcat-jasper:9.0.121' diff --git a/framework/entity/src/main/java/org/apache/ofbiz/entity/serialize/XmlSerializer.java b/framework/entity/src/main/java/org/apache/ofbiz/entity/serialize/XmlSerializer.java index ce954005a72..e7e9eadd046 100644 --- a/framework/entity/src/main/java/org/apache/ofbiz/entity/serialize/XmlSerializer.java +++ b/framework/entity/src/main/java/org/apache/ofbiz/entity/serialize/XmlSerializer.java @@ -44,7 +44,7 @@ import java.util.Vector; import java.util.WeakHashMap; -import javax.xml.bind.DatatypeConverter; +import jakarta.xml.bind.DatatypeConverter; import javax.xml.parsers.ParserConfigurationException; import org.apache.ofbiz.base.util.Debug; diff --git a/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java b/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java index ae8d0f07002..9a9f8d68174 100644 --- a/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java +++ b/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java @@ -93,6 +93,8 @@ import org.apache.ofbiz.base.util.UtilXml; import org.apache.ofbiz.entity.Delegator; import org.apache.ofbiz.entity.util.EntityUtilProperties; +import org.apache.pdfbox.Loader; +import org.apache.pdfbox.io.RandomAccessReadBufferedFile; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocumentNameDictionary; import org.apache.pdfbox.pdmodel.PDEmbeddedFilesNameTreeNode; @@ -1019,7 +1021,7 @@ private static boolean isValidPdfFile(String fileName) { } // OK no JS code, pass to check 2: detect if the document has any embedded files PDEmbeddedFilesNameTreeNode efTree = null; - try (PDDocument pdDocument = PDDocument.load(file)) { + try (PDDocument pdDocument = Loader.loadPDF(new RandomAccessReadBufferedFile(fileName))) { PDDocumentNameDictionary names = new PDDocumentNameDictionary(pdDocument.getDocumentCatalog()); efTree = names.getEmbeddedFiles(); }