diff options
Diffstat (limited to 'libjava/java/security/Policy.java')
-rw-r--r-- | libjava/java/security/Policy.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/libjava/java/security/Policy.java b/libjava/java/security/Policy.java index 3b9995c..126c084 100644 --- a/libjava/java/security/Policy.java +++ b/libjava/java/security/Policy.java @@ -85,9 +85,23 @@ public abstract class Policy // FIXME: The class name of the Policy provider should really be sourced // from the "java.security" configuration file. For now, just hard-code // a stub implementation. - static private Policy currentPolicy - = new gnu.java.security.provider.DefaultPolicy(); - + static private Policy currentPolicy = null; + static + { + String pp = System.getProperty ("policy.provider"); + if (pp != null) + try + { + currentPolicy = (Policy)Class.forName(pp).newInstance(); + } + catch (Exception _) + { + currentPolicy = null; + } + if (currentPolicy == null) + currentPolicy = new gnu.java.security.provider.DefaultPolicy(); + } + /** Constructs a new Policy class. */ |