SLIDER-334 Modified to be JDK 6 compatible

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

Branch: refs/heads/feature/SLIDER-151_REST_API
Commit: d8f662cf6ac2ba2f5b43c84239b8a9fe2dd898d2
Parents: 624cafe
Author: Jon Maron <jma...@hortonworks.com>
Authored: Tue Aug 19 15:16:19 2014 -0400
Committer: Jon Maron <jma...@hortonworks.com>
Committed: Tue Aug 19 15:16:19 2014 -0400

----------------------------------------------------------------------
 .../server/services/security/SecurityUtils.java | 60 ++++++++++----------
 1 file changed, 29 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/d8f662cf/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
 
b/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
index 8ea6119..56ee199 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
@@ -18,7 +18,10 @@ package org.apache.slider.server.services.security;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.SystemUtils;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.RawLocalFileSystem;
+import org.apache.hadoop.fs.permission.FsAction;
+import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.slider.common.SliderKeys;
 import org.apache.slider.core.conf.MapOperations;
 import org.slf4j.Logger;
@@ -26,11 +29,11 @@ import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.attribute.PosixFilePermission;
-import java.nio.file.attribute.PosixFilePermissions;
+//import java.nio.file.Files;
+//import java.nio.file.Path;
+//import java.nio.file.Paths;
+//import java.nio.file.attribute.PosixFilePermission;
+//import java.nio.file.attribute.PosixFilePermissions;
 import java.util.Set;
 
 /**
@@ -90,8 +93,11 @@ public class SecurityUtils {
   }
 
   public static String getOpenSslCommandResult(String command, int exitCode) {
-    return new StringBuilder().append("Command 
").append(hideOpenSslPassword(command)).append(" was finished with exit code: ")
-        .append(exitCode).append(" - 
").append(getOpenSslExitCodeDescription(exitCode)).toString();
+    return new StringBuilder().append("Command ")
+        .append(hideOpenSslPassword(command))
+        .append(" was finished with exit code: ")
+        .append(exitCode).append(" - ")
+        .append(getOpenSslExitCodeDescription(exitCode)).toString();
   }
 
   private static String getOpenSslExitCodeDescription(int exitCode) {
@@ -142,17 +148,14 @@ public class SecurityUtils {
       File newCertsDir = new File(dbDir, "newcerts");
       newCertsDir.mkdirs();
       try {
-        if(SystemUtils.IS_OS_WINDOWS) {
-          setFilePermissionForWindows(Paths.get(secDirFile.toURI()));
-          setFilePermissionForWindows(Paths.get(dbDir.toURI()));
-          setFilePermissionForWindows(Paths.get(newCertsDir.toURI()));
-        } else {
-        Set<PosixFilePermission> perms =
-            PosixFilePermissions.fromString("rwx------");
-          Files.setPosixFilePermissions(Paths.get(secDirFile.toURI()), perms);
-          Files.setPosixFilePermissions(Paths.get(dbDir.toURI()), perms);
-          Files.setPosixFilePermissions(Paths.get(newCertsDir.toURI()), perms);
-        }
+        RawLocalFileSystem fileSystem = new RawLocalFileSystem();
+        FsPermission permissions = new FsPermission(FsAction.ALL, 
FsAction.NONE,
+                                                    FsAction.NONE);
+        fileSystem.setPermission(new Path(dbDir.getAbsolutePath()),
+                                 permissions);
+        fileSystem.setPermission(new Path(dbDir.getAbsolutePath()), 
permissions);
+        fileSystem.setPermission(new Path(newCertsDir.getAbsolutePath()),
+                                 permissions);
         File indexFile = new File(dbDir, "index.txt");
         indexFile.createNewFile();
 
@@ -167,15 +170,6 @@ public class SecurityUtils {
     securityDir = secDirFile.getAbsolutePath();
   }
 
-  private static void setFilePermissionForWindows(Path secDirFilePath) {
-    secDirFilePath.toFile().setReadable(false, false);
-    secDirFilePath.toFile().setExecutable(false, false);
-    secDirFilePath.toFile().setWritable(false, false);
-    secDirFilePath.toFile().setReadable(true, true);
-    secDirFilePath.toFile().setExecutable(true, true);
-    secDirFilePath.toFile().setWritable(true, true);
-  }
-
   private static String getKeystorePassword(File secDirFile) {
     File passFile = new File(secDirFile, SliderKeys.CRT_PASS_FILE_NAME);
     String password = null;
@@ -207,15 +201,19 @@ public class SecurityUtils {
   }
 
   private static String getDefaultKeystoreLocation() {
-    Path workDir = null;
+    File workDir = null;
     try {
-      workDir = Files.createTempDirectory("sec");
+      workDir =  new File(FileUtils.getTempDirectory().getAbsolutePath()
+                          + "/sec" + System.currentTimeMillis());
+      if (!workDir.mkdirs()) {
+        throw new IOException("Unable to create temporary security directory");
+      }
     } catch (IOException e) {
       LOG.warn("Unable to create security directory");
       return null;
     }
 
-    return new StringBuilder().append(workDir.toAbsolutePath())
+    return new StringBuilder().append(workDir.getAbsolutePath())
         .append(File.separator)
         .append(SliderKeys.SECURITY_DIR)
         .append(File.separator)

Reply via email to