sonatype-lift[bot] commented on code in PR #1263:
URL: https://github.com/apache/solr/pull/1263#discussion_r1060206666


##########
solr/core/src/java/org/apache/solr/update/UpdateLog.java:
##########
@@ -2222,7 +2357,9 @@ protected Long 
seedBucketsWithHighestVersion(SolrIndexSearcher newSearcher, Vers

Review Comment:
   <picture><img alt="19% of developers fix this issue" 
src="https://lift.sonatype.com/api/commentimage/fixrate/19/display.svg";></picture>
   
   đŸ’Ŧ 396 similar findings have been found in this PR
   
   ---
   
   *THREAD_SAFETY_VIOLATION:*  Unprotected write. Non-private method 
`UpdateLog.seedBucketsWithHighestVersion(...)` indirectly mutates container 
`util.ObjectReleaseTracker.OBJECTS` via call to `Map.remove(...)` outside of 
synchronization.
    Reporting because another access to the same memory occurs on a background 
thread, although this access may not.
   
   ---
   
   <details><summary><b>🔎 Expand here to view all instances of this 
finding</b></summary><br/>
     
     
   <div align=\"center\">
   
   
   | **File Path** | **Line Number** |
   | ------------- | ------------- |
   | solr/core/src/java/org/apache/solr/logging/CircularList.java | 
[73](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/logging/CircularList.java#L73)
 |
   | solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java 
| 
[142](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java#L142)
 |
   | 
solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
 | 
[319](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java#L319)
 |
   | solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java | 
[640](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java#L640)
 |
   | solr/core/src/java/org/apache/solr/update/UpdateLog.java | 
[2373](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/update/UpdateLog.java#L2373)
 |
   | solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java 
| 
[352](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java#L352)
 |
   | 
solr/core/src/java/org/apache/solr/metrics/reporters/ReporterClientCache.java | 
[74](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/metrics/reporters/ReporterClientCache.java#L74)
 |
   | 
solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
 | 
[2514](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java#L2514)
 |
   | solr/core/src/java/org/apache/solr/schema/IndexSchema.java | 
[1475](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/schema/IndexSchema.java#L1475)
 |
   | solr/core/src/java/org/apache/solr/rest/RestManager.java | 
[537](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/rest/RestManager.java#L537)
 |
   <p> Showing <b>10</b> of <b> 396 </b> findings. <a 
href="https://lift.sonatype.com/results/github.com/apache/solr/01GNT825EMV63AWZ6P5BHSYYB2?t=Infer|THREAD_SAFETY_VIOLATION"
 target="_blank">Visit the Lift Web Console</a> to see all.</p></div></details>
   
   
   
   ---
   
   <details><summary><b>â„šī¸ Learn about @sonatype-lift commands</b></summary>
   
   You can reply with the following commands. For example, reply with 
***@sonatype-lift ignoreall*** to leave out all findings.
   | **Command** | **Usage** |
   | ------------- | ------------- |
   | `@sonatype-lift ignore` | Leave out the above finding from this PR |
   | `@sonatype-lift ignoreall` | Leave out all the existing findings from this 
PR |
   | `@sonatype-lift exclude <file\|issue\|path\|tool>` | Exclude specified 
`file\|issue\|path\|tool` from Lift findings by updating your config.toml file |
   
   **Note:** When talking to LiftBot, you need to **refresh** the page to see 
its response.
   <sub>[Click here](https://github.com/apps/sonatype-lift/installations/new) 
to add LiftBot to another repo.</sub></details>
   
   
   
   ---
   
   Was this a good recommendation?
   [ [🙁 Not 
relevant](https://www.sonatype.com/lift-comment-rating?comment=365234406&lift_comment_rating=1)
 ] - [ [😕 Won't 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234406&lift_comment_rating=2)
 ] - [ [😑 Not critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234406&lift_comment_rating=3)
 ] - [ [🙂 Critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234406&lift_comment_rating=4)
 ] - [ [😊 Critical, fixing 
now](https://www.sonatype.com/lift-comment-rating?comment=365234406&lift_comment_rating=5)
 ]



##########
solr/core/src/java/org/apache/solr/util/PackageTool.java:
##########
@@ -95,97 +99,137 @@ protected void runImpl(CommandLine cli) throws Exception {
                 break;
               case "add-key":
                 String keyFilename = cli.getArgs()[1];
-                repositoryManager.addKey(FileUtils.readFileToByteArray(new 
File(keyFilename)), Paths.get(keyFilename).getFileName().toString());
+                Path path = Path.of(keyFilename);
+                repositoryManager.addKey(Files.readAllBytes(path), 
path.getFileName().toString());
                 break;
               case "list-installed":
                 PackageUtils.printGreen("Installed packages:\n-----");
-                for (SolrPackageInstance pkg: 
packageManager.fetchInstalledPackageInstances()) {
+                for (SolrPackageInstance pkg : 
packageManager.fetchInstalledPackageInstances()) {
                   PackageUtils.printGreen(pkg);
                 }
                 break;
               case "list-available":
                 PackageUtils.printGreen("Available packages:\n-----");
-                for (SolrPackage pkg: repositoryManager.getPackages()) {
-                  PackageUtils.printGreen(pkg.name + " \t\t"+pkg.description);
-                  for (SolrPackageRelease version: pkg.versions) {
-                    PackageUtils.printGreen("\tVersion: "+version.version);
+                for (SolrPackage pkg : repositoryManager.getPackages()) {
+                  PackageUtils.printGreen(pkg.name + " \t\t" + 
pkg.description);
+                  for (SolrPackageRelease version : pkg.versions) {
+                    PackageUtils.printGreen("\tVersion: " + version.version);
                   }
                 }
                 break;
               case "list-deployed":
                 if (cli.hasOption('c')) {
                   String collection = cli.getArgs()[1];
-                  Map<String, SolrPackageInstance> packages = 
packageManager.getPackagesDeployed(collection);
+                  Map<String, SolrPackageInstance> packages =
+                      packageManager.getPackagesDeployed(collection);
                   PackageUtils.printGreen("Packages deployed on " + collection 
+ ":");
-                  for (String packageName: packages.keySet()) {
+                  for (String packageName : packages.keySet()) {
                     PackageUtils.printGreen("\t" + packages.get(packageName));
                   }
                 } else {
                   String packageName = cli.getArgs()[1];
-                  Map<String, String> deployedCollections = 
packageManager.getDeployedCollections(packageName);
+                  Map<String, String> deployedCollections =
+                      packageManager.getDeployedCollections(packageName);
                   if (deployedCollections.isEmpty() == false) {
-                    PackageUtils.printGreen("Collections on which package " + 
packageName + " was deployed:");
-                    for (String collection: deployedCollections.keySet()) {
-                      PackageUtils.printGreen("\t" + collection + 
"("+packageName+":"+deployedCollections.get(collection)+")");
+                    PackageUtils.printGreen(
+                        "Collections on which package " + packageName + " was 
deployed:");
+                    for (String collection : deployedCollections.keySet()) {
+                      PackageUtils.printGreen(
+                          "\t"
+                              + collection
+                              + "("
+                              + packageName
+                              + ":"
+                              + deployedCollections.get(collection)

Review Comment:
   <picture><img alt="44% of developers fix this issue" 
src="https://lift.sonatype.com/api/commentimage/fixrate/44/display.svg";></picture>
   
   đŸ’Ŧ 23 similar findings have been found in this PR
   
   ---
   
   *INEFFICIENT_KEYSET_ITERATOR:*  Accessing a value using a key that was 
retrieved from a `keySet` iterator. It is more efficient to use an iterator on 
the `entrySet` of the map, avoiding the extra `HashMap.get(key)` lookup.
   
   ---
   
   <details><summary><b>🔎 Expand here to view all instances of this 
finding</b></summary><br/>
     
     
   <div align=\"center\">
   
   
   | **File Path** | **Line Number** |
   | ------------- | ------------- |
   | solr/core/src/java/org/apache/solr/handler/ClusterAPI.java | 
[152](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java#L152)
 |
   | solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java | 
[206](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java#L206)
 |
   | solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java | 
[191](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java#L191)
 |
   | 
solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymGraphFilterFactory.java
 | 
[219](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymGraphFilterFactory.java#L219)
 |
   | solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java | 
[314](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java#L314)
 |
   | 
solr/core/src/java/org/apache/solr/cluster/placement/impl/AttributeFetcherImpl.java
 | 
[165](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/cluster/placement/impl/AttributeFetcherImpl.java#L165)
 |
   | solr/core/src/java/org/apache/solr/handler/ClusterAPI.java | 
[153](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java#L153)
 |
   | solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java | 
[108](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java#L108)
 |
   | solr/core/src/java/org/apache/solr/core/backup/ShardBackupMetadata.java | 
[146](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/core/backup/ShardBackupMetadata.java#L146)
 |
   | solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java | 
[251](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java#L251)
 |
   <p> Showing <b>10</b> of <b> 23 </b> findings. <a 
href="https://lift.sonatype.com/results/github.com/apache/solr/01GNT825EMV63AWZ6P5BHSYYB2?t=Infer|INEFFICIENT_KEYSET_ITERATOR"
 target="_blank">Visit the Lift Web Console</a> to see all.</p></div></details>
   
   
   
   ---
   
   <details><summary><b>â„šī¸ Learn about @sonatype-lift commands</b></summary>
   
   You can reply with the following commands. For example, reply with 
***@sonatype-lift ignoreall*** to leave out all findings.
   | **Command** | **Usage** |
   | ------------- | ------------- |
   | `@sonatype-lift ignore` | Leave out the above finding from this PR |
   | `@sonatype-lift ignoreall` | Leave out all the existing findings from this 
PR |
   | `@sonatype-lift exclude <file\|issue\|path\|tool>` | Exclude specified 
`file\|issue\|path\|tool` from Lift findings by updating your config.toml file |
   
   **Note:** When talking to LiftBot, you need to **refresh** the page to see 
its response.
   <sub>[Click here](https://github.com/apps/sonatype-lift/installations/new) 
to add LiftBot to another repo.</sub></details>
   
   
   
   ---
   
   Was this a good recommendation?
   [ [🙁 Not 
relevant](https://www.sonatype.com/lift-comment-rating?comment=365234409&lift_comment_rating=1)
 ] - [ [😕 Won't 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234409&lift_comment_rating=2)
 ] - [ [😑 Not critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234409&lift_comment_rating=3)
 ] - [ [🙂 Critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234409&lift_comment_rating=4)
 ] - [ [😊 Critical, fixing 
now](https://www.sonatype.com/lift-comment-rating?comment=365234409&lift_comment_rating=5)
 ]



##########
solr/core/src/java/org/apache/solr/handler/BlobHandler.java:
##########
@@ -282,15 +322,15 @@ public void init(PluginInfo info) {
           maxSize = maxSize * 1024 * 1024;
         }
       }
-
     }
   }
 
   // This does not work for the general case of forwarding requests.  It 
probably currently
   // works OK for real-time get (which is all that BlobHandler uses it for).
-  private static void forward(SolrQueryRequest req, String handler ,SolrParams 
params, SolrQueryResponse rsp){
+  private static void forward(
+      SolrQueryRequest req, String handler, SolrParams params, 
SolrQueryResponse rsp) {
     LocalSolrQueryRequest r = new LocalSolrQueryRequest(req.getCore(), params);
-    SolrRequestInfo.getRequestInfo().addCloseHook( r );  // Close as late as 
possible...
+    SolrRequestInfo.getRequestInfo().addCloseHook(r); // Close as late as 
possible...
     req.getCore().getRequestHandler(handler).handleRequest(r, rsp);
   }

Review Comment:
   <picture><img alt="21% of developers fix this issue" 
src="https://lift.sonatype.com/api/commentimage/fixrate/21/display.svg";></picture>
   
   đŸ’Ŧ 23 similar findings have been found in this PR
   
   ---
   
   *RESOURCE_LEAK:*  resource of type 
`org.apache.solr.request.LocalSolrQueryRequest` acquired to `r` by call to 
`LocalSolrQueryRequest(...)` at line 332 is not released after line 335.
   **Note**: potential exception at line 333
   
   ---
   
   <details><summary><b>🔎 Expand here to view all instances of this 
finding</b></summary><br/>
     
     
   <div align=\"center\">
   
   
   | **File Path** | **Line Number** |
   | ------------- | ------------- |
   | solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java | 
[125](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/servlet/CoordinatorHttpSolrCall.java#L125)
 |
   | solr/core/src/java/org/apache/solr/util/SimplePostTool.java | 
[1250](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/util/SimplePostTool.java#L1250)
 |
   | solr/core/src/java/org/apache/solr/util/FileUtils.java | 
[49](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/util/FileUtils.java#L49)
 |
   | 
solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
 | 
[184](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java#L184)
 |
   | solr/core/src/java/org/apache/solr/util/FileUtils.java | 
[49](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/util/FileUtils.java#L49)
 |
   | solr/core/src/java/org/apache/solr/update/UpdateLog.java | 
[1451](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/update/UpdateLog.java#L1451)
 |
   | solr/core/src/java/org/apache/solr/handler/GraphHandler.java | 
[124](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/handler/GraphHandler.java#L124)
 |
   | solr/core/src/java/org/apache/solr/cloud/ReplicateFromLeader.java | 
[136](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/cloud/ReplicateFromLeader.java#L136)
 |
   | solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java | 
[218](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java#L218)
 |
   | solr/core/src/java/org/apache/solr/pkg/PackagePluginHolder.java | 
[91](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/pkg/PackagePluginHolder.java#L91)
 |
   <p> Showing <b>10</b> of <b> 23 </b> findings. <a 
href="https://lift.sonatype.com/results/github.com/apache/solr/01GNT825EMV63AWZ6P5BHSYYB2?t=Infer|RESOURCE_LEAK"
 target="_blank">Visit the Lift Web Console</a> to see all.</p></div></details>
   
   
   
   ---
   
   <details><summary><b>â„šī¸ Learn about @sonatype-lift commands</b></summary>
   
   You can reply with the following commands. For example, reply with 
***@sonatype-lift ignoreall*** to leave out all findings.
   | **Command** | **Usage** |
   | ------------- | ------------- |
   | `@sonatype-lift ignore` | Leave out the above finding from this PR |
   | `@sonatype-lift ignoreall` | Leave out all the existing findings from this 
PR |
   | `@sonatype-lift exclude <file\|issue\|path\|tool>` | Exclude specified 
`file\|issue\|path\|tool` from Lift findings by updating your config.toml file |
   
   **Note:** When talking to LiftBot, you need to **refresh** the page to see 
its response.
   <sub>[Click here](https://github.com/apps/sonatype-lift/installations/new) 
to add LiftBot to another repo.</sub></details>
   
   
   
   ---
   
   Was this a good recommendation?
   [ [🙁 Not 
relevant](https://www.sonatype.com/lift-comment-rating?comment=365234416&lift_comment_rating=1)
 ] - [ [😕 Won't 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234416&lift_comment_rating=2)
 ] - [ [😑 Not critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234416&lift_comment_rating=3)
 ] - [ [🙂 Critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234416&lift_comment_rating=4)
 ] - [ [😊 Critical, fixing 
now](https://www.sonatype.com/lift-comment-rating?comment=365234416&lift_comment_rating=5)
 ]



##########
solr/core/src/java/org/apache/solr/security/AuthorizationUtils.java:
##########
@@ -0,0 +1,157 @@
+/*
+ * 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.security;
+
+import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP;
+import static 
org.apache.solr.common.params.CollectionParams.CollectionAction.CREATE;
+import static 
org.apache.solr.common.params.CollectionParams.CollectionAction.DELETE;
+import static 
org.apache.solr.common.params.CollectionParams.CollectionAction.RELOAD;
+import static org.apache.solr.servlet.HttpSolrCall.shouldAudit;
+
+import java.io.IOException;
+import java.lang.invoke.MethodHandles;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.http.HttpStatus;
+import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.core.CoreContainer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AuthorizationUtils {
+  private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
+  private AuthorizationUtils() {
+    /* Private ctor prevents instantiation */
+  }
+
+  public static class AuthorizationFailure {
+    private final int statusCode;
+    private final String message;
+
+    public AuthorizationFailure(int statusCode, String message) {
+      this.statusCode = statusCode;
+      this.message = message;
+    }
+
+    public int getStatusCode() {
+      return statusCode;
+    }
+
+    public String getMessage() {
+      return message;
+    }
+  }
+
+  public static AuthorizationFailure authorize(
+      HttpServletRequest servletReq,
+      HttpServletResponse response,
+      CoreContainer cores,
+      AuthorizationContext context)
+      throws IOException {
+    log.debug("AuthorizationContext : {}", context);
+    final AuthorizationPlugin authzPlugin = cores.getAuthorizationPlugin();
+    if (authzPlugin == null) {
+      return null; // A 'null' failure retval indicates success
+    }
+    AuthorizationResponse authResponse = authzPlugin.authorize(context);
+    int statusCode = authResponse.statusCode;
+
+    if (statusCode == AuthorizationResponse.PROMPT.statusCode) {
+      @SuppressWarnings({"unchecked"})
+      Map<String, String> headers =
+          (Map<String, String>) 
servletReq.getAttribute(AuthenticationPlugin.class.getName());
+      if (headers != null) {
+        for (Map.Entry<String, String> e : headers.entrySet())
+          response.setHeader(e.getKey(), e.getValue());

Review Comment:
   <picture><img alt="0% of developers fix this issue" 
src="https://lift.sonatype.com/api/commentimage/fixrate/0/display.svg";></picture>
   
   đŸ’Ŧ 3 similar findings have been found in this PR
   
   ---
   
   *CROSS_SITE_SCRIPTING:*  
UserControlledString(HttpServletRequest.getAttribute(...)) at line 81 ~> 
HTML(HttpServletResponse.setHeader(...)) at line 84.
   
   ---
   
   <details><summary><b>🔎 Expand here to view all instances of this 
finding</b></summary><br/>
     
     
   <div align=\"center\">
   
   
   | **File Path** | **Line Number** |
   | ------------- | ------------- |
   | solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java | 
[545](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java#L545)
 |
   | solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java | 
[785](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java#L785)
 |
   | solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java | 
[785](https://github.com/apache/solr/blob/5884467f49024e2fa15eb51f77f04d21f626e367/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java#L785)
 |
   <p><a 
href="https://lift.sonatype.com/results/github.com/apache/solr/01GNT825EMV63AWZ6P5BHSYYB2?t=Infer|CROSS_SITE_SCRIPTING"
 target="_blank">Visit the Lift Web Console</a> to find more details in your 
report.</p></div></details>
   
   
   
   ---
   
   <details><summary><b>â„šī¸ Learn about @sonatype-lift commands</b></summary>
   
   You can reply with the following commands. For example, reply with 
***@sonatype-lift ignoreall*** to leave out all findings.
   | **Command** | **Usage** |
   | ------------- | ------------- |
   | `@sonatype-lift ignore` | Leave out the above finding from this PR |
   | `@sonatype-lift ignoreall` | Leave out all the existing findings from this 
PR |
   | `@sonatype-lift exclude <file\|issue\|path\|tool>` | Exclude specified 
`file\|issue\|path\|tool` from Lift findings by updating your config.toml file |
   
   **Note:** When talking to LiftBot, you need to **refresh** the page to see 
its response.
   <sub>[Click here](https://github.com/apps/sonatype-lift/installations/new) 
to add LiftBot to another repo.</sub></details>
   
   
   
   ---
   
   Was this a good recommendation?
   [ [🙁 Not 
relevant](https://www.sonatype.com/lift-comment-rating?comment=365234461&lift_comment_rating=1)
 ] - [ [😕 Won't 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234461&lift_comment_rating=2)
 ] - [ [😑 Not critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234461&lift_comment_rating=3)
 ] - [ [🙂 Critical, will 
fix](https://www.sonatype.com/lift-comment-rating?comment=365234461&lift_comment_rating=4)
 ] - [ [😊 Critical, fixing 
now](https://www.sonatype.com/lift-comment-rating?comment=365234461&lift_comment_rating=5)
 ]



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to