![]() |
XRootD
|
#include <XrdAccAccess.hh>
Public Member Functions | |
XrdAccAccess (XrdSysError *erp) | |
~XrdAccAccess () | |
XrdAccPrivs | Access (const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *Env=0) |
int | Audit (const int accok, const XrdSecEntity *Entity, const char *path, const Access_Operation oper, XrdOucEnv *Env=0) |
void | SwapTabs (struct XrdAccAccess_Tables &newtab) |
int | Test (const XrdAccPrivs priv, const Access_Operation oper) |
![]() | |
XrdAccAuthorize () | |
Constructor. More... | |
virtual | ~XrdAccAuthorize () |
Destructor. More... | |
Static Public Member Functions | |
static const char * | Resolve (const XrdSecEntity *Entity) |
Friends | |
class | XrdAccConfig |
Definition at line 127 of file XrdAccAccess.hh.
XrdAccAccess::XrdAccAccess | ( | XrdSysError * | erp | ) |
Definition at line 94 of file XrdAccAccess.cc.
References XrdAccAuditObject().
|
inline |
Definition at line 156 of file XrdAccAccess.hh.
|
virtual |
Check whether or not the client is permitted specified access to a path.
Entity | -> Authentication information |
path | -> The logical path which is the target of oper |
oper | -> The operation being attempted (see the enum above). If the oper is AOP_Any, then the actual privileges are returned and the caller may make subsequent tests using Test(). |
Env | -> Environmental information at the time of the operation as supplied by the path CGI string. This is optional and the pointer may be zero. |
Implements XrdAccAuthorize.
Definition at line 105 of file XrdAccAccess.cc.
References XrdAccAccess_ID::Applies(), XrdAccAccess_ID::caps, XrdAccAccess_Tables::D_List, XrdSecEntity::eaAPI, XrdOucHash< T >::Find(), XrdAccCapName::Find(), XrdAccAccess_Tables::G_Hash, XrdSecEntityAttr::Get(), XrdAccConfig::GroupMaster, XrdAccEntityInfo::grup, XrdAccAccess_Tables::H_Hash, XrdAccEntityInfo::host, XrdSysXSLock::Lock(), XrdAccAccess_Tables::N_Hash, XrdAccEntityInfo::name, XrdSecEntity::name, XrdAccGroups::NetGroups(), XrdAccAccess_ID::next, XrdAccGroupList::Next(), XrdAccEntity::Next(), XrdAccAccess_Tables::O_Hash, XrdAccCapability::Privs(), XrdAccAccess_Tables::R_Hash, Resolve(), XrdAccEntityInfo::role, XrdAccAccess_Tables::SXList, XrdAccAccess_Tables::SYList, XrdAccAccess_Tables::U_Hash, XrdSysXSLock::UnLock(), XrdAccEntityInfo::vorg, XrdAccAccess_Tables::X_List, XrdAccConfiguration, XrdOucHashVal2(), xs_Shared, and XrdAccAccess_Tables::Z_List.
|
virtual |
Route an audit message to the appropriate audit exit routine. See XrdAccAudit.h for more information on how the default implementation works. Currently, this method is not called by the ofs but should be used by the implementation to record denials or grants, as warranted.
accok | -> True is access was grated; false otherwise. |
Entity | -> Authentication information |
path | -> The logical path which is the target of oper |
oper | -> The operation being attempted (see above) |
Env | -> Environmental information at the time of the operation as supplied by the path CGI string. This is optional and the pointer may be zero. |
Implements XrdAccAuthorize.
Definition at line 284 of file XrdAccAccess.cc.
References AOP_LastOp, XrdAccAudit::Deny(), XrdSecEntity::eaAPI, XrdSecEntityAttr::Get(), XrdAccAudit::Grant(), XrdSecEntity::host, XrdSecEntity::name, XrdSecEntity::prot, XrdSecEntity::tident, and XrdSecPROTOIDSIZE.
|
static |
Definition at line 337 of file XrdAccAccess.cc.
References XrdSecEntity::addrInfo, XrdSecEntity::host, and XrdNetAddrInfo::Name().
Referenced by Access().
void XrdAccAccess::SwapTabs | ( | struct XrdAccAccess_Tables & | newtab | ) |
Definition at line 354 of file XrdAccAccess.cc.
References XrdAccAccess_Tables::D_List, XrdAccAccess_Tables::E_List, XrdAccAccess_Tables::G_Hash, XrdAccConfig::GroupMaster, XrdAccAccess_Tables::H_Hash, XrdAccAccess_ID::host, XrdSysXSLock::Lock(), XrdAccAccess_Tables::N_Hash, XrdAccAccess_ID::next, XrdAccAccess_Tables::O_Hash, XrdAccGroups::PurgeCache(), XrdAccAccess_Tables::R_Hash, XrdAccAccess_Tables::S_Hash, XrdAccAccess_Tables::SXList, XrdAccAccess_Tables::SYList, XrdAccAccess_Tables::T_Hash, XrdAccAccess_Tables::U_Hash, XrdSysXSLock::UnLock(), XrdAccAccess_Tables::X_List, XrdAccConfiguration, XrdAccSWAP, xs_Exclusive, and XrdAccAccess_Tables::Z_List.
Referenced by XrdAccConfig::ConfigDB().
|
virtual |
Check whether the specified operation is permitted.
priv | -> the privileges as returned by Access(). |
oper | -> The operation being attempted (see above) |
Implements XrdAccAuthorize.
Definition at line 415 of file XrdAccAccess.cc.
References AOP_LastOp, XrdAccPriv_Chmod, XrdAccPriv_Chown, XrdAccPriv_Create, XrdAccPriv_Delete, XrdAccPriv_Insert, XrdAccPriv_Lock, XrdAccPriv_Lookup, XrdAccPriv_Mkdir, XrdAccPriv_None, XrdAccPriv_Read, XrdAccPriv_Readdir, XrdAccPriv_Rename, and XrdAccPriv_Update.
|
friend |
Definition at line 131 of file XrdAccAccess.hh.