diff --git a/core/src/main/java/io/bitsquare/app/BitsquareEnvironment.java b/core/src/main/java/io/bitsquare/app/BitsquareEnvironment.java index dbf3bae98f..6fb1452f51 100644 --- a/core/src/main/java/io/bitsquare/app/BitsquareEnvironment.java +++ b/core/src/main/java/io/bitsquare/app/BitsquareEnvironment.java @@ -220,18 +220,11 @@ public class BitsquareEnvironment extends StandardEnvironment { } private PropertySource homeDirProperties() throws Exception { - String location = String.format("file:%s/.bitsquare/bitsquare.properties", getProperty("user.home")); - Resource resource = resourceLoader.getResource(location); - - if (!resource.exists()) - return new PropertySource.StubPropertySource(BITSQUARE_HOME_DIR_PROPERTY_SOURCE_NAME); - - return new ResourcePropertySource(BITSQUARE_HOME_DIR_PROPERTY_SOURCE_NAME, resource); + return new PropertySource.StubPropertySource(BITSQUARE_HOME_DIR_PROPERTY_SOURCE_NAME); } private PropertySource classpathProperties() throws Exception { - Resource resource = resourceLoader.getResource("classpath:bitsquare.properties"); - return new ResourcePropertySource(BITSQUARE_CLASSPATH_PROPERTY_SOURCE_NAME, resource); + return new PropertySource.StubPropertySource(BITSQUARE_CLASSPATH_PROPERTY_SOURCE_NAME); } private PropertySource defaultProperties() { diff --git a/core/src/main/resources/bitsquare.policy b/core/src/main/resources/bitsquare.policy index 317d7edb6e..9ecc4e0b9a 100644 --- a/core/src/main/resources/bitsquare.policy +++ b/core/src/main/resources/bitsquare.policy @@ -1,6 +1,3 @@ -/* AUTOMATICALLY GENERATED ON Mon Jan 16 10:23:35 CET 2017*/ -/* DO NOT EDIT */ - grant { permission "java.util.PropertyPermission" "idea.launcher.*", "read"; permission "java.util.PropertyPermission" "slf4j.detectLoggerNameMismatch", "read"; @@ -44,12 +41,15 @@ grant { permission "java.util.PropertyPermission" "bitcoinRegtestHost", "read"; permission "java.util.PropertyPermission" "btcNodes", "read"; permission "java.util.PropertyPermission" "appName", "read"; - /* Why ??? */ + permission "java.util.PropertyPermission" "socks5DiscoverMode", "read"; + permission "java.util.PropertyPermission" "priceFeedProviders", "read"; + permission "java.util.PropertyPermission" "maxMemory", "read"; + + /* Why ??? no permission exceptions, no dependency in bitsquare nor in bitcoinj. Local problem? */ permission "java.util.PropertyPermission" "com.google.appengine.runtime.environment", "read"; permission "java.lang.RuntimePermission" "accessDeclaredMembers"; permission "java.lang.RuntimePermission" "setDefaultUncaughtExceptionHandler"; - permission "java.lang.RuntimePermission" "getenv.*"; permission "java.lang.RuntimePermission" "accessClassInPackage.sun.misc"; permission "java.lang.RuntimePermission" "accessClassInPackage.sun.util.logging.resources"; permission "java.lang.RuntimePermission" "accessClassInPackage.com.sun.javafx.tk.quantum"; @@ -82,46 +82,41 @@ grant { permission "java.lang.RuntimePermission" "getenv.ignoreDevMsg"; permission "java.lang.RuntimePermission" "getenv.bitcoinNetwork"; permission "java.lang.RuntimePermission" "getenv.appDataDir"; - permission "java.lang.RuntimePermission" "getenv.appDataDir"; + permission "java.lang.RuntimePermission" "getenv.socks5DiscoverMode"; + permission "java.lang.RuntimePermission" "getenv.priceFeedProviders"; + permission "java.lang.RuntimePermission" "getenv.seedNodes"; + permission "java.lang.RuntimePermission" "getenv.bitcoinRegtestHost"; + permission "java.lang.RuntimePermission" "getenv.btcNodes"; + permission "java.lang.RuntimePermission" "getenv.maxMemory"; permission "java.lang.RuntimePermission" "getClassLoader"; permission "java.lang.RuntimePermission" "accessUserInformation"; permission "java.lang.RuntimePermission" "loadLibrary.javasecp256k1"; permission "java.lang.RuntimePermission" "modifyThread"; /* user data dir for Mac, Linux, Windows */ - permission "java.io.FilePermission" "${user.home}${/}Library${/}Application Support${/}-", "read,write,delete,execute"; - permission "java.io.FilePermission" "${user.home}${/}.local${/}share${/}-", "read,write,delete,execute"; - permission "java.io.FilePermission" "${appdata}${/}-", "read,write,delete,execute"; + permission "java.io.FilePermission" "${user.home}${/}Library${/}Application Support${/}-", "read,write,delete"; + permission "java.io.FilePermission" "${user.home}${/}.local${/}share${/}Bitsquare-", "read,write,delete"; + permission "java.io.FilePermission" "${appdata}${/}Bitsquare-", "read,write,delete"; /* temp dir Mac, Linux, Windows TODO */ permission "java.io.FilePermission" "/var/folders/-", "read,write,delete"; - /* only for dev */ + /* only for dev permission "java.io.FilePermission" "${user.home}${/}.m2${/}-", "read"; + permission "java.io.FilePermission" "/Users/me/dev/bitcoin_projects/bitsquare/-", "read"; + permission "java.lang.reflect.ReflectPermission" "suppressAccessChecks"; +*/ - permission "java.net.SocketPermission" "127.0.0.1:*", "listen,connect,resolve"; - permission "java.net.URLPermission" "http://*:8080/getFees", "GET:User-Agent"; - permission "java.net.URLPermission" "http://*:8080/getAllMarketPrices", "GET:User-Agent"; + + permission "java.net.SocketPermission" "127.0.0.1:*", "listen,connect,resolve, accept"; + permission "java.net.URLPermission" "http://95.85.11.205:8080/all", "GET:User-Agent"; + permission "java.net.URLPermission" "http://95.85.11.205:8080/getFees", "GET:User-Agent"; + permission "java.net.URLPermission" "http://95.85.11.205:8080/getAllMarketPrices", "GET:User-Agent"; permission "java.net.SocketPermission" "*:8333", "connect,resolve"; permission "java.net.SocketPermission" "*.onion:80", "connect,resolve"; permission "java.awt.AWTPermission" "accessSystemTray"; permission "java.awt.AWTPermission" "showWindowWithoutWarningBanner"; permission "java.security.SecurityPermission" "insertProvider"; - permission "java.security.SecurityPermission" "getProperty.security.provider.*"; - permission "java.lang.reflect.ReflectPermission" "suppressAccessChecks"; permission "java.util.logging.LoggingPermission" "control"; }; - -/* - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/gui/target/classes/io/bitsquare/gui/main/MainView.fxml", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/core/target/classes/bitsquare.properties", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/gui/target/classes/io/bitsquare/gui/bitsquare.css", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/gui/target/classes/io/bitsquare/gui/images.css", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/core/target/classes/logback.xml", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/common/target/classes/logback.xml", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/network/target/classes/logback.xml", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/jtorproxy/target/classes/logback.xml", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/gui/target/classes/logback.xml", "read"; - permission "java.io.FilePermission" "/Users/mike/dev/bitcoin_projects/bitsquare/gui/target/classes/i18n/displayStrings.properties", "read"; - */ diff --git a/doc/policy-file-setup.md b/doc/policy-file-setup.md new file mode 100644 index 0000000000..f77fb16222 --- /dev/null +++ b/doc/policy-file-setup.md @@ -0,0 +1,2 @@ +In the IDE you need to add that VM option: +-Djava.security.manager -Djava.security.debug=failure -Djava.security.policy=./core/src/main/resources/bitsquare.policy \ No newline at end of file diff --git a/package/linux/32bitBuild.sh b/package/linux/32bitBuild.sh index 67f9dae587..4e28e121a1 100644 --- a/package/linux/32bitBuild.sh +++ b/package/linux/32bitBuild.sh @@ -26,6 +26,7 @@ $JAVA_HOME/bin/javapackager \ -vendor Bitsquare \ -outdir gui/deploy \ -srcfiles $jarFile:$jdkfixFile \ + -srcfiles "core/src/main/resources/bitsquare.policy" \ -srcfiles package/linux/LICENSE \ -appclass io.bitsquare.app.BitsquareAppMain \ -outfile Bitsquare \ @@ -41,4 +42,4 @@ mv "gui/deploy/bundles/bitsquare-$version.deb" "/media/sf_vm_shared_ubuntu14_32b # mv "bitsquare-$version-1.i386.rpm" "/media/sf_vm_shared_ubuntu14_32bit/Bitsquare-32bit-$version.rpm" rm -r gui/deploy/ -cd package/linux \ No newline at end of file +cd package/linux diff --git a/package/linux/64bitBuild.sh b/package/linux/64bitBuild.sh index f014cde847..b965627dc8 100644 --- a/package/linux/64bitBuild.sh +++ b/package/linux/64bitBuild.sh @@ -26,6 +26,7 @@ $JAVA_HOME/bin/javapackager \ -vendor Bitsquare \ -outdir gui/deploy \ -srcfiles $jarFile:$jdkfixFile \ + -srcfiles "core/src/main/resources/bitsquare.policy" \ -srcfiles package/linux/LICENSE \ -appclass io.bitsquare.app.BitsquareAppMain \ -outfile Bitsquare \ @@ -42,4 +43,4 @@ mv "gui/deploy/bundles/bitsquare-$version.deb" "/media/sf_vm_shared_ubuntu/Bitsq #mv "bitsquare-$version-1.x86_64.rpm" "/media/sf_vm_shared_ubuntu/Bitsquare-64bit-$version.rpm" rm -r gui/deploy/ -cd package/linux \ No newline at end of file +cd package/linux diff --git a/package/windows/32bitBuild.bat b/package/windows/32bitBuild.bat index 4c770bed4b..3c4dbac7ab 100644 --- a/package/windows/32bitBuild.bat +++ b/package/windows/32bitBuild.bat @@ -21,6 +21,7 @@ call "%JAVA_HOME%\bin\javapackager.exe" -deploy ^ -outdir %outdir% ^ -appclass io.bitsquare.app.BitsquareAppMain ^ -srcfiles %outdir%\Bitsquare-%version%.jar ^ +-srcfiles "core/src/main/resources/bitsquare.policy" ^ -outfile Bitsquare ^ -Bruntime="%JAVA_HOME%\jre" ^ -BjvmOptions=-Djava.security.manager ^ diff --git a/package/windows/64bitBuild.bat b/package/windows/64bitBuild.bat index 7def2fe1e0..7c88a29725 100644 --- a/package/windows/64bitBuild.bat +++ b/package/windows/64bitBuild.bat @@ -21,6 +21,7 @@ call "%JAVA_HOME%\bin\javapackager.exe" -deploy ^ -outdir %outdir% ^ -appclass io.bitsquare.app.BitsquareAppMain ^ -srcfiles %outdir%\Bitsquare-%version%.jar ^ +-srcfiles "core/src/main/resources/bitsquare.policy" ^ -outfile Bitsquare ^ -Bruntime="%JAVA_HOME%\jre" ^ -BjvmProperties=-Djava.net.preferIPv4Stack=true ^ diff --git a/pom.xml b/pom.xml index d76aa0b558..27dcea99ab 100644 --- a/pom.xml +++ b/pom.xml @@ -90,6 +90,20 @@ org.bitcoinj bitcoinj-core 0.13.1.9 + + + com.google.code.findbugs + jsr305 + + + org.slf4j + slf4j-api + + + com.google.guava + guava + +