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

grant {
  // the test uses a class in the package sun.rmi.server
  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.registry";
  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport";
  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.proxy";
  permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.transport.tcp";
  permission java.util.PropertyPermission "package.restrict.access.sun", "read";
  permission java.util.PropertyPermission "package.restrict.access.sun.rmi", "read";

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

  // allow exporting of remote objects on an arbitrary port.
  permission java.net.SocketPermission "*:1024-", "connect,accept,listen";

  permission java.io.FilePermission ".", "read,write,delete";
  permission java.io.FilePermission ".${/}-", "read,write,delete";
};