|
Voyager ORB | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.SecurityManager | +--com.objectspace.voyager.security.VoyagerSecurityManager
VoyagerSecurityManager is a pluggable security manager that restricts the operations of foreign objects. A foreign object is defined as an object whose class was loaded across the network from another program.
By default, a VoyagerSecurityManager is *not* installed. To install one, execute System.setSecurityManager( new VoyagerSecurityManager() );
If you are extending VoyagerSecurityManager to provide your own implementation, there is a method "isForeign()" that can be utilized to detect if a foreign object is involved in the call chain.
Fields inherited from class java.lang.SecurityManager |
inCheck |
Constructor Summary | |
VoyagerSecurityManager()
Construct and initialize a Voyager security manager. |
Method Summary | |
void |
checkAccept(java.lang.String host,
int port)
A foreign object may accept connections from any host. |
void |
checkAccess(java.lang.Thread thread)
A foreign object may not manipulate threads directly. |
void |
checkAccess(java.lang.ThreadGroup group)
A foreign object may not manipulate thread groups directly. |
void |
checkAwtEventQueueAccess()
A foreign object may gain access to the AWT event queue. |
void |
checkConnect(java.lang.String host,
int port)
A foreign object may connect to any host. |
void |
checkConnect(java.lang.String host,
int port,
java.lang.Object context)
A foreign object may connect to any host. |
void |
checkCreateClassLoader()
A foreign object may not create a class loader. |
void |
checkDelete(java.lang.String file)
A foreign object may not delete files. |
void |
checkExec(java.lang.String cmd)
A foreign object may not execute a process. |
void |
checkExit(int status)
A foreign object may not exit the VM. |
void |
checkLink(java.lang.String lib)
A foreign object may not link to dynamic library. |
void |
checkListen(int port)
A foreign object may listen on any port. |
void |
checkMemberAccess(java.lang.Class type,
int which)
A foreign object may access only public data and methods. |
void |
checkMethodAccess(java.lang.Class type,
java.lang.String method,
java.lang.Object arg)
Checks if the method invoked on the given type is allowed. |
void |
checkMulticast(java.net.InetAddress address)
A foreign object may utilize multicast addressing. |
void |
checkMulticast(java.net.InetAddress address,
byte ttl)
A foreign object may utilize multicast addressing. |
void |
checkPackageAccess(java.lang.String packageName)
A foreign object may access packages. |
void |
checkPackageDefinition(java.lang.String packageName)
A foreign object may define classes in packages |
void |
checkPrintJobAccess()
A foreign object may not print. |
void |
checkPropertiesAccess()
A foreign object may manipulate properties. |
void |
checkPropertyAccess(java.lang.String key)
A foreign object may manipulate properties. |
void |
checkRead(java.io.FileDescriptor fd)
A foreign object may not read files, but may read socket file descriptors. |
void |
checkRead(java.lang.String file)
A foreign object may not read files. |
void |
checkRead(java.lang.String file,
java.lang.Object context)
A foreign object may not read files. |
void |
checkSecurityAccess(java.lang.String provider)
A foreign object may not access security APIs. |
void |
checkSetFactory()
A foreign object may not set socket factories. |
void |
checkSystemClipboardAccess()
A foreign object may not access the system clipboard. |
boolean |
checkTopLevelWindow(java.lang.Object window)
A foreign object can create windows, but with warnings. |
void |
checkWrite(java.io.FileDescriptor fd)
A foreign object may not write files but may write to socket file descriptors. |
void |
checkWrite(java.lang.String file)
A foreign object may not write files. |
protected boolean |
invokedByRemoteMessage()
Returns true if this thread of execution was initiated by a remote method invocation. |
protected boolean |
isForeign()
Return true if the current object that is initiating the calling chain is a foreign object. |
protected boolean |
validThreadAccess()
|
Methods inherited from class java.lang.SecurityManager |
checkPermission,
checkPermission,
classDepth,
classLoaderDepth,
currentClassLoader,
currentLoadedClass,
getClassContext,
getInCheck,
getSecurityContext,
getThreadGroup,
inClass,
inClassLoader |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public VoyagerSecurityManager()
Method Detail |
public void checkAccept(java.lang.String host, int port)
host
- The host name.port
- The port number.public void checkAccess(java.lang.Thread thread)
thread
- The thread.public void checkAccess(java.lang.ThreadGroup group)
group
- The thread group.public void checkAwtEventQueueAccess()
public void checkConnect(java.lang.String host, int port)
host
- The host name.port
- The port number.public void checkConnect(java.lang.String host, int port, java.lang.Object context)
host
- The host name.port
- The port number.context
- The context.public void checkCreateClassLoader()
public void checkDelete(java.lang.String file)
file
- The filename.public void checkExec(java.lang.String cmd)
cmd
- The command.public void checkExit(int status)
status
- The exit status.public void checkLink(java.lang.String lib)
lib
- The library name.public void checkListen(int port)
port
- The port number.public void checkMemberAccess(java.lang.Class type, int which)
type
- The class.public void checkMulticast(java.net.InetAddress address)
address
- The multicast address.public void checkMulticast(java.net.InetAddress address, byte ttl)
address
- The multicast address.ttl
- value in use, if it is multicast send.public void checkPackageAccess(java.lang.String packageName)
packageName
- The package name.public void checkPackageDefinition(java.lang.String packageName)
packageName
- The package name.public void checkPrintJobAccess()
public void checkPropertiesAccess()
public void checkPropertyAccess(java.lang.String key)
key
- The property key.public void checkRead(java.io.FileDescriptor fd)
fd
- The file descriptor.public void checkRead(java.lang.String file)
file
- The filename.public void checkRead(java.lang.String file, java.lang.Object context)
file
- The filename.context
- The context.public void checkSecurityAccess(java.lang.String provider)
provider
- The provider.public void checkSetFactory()
public void checkSystemClipboardAccess()
public boolean checkTopLevelWindow(java.lang.Object window)
window
- The window.public void checkWrite(java.io.FileDescriptor fd)
fd
- The file descriptor.public void checkWrite(java.lang.String file)
file
- The filename.public void checkMethodAccess(java.lang.Class type, java.lang.String method, java.lang.Object arg)
type
- The class.method
- The method name.arg
- The argument passed to the method that may affect the access decision.protected boolean isForeign()
protected boolean invokedByRemoteMessage()
protected boolean validThreadAccess()
|
ObjectSpace Inc. | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |