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

gus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 6fdbe17  SOLR-15590 Fix SSL, init order misplaced by prior commit for 
this ticket. (#445)
6fdbe17 is described below

commit 6fdbe171284bfac22da42c1c23a03decab79336b
Author: Gus Heck <[email protected]>
AuthorDate: Sun Dec 5 18:16:35 2021 -0500

    SOLR-15590 Fix SSL, init order misplaced by prior commit for this ticket. 
(#445)
    
    Moves init into jetty-ssl.xml to ensure ssl is ready before any of our 
https request related code needs it, and remove such concerns from solr request 
related classes.
---
 .../java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java    | 2 ++
 solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java     | 3 +--
 solr/server/etc/jetty-ssl.xml                                          | 3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java 
b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
index ec8d3c7..fcb12dc 100644
--- 
a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
+++ 
b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
@@ -73,6 +73,7 @@ import org.apache.solr.metrics.SolrMetricManager;
 import org.apache.solr.servlet.CoreContainerProvider;
 import org.apache.solr.servlet.SolrDispatchFilter;
 import org.apache.solr.util.TimeOut;
+import org.apache.solr.util.configuration.SSLConfigurationsFactory;
 import org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory;
 import org.eclipse.jetty.http2.HTTP2Cipher;
 import org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory;
@@ -387,6 +388,7 @@ public class JettySolrRunner {
 
         
root.getServletContext().setAttribute(SolrDispatchFilter.PROPERTIES_ATTRIBUTE, 
nodeProperties);
         
root.getServletContext().setAttribute(SolrDispatchFilter.SOLRHOME_ATTRIBUTE, 
solrHome);
+        SSLConfigurationsFactory.current().init(); // normally happens in 
jetty-ssl.xml
         coreContainerProvider = new CoreContainerProvider();
         coreContainerProvider.init(root.getServletContext());
         log.info("Jetty properties: {}", nodeProperties);
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java 
b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
index 632e0db..130ca18 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
@@ -35,7 +35,6 @@ import org.apache.solr.security.AuthenticationPlugin;
 import org.apache.solr.security.PKIAuthenticationPlugin;
 import org.apache.solr.security.PublicKeyHandler;
 import org.apache.solr.servlet.CoreContainerProvider.ServiceHolder;
-import org.apache.solr.util.configuration.SSLConfigurationsFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -131,7 +130,7 @@ public class SolrDispatchFilter extends BaseSolrFilter 
implements PathExcluder {
   public void init(FilterConfig config) throws ServletException {
     try {
       coreService = 
CoreContainerProvider.serviceForContext(config.getServletContext());
-      SSLConfigurationsFactory.current().init();
+
       if (log.isTraceEnabled()) {
         log.trace("SolrDispatchFilter.init(): {}", 
this.getClass().getClassLoader());
       }
diff --git a/solr/server/etc/jetty-ssl.xml b/solr/server/etc/jetty-ssl.xml
index 53e0ec1..7292b7f 100644
--- a/solr/server/etc/jetty-ssl.xml
+++ b/solr/server/etc/jetty-ssl.xml
@@ -8,6 +8,9 @@
 <!-- ============================================================= -->
 <Configure id="sslContextFactory" 
class="org.eclipse.jetty.util.ssl.SslContextFactory$Server">
   <Call class="org.apache.solr.util.configuration.SSLConfigurationsFactory" 
name="current">
+    <Call name="init" />
+  </Call>
+  <Call class="org.apache.solr.util.configuration.SSLConfigurationsFactory" 
name="current">
     <Get name="keyStorePassword" id="keyStorePassword"/>
     <Get name="trustStorePassword" id="trustStorePassword"/>
   </Call>

Reply via email to