From 79ee9e4537e09446d2c1c0a1c021178e0878d6d09a2468bc4fd3b46f641607cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Sun, 4 Sep 2016 19:25:39 +0000 Subject: [PATCH] Accepting request 424483 from home:mateialbu:branches:Java:packages Fix for infinite loop in jar scanning (bsc#993862) OBS-URL: https://build.opensuse.org/request/show/424483 OBS-URL: https://build.opensuse.org/package/show/Java:packages/tomcat?expand=0&rev=97 --- tomcat-8.0.36-jar-scanner-loop.patch | 21 +++++++++++++++++++++ tomcat.changes | 6 ++++++ tomcat.spec | 3 +++ 3 files changed, 30 insertions(+) create mode 100644 tomcat-8.0.36-jar-scanner-loop.patch diff --git a/tomcat-8.0.36-jar-scanner-loop.patch b/tomcat-8.0.36-jar-scanner-loop.patch new file mode 100644 index 0000000..4efb0a0 --- /dev/null +++ b/tomcat-8.0.36-jar-scanner-loop.patch @@ -0,0 +1,21 @@ +diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java +index a217571..992eb88 100644 +--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java ++++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java +@@ -269,6 +269,7 @@ public class StandardJarScanner implements JarScanner { + log.debug(sm.getString("jarScan.classloaderJarScan", url)); + } + try { ++ processedURLs.add(url); + process(scanType, callback, url, null, isWebapp, classPathUrlsToProcess); + } catch (IOException ioe) { + log.warn(sm.getString("jarScan.classloaderFail", url), ioe); +@@ -412,7 +413,7 @@ public class StandardJarScanner implements JarScanner { + + public ClassPathEntry(URL url) { + String path = url.getPath(); +- int end = path.indexOf(Constants.JAR_EXT); ++ int end = path.lastIndexOf(Constants.JAR_EXT); + if (end != -1) { + jar = true; + int start = path.lastIndexOf('/', end); diff --git a/tomcat.changes b/tomcat.changes index eb8fce4..8bc558b 100644 --- a/tomcat.changes +++ b/tomcat.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 2 13:20:00 UTC 2016 - malbu@suse.com + +- Backport fix for inifinite loop in the jar scanner for 8.0.36. (bnc#993862) + Added: tomcat-8.0.36-jar-scanner-loop.patch + ------------------------------------------------------------------- Wed Jul 6 12:20:03 UTC 2016 - malbu@suse.com diff --git a/tomcat.spec b/tomcat.spec index e58f3a1..0bc8f2a 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -78,6 +78,8 @@ Patch2: tomcat-8.0.9-property-build.windows.patch Patch3: tomcat-8.0.33-JDTCompiler-java.patch # PATCH-FIX-SLE: Change security manager default policies bnc#891264 Patch4: tomcat-7.0-sle.catalina.policy.patch +# PATCH-FIX-SLE: SLES 12 SP2 tomcat8.0.36 rpms are not working properly mainly while compiling JSP's with org.apache.jasper.JspC class (bnc#993862) +Patch5: tomcat-8.0.36-jar-scanner-loop.patch BuildRequires: ant >= 1.8.1 BuildRequires: ant-antlr BuildRequires: ecj >= 4.4.0 @@ -246,6 +248,7 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " %patch2 -p1 %patch3 %patch4 -p1 +%patch5 -p1 # remove date from docs sed -i -e '/build-date/ d' webapps/docs/tomcat-docs.xsl