1 // Policy 4
   2 grant {
   3     // permissions common to all tests
   4     permission java.util.PropertyPermission "*", "read";
   5     permission java.io.FilePermission "${test.classes}${/}-", "read,write,delete";
   6     permission java.net.NetPermission "getDefaultHttpClient";
   7     permission java.lang.RuntimePermission "modifyThread";
   8     permission java.util.logging.LoggingPermission "control", "";
   9     permission java.net.SocketPermission "localhost:1024-", "accept,listen";
  10     permission java.io.FilePermission "${test.src}${/}docs${/}-", "read";
  11     permission java.lang.RuntimePermission "createClassLoader";
  12 
  13 
  14     // permissions specific to this test
  15     permission java.net.URLPermission "http://127.0.0.1:*/redirect/foo.txt", "GET";
  16     permission java.net.URLPermission "http://127.0.0.1:*/redirect/bar.txt", "GET";
  17 };
  18 
  19 // For proxy only. Not being tested
  20 grant codebase "file:${test.classes}/proxydir/-" {
  21     permission java.net.SocketPermission "localhost:1024-", "accept,listen,connect";
  22     permission java.net.SocketPermission "127.0.0.1:1024-", "connect,resolve";
  23 };
  24 
  25 grant codeBase "jrt:/jdk.incubator.httpclient" {
  26     permission java.lang.RuntimePermission "accessClassInPackage.sun.net";
  27     permission java.lang.RuntimePermission "accessClassInPackage.sun.net.util";
  28     permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www";
  29     permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.misc";
  30 
  31     // ## why is SP not good enough. Check API @throws signatures and impl
  32     permission java.net.SocketPermission "*","connect,resolve";
  33     permission java.net.URLPermission "http:*","*:*";
  34     permission java.net.URLPermission "https:*","*:*";
  35     permission java.net.URLPermission "ws:*","*:*";
  36     permission java.net.URLPermission "wss:*","*:*";
  37     permission java.net.URLPermission "socket:*","CONNECT";  // proxy
  38 
  39     // For request/response body processors, fromFile, asFile
  40     permission java.io.FilePermission "<<ALL FILES>>","read,write";  // delete???
  41 
  42     permission java.util.PropertyPermission "jdk.httpclient.*","read";
  43 
  44     // ## these permissions do not appear in the NetPermission spec!!! JDK bug?
  45     permission java.net.NetPermission "getSSLContext";
  46     permission java.net.NetPermission "setSSLContext";
  47 };
  48