You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ij...@apache.org on 2018/08/28 06:30:14 UTC

[1/2] nifi git commit: NIFI-5479 Upgraded Jetty. Moved where we unpack bundled deps to so we can avoid a new jetty bug with META-INF loading logic.

Repository: nifi
Updated Branches:
  refs/heads/master 58cb900b9 -> f04cd8681


NIFI-5479 Upgraded Jetty. Moved where we unpack bundled deps to so we can avoid a new jetty bug with META-INF loading logic.

Signed-off-by: Koji Kawamura <ij...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/a27ccd8a
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/a27ccd8a
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/a27ccd8a

Branch: refs/heads/master
Commit: a27ccd8a56fb52a61d79f87711324142a5b4a141
Parents: 58cb900
Author: joewitt <jo...@apache.org>
Authored: Thu Aug 2 16:29:23 2018 -0400
Committer: Koji Kawamura <ij...@apache.org>
Committed: Tue Aug 28 15:28:11 2018 +0900

----------------------------------------------------------------------
 .../java/org/apache/nifi/nar/NarClassLoader.java    | 16 ++++++++--------
 .../main/java/org/apache/nifi/nar/NarUnpacker.java  |  5 ++++-
 .../org/apache/nifi/web/server/JettyServer.java     |  2 +-
 .../nifi-framework/nifi-web/nifi-web-ui/pom.xml     |  5 +++++
 pom.xml                                             |  2 +-
 5 files changed, 19 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/a27ccd8a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarClassLoader.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarClassLoader.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarClassLoader.java
