49 |
import java.security.AccessController; |
import java.security.AccessController; |
50 |
import java.security.AllPermission; |
import java.security.AllPermission; |
51 |
import java.security.Permission; |
import java.security.Permission; |
52 |
|
import java.security.PrivilegedAction; |
53 |
import java.security.Security; |
import java.security.Security; |
54 |
import java.security.SecurityPermission; |
import java.security.SecurityPermission; |
55 |
import java.util.PropertyPermission; |
import java.util.PropertyPermission; |
1014 |
* @see #checkPackageAccess(String) |
* @see #checkPackageAccess(String) |
1015 |
* @see #checkPackageDefinition(String) |
* @see #checkPackageDefinition(String) |
1016 |
*/ |
*/ |
1017 |
void checkPackageList(String packageName, String restriction, |
void checkPackageList(String packageName, final String restriction, |
1018 |
String permission) |
String permission) |
1019 |
{ |
{ |
1020 |
// Use the toString() hack to do the null check. |
// Use the toString() hack to do the null check. |
1021 |
Permission p = new RuntimePermission(permission + packageName.toString()); |
Permission p = new RuntimePermission(permission + packageName.toString()); |
1022 |
String list = Security.getProperty("package." + restriction); |
String list = (String)AccessController.doPrivileged(new PrivilegedAction() { |
1023 |
|
public Object run() { |
1024 |
|
return Security.getProperty("package." + restriction); |
1025 |
|
} |
1026 |
|
}); |
1027 |
if (list == null) |
if (list == null) |
1028 |
return; |
return; |
1029 |
while (! "".equals(packageName)) |
while (! "".equals(packageName)) |