diff --git a/changelog/unreleased/SOLR-18122-remove-vmparams-acl-provider.yml b/changelog/unreleased/SOLR-18122-remove-vmparams-acl-provider.yml new file mode 100644 index 000000000000..1ab1213ef586 --- /dev/null +++ b/changelog/unreleased/SOLR-18122-remove-vmparams-acl-provider.yml @@ -0,0 +1,8 @@ +# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc +title: Remove deprecated VMParamsAllAndReadonlyDigestZkACLProvider; use a combination of DigestZkACLProvider and VMParamsZkCredentialsInjector instead. +type: removed +authors: + - name: Utsav Parmar +links: + - name: SOLR-18122 + url: https://issues.apache.org/jira/browse/SOLR-18122 diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc index 627816636c50..935a0357562c 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc @@ -284,6 +284,8 @@ Nowadays, the HTTP request is available via internal APIs: `SolrQueryRequest.get * The deprecated `solrcore.properties` configuration method has been removed. The ability to configure a core via a custom properties file using the `core.properties` "property" setting remains. +* The deprecated `VMParamsAllAndReadonlyDigestZkACLProvider` class has been removed. Use a combination of `DigestZkACLProvider` and `VMParamsZkCredentialsInjector` instead. (SOLR-18122) + === Security * There is no longer a distinction between trusted and untrusted configSets; all configSets are now considered trusted. To ensure security, Solr should be properly protected using authentication and authorization mechanisms, allowing only authorized users with administrative privileges to publish them. diff --git a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsAllAndReadonlyDigestZkACLProvider.java b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsAllAndReadonlyDigestZkACLProvider.java deleted file mode 100644 index 6ddd1a98a18a..000000000000 --- a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/VMParamsAllAndReadonlyDigestZkACLProvider.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.solr.common.cloud; - -import java.util.List; -import org.apache.zookeeper.data.ACL; - -/** - * Deprecated in favor of a combination of {@link DigestZkACLProvider} and {@link - * VMParamsZkCredentialsInjector}. - * - *
- * Current implementation delegates to {@link DigestZkACLProvider} with an injected {@link VMParamsZkCredentialsInjector}
- *
- */
-@Deprecated
-public class VMParamsAllAndReadonlyDigestZkACLProvider extends SecurityAwareZkACLProvider
- implements ZkACLProvider {
-
- @Deprecated
- public static final String DEFAULT_DIGEST_USERNAME_VM_PARAM_NAME =
- VMParamsZkCredentialsInjector.DEFAULT_DIGEST_USERNAME_VM_PARAM_NAME;
-
- @Deprecated
- public static final String DEFAULT_DIGEST_PASSWORD_VM_PARAM_NAME =
- VMParamsZkCredentialsInjector.DEFAULT_DIGEST_PASSWORD_VM_PARAM_NAME;
-
- @Deprecated
- public static final String DEFAULT_DIGEST_READONLY_USERNAME_VM_PARAM_NAME =
- VMParamsZkCredentialsInjector.DEFAULT_DIGEST_READONLY_USERNAME_VM_PARAM_NAME;
-
- @Deprecated
- public static final String DEFAULT_DIGEST_READONLY_PASSWORD_VM_PARAM_NAME =
- VMParamsZkCredentialsInjector.DEFAULT_DIGEST_READONLY_PASSWORD_VM_PARAM_NAME;
-
- @Deprecated
- public static final String DEFAULT_DIGEST_FILE_VM_PARAM_NAME =
- VMParamsZkCredentialsInjector.DEFAULT_DIGEST_FILE_VM_PARAM_NAME;
-
- private DigestZkACLProvider digestZkACLProvider;
-
- public VMParamsAllAndReadonlyDigestZkACLProvider() {
- this(new VMParamsZkCredentialsInjector());
- }
-
- public VMParamsAllAndReadonlyDigestZkACLProvider(ZkCredentialsInjector zkCredentialsInjector) {
- this.zkCredentialsInjector = zkCredentialsInjector;
- this.digestZkACLProvider = new DigestZkACLProvider(zkCredentialsInjector);
- }
-
- public VMParamsAllAndReadonlyDigestZkACLProvider(
- String zkDigestAllUsernameVMParamName,
- String zkDigestAllPasswordVMParamName,
- String zkDigestReadonlyUsernameVMParamName,
- String zkDigestReadonlyPasswordVMParamName) {
- this(
- new VMParamsZkCredentialsInjector(
- zkDigestAllUsernameVMParamName,
- zkDigestAllPasswordVMParamName,
- zkDigestReadonlyUsernameVMParamName,
- zkDigestReadonlyPasswordVMParamName));
- }
-
- @Override
- public void setZkCredentialsInjector(ZkCredentialsInjector zkCredentialsInjector) {
- this.zkCredentialsInjector =
- zkCredentialsInjector != null && !zkCredentialsInjector.getZkCredentials().isEmpty()
- ? zkCredentialsInjector
- : new VMParamsZkCredentialsInjector();
- this.digestZkACLProvider = new DigestZkACLProvider(this.zkCredentialsInjector);
- }
-
- @Override
- protected List