[packages/tomcat/TOMCAT_9] 9.x line version
arekm
arekm at pld-linux.org
Tue Mar 10 20:43:09 CET 2026
commit 0678c858741aa8c0ca45456ab5a0dfeaea8b8ba7
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Tue Mar 10 20:42:33 2026 +0100
9.x line version
apache-tomcat.init | 4 +-
jakartaee-migration-stubs.patch | 55 -----
jcl-build.xml.patch | 33 ---
jcl.patch | 17 --
log4j.properties | 24 --
logging.patch | 44 ----
no-bnd-osgi.patch | 117 +++++-----
server.xml-URIEncoding-utf8.patch | 38 ---
tomcat-LDAPUserDatabase.patch | 437 -----------------------------------
tomcat-build.patch | 56 -----
tomcat-build.xml.patch | 164 -------------
tomcat-catalina.policy-javadir.patch | 13 --
tomcat-context.xml.patch | 11 -
tomcat-extras.xml.patch | 113 ---------
tomcat-userdir.patch | 50 ----
tomcat.spec | 63 ++---
16 files changed, 87 insertions(+), 1152 deletions(-)
---
diff --git a/tomcat.spec b/tomcat.spec
index 031fbb3..2575a80 100644
--- a/tomcat.spec
+++ b/tomcat.spec
@@ -2,22 +2,22 @@
# Conditional build:
%bcond_without javadoc # skip building javadocs
-%define jspapiver 4.0
-%define servletapiver 6.1
-%define elapiver 6.0
-%define wsapiver 2.2
+%define jspapiver 2.3
+%define servletapiver 4.0
+%define elapiver 3.0
+%define wsapiver 1.1
-%define tomcatnatver 2.0.12
+%define tomcatnatver 1.3.5
Summary: Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver} API
Summary(pl.UTF-8): Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
Name: tomcat
-Version: 11.0.18
+Version: 9.0.115
Release: 1
License: Apache v2.0
Group: Networking/Daemons/Java
-Source0: https://archive.apache.org/dist/tomcat/tomcat-11/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
-# Source0-md5: d1108b6e6b9818dbaeee804e79d4e566
+Source0: https://archive.apache.org/dist/tomcat/tomcat-9/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
+# Source0-md5: 61faef8bf9d849da8e114460ce034709
Source1: apache-%{name}.init
Source2: apache-%{name}.sysconfig
Source3: %{name}-build.properties
@@ -27,8 +27,8 @@ Source12: %{name}-context-manager.xml
Source13: %{name}-context-host-manager.xml
Source14: %{name}-context-examples.xml
Source15: %{name}.logrotate
+# Disable OSGi metadata generation and remove bnd annotations
Patch0: no-bnd-osgi.patch
-Patch1: jakartaee-migration-stubs.patch
URL: https://tomcat.apache.org/
BuildRequires: ant >= 1.10.2
BuildRequires: java-commons-daemon >= 1.0
@@ -51,7 +51,7 @@ Requires: java-%{name}-coyote = %{version}-%{release}
Requires: java-%{name}-jasper = %{version}-%{release}
Requires: java-servletapi = %{version}-%{release}
Requires: jpackage-utils
-Requires: jre >= 17
+Requires: jre >= 1.8
Requires: jsvc
Requires: rc-scripts
Suggests: logrotate
@@ -74,9 +74,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Tomcat is the servlet container that is used in the official Reference
-Implementation for the Jakarta Servlet and Jakarta Pages technologies.
-The Jakarta Servlet and Jakarta Pages specifications are developed
-under the Eclipse Foundation Jakarta EE process.
+Implementation for the Java Servlet and JavaServer Pages technologies.
+The Java Servlet and JavaServer Pages specifications are developed
+under the Java Community Process.
Tomcat is developed in an open and participatory environment and
released under the Apache Software License. Tomcat is intended to be a
@@ -84,9 +84,9 @@ collaboration of the best-of-breed developers from around the world.
%description -l pl.UTF-8
Tomcat to kontener serwletowy używany przez oficjalną implementację
-wzorcową technologii Jakarta Servlet i Jakarta Pages. Specyfikacje
-Jakarta Servlet i Jakarta Pages są rozwijane zgodnie z procesem
-Jakarta EE w ramach Eclipse Foundation.
+wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
+Java Servlet i JavaServer Pages są rozwijane zgodnie z procesem
+Java Community Process.
%package webapp-docs
Summary: The Apache Tomcat Servlet/JSP Container documentation
@@ -148,7 +148,7 @@ Requires: jpackage-utils
%description -n java-tomcat-catalina
Catalina is Tomcat's servlet container. Catalina implements the
-Jakarta Servlet and Jakarta Pages (JSP) specifications.
+Java Servlet and JavaServer Pages (JSP) specifications.
%description -n java-tomcat-catalina -l pl.UTF-8
Bibliotek Javy zawierające silnik servletów i JSP tomcata.
@@ -179,16 +179,16 @@ Obsoletes: apache-tomcat-jasper
Obsoletes: tomcat-jasper
%description -n java-tomcat-jasper
-Jasper is Jakarta ServerPages compiler used by Apache Tomcat servlet
+Jasper is Java ServerPages compiler used by Apache Tomcat servlet
container.
%description -n java-tomcat-jasper -l pl.UTF-8
-Jasper jest kompilatorem Jakarta ServerPages używanym przez kontener
+Jasper jest kompilatorem Java ServerPages używanym przez kontener
servletów Apache Tomcat.
%package -n java-servletapi
-Summary: Jakarta Servlet, Pages, EL, and WebSocket implementation classes
-Summary(pl.UTF-8): Klasy z implementacją Jakarta Servlet, Pages, EL i WebSocket
+Summary: Java Servlet, JSP, EL, and WebSocket implementation classes
+Summary(pl.UTF-8): Klasy z implementacją Java Servlet, JSP, EL i WebSocket
Group: Libraries/Java
Provides: java(jsp) = %{jspapiver}
Provides: java(servlet) = %{servletapiver}
@@ -198,24 +198,25 @@ Obsoletes: jakarta-servletapi5
Obsoletes: java-servletapi5
%description -n java-servletapi
-Implementation classes of the Jakarta Servlet, Pages, Expression
-Language, and WebSocket APIs (packages jakarta.servlet,
-jakarta.servlet.http, jakarta.servlet.jsp, and
-jakarta.servlet.jsp.tagext).
+Implementation classes of the Java Servlet, JavaServer Pages,
+Expression Language, and WebSocket APIs (packages javax.servlet,
+javax.servlet.http, javax.servlet.jsp, and javax.servlet.jsp.tagext).
%description -n java-servletapi -l pl.UTF-8
-Implementacje klas API Jakarta Servlet, Pages, EL i WebSocket (pakiety
-jakarta.servlet, jakarta.servlet.http, jakarta.servlet.jsp i
-jakarta.servlet.jsp.tagext).
+Implementacje klas API Java Servlet, JSP, EL i WebSocket (pakiety
+javax.servlet, javax.servlet.http, javax.servlet.jsp i
+javax.servlet.jsp.tagext).
%prep
%setup -q -n apache-%{name}-%{version}-src
%patch -P0 -p1
-%patch -P1 -p1
# we don't need those scripts
rm bin/*.bat
+# Remove webservices support (requires wsdl4j, removed from JDK since Java 11)
+rm -rf java/org/apache/naming/factory/webservices
+
cp -p %{SOURCE3} build.properties
%build
@@ -379,6 +380,7 @@ fi
# tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.properties
%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.xml
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/catalina.policy
%{_sysconfdir}/%{name}/*.xsd
%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
@@ -402,10 +404,10 @@ fi
%{_tomcatdir}/lib/el-api.jar
%{_tomcatdir}/lib/jasper-el.jar
%{_tomcatdir}/lib/jasper.jar
+%{_tomcatdir}/lib/jaspic-api.jar
%{_tomcatdir}/lib/jsp-api.jar
%{_tomcatdir}/lib/org.eclipse.jdt.core.jar
%{_tomcatdir}/lib/servlet-api.jar
-%{_tomcatdir}/lib/jaspic-api.jar
%{_tomcatdir}/lib/tomcat-coyote.jar
%{_tomcatdir}/lib/tomcat-coyote-ffm.jar
%{_tomcatdir}/lib/tomcat-dbcp.jar
@@ -424,7 +426,6 @@ fi
%{_tomcatdir}/lib/util.jar
%{_tomcatdir}/lib/util-scan.jar
%{_tomcatdir}/lib/websocket-api.jar
-%{_tomcatdir}/lib/websocket-client-api.jar
%dir %{_tomcatdir}/webapps
diff --git a/apache-tomcat.init b/apache-tomcat.init
index f0ba633..7c98a4a 100755
--- a/apache-tomcat.init
+++ b/apache-tomcat.init
@@ -26,8 +26,8 @@ fi
set_jvm
# Set default options
-# --add-opens flags per Tomcat 11 setup docs for jsvc usage:
-# https://tomcat.apache.org/tomcat-11.0-doc/setup.html
+# --add-opens flags per Tomcat 9 setup docs for jsvc usage:
+# https://tomcat.apache.org/tomcat-9.0-doc/setup.html
CATALINA_OPTS="-Xmx384M \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
diff --git a/jakartaee-migration-stubs.patch b/jakartaee-migration-stubs.patch
deleted file mode 100644
index f55710f..0000000
--- a/jakartaee-migration-stubs.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-# Provide no-op stub classes for the jakartaee migration tool
-# (tomcat-jakartaee-migration). The migration tool converts old javax.*
-# servlet apps to jakarta.* namespace at runtime. Tomcat 11 is fully
-# Jakarta EE native, so this is only needed for running legacy javax.*
-# webapps. Stubs satisfy compilation without pulling in the migration
-# tool as a dependency.
-diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.jakartaee/build.xml
---- apache-tomcat-11.0.18-src.orig/build.xml 2026-01-23 11:22:57.000000000 +0100
-+++ apache-tomcat-11.0.18-src.jakartaee/build.xml 2026-03-10 17:52:18.014295687 +0100
-@@ -1595,7 +1595,7 @@
- <exclude name="${migration-lib.jar.filename}"/>
- </fileset>
- </delete>
-- <copy file="${migration-lib.jar}" todir="${tomcat.build}/lib"/>
-+ <!-- migration jar not included - we use stubs instead -->
-
- <!-- Add sources for examples -->
- <antcall target="examples-sources" />
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/ClassConverter.java apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/ClassConverter.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/ClassConverter.java 1970-01-01 01:00:00.000000000 +0100
-+++ apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/ClassConverter.java 2026-03-10 17:52:31.626052747 +0100
-@@ -0,0 +1,7 @@
-+package org.apache.tomcat.jakartaee;
-+public class ClassConverter implements java.lang.instrument.ClassFileTransformer {
-+ public ClassConverter() {}
-+ public ClassConverter(EESpecProfile profile) {}
-+ public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined,
-+ java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer) { return null; }
-+}
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/EESpecProfile.java apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/EESpecProfile.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/EESpecProfile.java 1970-01-01 01:00:00.000000000 +0100
-+++ apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/EESpecProfile.java 2026-03-10 17:52:31.626091684 +0100
-@@ -0,0 +1,2 @@
-+package org.apache.tomcat.jakartaee;
-+public interface EESpecProfile {}
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/EESpecProfiles.java apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/EESpecProfiles.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/EESpecProfiles.java 1970-01-01 01:00:00.000000000 +0100
-+++ apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/EESpecProfiles.java 2026-03-10 17:52:31.626122949 +0100
-@@ -0,0 +1,4 @@
-+package org.apache.tomcat.jakartaee;
-+public enum EESpecProfiles implements EESpecProfile {
-+ TOMCAT;
-+}
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/Migration.java apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/Migration.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/jakartaee/Migration.java 1970-01-01 01:00:00.000000000 +0100
-+++ apache-tomcat-11.0.18-src.jakartaee/java/org/apache/tomcat/jakartaee/Migration.java 2026-03-10 17:52:31.626147838 +0100
-@@ -0,0 +1,8 @@
-+package org.apache.tomcat.jakartaee;
-+public class Migration {
-+ public void setEESpecProfile(EESpecProfile profile) {}
-+ public void setSource(java.io.File src) {}
-+ public void setDestination(java.io.File dest) {}
-+ public void execute() throws java.io.IOException {}
-+ public void convert(java.io.File src, java.io.File dest) throws java.io.IOException {}
-+}
diff --git a/jcl-build.xml.patch b/jcl-build.xml.patch
deleted file mode 100644
index b408186..0000000
--- a/jcl-build.xml.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- commons-logging-1.1.1-src/build.xml~ 2010-06-09 20:47:36.000000000 +0200
-+++ commons-logging-1.1.1-src/build.xml 2010-06-09 20:48:11.000000000 +0200
---- commons-logging-1.1.1-src/build.xml~ 2007-11-22 00:27:52.000000000 +0100
-+++ commons-logging-1.1.1-src/build.xml 2010-06-09 20:27:15.000000000 +0200
-@@ -146,7 +146,8 @@
- <pathelement location="${build.home}/classes"/>
- <pathelement location="${junit.jar}"/>
- <pathelement location="${logkit.jar}"/>
-- <pathelement location="${avalon-framework.jar}"/>
-+ <pathelement location="${avalon-framework-impl.jar}"/>
-+ <pathelement location="${avalon-framework-api.jar}"/>
- <pathelement location="${servletapi.jar}"/>
- </path>
-
-@@ -167,7 +168,8 @@
- <pathelement location="${build.home}/tests"/>
- <pathelement location="${junit.jar}"/>
- <pathelement location="${logkit.jar}"/>
-- <pathelement location="${avalon-framework.jar}"/>
-+ <pathelement location="${avalon-framework-impl.jar}"/>
-+ <pathelement location="${avalon-framework-api.jar}"/>
- <pathelement location="${conf.home}"/>
- <pathelement location="${servletapi.jar}"/>
- </path>
-@@ -246,7 +248,7 @@
- <!-- Note: log4j13 support is not available in the 1.1 release. -->
- <!--Log4j13: ${log4j13.jar}-->
- LogKit: ${logkit.jar}
-- Avalon-Framework: ${avalon-framework.jar}
-+ Avalon-Framework: ${avalon-framework-impl.jar} + ${avalon-framework-api.jar}
- </echo>
-
- <mkdir dir="${build.home}"/>
diff --git a/jcl.patch b/jcl.patch
deleted file mode 100644
index 83cb394..0000000
--- a/jcl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-revert part of inheritAll=false
-https://bz.apache.org/bugzilla/show_bug.cgi?id=56988
-
-otherwise deps for jcl build don't get set
-
---- tc7.0.x/build.xml~ 2015-07-26 22:42:44.873164872 +0300
-+++ tc7.0.x/build.xml 2015-07-26 22:53:44.930780044 +0300
-@@ -1715,7 +1715,7 @@
-
- <ant antfile="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src/build2.xml"
- dir="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src"
-- inheritAll="false" target="compile" >
-+ inheritAll="true" target="compile" >
- <property name="source.version" value="${logging.compile.source}" />
- <property name="target.version" value="${logging.compile.target}" />
- </ant>
-
diff --git a/log4j.properties b/log4j.properties
deleted file mode 100644
index cacb07d..0000000
--- a/log4j.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# log console log: catalina.out
-# file log: tomcat.log
-
-# just file logger
-log4j.rootLogger=INFO, file
-# log to console only, DEBUG level
-#log4j.rootLogger=DEBUG, console
-# log to file as well
-#log4j.rootLogger=DEBUG, file, console
-
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %p; %C; %m%n
-
-#- File to log to and log format
-log4j.appender.file=org.apache.log4j.FileAppender
-log4j.appender.file.File=${catalina.base}/logs/tomcat.log
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %p; %C; %m%n
-
-log4j.logger.org.apache.catalina=DEBUG, file
-log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, file
-log4j.logger.org.apache.catalina.core=DEBUG, file
-log4j.logger.org.apache.catalina.session=DEBUG, file
diff --git a/logging.patch b/logging.patch
deleted file mode 100644
index 35e7353..0000000
--- a/logging.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- apache-tomcat-7.0.41-src/conf/logging.properties~ 2013-11-11 15:11:20.000000000 +0200
-+++ apache-tomcat-7.0.41-src/conf/logging.properties 2013-11-11 15:11:24.361648531 +0200
-@@ -26,21 +26,29 @@ handlers = 1catalina.org.apache.juli.Fil
- 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
- 1catalina.org.apache.juli.FileHandler.prefix = catalina.
- 1catalina.org.apache.juli.FileHandler.encoding = UTF-8
-+1catalina.org.apache.juli.FileHandler.rotatable = false
-+1catalina.org.apache.juli.FileHandler.suffix = log
-
- 2localhost.org.apache.juli.FileHandler.level = FINE
- 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
- 2localhost.org.apache.juli.FileHandler.prefix = localhost.
- 2localhost.org.apache.juli.FileHandler.encoding = UTF-8
-+2localhost.org.apache.juli.FileHandler.rotatable = false
-+2localhost.org.apache.juli.FileHandler.suffix = log
-
- 3manager.org.apache.juli.FileHandler.level = FINE
- 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
- 3manager.org.apache.juli.FileHandler.prefix = manager.
- 3manager.org.apache.juli.FileHandler.encoding = UTF-8
-+3manager.org.apache.juli.FileHandler.rotatable = false
-+3manager.org.apache.juli.FileHandler.suffix = log
-
- 4host-manager.org.apache.juli.FileHandler.level = FINE
- 4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
- 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
- 4host-manager.org.apache.juli.FileHandler.encoding = UTF-8
-+4host-manager.org.apache.juli.FileHandler.rotatable = false
-+4host-manager.org.apache.juli.FileHandler.suffix = log
-
- java.util.logging.ConsoleHandler.level = FINE
- java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
---- apache-tomcat-7.0.41-src/conf/server.xml~ 2014-01-07 13:53:41.000000000 +0200
-+++ apache-tomcat-7.0.41-src/conf/server.xml 2014-01-07 13:55:47.637678314 +0200
-@@ -175,8 +175,7 @@
- Documentation at: /docs/config/valve.html
- Note: The pattern used is equivalent to using pattern="common" -->
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
-- prefix="localhost_access_log." suffix=".txt"
-- pattern="%h %l %u %t "%r" %s %b" />
-+ pattern="combined" prefix="access_log" rotatable="false"/>
-
- </Host>
- </Engine>
diff --git a/no-bnd-osgi.patch b/no-bnd-osgi.patch
index 7ae12c6..deddf9b 100644
--- a/no-bnd-osgi.patch
+++ b/no-bnd-osgi.patch
@@ -3,10 +3,9 @@
# bundles, and the OSGi ecosystem has largely been superseded by Java 9+
# modules (JPMS). Not worth packaging bnd/osgi just for unused manifest
# entries.
-diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd/build.xml
---- apache-tomcat-11.0.18-src.orig/build.xml 2026-01-23 11:22:57.000000000 +0100
-+++ apache-tomcat-11.0.18-src.bnd/build.xml 2026-03-10 17:51:48.409984756 +0100
-@@ -1130,7 +1130,7 @@
+--- a/build.xml 2026-01-21 09:17:26.000000000 +0100
++++ b/build.xml 2026-03-10 20:18:14.243315621 +0100
+@@ -1124,7 +1124,7 @@
filesDir="${tomcat.classes}"
filesId="files.annotations-api"
manifest="${tomcat.manifests}/annotations-api.jar.manifest"
@@ -15,7 +14,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
<!-- Servlet Implementation JAR File -->
<jarIt jarfile="${servlet-api.jar}"
-@@ -1139,48 +1139,48 @@
+@@ -1133,41 +1133,41 @@
manifest="${tomcat.manifests}/servlet-api.jar.manifest"
notice="${tomcat.manifests}/servlet-api.jar.notice"
license="${tomcat.manifests}/servlet-api.jar.license"
@@ -44,14 +43,6 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
filesId="files.websocket-api"
manifest="${tomcat.manifests}/websocket-api.jar.manifest"
- addOSGi="true" />
-+ addOSGi="false" />
-
- <!-- WebSocket Client API JAR File -->
- <jarIt jarfile="${websocket-client-api.jar}"
- filesDir="${tomcat.classes}"
- filesId="files.websocket-client-api"
- manifest="${tomcat.manifests}/websocket-client-api.jar.manifest"
-- addOSGi="true" />
+ addOSGi="false" />
<!-- JASPIC API JAR File -->
@@ -71,7 +62,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
<!-- Bootstrap JAR File -->
<jarIt jarfile="${bootstrap.jar}"
-@@ -1192,68 +1192,68 @@
+@@ -1179,68 +1179,68 @@
<jarIt jarfile="${tomcat-util.jar}"
filesDir="${tomcat.classes}"
filesId="files.tomcat-util"
@@ -151,7 +142,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
<!-- Catalina Ant Tasks JAR File -->
<jarIt jarfile="${catalina-ant.jar}"
-@@ -1264,27 +1264,27 @@
+@@ -1251,27 +1251,27 @@
<jarIt jarfile="${catalina-storeconfig.jar}"
filesDir="${tomcat.classes}"
filesId="files.catalina-storeconfig"
@@ -183,7 +174,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
<!-- i18n JARs -->
<jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
-@@ -1748,7 +1748,7 @@
+@@ -1724,7 +1724,7 @@
filesId="files.tomcat-embed-core"
notice="${tomcat.manifests}/servlet-api.jar.notice"
license="${tomcat.manifests}/servlet-api.jar.license"
@@ -192,7 +183,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
addGraal="true"
graalPrefix="org.apache.tomcat.embed/tomcat-embed-core"
graalFiles="res/graal/tomcat-embed-core/native-image"
-@@ -1756,7 +1756,7 @@
+@@ -1732,7 +1732,7 @@
<jarIt jarfile="${tomcat-embed-el.jar}"
filesDir="${tomcat.classes}"
filesId="files.tomcat-embed-el"
@@ -201,7 +192,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
addGraal="true"
graalPrefix="org.apache.tomcat.embed/tomcat-embed-el"
graalFiles="res/graal/tomcat-embed-el/native-image"
-@@ -1765,7 +1765,7 @@
+@@ -1741,7 +1741,7 @@
filesDir="${tomcat.classes}"
filesId="files.tomcat-embed-jasper"
meta-inf="${tomcat.manifests}/jasper.jar"
@@ -210,7 +201,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
addGraal="true"
graalPrefix="org.apache.tomcat.embed/tomcat-embed-jasper"
graalFiles="res/graal/tomcat-embed-jasper/native-image"
-@@ -1774,7 +1774,7 @@
+@@ -1750,7 +1750,7 @@
filesDir="${tomcat.classes}"
filesId="files.tomcat-embed-websocket"
meta-inf="${tomcat.manifests}/tomcat-websocket.jar"
@@ -219,7 +210,7 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
addGraal="true"
graalPrefix="org.apache.tomcat.embed/tomcat-embed-websocket"
graalFiles="res/graal/tomcat-embed-websocket/native-image"
-@@ -4243,26 +4243,9 @@
+@@ -4307,25 +4307,12 @@
<taskdef name="jsign" classname="net.jsign.JsignTask" classpathref="jsign.classpath" />
</target>
@@ -233,44 +224,54 @@ diff -urN apache-tomcat-11.0.18-src.orig/build.xml apache-tomcat-11.0.18-src.bnd
- <param name="checksum.algorithm" value="${bnd.checksum.algorithm}"/>
- <param name="checksum.value" value="${bnd.checksum.value}"/>
- </antcall>
-- </target>
--
++ <target name="download-bnd">
++ <!-- no-op: OSGi metadata generation disabled -->
+ </target>
+
- <target name="setup-bnd" depends="download-bnd" unless="${skip.build.java.version}">
- <!-- Add bnd tasks to project -->
- <path id="bnd.classpath">
- <fileset file="${bnd.jar}" />
- </path>
-+ <target name="download-bnd" />
-
+-
- <taskdef resource="aQute/bnd/ant/taskdef.properties" classpathref="bnd.classpath" />
-- </target>
-+ <target name="setup-bnd" depends="download-bnd" />
++ <target name="setup-bnd">
++ <!-- no-op: OSGi metadata generation disabled -->
+ </target>
<macrodef name="jarIt" description="utility macro for standard JAR packaging">
- <attribute name="jarfile"
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/el/ExpressionFactoryImpl.java apache-tomcat-11.0.18-src.bnd/java/org/apache/el/ExpressionFactoryImpl.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/el/ExpressionFactoryImpl.java 2026-01-23 11:22:57.000000000 +0100
-+++ apache-tomcat-11.0.18-src.bnd/java/org/apache/el/ExpressionFactoryImpl.java 2026-03-10 17:52:05.189984748 +0100
-@@ -31,7 +31,6 @@
- /**
- * @see jakarta.el.ExpressionFactory
- */
-- at aQute.bnd.annotation.spi.ServiceProvider(value = ExpressionFactory.class)
- public class ExpressionFactoryImpl extends ExpressionFactory {
+--- a/java/org/apache/tomcat/websocket/WsContainerProvider.java 2026-01-21 09:17:26.000000000 +0100
++++ b/java/org/apache/tomcat/websocket/WsContainerProvider.java 2026-03-10 20:18:29.099982280 +0100
+@@ -19,7 +19,6 @@
+ import javax.websocket.ContainerProvider;
+ import javax.websocket.WebSocketContainer;
- static {
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/juli/logging/LogFactory.java apache-tomcat-11.0.18-src.bnd/java/org/apache/juli/logging/LogFactory.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/juli/logging/LogFactory.java 2026-01-23 11:22:57.000000000 +0100
-+++ apache-tomcat-11.0.18-src.bnd/java/org/apache/juli/logging/LogFactory.java 2026-03-10 17:52:05.195443638 +0100
-@@ -21,7 +21,6 @@
+- at aQute.bnd.annotation.spi.ServiceProvider(value = ContainerProvider.class)
+ public class WsContainerProvider extends ContainerProvider {
+
+ @Override
+--- a/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java 2026-01-21 09:17:26.000000000 +0100
++++ b/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java 2026-03-10 20:18:42.896648945 +0100
+@@ -26,7 +26,6 @@
+ import javax.websocket.server.HandshakeRequest;
+ import javax.websocket.server.ServerEndpointConfig;
+
+- at aQute.bnd.annotation.spi.ServiceProvider(value = ServerEndpointConfig.Configurator.class)
+ public class DefaultServerEndpointConfigurator extends ServerEndpointConfig.Configurator {
+
+ @Override
+--- a/java/org/apache/juli/logging/LogFactory.java 2026-01-21 09:17:26.000000000 +0100
++++ b/java/org/apache/juli/logging/LogFactory.java 2026-03-10 20:18:58.029982275 +0100
+@@ -21,8 +21,6 @@
import java.util.ServiceLoader;
import java.util.logging.LogManager;
-import aQute.bnd.annotation.spi.ServiceConsumer;
-
+-
/**
* This is a modified LogFactory that uses a simple {@link ServiceLoader} based discovery mechanism with a default of
-@@ -50,7 +49,6 @@
+ * using JDK based logging. An implementation that uses the full Commons Logging discovery mechanism is available as
+@@ -50,7 +48,6 @@
* <strong>IMPLEMENTATION NOTE</strong> - This implementation is heavily based on the SAXParserFactory and
* DocumentBuilderFactory implementations (corresponding to the JAXP pluggability APIs) found in Apache Xerces.
*/
@@ -278,25 +279,13 @@ diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/juli/logging/LogFactory
public class LogFactory {
private static final LogFactory singleton = new LogFactory();
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java apache-tomcat-11.0.18-src.bnd/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java 2026-01-23 11:22:57.000000000 +0100
-+++ apache-tomcat-11.0.18-src.bnd/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java 2026-03-10 17:52:05.193496336 +0100
-@@ -26,7 +26,6 @@
- import jakarta.websocket.server.HandshakeRequest;
- import jakarta.websocket.server.ServerEndpointConfig;
-
-- at aQute.bnd.annotation.spi.ServiceProvider(value = ServerEndpointConfig.Configurator.class)
- public class DefaultServerEndpointConfigurator extends ServerEndpointConfig.Configurator {
-
- @Override
-diff -urN apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/websocket/WsContainerProvider.java apache-tomcat-11.0.18-src.bnd/java/org/apache/tomcat/websocket/WsContainerProvider.java
---- apache-tomcat-11.0.18-src.orig/java/org/apache/tomcat/websocket/WsContainerProvider.java 2026-01-23 11:22:57.000000000 +0100
-+++ apache-tomcat-11.0.18-src.bnd/java/org/apache/tomcat/websocket/WsContainerProvider.java 2026-03-10 17:52:05.193433026 +0100
-@@ -19,7 +19,6 @@
- import jakarta.websocket.ContainerProvider;
- import jakarta.websocket.WebSocketContainer;
-
-- at aQute.bnd.annotation.spi.ServiceProvider(value = ContainerProvider.class)
- public class WsContainerProvider extends ContainerProvider {
+--- a/java/org/apache/el/ExpressionFactoryImpl.java 2026-01-21 09:17:26.000000000 +0100
++++ b/java/org/apache/el/ExpressionFactoryImpl.java 2026-03-10 20:19:06.806648937 +0100
+@@ -31,7 +31,6 @@
+ /**
+ * @see javax.el.ExpressionFactory
+ */
+- at aQute.bnd.annotation.spi.ServiceProvider(value = ExpressionFactory.class)
+ public class ExpressionFactoryImpl extends ExpressionFactory {
- @Override
+ static {
diff --git a/server.xml-URIEncoding-utf8.patch b/server.xml-URIEncoding-utf8.patch
deleted file mode 100644
index 373eb66..0000000
--- a/server.xml-URIEncoding-utf8.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -urNp -x '*.orig' apache-tomcat-7.0.107-src.org/conf/server.xml apache-tomcat-7.0.107-src/conf/server.xml
---- apache-tomcat-7.0.107-src.org/conf/server.xml 2020-11-18 13:24:51.000000000 +0100
-+++ apache-tomcat-7.0.107-src/conf/server.xml 2021-11-24 10:18:43.615492909 +0100
-@@ -69,13 +69,15 @@
- Define a non-SSL HTTP/1.1 Connector on port 8080
- -->
- <Connector port="8080" protocol="HTTP/1.1"
-- connectionTimeout="20000"
-+ connectionTimeout="20000"
-+ URIEncoding="UTF-8"
- redirectPort="8443" />
- <!-- A "Connector" using the shared thread pool-->
- <!--
- <Connector executor="tomcatThreadPool"
- port="8080" protocol="HTTP/1.1"
-- connectionTimeout="20000"
-+ connectionTimeout="20000"
-+ URIEncoding="UTF-8"
- redirectPort="8443" />
- -->
- <!-- Define an SSL HTTP/1.1 Connector on port 8443
-@@ -85,7 +87,7 @@
- documentation -->
- <!--
- <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
-- maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
-+ maxThreads="150" SSLEnabled="true" scheme="https" secure="true" URIEncoding="UTF-8"
- clientAuth="false" sslProtocol="TLS" />
- -->
-
-@@ -94,6 +96,7 @@
- <Connector protocol="AJP/1.3"
- address="::1"
- port="8009"
-+ URIEncoding="UTF-8"
- redirectPort="8443" />
- -->
-
diff --git a/tomcat-LDAPUserDatabase.patch b/tomcat-LDAPUserDatabase.patch
deleted file mode 100644
index 5a73ff5..0000000
--- a/tomcat-LDAPUserDatabase.patch
+++ /dev/null
@@ -1,437 +0,0 @@
-diff -urN apache-tomcat-6.0.29-src.orig/java/org/apache/catalina/startup/UserConfig.java apache-tomcat-6.0.29-src/java/org/apache/catalina/startup/UserConfig.java
---- apache-tomcat-6.0.29-src.orig/java/org/apache/catalina/startup/UserConfig.java 2010-07-19 15:02:32.000000000 +0200
-+++ apache-tomcat-6.0.29-src/java/org/apache/catalina/startup/UserConfig.java 2010-11-18 22:02:22.953623269 +0100
-@@ -83,6 +83,65 @@
-
-
- /**
-+ * The connection URL for the LDAP server we will contact.
-+ */
-+ private String connectionURL = null;
-+
-+
-+ /**
-+ * The connection username for the LDAP server we will contact.
-+ */
-+ private String connectionName = null;
-+
-+
-+ /**
-+ * The connection password for the LDAP server we will contact.
-+ */
-+ private String connectionPassword = null;
-+
-+
-+ /**
-+ * The type of authentication to use
-+ */
-+ private String authentication = null;
-+
-+
-+ /**
-+ * The page size for paged LDAP query.
-+ */
-+ private int pageSize = 0;
-+
-+
-+ /**
-+ * The base element for user searches.
-+ */
-+ private String searchBase = "";
-+
-+
-+ /**
-+ * The message format used to search for users.
-+ */
-+ private String searchFilter = "(objectClass=posixAccount)";
-+
-+
-+ /**
-+ * Should we search the entire subtree for matching users?
-+ */
-+ private boolean searchSubtree = false;
-+
-+
-+ /**
-+ * The attibute that denotes user name(s).
-+ */
-+ private String userAttr = "uid";
-+
-+
-+ /**
-+ * The attibute that denotes user home directory.
-+ */
-+ private String homeAttr = "homeDirectory";
-+
-+ /**
- * The string resources for this package.
- */
- private static final StringManager sm =
-@@ -186,6 +245,167 @@
-
- }
-
-+
-+ /**
-+ * The connection URL for the LDAP server we will contact.
-+ */
-+ public String getConnectionURL() {
-+
-+ return (this.connectionURL);
-+
-+ }
-+ public void setConnectionURL(String connectionURL) {
-+
-+ this.connectionURL = connectionURL;
-+
-+ }
-+
-+
-+ /**
-+ * The connection username for the LDAP server we will contact.
-+ */
-+ public String getConnectionName() {
-+
-+ return (this.connectionName);
-+
-+ }
-+ public void setConnectionName(String connectionName) {
-+
-+ this.connectionName = connectionName;
-+
-+ }
-+
-+
-+ /**
-+ * The connection password for the LDAP server we will contact.
-+ */
-+ public String getConnectionPassword() {
-+
-+ return (this.connectionPassword);
-+
-+ }
-+ public void setConnectionPassword(String connectionPassword) {
-+
-+ this.connectionPassword = connectionPassword;
-+
-+ }
-+
-+ /**
-+ * Return the type of authentication to use.
-+ */
-+ public String getAuthentication() {
-+
-+ return (this.authentication);
-+
-+ }
-+
-+ /**
-+ * Set the type of authentication to use.
-+ *
-+ * @param authentication The authentication
-+ */
-+ public void setAuthentication(String authentication) {
-+
-+ this.authentication = authentication;
-+
-+ }
-+
-+
-+ /**
-+ * Return the page size for paged LDAP query.
-+ */
-+ public int getPageSize() {
-+
-+ return (this.pageSize);
-+
-+ }
-+
-+ /**
-+ * Set the page size for paged LDAP query.
-+ *
-+ * @param pagesize The page size
-+ */
-+ public void setPageSize(int pageSize) {
-+
-+ this.pageSize = pageSize;
-+
-+ }
-+
-+
-+ /**
-+ * The base element for user searches.
-+ */
-+ public String getSearchBase() {
-+
-+ return (this.searchBase);
-+
-+ }
-+ public void setSearchBase(String searchBase) {
-+
-+ this.searchBase = searchBase;
-+
-+ }
-+
-+
-+ /**
-+ * The message format used to search for users.
-+ */
-+ public String getSearchFilter() {
-+
-+ return (this.searchFilter);
-+
-+ }
-+ public void setSearchFilter(String searchFilter) {
-+
-+ this.searchFilter = searchFilter;
-+
-+ }
-+
-+
-+ /**
-+ * Should we search the entire subtree for matching users?
-+ */
-+ public boolean getSearchSubtree() {
-+
-+ return (this.searchSubtree);
-+
-+ }
-+ public void setSearchSubtree(boolean searchSubtree) {
-+
-+ this.searchSubtree = searchSubtree;
-+
-+ }
-+
-+
-+ /**
-+ * The attibute that denotes user name(s).
-+ */
-+ public String getUserAttr() {
-+
-+ return (this.userAttr);
-+
-+ }
-+ public void setUserAttr(String userAttr) {
-+
-+ this.userAttr = userAttr;
-+
-+ }
-+
-+
-+ /**
-+ * The attibute that denotes user home directory.
-+ */
-+ public String getHomeAttr() {
-+
-+ return (this.homeAttr);
-+
-+ }
-+ public void setHomeAttr(String homeAttr) {
-+
-+ this.homeAttr = homeAttr;
-+
-+ }
-+
-
- /**
- * Return the user database class name for this component.
-diff -urN apache-tomcat-6.0.29-src.orig/java/org/apache/catalina/startup/LDAPUserDatabase.java apache-tomcat-6.0.29-src/java/org/apache/catalina/startup/LDAPUserDatabase.java
---- apache-tomcat-6.0.29-src.orig/java/org/apache/catalina/startup/LDAPUserDatabase.java 1970-01-01 01:00:00.000000000 +0100
-+++ apache-tomcat-6.0.29-src/java/org/apache/catalina/startup/LDAPUserDatabase.java 2010-11-18 22:09:07.816261633 +0100
-@@ -0,0 +1,196 @@
-+/*
-+ * Licensed to the Apache Software Foundation (ASF) under one or more
-+ * contributor license agreements. See the NOTICE file distributed with
-+ * this work for additional information regarding copyright ownership.
-+ * The ASF licenses this file to You under the Apache License, Version 2.0
-+ * (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ *
-+ * http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+
-+package org.apache.catalina.startup;
-+
-+import java.util.Enumeration;
-+import java.util.Hashtable;
-+
-+import javax.naming.Context;
-+import javax.naming.NamingEnumeration;
-+import javax.naming.NamingException;
-+import javax.naming.directory.Attribute;
-+import javax.naming.directory.Attributes;
-+import javax.naming.directory.SearchControls;
-+import javax.naming.directory.SearchResult;
-+import javax.naming.ldap.Control;
-+import javax.naming.ldap.InitialLdapContext;
-+import javax.naming.ldap.LdapContext;
-+import javax.naming.ldap.PagedResultsControl;
-+import javax.naming.ldap.PagedResultsResponseControl;
-+
-+
-+/**
-+ * Concrete implementation of the <code>UserDatabase</code> interface
-+ * that retrieves user data from LDAP server.
-+ *
-+ * @author Jan Rękorajski
-+ * @version 0.1
-+ */
-+
-+public final class LDAPUserDatabase
-+ implements UserDatabase {
-+
-+ // --------------------------------------------------------- Constructors
-+
-+ /**
-+ * Initialize a new instance of this user database component.
-+ */
-+ public LDAPUserDatabase() {
-+ super();
-+ }
-+
-+ // --------------------------------------------------- Instance Variables
-+
-+ /**
-+ * The set of home directories for all defined users, keyed by username.
-+ */
-+ private Hashtable<String,String> homes = new Hashtable<String,String>();
-+
-+ /**
-+ * The UserConfig listener with which we are associated.
-+ */
-+ private UserConfig userConfig = null;
-+
-+ // ----------------------------------------------------------- Properties
-+
-+ /**
-+ * Return the UserConfig listener with which we are associated.
-+ */
-+ public UserConfig getUserConfig() {
-+ return (this.userConfig);
-+ }
-+
-+ /**
-+ * Set the UserConfig listener with which we are associated.
-+ *
-+ * @param userConfig The new UserConfig listener
-+ */
-+ public void setUserConfig(UserConfig userConfig) {
-+ this.userConfig = userConfig;
-+ init();
-+ }
-+
-+ // ------------------------------------------------------- Public Methods
-+
-+ /**
-+ * Return an absolute pathname to the home directory for the specified user.
-+ *
-+ * @param user User for which a home directory should be retrieved
-+ */
-+ public String getHome(String user) {
-+ return homes.get(user);
-+ }
-+
-+
-+ /**
-+ * Return an enumeration of the usernames defined on this server.
-+ */
-+ public Enumeration<String> getUsers() {
-+ return (homes.keys());
-+ }
-+
-+ // ------------------------------------------------------ Private Methods
-+
-+
-+ /**
-+ * Initialize our set of users and home directories.
-+ */
-+ private void init() {
-+ String connectionURL = userConfig.getConnectionURL();
-+ String connectionName = userConfig.getConnectionName();
-+ String connectionPassword = userConfig.getConnectionPassword();
-+ String authentication = userConfig.getAuthentication();
-+ String searchBase = userConfig.getSearchBase();
-+ String searchFilter = userConfig.getSearchFilter();
-+ boolean searchSubtree = userConfig.getSearchSubtree();
-+ String userAttr = userConfig.getUserAttr();
-+ String homeAttr = userConfig.getHomeAttr();
-+ int pageSize = userConfig.getPageSize();
-+
-+ try {
-+ Hashtable<String,String> env = new Hashtable<String,String>();
-+
-+ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
-+ if (connectionName != null)
-+ env.put(Context.SECURITY_PRINCIPAL, connectionName);
-+ if (connectionPassword != null)
-+ env.put(Context.SECURITY_CREDENTIALS, connectionPassword);
-+ if (connectionURL != null)
-+ env.put(Context.PROVIDER_URL, connectionURL);
-+ if (authentication != null)
-+ env.put(Context.SECURITY_AUTHENTICATION, authentication);
-+
-+ LdapContext ctx = new InitialLdapContext(env, null);
-+
-+ SearchControls constraints = new SearchControls();
-+ String returnAttrs[] = { userAttr, homeAttr };
-+ constraints.setReturningAttributes(returnAttrs);
-+ if (searchSubtree) {
-+ constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
-+ } else {
-+ constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
-+ }
-+
-+ // Request the paged results control
-+ if (pageSize > 0) {
-+ Control[] ctls = new Control[]{ new PagedResultsControl(pageSize, Control.NONCRITICAL) };
-+ ctx.setRequestControls(ctls);
-+ }
-+
-+ byte[] cookie = null;
-+ do {
-+ NamingEnumeration results = ctx.search(searchBase, searchFilter, constraints);
-+ while (results != null && results.hasMore()) {
-+ SearchResult sr = (SearchResult)results.next();
-+ String username = null;
-+ String home = null;
-+ Attributes attr = sr.getAttributes();
-+ Attribute a = attr.get(homeAttr);
-+ if (a != null && a.size() == 1)
-+ home = (String)a.get();
-+ a = attr.get(userAttr);
-+ if ((home != null) && (a != null)) {
-+ // Add all possible names of this user and corresponding directory
-+ for (int i = 0; i < a.size(); i++) {
-+ username = (String)a.get(i);
-+ if (username != null) {
-+ homes.put(username, home);
-+ }
-+ }
-+ }
-+ }
-+ cookie = null;
-+ Control[] controls = ctx.getResponseControls();
-+ if (controls != null) {
-+ for (int i = 0; i < controls.length; i++) {
-+ if (controls[i] instanceof PagedResultsResponseControl) {
-+ PagedResultsResponseControl prrc = (PagedResultsResponseControl)controls[i];
-+ cookie = prrc.getCookie();
-+ }
-+ }
-+ }
-+ if (cookie != null) {
-+ ctx.setRequestControls(new Control[]{ new PagedResultsControl(pageSize, cookie, Control.CRITICAL) });
-+ }
-+ } while ((cookie != null) && (cookie.length != 0));
-+ } catch (Exception e) {
-+ e.printStackTrace();
-+ }
-+ }
-+}
diff --git a/tomcat-build.patch b/tomcat-build.patch
deleted file mode 100644
index 7dee225..0000000
--- a/tomcat-build.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- apache-tomcat-7.0.100-src/build.xml~ 2020-02-29 19:29:03.000000000 +0100
-+++ apache-tomcat-7.0.100-src/build.xml 2020-02-29 19:30:10.956020378 +0100
-@@ -1981,7 +1981,7 @@ Apache Tomcat ${version} native binaries
- encoding="UTF-8"
- docencoding="UTF-8"
- charset="UTF-8"
-- additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
-+ additionalparam="-Xdoclint:none -breakiterator -notimestamp ${java9.javadoc.options}"
- source="${compile.source}"
- maxmemory="512m"
- failonerror="true">
-@@ -2002,7 +2002,7 @@ Apache Tomcat ${version} native binaries
- encoding="ISO-8859-1"
- docencoding="ISO-8859-1"
- charset="ISO-8859-1"
-- additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
-+ additionalparam="-Xdoclint:none -breakiterator -notimestamp ${java9.javadoc.options}"
- source="${compile.source}"
- maxmemory="512m"
- failonerror="true"
-@@ -2024,7 +2024,7 @@ Apache Tomcat ${version} native binaries
- encoding="ISO-8859-1"
- docencoding="ISO-8859-1"
- charset="ISO-8859-1"
-- additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
-+ additionalparam="-Xdoclint:none -breakiterator -notimestamp ${java9.javadoc.options}"
- source="${compile.source}"
- maxmemory="512m"
- failonerror="true"
-@@ -2046,7 +2046,7 @@ Apache Tomcat ${version} native binaries
- encoding="ISO-8859-1"
- docencoding="ISO-8859-1"
- charset="ISO-8859-1"
-- additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
-+ additionalparam="-Xdoclint:none -breakiterator -notimestamp ${java9.javadoc.options}"
- source="${compile.source}"
- maxmemory="512m"
- failonerror="true"
-@@ -2068,7 +2068,7 @@ Apache Tomcat ${version} native binaries
- encoding="ISO-8859-1"
- docencoding="ISO-8859-1"
- charset="ISO-8859-1"
-- additionalparam="-breakiterator -notimestamp ${java9.javadoc.options}"
-+ additionalparam="-Xdoclint:none -breakiterator -notimestamp ${java9.javadoc.options}"
- source="${compile.source}"
- maxmemory="512m"
- failonerror="true"
-@@ -2089,7 +2089,7 @@ Apache Tomcat ${version} native binaries
- encoding="ISO-8859-1"
- docencoding="ISO-8859-1"
- charset="ISO-8859-1"
-- additionalparam="-breakiterator -notimestamp ${java9.javadoc.options} -J-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -XDignore.symbol.file"
-+ additionalparam="-Xdoclint:none -breakiterator -notimestamp ${java9.javadoc.options} -J-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -XDignore.symbol.file"
- source="${compile.source}"
- maxmemory="512m"
- failonerror="true"
diff --git a/tomcat-build.xml.patch b/tomcat-build.xml.patch
deleted file mode 100644
index 9f1726a..0000000
--- a/tomcat-build.xml.patch
+++ /dev/null
@@ -1,164 +0,0 @@
---- apache-tomcat-7.0.100-src/build.xml.org 2020-02-11 09:39:54.000000000 +0100
-+++ apache-tomcat-7.0.100-src/build.xml 2020-02-29 19:19:42.236875428 +0100
-@@ -683,7 +683,7 @@
- <target name="compile" depends="compile-java6, check-java7, compile-java7" />
-
- <target name="compile-java6"
-- depends="build-prepare, download-compile, compile-prepare, validate">
-+ depends="build-prepare">
- <!-- Compile internal server components -->
- <javac srcdir="java" destdir="${tomcat.classes}"
- debug="${compile.debug}"
-@@ -1409,7 +1409,7 @@
-
- </target>
-
-- <target name="test-compile" depends="compile,download-test-compile,compile-webapp-examples" >
-+ <target name="test-compile" depends="compile,compile-webapp-examples" >
- <mkdir dir="${test.classes}"/>
- <!-- Compile -->
- <javac srcdir="test" destdir="${test.classes}"
-@@ -1621,7 +1621,7 @@
- </target>
-
- <target name="cobertura-instrument"
-- depends="compile,download-cobertura,cobertura-disabled,cobertura-disabled-log"
-+ depends="compile,cobertura-disabled,cobertura-disabled-log"
- if="${cobertura.enabled}"
- description="Adds Cobertura instrumentation to the compiled bytecode">
-
-@@ -1667,66 +1667,10 @@
- <mkdir dir="${tomcat.extras}/webservices"/>
- </target>
-
-- <target name="extras-commons-logging-prepare"
-- depends="extras-prepare"
-- description="Prepare to build web services extras package">
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${commons-logging-src.loc}"/>
-- <param name="destfile" value="${commons-logging-src.tar.gz}"/>
-- <param name="destdir" value="${commons-logging.home}"/>
-- <param name="checksum.enabled" value="${commons-logging-src.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${commons-logging-src.checksum.algorithm}"/>
-- <param name="checksum.value" value="${commons-logging-src.checksum.value}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${avalon-framework.loc}"/>
-- <param name="destfile" value="${avalon-framework.jar}"/>
-- <param name="destdir" value="${avalon-framework.home}"/>
-- <param name="checksum.enabled" value="${avalon-framework.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${avalon-framework.checksum.algorithm}"/>
-- <param name="checksum.value" value="${avalon-framework.checksum.value}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${log4j.loc}"/>
-- <param name="destfile" value="${log4j.jar}"/>
-- <param name="destdir" value="${log4j.home}"/>
-- <param name="checksum.enabled" value="${log4j.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${log4j.checksum.algorithm}"/>
-- <param name="checksum.value" value="${log4j.checksum.value}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${logkit.loc}"/>
-- <param name="destfile" value="${logkit.jar}"/>
-- <param name="destdir" value="${logkit.home}"/>
-- <param name="checksum.enabled" value="${logkit.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${logkit.checksum.algorithm}"/>
-- <param name="checksum.value" value="${logkit.checksum.value}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${servletapi.loc}"/>
-- <param name="destfile" value="${servletapi.jar}"/>
-- <param name="destdir" value="${servletapi.home}"/>
-- <param name="checksum.enabled" value="${servletapi.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${servletapi.checksum.algorithm}"/>
-- <param name="checksum.value" value="${servletapi.checksum.value}"/>
-- </antcall>
--
-- </target>
--
- <target name="extras-commons-logging"
-- depends="extras-commons-logging-prepare,compile,build-manifests"
-+ depends="compile,build-manifests"
- description="Build JULI for log4j extras package">
-
-- <gunzip src="${commons-logging-src.tar.gz}"
-- dest="${tomcat.extras}/logging/commons-logging-src.tar"/>
-- <untar src="${tomcat.extras}/logging/commons-logging-src.tar"
-- dest="${tomcat.extras}/logging/"/>
--
- <replace dir="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src/src/main/java/org/apache/commons"
- encoding="ISO-8859-1">
- <replacefilter token="org.apache.commons"
-@@ -1763,7 +1706,8 @@
- file="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src/build.xml" />
-
- <copy todir="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src">
-- <fileset file="${avalon-framework.jar}" />
-+ <fileset file="${avalon-framework-api.jar}" />
-+ <fileset file="${avalon-framework-impl.jar}" />
- <fileset file="${log4j.jar}" />
- <fileset file="${logkit.jar}" />
- <fileset file="${servletapi.jar}" />
-@@ -1842,24 +1786,6 @@
- depends="extras-prepare"
- description="Prepare to build web services extras package">
-
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
-- <param name="destfile" value="${jaxrpc-lib.jar}"/>
-- <param name="destdir" value="${jaxrpc-lib.home}"/>
-- <param name="checksum.enabled" value="${jaxrpc-lib.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${jaxrpc-lib.checksum.algorithm}"/>
-- <param name="checksum.value" value="${jaxrpc-lib.checksum.value}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${wsdl4j-lib.loc}"/>
-- <param name="destfile" value="${wsdl4j-lib.jar}"/>
-- <param name="destdir" value="${wsdl4j-lib.home}"/>
-- <param name="checksum.enabled" value="${wsdl4j-lib.checksum.enabled}"/>
-- <param name="checksum.algorithm" value="${wsdl4j-lib.checksum.algorithm}"/>
-- <param name="checksum.value" value="${wsdl4j-lib.checksum.value}"/>
-- </antcall>
--
- <copy file="${jaxrpc-lib.jar}"
- tofile="${tomcat.extras}/webservices/jaxrpc.jar" />
- <copy file="${wsdl4j-lib.jar}"
-@@ -1961,7 +1887,7 @@
-
- </target>
-
-- <target name="dist-prepare" depends="download-dist">
-+ <target name="dist-prepare">
- <mkdir dir="${tomcat.dist}"/>
- <mkdir dir="${tomcat.dist}/bin"/>
- <mkdir dir="${tomcat.dist}/conf"/>
-@@ -2034,13 +1960,6 @@
- </fileset>
- </copy>
-
-- <!-- Source bundles for native components -->
-- <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
-- file="${tomcat-native.tar.gz}" />
-- <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
-- file="${commons-daemon.native.src.tgz}" />
--
-- <!-- platform README files -->
- <echo append="false" file="${tomcat.dist}/bin/x64/README">
- Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
- </echo>
-@@ -2791,7 +2791,7 @@ skip.installer property in build.propert
-
- <target name="download-deps"
- description="Download the dependencies required to build and test"
-- depends="download-compile, download-dist, download-test-compile, download-validate, download-cobertura, extras-commons-logging-prepare, extras-webservices-prepare" />
-+ depends="download-compile, download-dist, download-test-compile, download-validate, download-cobertura, extras-webservices-prepare" />
-
- <target name="download-validate"
- description="Download components necessary to validate source"
diff --git a/tomcat-catalina.policy-javadir.patch b/tomcat-catalina.policy-javadir.patch
deleted file mode 100644
index 94d7255..0000000
--- a/tomcat-catalina.policy-javadir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- apache-tomcat-6.0.29-src/conf/catalina.policy~ 2010-07-19 15:02:31.000000000 +0200
-+++ apache-tomcat-6.0.29-src/conf/catalina.policy 2010-11-19 21:11:45.250112558 +0100
-@@ -52,6 +52,10 @@
- permission java.security.AllPermission;
- };
-
-+// These permissions apply to all shared system extensions
-+grant codeBase "file:/usr/share/java/-" {
-+ permission java.security.AllPermission;
-+};
-
- // ========== CATALINA CODE PERMISSIONS =======================================
-
diff --git a/tomcat-context.xml.patch b/tomcat-context.xml.patch
deleted file mode 100644
index 3c27bbb..0000000
--- a/tomcat-context.xml.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- apache-tomcat-7.0.11-src/conf/context.xml~ 2011-03-10 12:16:35.000000000 +0100
-+++ apache-tomcat-7.0.11-src/conf/context.xml 2011-03-17 23:49:31.208011844 +0100
-@@ -16,7 +16,7 @@
- limitations under the License.
- -->
- <!-- The contents of this file will be loaded for each web application -->
--<Context>
-+<Context swallowOutput="true">
-
- <!-- Default set of monitored resources -->
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
diff --git a/tomcat-extras.xml.patch b/tomcat-extras.xml.patch
deleted file mode 100644
index 6220354..0000000
--- a/tomcat-extras.xml.patch
+++ /dev/null
@@ -1,113 +0,0 @@
---- extras.xml.orig 2011-02-02 20:07:31.000000000 +0100
-+++ extras.xml 2011-02-04 20:28:23.759726852 +0100
-@@ -108,44 +108,7 @@
- <delete dir="${tomcat.extras}"/>
- </target>
-
-- <target name="commons-logging-prepare"
-- depends="prepare"
-- description="Prepare to build web services extras package">
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${commons-logging-src.loc}"/>
-- <param name="destfile" value="${commons-logging-src.tar.gz}"/>
-- <param name="destdir" value="${commons-logging.home}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${avalon-framework.loc}"/>
-- <param name="destfile" value="${avalon-framework.jar}"/>
-- <param name="destdir" value="${avalon-framework.home}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${log4j.loc}"/>
-- <param name="destfile" value="${log4j.jar}"/>
-- <param name="destdir" value="${log4j.home}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${logkit.loc}"/>
-- <param name="destfile" value="${logkit.jar}"/>
-- <param name="destdir" value="${logkit.home}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${servletapi.loc}"/>
-- <param name="destfile" value="${servletapi.jar}"/>
-- <param name="destdir" value="${servletapi.home}"/>
-- </antcall>
--
-- </target>
--
- <target name="commons-logging"
-- depends="commons-logging-prepare"
- description="Build JULI for log4j extras package">
-
- <gunzip src="${commons-logging-src.tar.gz}"
-@@ -236,18 +199,6 @@
- depends="prepare"
- description="Prepare to build web services extras package">
-
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
-- <param name="destfile" value="${jaxrpc-lib.jar}"/>
-- <param name="destdir" value="${jaxrpc-lib.home}"/>
-- </antcall>
--
-- <antcall target="downloadfile">
-- <param name="sourcefile" value="${wsdl4j-lib.loc}"/>
-- <param name="destfile" value="${wsdl4j-lib.jar}"/>
-- <param name="destdir" value="${wsdl4j-lib.home}"/>
-- </antcall>
--
- <copy file="${jaxrpc-lib.jar}"
- tofile="${tomcat.extras}/webservices/jaxrpc.jar" />
- <copy file="${wsdl4j-lib.jar}"
-@@ -326,25 +277,11 @@
- </condition>
- </target>
-
-- <target name="setproxy" depends="proxyflags" if="useproxy">
-- <taskdef name="setproxy"
-- classname="org.apache.tools.ant.taskdefs.optional.net.SetProxy" />
-- <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
-- proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
-- <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
-- </target>
--
- <target name="testexist">
- <echo message="Testing for ${destfile}"/>
- <available file="${destfile}" property="exist"/>
- </target>
-
-- <target name="downloadfile" unless="exist" depends="setproxy,testexist">
-- <!-- Download extract the file -->
-- <mkdir dir="${destdir}" />
-- <get src="${sourcefile}" dest="${destfile}" />
-- </target>
--
- <!-- Helper target, used to create a md5 checksum file -->
- <!-- Requires 'file' as a parameter. -->
- <target name="md5sum">
---- extras.xml~ 2011-02-04 20:30:36.817322838 +0100
-+++ extras.xml 2011-02-04 20:48:43.431125625 +0100
-@@ -195,18 +195,7 @@
- </antcall>
- </target>
-
-- <target name="webservices-prepare"
-- depends="prepare"
-- description="Prepare to build web services extras package">
--
-- <copy file="${jaxrpc-lib.jar}"
-- tofile="${tomcat.extras}/webservices/jaxrpc.jar" />
-- <copy file="${wsdl4j-lib.jar}"
-- tofile="${tomcat.extras}/webservices/wsdl4j.jar" />
-- </target>
--
- <target name="webservices"
-- depends="webservices-prepare"
- description="Build web services extras package">
-
- <!-- Classpath -->
diff --git a/tomcat-userdir.patch b/tomcat-userdir.patch
deleted file mode 100644
index 99a1421..0000000
--- a/tomcat-userdir.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -urNp -x '*.orig' apache-tomcat-7.0.107-src.org/conf/server.xml apache-tomcat-7.0.107-src/conf/server.xml
---- apache-tomcat-7.0.107-src.org/conf/server.xml 2021-11-24 10:19:04.426573110 +0100
-+++ apache-tomcat-7.0.107-src/conf/server.xml 2021-11-24 10:19:04.699920632 +0100
-@@ -137,6 +137,46 @@
- <!--
- <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
- -->
-+ <!--
-+ Automatically map a request URI starting with a tilde
-+ character ("~") and a username to a directory
-+ (commonly named public_html) in that user's home directory
-+ on the server.
-+ -->
-+ <!--
-+ Use /etc/passwd file to identify valid users
-+ -->
-+ <!--
-+ <Listener className="org.apache.catalina.startup.UserConfig"
-+ directoryName="public_html"
-+ userClass="org.apache.catalina.startup.PasswdUserDatabase"/>
-+ -->
-+ <!--
-+ Use all directories found in a specified base directory
-+ to be considered "user home" directories
-+ -->
-+ <!--
-+ <Listener className="org.apache.catalina.startup.UserConfig"
-+ directoryName="public_html"
-+ homeBase="/home/users"
-+ userClass="org.apache.catalina.startup.HomesUserDatabase"/>
-+ -->
-+ <!--
-+ Use LDAP search to identify valid users
-+ You may need to add ldap server's CA cert to global java keystore
-+ -->
-+ <!--
-+ <Listener className="org.apache.catalina.startup.UserConfig"
-+ directoryName="public_html"
-+ connectionURL="ldaps://ldap.example.com/"
-+ connectionName="uid=tomcat,ou=people,dc=example,dc=com"
-+ connectionPassword="secret"
-+ searchBase="ou=People,dc=mim,dc=uw,dc=edu,dc=pl"
-+ searchFilter="(objectClass=posixAccount)"
-+ searchSubtree="false"
-+ pageSize="1000"
-+ userClass="org.apache.catalina.startup.LDAPUserDatabase"/>
-+ -->
-
- <!-- Access log processes all example.
- Documentation at: /docs/config/valve.html
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/tomcat.git/commitdiff/0678c858741aa8c0ca45456ab5a0dfeaea8b8ba7
More information about the pld-cvs-commit
mailing list