/*
 * security policy used by the test process
 */

grant codeBase "file:${java.home}/lib/ext/*" {
    permission java.security.AllPermission;
};

grant {
  // need to move some classes out of the tests classpath; specific to this test
  permission java.io.FilePermission "${test.classes}", "read,write,delete";
  permission java.io.FilePermission "${test.classes}${/}-", "read,write,delete";

  // need to load custom security manager and activation group from a new codebase
  permission java.io.FilePermission ".${/}implcb", "read,write,delete";
  permission java.io.FilePermission ".${/}implcb${/}-", "read,write,delete";

  // impl class needs to compare context class loader to its own class loader
  permission java.lang.RuntimePermission "getClassLoader";

  // standard test activation permissions
  permission java.io.FilePermission "..${/}..${/}test.props", "read";

  // test needs to cleanup rmid's log.
  permission java.io.FilePermission ".${/}log", "read,write,delete";
  permission java.io.FilePermission ".${/}log${/}-", "read,write,delete";

  // test needs to use java to exec an rmid
  permission java.io.FilePermission "${java.home}${/}bin${/}java", "execute";

  // test uses these permissions to propagate security values to rmid
  permission java.util.PropertyPermission "java.security.policy", "read";
  permission java.util.PropertyPermission "java.security.manager", "read";

  // used by TestLibrary to determine test environment 
  permission java.util.PropertyPermission "test.classes", "read";
  permission java.util.PropertyPermission "test.src", "read";
  permission java.util.PropertyPermission "user.dir", "read";
  permission java.util.PropertyPermission "java.home", "read";

  // required for test to create an ActivationGroup
  permission java.lang.RuntimePermission "setFactory";

  // test needs to export rmid and communicate with objects on arbitrary ports
  permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
};
