scuffed-code/icu4j/main/shared/data/security.policy
2009-06-16 05:52:23 +00:00

51 lines
2.2 KiB
Plaintext

//#
//#*******************************************************************************
//#* Copyright (C) 1997-2009, International Business Machines Corporation and *
//#* others. All Rights Reserved. *
//#*******************************************************************************
//#* This is the ant build file for ICU4J. See readme.html for more information.
//#*
// policies needed to run tests
grant // codebase "file:${user.dir}/icu4jtests.jar"
{
// temporary for debugging
// permission java.lang.RuntimePermission "getProtectionDomain";
// ibm 141 on ibm xp can't use reflection
permission java.lang.RuntimePermission "accessDeclaredMembers";
// needed for Locale.setDefault, only used in tests and demos
permission java.util.PropertyPermission "user.language", "write";
// needed for TestUtils
permission java.util.PropertyPermission "ICUDataPath", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "GENERATE_TEST_DATA", "read";
// time zone tests
permission java.util.PropertyPermission "user.timezone", "read";
//for charsets
permission java.lang.RuntimePermission "charsetProvider", "read";
// IBM 1.6 on Windows does not allow to use reflection to access
// getDSTSavings in TimeZone implementation class in sun.util.clanedar.
permission java.lang.RuntimePermission "accessClassInPackage.sun.util.calendar";
};
// there must be a way for code in one jar file to call code in another jar
// file and give the called code permission to read the calling code's
// jar. they're in different protection domains despite being on the
// same classpath and being loaded by the same class loader, so the class
// loader doesn't disambiguate which protection domain we're using. it's
// not easy to figure out the security docs, sigh.
//
// this is so ICUData (in icu4j.jar), called from test code (in icu4jtests.jar)
// can read test resource files (in icu4jtests.jar"
//
grant codebase "file:${user.dir}/icu4j.jar"
{
permission java.io.FilePermission "${/}${user.dir}${/}icu4jtests.jar", "read";
permission java.io.FilePermission "${/}${user.dir}${/}icu4j-charsets.jar", "read";
};