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>