From 0c567321c6d594ec11edfd3aa848a0a634c544ef Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Mon, 25 Mar 2019 05:04:03 +0100 Subject: Bug 1219, Bug 1231: Re-add executable test by execution Re-adding executable test by execution is required for 'blocker technology' like Windows's 'Software Restriction Policies (SRP)', which only gets activated by the actual execution attempt. Merely testing the file's (ACL) execution flags via NIO's isExecutable is not sufficient. Implementation first tests the file's (ACL) execution flags via NIO's isExecutable. If the NIO test was successful or not available, the actual execution test is performed. To mitigate the virus scanner's false positive, we use an executable shell script per default now, which may be overriden by the new environment 'jogamp.gluegen.UseNativeExeFile=true' Tested on GNU/Linux with one temp folder having mount options 'noexec' and on Windows using Software Restriction Policies (SRP) disallowing one temp folder. Both temp folder were first in line via environment 'java.io.tmpdir'. --- make/scripts/java-win64.bat | 4 +++- make/scripts/runtest-x64.bat | 4 ++-- make/scripts/runtest.sh | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'make') diff --git a/make/scripts/java-win64.bat b/make/scripts/java-win64.bat index 640fcb3..ee854cf 100755 --- a/make/scripts/java-win64.bat +++ b/make/scripts/java-win64.bat @@ -18,7 +18,9 @@ echo CP_ALL %CP_ALL% set X_ARGS="-Drootrel.build=%BLD_SUB%" "-Dgluegen.root=.." REM set D_ARGS="-Djogamp.debug.IOUtil" "-Djogamp.debug.JNILibLoader" "-Djogamp.debug.TempFileCache" "-Djogamp.debug.JarUtil" "-Djogamp.debug.TempJarCache" REM set D_ARGS="-Djogamp.debug.Platform" "-Djogamp.debug.NativeLibrary" "-Djogamp.debug.IOUtil" -set D_ARGS="-Djogamp.debug.IOUtil" "-Djogamp.debug.IOUtil.Exe" "-Djogamp.debug.IOUtil.Exe.NoStream" +REM set D_ARGS="-Djogamp.debug.IOUtil" "-Djogamp.debug.IOUtil.Exe" "-Djogamp.debug.IOUtil.Exe.NoStream" +REM set D_ARGS="-Djogamp.debug.IOUtil" "-Djogamp.debug.TempFileCache" "-Djogamp.debug.TempJarCache" "-Djogamp.debug.IOUtil.Exe" "-Djogamp.gluegen.UseNativeExeFile=true" "-Djava.io.tmpdir=c:\temp_noexec" +set D_ARGS="-Djogamp.debug.IOUtil" "-Djogamp.debug.TempFileCache" "-Djogamp.debug.TempJarCache" "-Djava.io.tmpdir=c:\temp_noexec" REM set D_ARGS="-Djogamp.debug=all" REM %J2RE_HOME%\bin\java -classpath %CP_ALL% %X_ARGS% %D_ARGS% "-Djava.library.path=%LIB_DIR%" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true" %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win64.log 2>&1 diff --git a/make/scripts/runtest-x64.bat b/make/scripts/runtest-x64.bat index 70a0ec3..1457174 100755 --- a/make/scripts/runtest-x64.bat +++ b/make/scripts/runtest-x64.bat @@ -4,7 +4,7 @@ REM set TEMP=C:\Users\jogamp\temp-exec REM set TMP=C:\Users\jogamp\temp-exec REM scripts\java-win64.bat com.jogamp.common.GlueGenVersion -REM scripts\java-win64.bat com.jogamp.common.util.TestVersionInfo +scripts\java-win64.bat com.jogamp.common.util.TestVersionInfo REM scripts\java-win64.bat com.jogamp.gluegen.jcpp.IncludeAbsoluteTest @@ -12,7 +12,7 @@ REM scripts\java-win64.bat com.jogamp.gluegen.test.junit.generation.Test1p1JavaE REM scripts\java-win64.bat com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter REM scripts\java-win64.bat com.jogamp.common.util.TestTempJarCache REM scripts\java-win64.bat com.jogamp.common.os.TestElfReader01 -scripts\java-win64.bat com.jogamp.common.util.TestPlatform01 +REM scripts\java-win64.bat com.jogamp.common.util.TestPlatform01 REM scripts\java-win64.bat com.jogamp.common.util.TestIOUtil01 REM scripts\java-win64.bat com.jogamp.common.util.TestJarUtil diff --git a/make/scripts/runtest.sh b/make/scripts/runtest.sh index bd8e8ae..be2e415 100755 --- a/make/scripts/runtest.sh +++ b/make/scripts/runtest.sh @@ -61,7 +61,8 @@ X_ARGS="-Drootrel.build=$ROOTREL_BUILD -Dgluegen.root=$GLUEGEN_ROOT" #D_ARGS="-Djogamp.debug.Lock -Djogamp.debug.Lock.TraceLock" #D_ARGS="-Djogamp.debug.Lock.TraceLock" #D_ARGS="-Djogamp.debug.IOUtil -Djogamp.debug.IOUtil.Exe -Djogamp.debug.IOUtil.Exe.NoStream" -D_ARGS="-Djogamp.debug.IOUtil -Djogamp.debug.IOUtil.Exe" +#D_ARGS="-Djogamp.debug.IOUtil -Djogamp.debug.TempFileCache -Djogamp.debug.TempJarCache -Djogamp.debug.IOUtil.Exe" +D_ARGS="-Djogamp.debug.IOUtil -Djogamp.debug.TempFileCache -Djogamp.debug.TempJarCache -Djava.io.tmpdir=/run/501" #D_ARGS="-Djogamp.debug.ByteBufferInputStream" #D_ARGS="-Djogamp.debug.Buffers" #D_ARGS="-Djogamp.debug.Bitstream" -- cgit v1.2.3