You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2019/12/18 06:48:15 UTC

[karaf] branch karaf-4.2.x updated: Some misc bug fixes

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

jbonofre pushed a commit to branch karaf-4.2.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.2.x by this push:
     new ecd33a3  Some misc bug fixes
ecd33a3 is described below

commit ecd33a34e1a74fd7b2b743466eb1253dfb7dc6ea
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Tue Dec 17 12:19:53 2019 +0000

    Some misc bug fixes
    
    (cherry picked from commit 80b766b46380e0a63700b00ac16fb701002e49cd)
---
 client/src/main/java/org/apache/karaf/client/Main.java            | 2 +-
 .../org/apache/karaf/features/internal/service/Blacklist.java     | 2 +-
 .../org/apache/karaf/features/internal/service/Overrides.java     | 2 +-
 .../java/org/apache/karaf/http/core/internal/ProxyServlet.java    | 2 +-
 .../org/apache/karaf/jaas/boot/principal/ClientPrincipal.java     | 8 ++++++++
 .../java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java | 6 +++---
 obr/src/main/java/org/apache/karaf/obr/command/util/FileUtil.java | 8 ++++----
 .../src/main/java/org/apache/karaf/tooling/KarMojo.java           | 3 +--
 .../src/main/java/org/apache/karaf/tooling/RunMojo.java           | 4 ++++
 9 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/client/src/main/java/org/apache/karaf/client/Main.java b/client/src/main/java/org/apache/karaf/client/Main.java
index 65e0a0a..fdcd5d8 100644
--- a/client/src/main/java/org/apache/karaf/client/Main.java
+++ b/client/src/main/java/org/apache/karaf/client/Main.java
@@ -372,7 +372,7 @@ public class Main {
                 session = future.getSession();
             } catch (RuntimeSshException ex) {
                 if (retries++ < config.getRetryAttempts()) {
-                    Thread.sleep(config.getRetryDelay() * 1000);
+                    Thread.sleep(config.getRetryDelay() * 1000L);
                     System.out.println("retrying (attempt " + retries + ") ...");
                 } else {
                     throw ex;
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/Blacklist.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/Blacklist.java
index fe3d86e..7c4171a 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/Blacklist.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/Blacklist.java
@@ -78,7 +78,7 @@ public class Blacklist {
                     .filter(line -> !line.isEmpty() && !line.startsWith("#"))
                     .forEach(blacklist::add);
             } catch (FileNotFoundException e) {
-                LOGGER.debug("Unable to load blacklist bundles list", e.toString());
+                LOGGER.debug("Unable to load blacklist bundles list {}", e.toString());
             } catch (Exception e) {
                 LOGGER.debug("Unable to load blacklist bundles list", e);
             }
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/Overrides.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/Overrides.java
index d9b5d4a..014ba37 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/Overrides.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/Overrides.java
@@ -160,7 +160,7 @@ public final class Overrides {
                 }
             }
         } catch (FileNotFoundException e) {
-            LOGGER.debug("Unable to load overrides bundles list", e.toString());
+            LOGGER.debug("Unable to load overrides bundles list {}", e.toString());
         } catch (Exception e) {
             LOGGER.debug("Unable to load overrides bundles list", e);
         }
diff --git a/http/src/main/java/org/apache/karaf/http/core/internal/ProxyServlet.java b/http/src/main/java/org/apache/karaf/http/core/internal/ProxyServlet.java
index 318f3e6..f70e546 100644
--- a/http/src/main/java/org/apache/karaf/http/core/internal/ProxyServlet.java
+++ b/http/src/main/java/org/apache/karaf/http/core/internal/ProxyServlet.java
@@ -188,7 +188,7 @@ public class ProxyServlet extends HttpServlet {
         // check if the proxy is a redirect
         if (statusCode >= HttpServletResponse.SC_MULTIPLE_CHOICES && statusCode < HttpServletResponse.SC_NOT_MODIFIED) {
             Header locationHeader = proxyResponse.getLastHeader(HttpHeaders.LOCATION);
-            if (locationHeader != null) {
+            if (locationHeader == null) {
                 throw new ServletException("Received a redirect (" + statusCode + ") but without location (" + HttpHeaders.LOCATION + " header)");
             }
             // modify the redirect to go to this proxy servlet rather than the proxied host
diff --git a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/ClientPrincipal.java b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/ClientPrincipal.java
index e76aec1..e419246 100644
--- a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/ClientPrincipal.java
+++ b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/ClientPrincipal.java
@@ -42,6 +42,14 @@ public class ClientPrincipal implements Principal, Serializable {
     }
 
     @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        ClientPrincipal that = (ClientPrincipal) o;
+        return Objects.equals(getName(), that.getName());
+    }
+
+    @Override
     public int hashCode() {
         return Objects.hash(getName());
     }
diff --git a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
index 059b623..5536a46 100644
--- a/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
+++ b/jaas/boot/src/main/java/org/apache/karaf/jaas/boot/principal/GroupPrincipal.java
@@ -2,9 +2,9 @@
  *  Licensed 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.
@@ -65,7 +65,7 @@ public class GroupPrincipal implements Group, Serializable {
     }
 
     public boolean isMember(Principal member) {
-        return members.contains(member.getName());
+        return members.containsKey(member.getName());
     }
 
     public Enumeration<? extends Principal> members() {
diff --git a/obr/src/main/java/org/apache/karaf/obr/command/util/FileUtil.java b/obr/src/main/java/org/apache/karaf/obr/command/util/FileUtil.java
index 7d49cec..7725d58 100644
--- a/obr/src/main/java/org/apache/karaf/obr/command/util/FileUtil.java
+++ b/obr/src/main/java/org/apache/karaf/obr/command/util/FileUtil.java
@@ -80,10 +80,10 @@ public class FileUtil
 
             if (extract)
             {
-                JarInputStream jis = new JarInputStream(new FileInputStream(file));
-                out.println("Extracting...");
-                unjar(jis, dir);
-                jis.close();
+                try (JarInputStream jis = new JarInputStream(new FileInputStream(file))) {
+                    out.println("Extracting...");
+                    unjar(jis, dir);
+                }
                 file.delete();
             }
         }
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java
index 2a77f2b..c4731ec 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/KarMojo.java
@@ -288,8 +288,7 @@ public class KarMojo extends MojoSupport {
                     metadata.setVersioning(versioning);
 
                     MetadataXpp3Writer metadataWriter = new MetadataXpp3Writer();
-                    try {
-                        Writer writer = new FileWriter(metadataTarget);
+                    try (Writer writer = new FileWriter(metadataTarget)) {
                         metadataWriter.write(writer, metadata);
                     } catch (Exception e) {
                         getLog().warn("Could not create maven-metadata-local.xml", e);
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
index ffa3582..ae439fe 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/RunMojo.java
@@ -257,6 +257,10 @@ public class RunMojo extends MojoSupport {
                 String name = entry.getName();
                 name = name.substring(name.indexOf("/") + 1);
                 File file = new File(targetDir, name);
+                if (!file.getCanonicalPath().startsWith(targetDir.getCanonicalPath())) {
+                    throw new IOException("Archive cannot contain paths with .. characters");
+                }
+
                 if (entry.isDirectory()) {
                     file.mkdirs();
                 }