XrdAccAccess Class Reference

#include <XrdAccAccess.hh>

Inheritance diagram for XrdAccAccess:

XrdAccAuthorize List of all members.

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

XrdAccAccess_Tables Atab
XrdSysXSLock Access_Context
XrdAccAuditAuditor

Friends

class XrdAccConfig

Detailed Description

Definition at line 75 of file XrdAccAccess.hh.


Constructor & Destructor Documentation

XrdAccAccess::XrdAccAccess ( XrdSysError erp  ) 

Definition at line 59 of file XrdAccAccess.cc.

References Auditor, and XrdAccAuditObject().

XrdAccAccess::~XrdAccAccess (  )  [inline]

Definition at line 101 of file XrdAccAccess.hh.


Member Function Documentation

XrdAccPrivs XrdAccAccess::Access ( const XrdSecEntity Entity,
const char *  path,
const Access_Operation  oper,
XrdOucEnv Env = 0 
) [virtual]

Implements XrdAccAuthorize.

Definition at line 70 of file XrdAccAccess.cc.

References Access_Context, Atab, Audit(), audit_grant, XrdAccAudit::Auditing(), Auditor, XrdAccAccess_Tables::D_List, XrdOucHash< T >::Find(), XrdAccCapName::Find(), XrdAccAccess_Tables::G_Hash, XrdOucTokenizer::GetLine(), XrdOucTokenizer::GetToken(), XrdAccConfig::GroupMaster, XrdAccGroups::Groups(), XrdSecEntity::grps, XrdAccAccess_Tables::H_Hash, XrdSecEntity::host, XrdSysXSLock::Lock(), XrdAccAccess_Tables::N_Hash, XrdSecEntity::name, XrdAccGroups::NetGroups(), XrdAccGroupList::Next(), XrdAccCapability::Privs(), strlcpy(), Test(), XrdAccAccess_Tables::U_Hash, XrdSysXSLock::UnLock(), XrdAccAccess_Tables::X_List, XrdAccConfiguration, XrdOucHashVal2(), xs_Shared, and XrdAccAccess_Tables::Z_List.

int XrdAccAccess::Audit ( const int  accok,
const XrdSecEntity Entity,
const char *  path,
const Access_Operation  oper,
XrdOucEnv Env = 0 
) [virtual]

Implements XrdAccAuthorize.

Definition at line 231 of file XrdAccAccess.cc.

References AOP_LastOp, Auditor, XrdAccAudit::Deny(), XrdAccAudit::Grant(), XrdSecEntity::host, XrdSecEntity::name, XrdSecEntity::prot, XrdSecEntity::tident, and XrdSecPROTOIDSIZE.

Referenced by Access().

void XrdAccAccess::SwapTabs ( struct XrdAccAccess_Tables newtab  ) 

Definition at line 280 of file XrdAccAccess.cc.

References Access_Context, XrdAccAccess_Tables::D_List, XrdAccAccess_Tables::E_List, XrdAccAccess_Tables::G_Hash, XrdAccConfig::GroupMaster, XrdAccAccess_Tables::H_Hash, XrdSysXSLock::Lock(), XrdAccAccess_Tables::N_Hash, XrdAccGroups::PurgeCache(), XrdAccAccess_Tables::S_Hash, 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().

int XrdAccAccess::Test ( const XrdAccPrivs  priv,
const Access_Operation  oper 
) [virtual]

Implements XrdAccAuthorize.

Definition at line 314 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.

Referenced by Access().

XrdAccPrivs XrdAccAccess::Access ( const char *  id,
const Access_ID_Type  idtype,
const char *  path,
const Access_Operation  oper 
) [private]

Definition at line 171 of file XrdAccAccess.cc.

References Access_Context, AID_Group, AID_Host, AID_Netgroup, AID_Set, AID_Template, AID_User, Atab, XrdAccAccess_Tables::D_List, XrdAccCapName::Find(), XrdAccAccess_Tables::G_Hash, XrdAccAccess_Tables::H_Hash, hp, XrdSysXSLock::Lock(), XrdAccAccess_Tables::N_Hash, XrdAccCapability::Privs(), XrdAccAccess_Tables::S_Hash, XrdAccAccess_Tables::T_Hash, Test(), XrdAccAccess_Tables::U_Hash, XrdSysXSLock::UnLock(), XrdAccAccess_Tables::X_List, XrdOucHashVal2(), xs_Shared, and XrdAccAccess_Tables::Z_List.


Friends And Related Function Documentation

friend class XrdAccConfig [friend]

Definition at line 79 of file XrdAccAccess.hh.


Member Data Documentation

struct XrdAccAccess_Tables XrdAccAccess::Atab [private]

Definition at line 108 of file XrdAccAccess.hh.

Referenced by Access().

XrdSysXSLock XrdAccAccess::Access_Context [private]

Definition at line 110 of file XrdAccAccess.hh.

Referenced by Access(), and SwapTabs().

XrdAccAudit* XrdAccAccess::Auditor [private]

Definition at line 112 of file XrdAccAccess.hh.

Referenced by Access(), Audit(), XrdAccConfig::xaud(), and XrdAccAccess().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:09 2011 for ROOT_528-00b_version by  doxygen 1.5.1