1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.river.tool.envcheck.plugins;
19
20 import org.apache.river.tool.envcheck.AbstractPlugin;
21 import org.apache.river.tool.envcheck.Plugin;
22 import org.apache.river.tool.envcheck.EnvCheck;
23 import org.apache.river.tool.envcheck.Reporter;
24 import org.apache.river.tool.envcheck.Reporter.Message;
25 import org.apache.river.tool.envcheck.SubVMTask;
26 import org.apache.river.tool.envcheck.Util;
27 import org.apache.river.start.SharedActivationGroupDescriptor;
28
29
30
31
32
33
34
35
36
37
38 public class CheckJSKPolicy extends AbstractPlugin {
39
40 private EnvCheck envCheck;
41 private String codebase;
42 private static String provider =
43 "net.jini.security.policy.DynamicPolicyProvider";
44
45
46
47
48
49
50 public void run(EnvCheck envCheck) {
51 this.envCheck = envCheck;
52 checkPolicy(null);
53 SharedActivationGroupDescriptor gd = envCheck.getGroupDescriptor();
54 if (gd != null) {
55 checkPolicy(gd);
56 }
57 }
58
59
60
61
62
63
64
65
66 private void checkPolicy(SharedActivationGroupDescriptor gd) {
67 String source =
68 gd == null ? getString("vmsource")
69 : getString("groupsource", gd.getServerCommand());
70 Object o = envCheck.launch(null, gd, taskName("JSKPolicyTask"));
71 if (o instanceof Boolean) {
72 Message message;
73 if (((Boolean) o).booleanValue()) {
74 message = new Message(Reporter.INFO,
75 getString("policyOK"),
76 getString("policyExp"));
77 } else {
78 message = new Message(Reporter.ERROR,
79 getString("policyBad"),
80 getString("missingPolicyExp"));
81 }
82 Reporter.print(message, source);
83 } else {
84 handleUnexpectedSubtaskReturn(o, source);
85 }
86 }
87
88
89
90
91 public static class JSKPolicyTask implements SubVMTask {
92
93 public Object run(String[] args) {
94 try {
95 Class c = Class.forName(provider);
96 if (c.getClassLoader().getParent() == null) {
97 return new Boolean(true);
98 } else {
99 return new Boolean(false);
100 }
101 } catch (ClassNotFoundException e) {
102 return new Boolean(false);
103 }
104 }
105 }
106 }
107