From 5853eb01f513062f468055fd6a19a115b548b239 Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Sun, 14 Mar 2021 12:59:01 +0200 Subject: [PATCH] unpack hwi to all executable file permissions --- src/main/java/com/sparrowwallet/sparrow/io/Hwi.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java b/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java index 0b7402fb..fb92121c 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/Hwi.java @@ -224,7 +224,7 @@ public class Hwi { if(hwiExecutable == null || !hwiExecutable.exists()) { try { Platform platform = Platform.getCurrent(); - Set ownerExecutableWritable = PosixFilePermissions.fromString("rwxr--r--"); + Set allExecutableWritable = PosixFilePermissions.fromString("rwxrwxrwx"); //A PyInstaller --onefile expands into a new directory on every run triggering OSX Gatekeeper checks. //To avoid doing these with every invocation, use a --onedir packaging and expand into a temp folder on OSX @@ -232,7 +232,7 @@ public class Hwi { //See https://github.com/bitcoin-core/HWI/issues/327 for details if(platform == Platform.OSX) { InputStream inputStream = Hwi.class.getResourceAsStream("/native/osx/x64/" + VERSION_PREFIX + "-mac-amd64-signed.zip"); - Path tempHwiDirPath = Files.createTempDirectory(VERSION_PREFIX, PosixFilePermissions.asFileAttribute(ownerExecutableWritable)); + Path tempHwiDirPath = Files.createTempDirectory(VERSION_PREFIX, PosixFilePermissions.asFileAttribute(allExecutableWritable)); File tempHwiDir = tempHwiDirPath.toFile(); //tempHwiDir.deleteOnExit(); log.debug("Using temp HWI path: " + tempHwiDir.getAbsolutePath()); @@ -242,9 +242,9 @@ public class Hwi { ZipEntry zipEntry = zis.getNextEntry(); while(zipEntry != null) { if(zipEntry.isDirectory()) { - newDirectory(tempHwiDir, zipEntry, ownerExecutableWritable); + newDirectory(tempHwiDir, zipEntry, allExecutableWritable); } else { - File newFile = newFile(tempHwiDir, zipEntry, ownerExecutableWritable); + File newFile = newFile(tempHwiDir, zipEntry, allExecutableWritable); //newFile.deleteOnExit(); FileOutputStream fos = new FileOutputStream(newFile); ByteStreams.copy(zis, new FileOutputStream(newFile)); @@ -270,7 +270,7 @@ public class Hwi { tempExecPath = Files.createTempFile(VERSION_PREFIX, null); } else { inputStream = Hwi.class.getResourceAsStream("/native/linux/x64/hwi"); - tempExecPath = Files.createTempFile(VERSION_PREFIX, null, PosixFilePermissions.asFileAttribute(ownerExecutableWritable)); + tempExecPath = Files.createTempFile(VERSION_PREFIX, null, PosixFilePermissions.asFileAttribute(allExecutableWritable)); } File tempExec = tempExecPath.toFile();