This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 0e21a3fd9dd611826afe47450e9d9375f6709635
Author: Mark Thomas <[email protected]>
AuthorDate: Mon Nov 3 12:13:27 2025 +0000

    Refactor AprStatus to o.a.t.jni package
    
    Aligns with Tomcat 10.1.x onwards
---
 java/org/apache/catalina/connector/Connector.java  |  2 +-
 .../apache/catalina/core/AprLifecycleListener.java | 31 ++++++++++---------
 java/org/apache/catalina/core/AprStatus.java       | 35 ++++++++++------------
 .../{catalina/core => tomcat/jni}/AprStatus.java   |  2 +-
 .../tomcat/util/net/TestClientCertTls13.java       |  2 +-
 test/org/apache/tomcat/util/net/TesterSupport.java |  2 +-
 .../tomcat/util/net/openssl/TestOpenSSLConf.java   |  2 +-
 7 files changed, 36 insertions(+), 40 deletions(-)

diff --git a/java/org/apache/catalina/connector/Connector.java 
b/java/org/apache/catalina/connector/Connector.java
index 672ebc460a..e0d0dbe1f0 100644
--- a/java/org/apache/catalina/connector/Connector.java
+++ b/java/org/apache/catalina/connector/Connector.java
@@ -30,7 +30,6 @@ import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Service;
 import org.apache.catalina.core.AprLifecycleListener;
-import org.apache.catalina.core.AprStatus;
 import org.apache.catalina.util.LifecycleMBeanBase;
 import org.apache.coyote.AbstractProtocol;
 import org.apache.coyote.Adapter;
@@ -40,6 +39,7 @@ import org.apache.coyote.http11.AbstractHttp11JsseProtocol;
 import org.apache.coyote.http11.AbstractHttp11Protocol;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.jni.AprStatus;
 import org.apache.tomcat.util.IntrospectionUtils;
 import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.CharsetUtil;
