1// Policy 4
2grant {
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
20grant 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
25grant 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
49