| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Always use the jar-basename when calling TempJarCache.addNativeLibs(..),
otherwise it is mapped and loaded multiple times leading to different native libraries.
Simplify addNativeJarLibsImpl(..) argument semantics by passing complete jarBasename
and nativeJarBasename (w/ suffix).
Added manual test scripts validating [gluegen + jogl] usage
with multi (Bug 843) and fat (Bug 845) jar configurations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and privileged access)
This review focuses on how we perform permission checks,
or better - do we circumvent some assuming full privileges ?
Some native methods do need extra permission validation, i.e. loading native libraries.
Further more AccessController.doPrivileged(..) shall not cover generic code
exposing a critical feature to the user.
Further more .. we should rely on the SecuritManager, i.e. AccessControlContext's
'checkPermission(Permission)' code to comply w/ fine grained permission access.
It is also possible to have full permission w/o having any certificates (-> policy file).
+++
We remove implicit AccessController.doPrivileged(..) from within our trusted code
for generic methods, like Property access, temp. files.
+++
SecurityUtil:
- Remove 'getCommonAccessControlContext(Class<?> clz)',
which returned a local AccessControlContext for later restriction
if the passed class contains all certificates as the 'trusted' GlueGen class has.
- Simply expose convenient permission check methods relying on
SecurityManager / AccessControlContext.
PropertyAccess:
- 'protected static void addTrustedPrefix(..)' requires AllPermissions if SecurityManager is installed.
- Remove implicit doPrivileged(..) triggered by passed AccessControlContext instance,
only leave it for trusted prefixes.
IOUtil:
- Remove all doPrivileged(..) - Elevation shall be performed by caller.
DynamicLinker:
- 'public long openLibraryLocal(..)' and 'public long openLibraryGlobal(..)'
may throw SecurityException, if a SecurityManager is installed and the dyn. link permission
is not granted in the calling code.
Implemented in their respective Unix, OSX and Windows manifestation.
Caller has to elevate privileges via 'doPrivileged(..) {}' !
+++
Tests:
- Property access
- File access
- Native library loading
Manual Applet test (unsigned, but w/ SecurityManager and policy file):
> gluegen/test/applet
Applet has been tested w/ signed JAR w/ Firefox and Java7 on GNU/Linux as well.
Manual Application test (unsigned, but w/ SecurityManager and policy file):
com.jogamp.junit.sec.TestSecIOUtil01
- Run w/ SecurityManager and policy file:
- gluegen/scripts/runtest-secmgr.sh
- Run w/o SecurityManager:
- gluegen/scripts/runtest.sh
|
|
|
|
| |
Signed-off-by: Harvey Harrison <[email protected]>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
BuffersTest and PCPP to the proper src/junit folder. All junit tests are now handled by build-junit.xml
|
|
|
|
| |
needs to be quoted when having seperators
|
|
|
|
| |
direct PCPP to dump the output to stderr as well
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added JogAmp Community and common denominator:
New BSD 3-clause license
- Added note to make/lib binary file (source and license)
Added source and license text for external binaries used
in build process (make/lib folder).
Changed 'Sven Gothel' and 'Michael Bien' New BSD 3-clause license
to 'JogAmp Community' Simplified BSD 2-clause license.
|
| |
|
|
|
|
| |
method RenameJavaMethod property.
|
| |
|
|
|
|
| |
default, if not specified otherwise in /home/sven/gluegen.properties
|
|
|
|
| |
they are a junit test.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
build generates now via text substitution IntLong- and IntObjectHashmap in the pre-build phase.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed junit test: test1
- Create seperate native libraries to reflect a real world example:
test1 - the library to bind to (no more declaring __stdcall @nn functions)
BindingTest1p1 - the dynamic fixed linkage binding test1p1,
references dynamic library test1 at linktime.
BindingTest1p2 - the dynamic runtime linkage binding test1p2,
loads dynamic library test1 at runtime.
Generic:
- gluegen-cpptasks-base.xml
- target 'gluegen.cpptasks.detect.os'
Set new property 'system.env.library.path'
DYLD_LIBRARY_PATH (macosx)
LD_LIBRARY_PATH (unix)
PATH (windows)
- target 'gluegen.cpptasks.striplibs'
Strips the symbols out of the native libraries
in case c.compiler.debug is false.
Maybe configured with the properties:
c.strip.tool, c.strip.args
- Using system.env.library.path in junit call
to find the test1 library in case of runtime linkage and lookup (test1p2).
- Use gluegen.cpptasks.striplibs for all native libs ..
- Added macosx32 in analogy to macosx64, both defaults to true now
- com.jogamp.common.os.WindowsDynamicLinkerImpl:lookupSymbol()
- Added lookup for __stdcall @nn (stepping alignment 4, max-args: 12)
in case no undecorated __cdecl symbol is found.
Fixed Windows platform:
- Use proper path.seperator on Windows.
- test1.dll needs proper soname inside for fixed linkage (test1p1)
hence the output name must be test1.dll, not libtest1.so
+++
http://jogamp.org/bugzilla/show_bug.cgi?id=394
Fix MacOsX platform:
The commit of cpptasks.jar, git hash 129e783741d91e9ee5cd7da5d5c962c32ec96b0b,
broke the universal binary build on MacOSX.
The above change used cpptasks-1.05b with a few patches in regards to crosscompilation,
but missed one, which accepts the '-arch' argument for GccLinker undecorated.
The new cpptasks.jar is vanilla 1.05b + cpptasks-1.0b5-darwin-patch.diff,
the latter a more refined one.
This version accepts the '-arch' argument undecorated on the darwin platform.
+++
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding 'plain' junit tests.
Plain stands for the simple processing of:
ant.junit.compile: gluegen -> java/c files, javac/cc, jar
ant.junit.run: junit batch run
Avoiding 'black magic', ie kicking off gluegen and ant-compilation
from within the junit tests.
Same methodology as the JOGL junit tests,
junit test sources are under 'src/junit'
This way, the migration to other platform tests might be easier,
as well as the we don't need to pass through ant properties (ant - junit - ant),
see 3a32650d4229f9b4ad1f527d9e30c24ddb69bb3f.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current junit tests use a fixed 'build' sub-path,
not the customizing 'rootrel.build' path.
More properties needs to be passed through (ant -> junit -> ant)
to comply with the current build system:
* rootrel.build
* os.arch
* gluegen.user.compiler.file
Fixed ..
However .. since even more properties may influence the build,
a more native solution with just plain 'ant' might be more desireable ..
|
|
|
|
|
|
| |
illegally added after a closing bracket.
added testcase.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
added StructAccessorTest, refactored other tests.
updated project files, paths etc.
|
|
|
|
|
|
|
| |
antlr-2.7.7.jar in <gluegenroot>/lib)
Test tests the basic GlueGen lifecycle: generate->compile java->compile native->load lib->call methods
integrated test compile,run and debug targets into NetBeans IDE.
|
|
|
|
| |
necessary. Fix PointerBuffer allocateDirect()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- GLX, CGL, WGL
- GL2ES12 desktop ES1 and ES2 common profile
Add: BufferFactory: Determine the Buffer's Endianess
Add: com.sun.gluegen.runtime.PointerBuffer
- Solution for CDC/CVM (no LongBuffer), holds a buffer of pointer objects
in native endian format and converts natively passed 32bit pointers to 64 bit.
- supports a few Buffer mechanics, so the BufferFactory can easily use them.
- behaves as an NIO Buffer, code generation
- included a unit test
Add: StructAccessor get/set long value, incl. endian check
|
|
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@147 a78bb65f-1512-4460-ba86-f6dc96a7bf27
|