FoundationDB/sql-layer — pull request #1496 by SytzeH (2014-10-23 20:00:37+00:00)
Title: routine-firewall

Part one of creating a security system for routines. This part prevent routines from performing harmful routines damaging the system.

This PR adds a security manager with policy file to the build. Furthermore it adds a separate jar 'routine-firewall' via which all procedure calls are routed. When a method needs permission, it asks for the availability of a Security Manager, which checks if all classes (jars) on the call stack have the specific permission, if not it will through a java.security.AccessControlException. This creates a bottleneck for all the permissions needed to perform a call of a routine. Specific permissions should be added to the policy file to have routines be executed with more permissions.

Stil ToDo:
- Description in doc on adding permissions for using sqlj.install_jar()
- merge with master (postponed as every file added will need a remerge)
- repack exception?
- part 2: Shielding SQL Layer from harmful routines