KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > ant > internal > core > ant > AntSecurityManager


1 /*******************************************************************************
2  * Copyright (c) 2000, 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.ant.internal.core.ant;
12
13
14 import java.io.FileDescriptor JavaDoc;
15 import java.net.InetAddress JavaDoc;
16 import java.net.SocketPermission JavaDoc;
17 import java.security.Permission JavaDoc;
18
19 import org.eclipse.ant.core.AntSecurityException;
20
21 /**
22  * A security manager that always throws an <code>AntSecurityException</code>
23  * if the calling thread attempts to cause the Java Virtual Machine to
24  * exit/halt.
25  * Otherwise this manager just delegates to the pre-existing manager
26  * passed in the constructor or mimics the default security manager behavior
27  */

28 public class AntSecurityManager extends SecurityManager JavaDoc {
29
30     protected SecurityManager JavaDoc securityManager= null;
31     
32     protected AntSecurityManager(SecurityManager JavaDoc securityManager) {
33         this.securityManager= securityManager;
34     }
35     /* (non-Javadoc)
36      * @see java.lang.SecurityManager#checkExit(int)
37      */

38     public void checkExit(int status) {
39         //no exit allowed...System.exit is being called
40
//by some ant task...do not want Eclipse to exit if
41
//in the same VM,
42
//The message is used in loggers to determine that this is
43
//not really an exception case.
44
throw new AntSecurityException();
45     }
46     /* (non-Javadoc)
47      * @see java.lang.SecurityManager#checkAccept(java.lang.String, int)
48      */

49     public void checkAccept(String JavaDoc host, int port) {
50         if (securityManager != null) {
51             securityManager.checkAccept(host, port);
52         }
53     }
54
55     /* (non-Javadoc)
56      * @see java.lang.SecurityManager#checkAccess(java.lang.Thread)
57      */

58     public void checkAccess(Thread JavaDoc t) {
59         if (securityManager != null) {
60             securityManager.checkAccess(t);
61         }
62     }
63
64     /* (non-Javadoc)
65      * @see java.lang.SecurityManager#checkAccess(java.lang.ThreadGroup)
66      */

67     public void checkAccess(ThreadGroup JavaDoc g) {
68         if (securityManager != null) {
69             securityManager.checkAccess(g);
70         }
71     }
72
73     /* (non-Javadoc)
74      * @see java.lang.SecurityManager#checkAwtEventQueueAccess()
75      */

76     public void checkAwtEventQueueAccess() {
77         if (securityManager != null) {
78             securityManager.checkAwtEventQueueAccess();
79         }
80     }
81
82     /* (non-Javadoc)
83      * @see java.lang.SecurityManager#checkConnect(java.lang.String, int, java.lang.Object)
84      */

85     public void checkConnect(String JavaDoc host, int port, Object JavaDoc context) {
86         if (securityManager != null) {
87             securityManager.checkConnect(host, port, context);
88         }
89     }
90
91     /* (non-Javadoc)
92      * @see java.lang.SecurityManager#checkConnect(java.lang.String, int)
93      */

94     public void checkConnect(String JavaDoc host, int port) {
95         if (securityManager != null) {
96             securityManager.checkConnect(host, port);
97         }
98     }
99
100     /* (non-Javadoc)
101      * @see java.lang.SecurityManager#checkCreateClassLoader()
102      */

103     public void checkCreateClassLoader() {
104         if (securityManager != null) {
105             securityManager.checkCreateClassLoader();
106         }
107     }
108
109     /* (non-Javadoc)
110      * @see java.lang.SecurityManager#checkDelete(java.lang.String)
111      */

112     public void checkDelete(String JavaDoc file) {
113         if (securityManager != null) {
114             securityManager.checkDelete(file);
115         }
116     }
117
118     /* (non-Javadoc)
119      * @see java.lang.SecurityManager#checkExec(java.lang.String)
120      */

121     public void checkExec(String JavaDoc cmd) {
122         if (securityManager != null) {
123             securityManager.checkExec(cmd);
124         }
125     }
126
127     /* (non-Javadoc)
128      * @see java.lang.SecurityManager#checkLink(java.lang.String)
129      */

130     public void checkLink(String JavaDoc lib) {
131         if (securityManager != null) {
132             securityManager.checkLink(lib);
133         }
134     }
135
136     /* (non-Javadoc)
137      * @see java.lang.SecurityManager#checkListen(int)
138      */

139     public void checkListen(int port) {
140         if (securityManager != null) {
141             securityManager.checkListen(port);
142         }
143     }
144
145     /* (non-Javadoc)
146      * @see java.lang.SecurityManager#checkMemberAccess(java.lang.Class, int)
147      */

148     public void checkMemberAccess(Class JavaDoc clazz, int which) {
149         if (securityManager != null) {
150             securityManager.checkMemberAccess(clazz, which);
151         }
152     }
153
154     /**
155      * @see java.lang.SecurityManager#checkMulticast(java.net.InetAddress, byte)
156      * @deprecated
157      */

158     public void checkMulticast(InetAddress JavaDoc maddr, byte ttl) {
159         if (securityManager != null) {
160             String JavaDoc host = maddr.getHostAddress();
161             if (!host.startsWith("[") && host.indexOf(':') != -1) { //$NON-NLS-1$
162
host = "[" + host + "]"; //$NON-NLS-1$ //$NON-NLS-2$
163
}
164             checkPermission(new SocketPermission JavaDoc(host, "accept,connect")); //$NON-NLS-1$
165
}
166     }
167
168     /* (non-Javadoc)
169      * @see java.lang.SecurityManager#checkMulticast(java.net.InetAddress)
170      */

171     public void checkMulticast(InetAddress JavaDoc maddr) {
172         if (securityManager != null) {
173             securityManager.checkMulticast(maddr);
174         }
175     }
176
177     /* (non-Javadoc)
178      * @see java.lang.SecurityManager#checkPackageAccess(java.lang.String)
179      */

180     public void checkPackageAccess(String JavaDoc pkg) {
181         if (securityManager != null) {
182             securityManager.checkPackageAccess(pkg);
183         }
184     }
185
186     /* (non-Javadoc)
187      * @see java.lang.SecurityManager#checkPackageDefinition(java.lang.String)
188      */

189     public void checkPackageDefinition(String JavaDoc pkg) {
190         if (securityManager != null) {
191             securityManager.checkPackageDefinition(pkg);
192         }
193     }
194
195     /* (non-Javadoc)
196      * @see java.lang.SecurityManager#checkPermission(java.security.Permission, java.lang.Object)
197      */

198     public void checkPermission(Permission JavaDoc perm, Object JavaDoc context) {
199         if (securityManager != null) {
200             securityManager.checkPermission(perm, context);
201         }
202     }
203
204     /* (non-Javadoc)
205      * @see java.lang.SecurityManager#checkPermission(java.security.Permission)
206      */

207     public void checkPermission(Permission JavaDoc perm) {
208         if (securityManager != null) {
209             securityManager.checkPermission(perm);
210         }
211     }
212
213     /* (non-Javadoc)
214      * @see java.lang.SecurityManager#checkPrintJobAccess()
215      */

216     public void checkPrintJobAccess() {
217         if (securityManager != null) {
218             securityManager.checkPrintJobAccess();
219         }
220     }
221
222     /* (non-Javadoc)
223      * @see java.lang.SecurityManager#checkPropertiesAccess()
224      */

225     public void checkPropertiesAccess() {
226         if (securityManager != null) {
227             securityManager.checkPropertiesAccess();
228         }
229     }
230
231     /* (non-Javadoc)
232      * @see java.lang.SecurityManager#checkPropertyAccess(java.lang.String)
233      */

234     public void checkPropertyAccess(String JavaDoc key) {
235         if (securityManager != null) {
236             securityManager.checkPropertyAccess(key);
237         }
238     }
239
240     /* (non-Javadoc)
241      * @see java.lang.SecurityManager#checkRead(java.io.FileDescriptor)
242      */

243     public void checkRead(FileDescriptor JavaDoc fd) {
244         if (securityManager != null) {
245             securityManager.checkRead(fd);
246         }
247     }
248
249     /* (non-Javadoc)
250      * @see java.lang.SecurityManager#checkRead(java.lang.String, java.lang.Object)
251      */

252     public void checkRead(String JavaDoc file, Object JavaDoc context) {
253         if (securityManager != null) {
254             securityManager.checkRead(file, context);
255         }
256     }
257
258     /* (non-Javadoc)
259      * @see java.lang.SecurityManager#checkRead(java.lang.String)
260      */

261     public void checkRead(String JavaDoc file) {
262         if (securityManager != null) {
263             securityManager.checkRead(file);
264         }
265     }
266
267     /* (non-Javadoc)
268      * @see java.lang.SecurityManager#checkSecurityAccess(java.lang.String)
269      */

270     public void checkSecurityAccess(String JavaDoc target) {
271         if (securityManager != null) {
272             securityManager.checkSecurityAccess(target);
273         }
274     }
275
276     /* (non-Javadoc)
277      * @see java.lang.SecurityManager#checkSetFactory()
278      */

279     public void checkSetFactory() {
280         if (securityManager != null) {
281             securityManager.checkSetFactory();
282         }
283     }
284
285     /* (non-Javadoc)
286      * @see java.lang.SecurityManager#checkSystemClipboardAccess()
287      */

288     public void checkSystemClipboardAccess() {
289         if (securityManager != null) {
290             securityManager.checkSystemClipboardAccess();
291         }
292     }
293
294     /* (non-Javadoc)
295      * @see java.lang.SecurityManager#checkTopLevelWindow(java.lang.Object)
296      */

297     public boolean checkTopLevelWindow(Object JavaDoc window) {
298         if (securityManager != null) {
299             return securityManager.checkTopLevelWindow(window);
300         }
301         return super.checkTopLevelWindow(window);
302     }
303
304     /* (non-Javadoc)
305      * @see java.lang.SecurityManager#checkWrite(java.io.FileDescriptor)
306      */

307     public void checkWrite(FileDescriptor JavaDoc fd) {
308         if (securityManager != null) {
309             securityManager.checkWrite(fd);
310         }
311     }
312
313     /* (non-Javadoc)
314      * @see java.lang.SecurityManager#checkWrite(java.lang.String)
315      */

316     public void checkWrite(String JavaDoc file) {
317         if (securityManager != null) {
318             securityManager.checkWrite(file);
319         }
320     }
321
322     /**
323      * @see java.lang.SecurityManager#getInCheck()
324      * @deprecated
325      */

326     public boolean getInCheck() {
327         if (securityManager != null) {
328             return securityManager.getInCheck();
329         }
330         return super.getInCheck();
331     }
332
333     /* (non-Javadoc)
334      * @see java.lang.SecurityManager#getSecurityContext()
335      */

336     public Object JavaDoc getSecurityContext() {
337         if (securityManager != null) {
338             return securityManager.getSecurityContext();
339         }
340         return super.getSecurityContext();
341     }
342
343     /* (non-Javadoc)
344      * @see java.lang.SecurityManager#getThreadGroup()
345      */

346     public ThreadGroup JavaDoc getThreadGroup() {
347         if (securityManager != null) {
348             securityManager.getThreadGroup();
349         }
350         return super.getThreadGroup();
351     }
352 }
Popular Tags