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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
     new e8779cc3c8 Only add OpenSSL commands once
e8779cc3c8 is described below

commit e8779cc3c80a625bf5ce5882a736e5f6594a7d87
Author: remm <[email protected]>
AuthorDate: Tue May 26 11:47:27 2026 +0200

    Only add OpenSSL commands once
---
 .../tomcat/util/net/openssl/OpenSSLContext.java    | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java 
b/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
index 81a89dcfb5..6d503d832e 100644
--- a/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
+++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLContext.java
@@ -416,19 +416,35 @@ public class OpenSSLContext implements 
org.apache.tomcat.util.net.SSLContext {
                 SSLContext.setCACertificate(state.ctx,
                         
SSLHostConfig.adjustRelativePath(sslHostConfig.getCaCertificateFile()),
                         
SSLHostConfig.adjustRelativePath(sslHostConfig.getCaCertificatePath()));
-                sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.NO_OCSP_CHECK,
-                        Boolean.toString(!sslHostConfig.getOcspEnabled())));
-                sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.OCSP_SOFT_FAIL,
-                        Boolean.toString(sslHostConfig.getOcspSoftFail())));
-                sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.OCSP_TIMEOUT,
-                        Integer.toString(sslHostConfig.getOcspTimeout())));
-                sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.OCSP_VERIFY_FLAGS,
-                        Integer.toString(sslHostConfig.getOcspVerifyFlags())));
+                boolean foundOcspConfig = false;
+                for (OpenSSLConfCmd command : 
sslHostConfig.getOpenSslConf().getCommands()) {
+                    if 
(OpenSSLConfCmd.NO_OCSP_CHECK.equals(command.getName())) {
+                        foundOcspConfig = true;
+                    }
+                }
+                if (!foundOcspConfig) {
+                    sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.NO_OCSP_CHECK,
+                            
Boolean.toString(!sslHostConfig.getOcspEnabled())));
+                    sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.OCSP_SOFT_FAIL,
+                            
Boolean.toString(sslHostConfig.getOcspSoftFail())));
+                    sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.OCSP_TIMEOUT,
+                            Integer.toString(sslHostConfig.getOcspTimeout())));
+                    sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.OCSP_VERIFY_FLAGS,
+                            
Integer.toString(sslHostConfig.getOcspVerifyFlags())));
+                }
             }
 
             if (sslHostConfig.getGroupList() != null) {
-                sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.GROUPS,
-                        sslHostConfig.getGroups().replace(',', ':')));
+                boolean foundGroupsConfig = false;
+                for (OpenSSLConfCmd command : 
sslHostConfig.getOpenSslConf().getCommands()) {
+                    if (OpenSSLConfCmd.GROUPS.equals(command.getName())) {
+                        foundGroupsConfig = true;
+                    }
+                }
+                if (!foundGroupsConfig) {
+                    sslHostConfig.getOpenSslConf().addCmd(new 
OpenSSLConfCmd(OpenSSLConfCmd.GROUPS,
+                            sslHostConfig.getGroups().replace(',', ':')));
+                }
             }
 
             if (negotiableProtocols != null && !negotiableProtocols.isEmpty()) 
{


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

Reply via email to