This is an automated email from the ASF dual-hosted git repository.
dsmiley 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 df3d897 SOLR-12848: SolrJ: HTTP proxy configuration via system
properties (#287)
df3d897 is described below
commit df3d8975e0c503a0cf3232c20d84782df8fb3374
Author: David Smiley <[email protected]>
AuthorDate: Wed Sep 29 17:32:20 2021 -0400
SOLR-12848: SolrJ: HTTP proxy configuration via system properties (#287)
SolrJ and the server can now recognize some standard Java system properties
like for an HTTP proxy. This is only for the Apache HttpClient based SolrJ
communication, not Jetty.
---
gradle/testing/randomization/policies/solr-tests.policy | 4 ++++
solr/CHANGES.txt | 3 +++
solr/server/etc/security.policy | 4 ++++
.../src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java | 1 +
4 files changed, 12 insertions(+)
diff --git a/gradle/testing/randomization/policies/solr-tests.policy
b/gradle/testing/randomization/policies/solr-tests.policy
index 6aabbb6..ed8313f 100644
--- a/gradle/testing/randomization/policies/solr-tests.policy
+++ b/gradle/testing/randomization/policies/solr-tests.policy
@@ -168,6 +168,10 @@ grant {
// used by solr to create sandboxes (e.g. script execution)
permission java.security.SecurityPermission "createAccessControlContext";
+
+ // for Apache HttpClient useSystemProperties
+ permission java.net.NetPermission "getProxySelector";
+ permission java.net.NetPermission "requestPasswordAuthentication";
};
// additional permissions based on system properties set by /bin/solr
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 744c63b..f048534 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -150,6 +150,9 @@ when told to. The admin UI now tells it to. (Nazerke
Seidan, David Smiley)
* SOLR-15650: Choosing lucene defType in Solr Admin now is passed explicitly
through UI, not relying on default solrconfig.xml behavior. (Eric Pugh)
+* SOL4-12848: SolrJ and the server can now recognize some standard Java system
properties like
+ for an HTTP proxy. This is only for the Apache HttpClient based SolrJ
communication, not Jetty.
+ (Shawn Heisey, David Smiley)
Build
---------------------
diff --git a/solr/server/etc/security.policy b/solr/server/etc/security.policy
index cd7ec9d..18e56df 100644
--- a/solr/server/etc/security.policy
+++ b/solr/server/etc/security.policy
@@ -172,6 +172,10 @@ grant {
// used by solr to create sandboxes (e.g. script execution)
permission java.security.SecurityPermission "createAccessControlContext";
+
+ // for Apache HttpClient useSystemProperties
+ permission java.net.NetPermission "getProxySelector";
+ permission java.net.NetPermission "requestPasswordAuthentication";
};
// additional permissions based on system properties set by /bin/solr
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
index cdc8381..5d69833 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
@@ -387,6 +387,7 @@ public class HttpClientUtil {
retBuilder.disableContentCompression();
}
+ retBuilder.useSystemProperties();
return retBuilder;
}