1 //
   2 // Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
   3 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 //
   5 // This code is free software; you can redistribute it and/or modify it
   6 // under the terms of the GNU General Public License version 2 only, as
   7 // published by the Free Software Foundation.
   8 //
   9 // This code is distributed in the hope that it will be useful, but WITHOUT
  10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  12 // version 2 for more details (a copy is included in the LICENSE file that
  13 // accompanied this code).
  14 //
  15 // You should have received a copy of the GNU General Public License version
  16 // 2 along with this work; if not, write to the Free Software Foundation,
  17 // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 //
  19 // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 // or visit www.oracle.com if you need additional information or have any
  21 // questions.
  22 //
  23 
  24 // Policy 14
  25 grant {
  26     // permissions common to all tests
  27     permission java.util.PropertyPermission "*", "read";
  28     permission java.io.FilePermission "${test.classes}${/}-", "read,write,delete";
  29     permission java.lang.RuntimePermission "modifyThread";
  30     permission java.util.logging.LoggingPermission "control", "";
  31     permission java.net.SocketPermission "localhost:1024-", "accept,listen";
  32     permission java.io.FilePermission "${test.src}${/}docs${/}-", "read";
  33     permission java.lang.RuntimePermission "createClassLoader";
  34 
  35 
  36     // permissions specific to this test
  37     permission java.net.URLPermission "http://127.0.0.1:*/files/foo.txt", "GET";
  38 };
  39 
  40 // For proxy only. Not being tested
  41 grant codebase "file:${test.classes}/proxydir/-" {
  42     permission java.net.SocketPermission "localhost:1024-", "accept,listen,connect";
  43     permission java.net.SocketPermission "127.0.0.1:1024-", "connect,resolve";
  44 };
  45 
  46 grant codeBase "jrt:/jdk.incubator.httpclient" {
  47     permission java.lang.RuntimePermission "accessClassInPackage.sun.net";
  48     permission java.lang.RuntimePermission "accessClassInPackage.sun.net.util";
  49     permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www";
  50     permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.misc";
  51 
  52     // ## why is SP not good enough. Check API @throws signatures and impl
  53     permission java.net.SocketPermission "*","connect,resolve";
  54     permission java.net.URLPermission "http:*","*:*";
  55     permission java.net.URLPermission "https:*","*:*";
  56     permission java.net.URLPermission "ws:*","*:*";
  57     permission java.net.URLPermission "wss:*","*:*";
  58     permission java.net.URLPermission "socket:*","CONNECT";  // proxy
  59 
  60     // For request/response body processors, fromFile, asFile
  61     permission java.io.FilePermission "<<ALL FILES>>","read,write";  // delete???
  62 
  63     permission java.util.PropertyPermission "jdk.httpclient.*","read";
  64 
  65     permission java.net.NetPermission "getProxySelector";
  66 };
  67