[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