diff --git a/java/org/apache/catalina/core/AprLifecycleListener.java 
b/java/org/apache/catalina/core/AprLifecycleListener.java
index d10b5b21ff..11a8794a9e 100644
--- a/java/org/apache/catalina/core/AprLifecycleListener.java
+++ b/java/org/apache/catalina/core/AprLifecycleListener.java
@@ -108,16 +108,16 @@ public class AprLifecycleListener implements 
LifecycleListener {
 
     public static boolean isAprAvailable() {
         // https://bz.apache.org/bugzilla/show_bug.cgi?id=48613
-        if (AprStatus.isInstanceCreated()) {
+        if (org.apache.tomcat.jni.AprStatus.isInstanceCreated()) {
             synchronized (lock) {
                 init();
             }
         }
-        return AprStatus.isAprAvailable();
+        return org.apache.tomcat.jni.AprStatus.isAprAvailable();
     }
 
     public AprLifecycleListener() {
-        AprStatus.setInstanceCreated(true);
+        org.apache.tomcat.jni.AprStatus.setInstanceCreated(true);
     }
 
     // ---------------------------------------------- LifecycleListener Methods
@@ -145,7 +145,7 @@ public class AprLifecycleListener implements 
LifecycleListener {
                     log.info(msg);
                 }
                 initInfoLogMessages.clear();
-                if (AprStatus.isAprAvailable()) {
+                if (org.apache.tomcat.jni.AprStatus.isAprAvailable()) {
                     try {
                         initializeSSL();
                     } catch (Throwable t) {
@@ -172,7 +172,7 @@ public class AprLifecycleListener implements 
LifecycleListener {
                     // Still being used
                     return;
                 }
-                if (!AprStatus.isAprAvailable()) {
+                if (!org.apache.tomcat.jni.AprStatus.isAprAvailable()) {
                     return;
                 }
                 try {
@@ -188,8 +188,8 @@ public class AprLifecycleListener implements 
LifecycleListener {
     }
 
     private static void terminateAPR() {
-        AprStatus.setAprInitialized(false);
-        AprStatus.setAprAvailable(false);
+        org.apache.tomcat.jni.AprStatus.setAprInitialized(false);
+        org.apache.tomcat.jni.AprStatus.setAprAvailable(false);
         fipsModeActive = false;
         sslInitialized = false; // Well we cleaned the pool in terminate.
         // There could be unreferenced SSL_CTX still waiting for GC
@@ -298,7 +298,7 @@ public class AprLifecycleListener implements 
LifecycleListener {
         method = clazz.getMethod(methodName, paramTypes);
         method.invoke(null, paramValues);
 
-        AprStatus.setOpenSSLVersion(SSL.version());
+        org.apache.tomcat.jni.AprStatus.setOpenSSLVersion(SSL.version());
         // OpenSSL 3 onwards uses providers
         boolean usingProviders = tcnMajor > 1 || (tcnVersion > 1233 && 
(SSL.version() & 0xF0000000L) > 0x20000000);
 
@@ -438,27 +438,26 @@ public class AprLifecycleListener implements 
LifecycleListener {
     }
 
     public void setUseAprConnector(boolean useAprConnector) {
-        if (useAprConnector != AprStatus.getUseAprConnector()) {
-            AprStatus.setUseAprConnector(useAprConnector);
+        if (useAprConnector != 
org.apache.tomcat.jni.AprStatus.getUseAprConnector()) {
+            
org.apache.tomcat.jni.AprStatus.setUseAprConnector(useAprConnector);
         }
     }
 
     public static boolean getUseAprConnector() {
-        return AprStatus.getUseAprConnector();
+        return org.apache.tomcat.jni.AprStatus.getUseAprConnector();
     }
 
     public void setUseOpenSSL(boolean useOpenSSL) {
-        if (useOpenSSL != AprStatus.getUseOpenSSL()) {
-            AprStatus.setUseOpenSSL(useOpenSSL);
+        if (useOpenSSL != org.apache.tomcat.jni.AprStatus.getUseOpenSSL()) {
+            org.apache.tomcat.jni.AprStatus.setUseOpenSSL(useOpenSSL);
         }
     }
 
     public static boolean getUseOpenSSL() {
-        return AprStatus.getUseOpenSSL();
+        return org.apache.tomcat.jni.AprStatus.getUseOpenSSL();
     }
 
     public static boolean isInstanceCreated() {
-        return AprStatus.isInstanceCreated();
+        return org.apache.tomcat.jni.AprStatus.isInstanceCreated();
     }
-
 }
diff --git a/java/org/apache/catalina/core/AprStatus.java 
b/java/org/apache/catalina/core/AprStatus.java
index a2ce28478b..29eccb34f5 100644
--- a/java/org/apache/catalina/core/AprStatus.java
+++ b/java/org/apache/catalina/core/AprStatus.java
@@ -18,67 +18,64 @@ package org.apache.catalina.core;
 
 /**
  * Holds APR status without the need to load other classes.
+ *
+ * @deprecated Unused. Use {@link org.apache.tomcat.jni.AprStatus} instead. 
This class will be removed in Tomcat 12
+ *                 onwards.
  */
+@Deprecated
 public class AprStatus {
-    private static volatile boolean aprInitialized = false;
-    private static volatile boolean aprAvailable = false;
-    private static volatile boolean useAprConnector = false;
-    private static volatile boolean useOpenSSL = true;
-    private static volatile boolean instanceCreated = false;
-    private static volatile int openSSLVersion = 0;
 
     public static boolean isAprInitialized() {
-        return aprInitialized;
+        return org.apache.tomcat.jni.AprStatus.isAprInitialized();
     }
 
     public static boolean isAprAvailable() {
-        return aprAvailable;
+        return org.apache.tomcat.jni.AprStatus.isAprAvailable();
     }
 
     public static boolean getUseAprConnector() {
-        return useAprConnector;
+        return org.apache.tomcat.jni.AprStatus.getUseAprConnector();
     }
 
     public static boolean getUseOpenSSL() {
-        return useOpenSSL;
+        return org.apache.tomcat.jni.AprStatus.getUseOpenSSL();
     }
 
     public static boolean isInstanceCreated() {
-        return instanceCreated;
+        return org.apache.tomcat.jni.AprStatus.isInstanceCreated();
     }
 
     public static void setAprInitialized(boolean aprInitialized) {
-        AprStatus.aprInitialized = aprInitialized;
+        org.apache.tomcat.jni.AprStatus.setAprInitialized(aprInitialized);
     }
 
     public static void setAprAvailable(boolean aprAvailable) {
-        AprStatus.aprAvailable = aprAvailable;
+        org.apache.tomcat.jni.AprStatus.setAprAvailable(aprAvailable);
     }
 
     public static void setUseAprConnector(boolean useAprConnector) {
-        AprStatus.useAprConnector = useAprConnector;
+        org.apache.tomcat.jni.AprStatus.setUseAprConnector(useAprConnector);
     }
 
     public static void setUseOpenSSL(boolean useOpenSSL) {
-        AprStatus.useOpenSSL = useOpenSSL;
+        org.apache.tomcat.jni.AprStatus.setUseOpenSSL(useOpenSSL);
     }
 
     public static void setInstanceCreated(boolean instanceCreated) {
-        AprStatus.instanceCreated = instanceCreated;
+        org.apache.tomcat.jni.AprStatus.setInstanceCreated(instanceCreated);
     }
 
     /**
      * @return the openSSLVersion
      */
     public static int getOpenSSLVersion() {
-        return openSSLVersion;
+        return org.apache.tomcat.jni.AprStatus.getOpenSSLVersion();
     }
 
     /**
      * @param openSSLVersion the openSSLVersion to set
      */
     public static void setOpenSSLVersion(int openSSLVersion) {
-        AprStatus.openSSLVersion = openSSLVersion;
+        org.apache.tomcat.jni.AprStatus.setOpenSSLVersion(openSSLVersion);
     }
-
 }
diff --git a/java/org/apache/catalina/core/AprStatus.java 
b/java/org/apache/tomcat/jni/AprStatus.java
similarity index 98%
copy from java/org/apache/catalina/core/AprStatus.java
copy to java/org/apache/tomcat/jni/AprStatus.java
index a2ce28478b..cc399ca474 100644
--- a/java/org/apache/catalina/core/AprStatus.java
+++ b/java/org/apache/tomcat/jni/AprStatus.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.catalina.core;
+package org.apache.tomcat.jni;
 
 /**
  * Holds APR status without the need to load other classes.
diff --git a/test/org/apache/tomcat/util/net/TestClientCertTls13.java 
b/test/org/apache/tomcat/util/net/TestClientCertTls13.java
index 4cac01286a..0b103fa40c 100644
--- a/test/org/apache/tomcat/util/net/TestClientCertTls13.java
+++ b/test/org/apache/tomcat/util/net/TestClientCertTls13.java
@@ -31,9 +31,9 @@ import org.junit.runners.Parameterized.Parameter;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleEvent;
 import org.apache.catalina.connector.Connector;
-import org.apache.catalina.core.AprStatus;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
+import org.apache.tomcat.jni.AprStatus;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.net.openssl.OpenSSLStatus;
 
diff --git a/test/org/apache/tomcat/util/net/TesterSupport.java 
b/test/org/apache/tomcat/util/net/TesterSupport.java
index 711cbadfc8..f9f4725de5 100644
--- a/test/org/apache/tomcat/util/net/TesterSupport.java
+++ b/test/org/apache/tomcat/util/net/TesterSupport.java
@@ -55,11 +55,11 @@ import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.authenticator.SSLAuthenticator;
 import org.apache.catalina.connector.Connector;
 import org.apache.catalina.core.AprLifecycleListener;
-import org.apache.catalina.core.AprStatus;
 import org.apache.catalina.core.OpenSSLLifecycleListener;
 import org.apache.catalina.core.StandardServer;
 import org.apache.catalina.startup.TesterMapRealm;
 import org.apache.catalina.startup.Tomcat;
+import org.apache.tomcat.jni.AprStatus;
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 import org.apache.tomcat.util.descriptor.web.SecurityCollection;
 import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
diff --git a/test/org/apache/tomcat/util/net/openssl/TestOpenSSLConf.java 
b/test/org/apache/tomcat/util/net/openssl/TestOpenSSLConf.java
index 87caba7b15..6de9ea2cff 100644
--- a/test/org/apache/tomcat/util/net/openssl/TestOpenSSLConf.java
+++ b/test/org/apache/tomcat/util/net/openssl/TestOpenSSLConf.java
@@ -39,11 +39,11 @@ import org.apache.catalina.LifecycleEvent;
 import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.connector.Connector;
 import org.apache.catalina.core.AprLifecycleListener;
-import org.apache.catalina.core.AprStatus;
 import org.apache.catalina.core.OpenSSLLifecycleListener;
 import org.apache.catalina.core.StandardServer;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
+import org.apache.tomcat.jni.AprStatus;
 import org.apache.tomcat.jni.SSLContext;
 import org.apache.tomcat.util.net.SSLHostConfig;
 import org.apache.tomcat.util.net.TesterSupport;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to