Repository: incubator-ranger
Updated Branches:
  refs/heads/master 8d694aa3d -> df5a95e1b


RANGER-949 - Some agents improvements

Signed-off-by: sneethiraj <[email protected]>


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

Branch: refs/heads/master
Commit: df5a95e1be8a8b18239cc5fea0646e5c03354bb2
Parents: 8d694aa
Author: Colm O hEigeartaigh <[email protected]>
Authored: Mon Apr 25 11:46:25 2016 +0100
Committer: sneethiraj <[email protected]>
Committed: Mon Jul 11 09:49:32 2016 -0400

----------------------------------------------------------------------
 .../hadoop/utils/RangerCredentialProvider.java  | 20 +++++---------
 .../utils/RangerCredentialProviderTest.java     | 29 +++++++++++++++-----
 agents-installer/pom.xml                        |  6 ++--
 .../ranger/utils/install/PasswordGenerator.java |  3 +-
 .../ranger/utils/install/XmlConfigChanger.java  |  2 ++
 5 files changed, 36 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/df5a95e1/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
----------------------------------------------------------------------
diff --git 
a/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
 
b/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
index d3faf60..6ac702a 100644
--- 
a/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
+++ 
b/agents-cred/src/main/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProvider.java
@@ -28,24 +28,18 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 
-public class RangerCredentialProvider {
+public final class RangerCredentialProvider {
 
   private static Log LOG = LogFactory.getLog(RangerCredentialProvider.class);
 
-  private static volatile RangerCredentialProvider  me = null;
-
+  private static final RangerCredentialProvider CRED_PROVIDER = new 
RangerCredentialProvider(); 
+  
+  protected RangerCredentialProvider() {
+         // 
+  }
   
   public static RangerCredentialProvider getInstance()  {
-      RangerCredentialProvider result = me;
-         if ( result == null) {
-                 synchronized(RangerCredentialProvider.class) {
-                         result = me;
-                         if ( result == null){
-                                 me = result = new RangerCredentialProvider();
-                         }
-                 }
-         }
-       return result;
+         return CRED_PROVIDER;
   }
   
   public char[] getCredentialString(String url, String alias)  {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/df5a95e1/agents-cred/src/test/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProviderTest.java
----------------------------------------------------------------------
diff --git 
a/agents-cred/src/test/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProviderTest.java
 
b/agents-cred/src/test/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProviderTest.java
index 686318b..711e730 100644
--- 
a/agents-cred/src/test/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProviderTest.java
+++ 
b/agents-cred/src/test/java/org/apache/ranger/authorization/hadoop/utils/RangerCredentialProviderTest.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.io.IOException;
 import java.lang.reflect.Field;
 import java.util.List;
 
@@ -34,19 +35,26 @@ import org.junit.Test;
 
 public class RangerCredentialProviderTest {
        
-       private final File ksFile =  new 
File(System.getProperty("user.home")+"/testkeystore.jceks") ;
-       private final String keystoreFile = ksFile.toURI().getPath();
-       private String[] argsCreate = {"create", "TestCredential001", "-value", 
"PassworD123", "-provider", "jceks://file@/" + keystoreFile};
-       private String[] argsDelete = {"delete", "TestCredential001", 
"-provider", "jceks://file@/" + keystoreFile};
-       private String url = "jceks://file@/" + keystoreFile;
+       private final File ksFile;
+       private final String keystoreFile;
+       private final String[] argsCreate;
+       private final String[] argsDelete;
+       private final String url;
        RangerCredentialProvider cp = null;
        List<CredentialProvider> providers = null;
        
        
-       public RangerCredentialProviderTest() {
+       public RangerCredentialProviderTest() throws IOException {
+               ksFile = File.createTempFile("testkeystore", "jceks");
+               keystoreFile = ksFile.toURI().getPath();
+               url = "jceks://file@/" + keystoreFile;
+               
                if ( isCredentialShellInteractiveEnabled() ) {
                        argsCreate = new String[] {"create", 
"TestCredential001", "-f",  "-value", "PassworD123", "-provider", 
"jceks://file@/" + keystoreFile};
                        argsDelete = new String[] {"delete", 
"TestCredential001", "-f" , "-provider", "jceks://file@/" + keystoreFile};
+               } else {
+                       argsCreate = new String[] {"create", 
"TestCredential001", "-value", "PassworD123", "-provider", "jceks://file@/" + 
keystoreFile};
+                       argsDelete = new String[] {"delete", 
"TestCredential001", "-provider", "jceks://file@/" + keystoreFile};
                }
        }
        
@@ -87,7 +95,14 @@ public class RangerCredentialProviderTest {
                assertEquals(0,ret);
                System.out.println("(1) Number of active Threads : " + 
Thread.activeCount() ) ;
                listThreads() ;
-       } 
+       }
+       
+       @After
+       public void cleanup() throws Exception {
+               if (ksFile != null && ksFile.exists()) {
+                       ksFile.delete() ;
+               }
+       }
        
        @Test
        public void testCredentialProvider() {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/df5a95e1/agents-installer/pom.xml
----------------------------------------------------------------------
diff --git a/agents-installer/pom.xml b/agents-installer/pom.xml
index 97837a8..7cdb563 100644
--- a/agents-installer/pom.xml
+++ b/agents-installer/pom.xml
@@ -29,9 +29,9 @@
     </parent>
     <dependencies>
         <dependency>
-            <groupId>org.apache.hadoop</groupId>
-            <artifactId>hadoop-client</artifactId>
-            <version>${hadoop.version}</version>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+            <version>${commons.cli.version}</version>
         </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/df5a95e1/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
----------------------------------------------------------------------
diff --git 
a/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
 
b/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
index 3632c1a..0b1bd51 100644
--- 
a/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
+++ 
b/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
@@ -16,6 +16,7 @@
  */
 package org.apache.ranger.utils.install;
 
+import java.security.SecureRandom;
 import java.util.ArrayList;
 import java.util.Random;
 
@@ -83,7 +84,7 @@ public class PasswordGenerator {
                                
                int len = getPasswordLength() ;
                
-               Random random = new Random() ;
+               SecureRandom random = new SecureRandom() ;
                
                int setSz = all.size();
                

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/df5a95e1/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
----------------------------------------------------------------------
diff --git 
a/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
 
b/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
index 9d0cbed..dd26dc2 100644
--- 
a/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
+++ 
b/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
@@ -27,6 +27,7 @@ import java.io.FileReader;
 import java.io.IOException;
 import java.util.Properties;
 
+import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
@@ -166,6 +167,7 @@ public class XmlConfigChanger {
                loadInstallProperties() ;
                
                DocumentBuilderFactory factory = 
DocumentBuilderFactory.newInstance() ;
+               factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, 
true);
                DocumentBuilder builder = factory.newDocumentBuilder() ;
                doc = builder.parse(inpFile) ;
                

Reply via email to