|
xrootd
|
#include <XrdAccAccess.hh>


Public Member Functions | |
| 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) |
| XrdAccAccess (XrdSysError *erp) | |
| ~XrdAccAccess () | |
Private Member Functions | |
| XrdAccPrivs | Access (const char *id, const Access_ID_Type idtype, const char *path, const Access_Operation oper) |
Private Attributes | |
| struct XrdAccAccess_Tables | Atab |
| XrdSysXSLock | Access_Context |
| XrdAccAudit * | Auditor |
Friends | |
| class | XrdAccConfig |
| XrdAccAccess::XrdAccAccess | ( | XrdSysError * | erp | ) |
References Auditor, and XrdAccAuditObject().
| XrdAccAccess::~XrdAccAccess | ( | ) | [inline] |
| XrdAccPrivs XrdAccAccess::Access | ( | const XrdSecEntity * | Entity, |
| const char * | path, | ||
| const Access_Operation | oper, | ||
| XrdOucEnv * | Env = 0 |
||
| ) | [virtual] |
Implements XrdAccAuthorize.
References XrdOucHashVal2(), Auditor, XrdAccAudit::Auditing(), XrdSecEntity::name, XrdSecEntity::host, Access_Context, XrdSysXSLock::Lock(), xs_Shared, Atab, XrdAccAccess_Tables::Z_List, XrdAccCapability::Privs(), XrdAccAccess_Tables::D_List, XrdAccCapName::Find(), XrdAccAccess_Tables::H_Hash, XrdOucHash::Find(), XrdAccAccess_Tables::X_List, XrdAccAccess_Tables::U_Hash, XrdAccAccess_Tables::G_Hash, XrdSecEntity::grps, strlcpy(), XrdOucTokenizer::GetLine(), XrdOucTokenizer::GetToken(), XrdAccConfig::GroupMaster, XrdAccGroups::Groups(), XrdAccGroupList::Next(), XrdAccAccess_Tables::N_Hash, XrdAccGroups::NetGroups(), XrdSysXSLock::UnLock(), XrdAccPrivCaps::pprivs, XrdAccPrivCaps::nprivs, Test(), audit_grant, and Audit().
| XrdAccPrivs XrdAccAccess::Access | ( | const char * | id, |
| const Access_ID_Type | idtype, | ||
| const char * | path, | ||
| const Access_Operation | oper | ||
| ) | [private] |
References XrdOucHashVal2(), AID_Group, Atab, XrdAccAccess_Tables::G_Hash, AID_Host, XrdAccAccess_Tables::H_Hash, AID_Netgroup, XrdAccAccess_Tables::N_Hash, AID_Set, XrdAccAccess_Tables::S_Hash, AID_Template, XrdAccAccess_Tables::T_Hash, AID_User, XrdAccAccess_Tables::U_Hash, Access_Context, XrdSysXSLock::Lock(), xs_Shared, XrdAccAccess_Tables::Z_List, XrdAccCapability::Privs(), XrdAccAccess_Tables::X_List, XrdAccAccess_Tables::D_List, XrdAccCapName::Find(), XrdOucHash::Find(), XrdSysXSLock::UnLock(), Test(), XrdAccPrivCaps::pprivs, and XrdAccPrivCaps::nprivs.
| int XrdAccAccess::Audit | ( | const int | accok, |
| const XrdSecEntity * | Entity, | ||
| const char * | path, | ||
| const Access_Operation | oper, | ||
| XrdOucEnv * | Env = 0 |
||
| ) | [virtual] |
Implements XrdAccAuthorize.
References AOP_LastOp, XrdSecEntity::name, XrdSecEntity::host, XrdSecPROTOIDSIZE, XrdSecEntity::prot, Auditor, XrdAccAudit::Grant(), XrdSecEntity::tident, and XrdAccAudit::Deny().
Referenced by Access().
| void XrdAccAccess::SwapTabs | ( | struct XrdAccAccess_Tables & | newtab | ) |
References Access_Context, XrdSysXSLock::Lock(), xs_Exclusive, XrdAccSWAP, XrdAccAccess_Tables::D_List, XrdAccAccess_Tables::E_List, XrdAccAccess_Tables::G_Hash, XrdAccAccess_Tables::H_Hash, XrdAccAccess_Tables::N_Hash, XrdAccAccess_Tables::S_Hash, XrdAccAccess_Tables::T_Hash, XrdAccAccess_Tables::U_Hash, XrdAccAccess_Tables::X_List, XrdAccAccess_Tables::Z_List, XrdAccConfig::GroupMaster, XrdAccGroups::PurgeCache(), and XrdSysXSLock::UnLock().
Referenced by XrdAccConfig::ConfigDB().
| int XrdAccAccess::Test | ( | const XrdAccPrivs | priv, |
| const Access_Operation | oper | ||
| ) | [virtual] |
Implements XrdAccAuthorize.
References XrdAccPriv_None, XrdAccPriv_Chmod, XrdAccPriv_Chown, XrdAccPriv_Create, XrdAccPriv_Delete, XrdAccPriv_Insert, XrdAccPriv_Lock, XrdAccPriv_Mkdir, XrdAccPriv_Read, XrdAccPriv_Readdir, XrdAccPriv_Rename, XrdAccPriv_Lookup, XrdAccPriv_Update, and AOP_LastOp.
Referenced by Access().
friend class XrdAccConfig [friend] |
XrdSysXSLock XrdAccAccess::Access_Context [private] |
Referenced by Access(), and SwapTabs().
struct XrdAccAccess_Tables XrdAccAccess::Atab [private] |
Referenced by Access().
XrdAccAudit* XrdAccAccess::Auditor [private] |
Referenced by XrdAccAccess(), Access(), Audit(), and XrdAccConfig::xaud().
1.7.5