#include <SecurityManager.hpp>
Protected Member Functions | |
bool | callSecurityManager (RexxString *methodName, RexxDirectory *arguments) |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Protected Attributes | |
RexxObject * | manager |
bool | supportCall |
bool | supportCommand |
bool | supportEnvironment |
bool | supportLocal |
bool | supportMethod |
bool | supportRequires |
bool | supportStream |
Additional Inherited Members | |
Static Public Member Functions inherited from RexxInternalObject | |
static size_t | getObjectHeaderSize () |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Definition at line 52 of file SecurityManager.hpp.
SecurityManager::SecurityManager | ( | RexxObject * | m | ) |
Definition at line 57 of file SecurityManager.cpp.
References RexxObject::instanceMethod(), manager, OREF_NULL, supportCall, supportCommand, supportEnvironment, supportLocal, supportMethod, supportRequires, supportStream, and TheNilObject.
|
inline |
Definition at line 61 of file SecurityManager.hpp.
|
protected |
Do the actual invocation of the security manager.
methodName | The method name to invoke. |
arguments | The arguments to the specific method. |
Definition at line 168 of file SecurityManager.cpp.
References Error_Logical_value_authorization, Error_No_result_object_message, manager, OREF_NULL, reportException(), RexxObject::sendMessage(), and RexxObject::truthValue().
Referenced by checkCommand(), checkEnvironmentAccess(), checkFunctionCall(), checkLocalAccess(), checkProtectedMethod(), checkRequiresAccess(), and checkStreamAccess().
bool SecurityManager::checkCommand | ( | RexxActivity * | activity, |
RexxString * | address, | ||
RexxString * | command, | ||
ProtectedObject & | result, | ||
ProtectedObject & | condition | ||
) |
Check for permission to call an external command
activity | The activity we're running on |
address | |
command | |
result | The returned result. |
condition |
Definition at line 270 of file SecurityManager.cpp.
References callSecurityManager(), RexxActivity::createConditionObject(), RexxDirectory::fastAt(), IntegerZero, manager, new_directory(), OREF_NULL, RexxDirectory::put(), and supportCommand.
Referenced by RexxActivity::callCommandExit().
RexxObject * SecurityManager::checkEnvironmentAccess | ( | RexxString * | index | ) |
Do a security manager check for access to the global environment.
index | The name of the index. |
Definition at line 139 of file SecurityManager.cpp.
References callSecurityManager(), RexxDirectory::fastAt(), manager, new_directory(), OREF_NULL, RexxDirectory::put(), supportEnvironment, and TheNilObject.
Referenced by RexxSource::findClass().
bool SecurityManager::checkFunctionCall | ( | RexxString * | functionName, |
size_t | count, | ||
size_t | named_count, | ||
RexxObject ** | arguments, | ||
ProtectedObject & | result | ||
) |
Check for permission to call an external function.
functionName | The name of the target function. |
count | The return count. |
arguments | The method arguments. |
result | The returned result. |
Definition at line 232 of file SecurityManager.cpp.
References callSecurityManager(), RexxDirectory::fastAt(), manager, new_directory(), OREF_NULL, RexxDirectory::put(), and supportCall.
Referenced by RexxActivity::callObjectFunctionExit().
RexxObject * SecurityManager::checkLocalAccess | ( | RexxString * | index | ) |
Do a security manager check for access to the local environment.
index | The name of the index. |
Definition at line 110 of file SecurityManager.cpp.
References callSecurityManager(), RexxDirectory::fastAt(), manager, new_directory(), OREF_NULL, RexxDirectory::put(), supportLocal, and TheNilObject.
Referenced by RexxDirectory::atRexx(), and RexxSource::findClass().
bool SecurityManager::checkProtectedMethod | ( | RexxObject * | target, |
RexxString * | messageName, | ||
size_t | count, | ||
size_t | named_count, | ||
RexxObject ** | arguments, | ||
ProtectedObject & | result | ||
) |
Check for permission to call a protected method.
target | The target object. |
messageName | The name of the message. |
count | The return count. |
arguments | The method arguments. |
result | The returned result. |
Definition at line 193 of file SecurityManager.cpp.
References callSecurityManager(), RexxDirectory::fastAt(), manager, new_directory(), OREF_NULL, RexxDirectory::put(), and supportMethod.
Referenced by RexxObject::processProtectedMethod().
RexxString * SecurityManager::checkRequiresAccess | ( | RexxString * | name, |
RexxObject *& | securityManager | ||
) |
Check for requires file access
name | The name of the stream. |
Definition at line 347 of file SecurityManager.cpp.
References callSecurityManager(), RexxDirectory::fastAt(), manager, new_directory(), OREF_NULL, RexxDirectory::put(), supportRequires, and TheNilObject.
Referenced by PackageManager::loadRequires().
RexxObject * SecurityManager::checkStreamAccess | ( | RexxString * | name | ) |
Check for stream access permission.
name | The name of the stream. |
Definition at line 318 of file SecurityManager.cpp.
References callSecurityManager(), RexxDirectory::fastAt(), manager, new_directory(), OREF_NULL, RexxDirectory::put(), and supportStream.
Referenced by RexxActivation::resolveStream().
|
inline |
Definition at line 73 of file SecurityManager.hpp.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 86 of file SecurityManager.cpp.
References manager, and memory_mark.
|
virtual |
Reimplemented from RexxVirtualBase.
Definition at line 95 of file SecurityManager.cpp.
References manager, and memory_mark_general.
|
inline |
Definition at line 58 of file SecurityManager.hpp.
|
inline |
Definition at line 56 of file SecurityManager.hpp.
void * SecurityManager::operator new | ( | size_t | size | ) |
Definition at line 50 of file SecurityManager.cpp.
References new_object(), and T_SecurityManager.
|
inline |
Definition at line 55 of file SecurityManager.hpp.
|
protected |
Definition at line 78 of file SecurityManager.hpp.
Referenced by callSecurityManager(), checkCommand(), checkEnvironmentAccess(), checkFunctionCall(), checkLocalAccess(), checkProtectedMethod(), checkRequiresAccess(), checkStreamAccess(), isManaged(), live(), liveGeneral(), and SecurityManager().
|
protected |
Definition at line 82 of file SecurityManager.hpp.
Referenced by checkFunctionCall(), and SecurityManager().
|
protected |
Definition at line 83 of file SecurityManager.hpp.
Referenced by checkCommand(), and SecurityManager().
|
protected |
Definition at line 84 of file SecurityManager.hpp.
Referenced by checkEnvironmentAccess(), and SecurityManager().
|
protected |
Definition at line 85 of file SecurityManager.hpp.
Referenced by checkLocalAccess(), and SecurityManager().
|
protected |
Definition at line 86 of file SecurityManager.hpp.
Referenced by checkProtectedMethod(), and SecurityManager().
|
protected |
Definition at line 87 of file SecurityManager.hpp.
Referenced by checkRequiresAccess(), and SecurityManager().
|
protected |
Definition at line 88 of file SecurityManager.hpp.
Referenced by checkStreamAccess(), and SecurityManager().