index eb4539c..776ec28 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarClassLoader.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarClassLoader.java
@@ -176,21 +176,21 @@ public class NarClassLoader extends URLClassLoader {
 
     /**
      * Adds URLs for the resources unpacked from this NAR:
-     * <ul><li>the root: for classes, <tt>META-INF</tt>, etc.</li>
-     * <li><tt>META-INF/dependencies</tt>: for config files, <tt>.so</tt>s,
+     * <ul><li>the root: for classes, <tt>NAR-INF</tt>, etc.</li>
+     * <li><tt>NAR-INF/bundled-dependencies</tt>: for config files, <tt>.so</tt>s,
      * etc.</li>
-     * <li><tt>META-INF/dependencies/*.jar</tt>: for dependent
+     * <li><tt>NAR-INF/bundled-dependencies/*.jar</tt>: for dependent
      * libraries</li></ul>
      *
      * @param root the root directory of the unpacked NAR.
      * @throws IOException if the URL list could not be updated.
      */
     private void updateClasspath(File root) throws IOException {
-        addURL(root.toURI().toURL()); // for compiled classes, META-INF/, etc.
+        addURL(root.toURI().toURL()); // for compiled classes, WEB-INF, NAR-INF/, etc.
 
-        File dependencies = new File(root, "META-INF/bundled-dependencies");
+        File dependencies = new File(root, "NAR-INF/bundled-dependencies");
         if (!dependencies.isDirectory()) {
-            LOGGER.warn(narWorkingDirectory + " does not contain META-INF/bundled-dependencies!");
+            LOGGER.warn(narWorkingDirectory + " does not contain NAR-INF/bundled-dependencies!");
         }
         addURL(dependencies.toURI().toURL());
         if (dependencies.isDirectory()) {
@@ -206,9 +206,9 @@ public class NarClassLoader extends URLClassLoader {
 
     @Override
     protected String findLibrary(final String libname) {
-        File dependencies = new File(narWorkingDirectory, "META-INF/bundled-dependencies");
+        File dependencies = new File(narWorkingDirectory, "NAR-INF/bundled-dependencies");
         if (!dependencies.isDirectory()) {
-            LOGGER.warn(narWorkingDirectory + " does not contain META-INF/bundled-dependencies!");
+            LOGGER.warn(narWorkingDirectory + " does not contain NAR-INF/bundled-dependencies!");
         }
 
         final File nativeDir = new File(dependencies, "native");

http://git-wip-us.apache.org/repos/asf/nifi/blob/a27ccd8a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
index d476883..afd021e 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-nar-utils/src/main/java/org/apache/nifi/nar/NarUnpacker.java
@@ -195,7 +195,7 @@ public final class NarUnpacker {
             final File unpackedNar = entry.getKey();
             final BundleCoordinate bundleCoordinate = entry.getValue();
 
-            final File bundledDependencies = new File(unpackedNar, "META-INF/bundled-dependencies");
+            final File bundledDependencies = new File(unpackedNar, "NAR-INF/bundled-dependencies");
 
             unpackBundleDocs(docsDirectory, mapping, bundleCoordinate, bundledDependencies);
         }
@@ -261,6 +261,9 @@ public final class NarUnpacker {
             while (jarEntries.hasMoreElements()) {
                 JarEntry jarEntry = jarEntries.nextElement();
                 String name = jarEntry.getName();
+                if(name.contains("META-INF/bundled-dependencies")){
+                    name = name.replace("META-INF/bundled-dependencies", "NAR-INF/bundled-dependencies");
+                }
                 File f = new File(workingDirectory, name);
                 if (jarEntry.isDirectory()) {
                     FileUtils.ensureDirectoryExistAndCanReadAndWrite(f);

http://git-wip-us.apache.org/repos/asf/nifi/blob/a27ccd8a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
index 971353b..66ecd45 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java
@@ -384,7 +384,7 @@ public class JettyServer implements NiFiServer {
         // consider each nar working directory
         bundles.forEach(bundle -> {
             final BundleDetails details = bundle.getBundleDetails();
-            final File narDependencies = new File(details.getWorkingDirectory(), "META-INF/bundled-dependencies");
+            final File narDependencies = new File(details.getWorkingDirectory(), "NAR-INF/bundled-dependencies");
             if (narDependencies.isDirectory()) {
                 // list the wars from this nar
                 final File[] narDependencyDirs = narDependencies.listFiles(WAR_FILTER);

http://git-wip-us.apache.org/repos/asf/nifi/blob/a27ccd8a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
index abeffa7..a4a2175 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
@@ -914,6 +914,11 @@
             above.
         -->
         <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>apache-jstl</artifactId>
+            <scope>provided</scope>
+        </dependency>        
+        <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
             <scope>provided</scope>

http://git-wip-us.apache.org/repos/asf/nifi/blob/a27ccd8a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b1f5250..80662ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,7 +93,7 @@
         <inceptionYear>2014</inceptionYear>
         <org.slf4j.version>1.7.25</org.slf4j.version>
         <ranger.version>1.0.0</ranger.version>
-        <jetty.version>9.4.3.v20170317</jetty.version>
+        <jetty.version>9.4.11.v20180605</jetty.version>
     </properties>
 
     <repositories>


[2/2] nifi git commit: NIFI-5479: Using the SUN provider when the keystore type is JKS.

Posted by ij...@apache.org.
NIFI-5479: Using the SUN provider when the keystore type is JKS.

This closes #2961.

Signed-off-by: Koji Kawamura <ij...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/f04cd868
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/f04cd868
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/f04cd868

Branch: refs/heads/master
Commit: f04cd8681d3532f9c8f2eb7306962056a287e2ad
Parents: a27ccd8
Author: Matt Gilman <ma...@gmail.com>
Authored: Thu Aug 23 14:21:28 2018 -0400
Committer: Koji Kawamura <ij...@apache.org>
Committed: Tue Aug 28 15:28:30 2018 +0900

----------------------------------------------------------------------
 .../main/java/org/apache/nifi/security/util/KeyStoreUtils.java  | 4 ++++
 .../test/java/org/apache/nifi/web/server/JettyServerTest.java   | 5 +++--
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/f04cd868/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java
----------------------------------------------------------------------
diff --git a/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java b/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java
index 50ed8c3..6b52009 100644
--- a/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java
+++ b/nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java
@@ -29,6 +29,8 @@ import java.security.Security;
 public class KeyStoreUtils {
     private static final Logger logger = LoggerFactory.getLogger(KeyStoreUtils.class);
 
+    public static final String SUN_PROVIDER_NAME = "SUN";
+
     static {
         Security.addProvider(new BouncyCastleProvider());
     }
@@ -42,6 +44,8 @@ public class KeyStoreUtils {
     public static String getKeyStoreProvider(String keyStoreType) {
         if (KeystoreType.PKCS12.toString().equalsIgnoreCase(keyStoreType)) {
             return BouncyCastleProvider.PROVIDER_NAME;
+        } else if (KeystoreType.JKS.toString().equalsIgnoreCase(keyStoreType)) {
+            return SUN_PROVIDER_NAME;
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/nifi/blob/f04cd868/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/test/java/org/apache/nifi/web/server/JettyServerTest.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/test/java/org/apache/nifi/web/server/JettyServerTest.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/test/java/org/apache/nifi/web/server/JettyServerTest.java
index 618b2d7..d0b8396 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/test/java/org/apache/nifi/web/server/JettyServerTest.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/test/java/org/apache/nifi/web/server/JettyServerTest.java
@@ -37,6 +37,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.apache.nifi.security.util.KeyStoreUtils.SUN_PROVIDER_NAME;
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.mock;
@@ -107,7 +108,7 @@ public class JettyServerTest {
         JettyServer.configureSslContextFactory(contextFactory, nifiProperties);
 
         verify(contextFactory).setKeyStoreType(keyStoreType);
-        verify(contextFactory, never()).setKeyStoreProvider(anyString());
+        verify(contextFactory).setKeyStoreProvider(SUN_PROVIDER_NAME);
     }
 
     @Test
@@ -137,7 +138,7 @@ public class JettyServerTest {
         JettyServer.configureSslContextFactory(contextFactory, nifiProperties);
 
         verify(contextFactory).setTrustStoreType(trustStoreType);
-        verify(contextFactory, never()).setTrustStoreProvider(anyString());
+        verify(contextFactory).setTrustStoreProvider(SUN_PROVIDER_NAME);
     }
 
     @Test