XrdAccGroups Class Reference

#include <XrdAccGroups.hh>

List of all members.

Public Member Functions

const char * Domain ()
char * AddName (const XrdAccGroupType gtype, const char *name)
char * FindName (const XrdAccGroupType gtype, const char *name)
XrdAccGroupListGroups (const char *user)
XrdAccGroupListNetGroups (const char *user, const char *host)
void PurgeCache ()
int Retran (const gid_t gid)
void SetDomain (const char *dname)
void SetLifetime (const int seconds)
void SetOptions (XrdAccGroups_Options opts)
 XrdAccGroups ()
 ~XrdAccGroups ()

Private Member Functions

int addGroup (const char *user, const gid_t gid, char *gname, char **Gtab, int gtabi)
char * Dotran (const gid_t gid, char *gname)

Private Attributes

gid_t retrangid [128]
int retrancnt
time_t LifeTime
const char * domain
XrdAccGroups_Options options
int HaveGroups
int HaveNetGroups
XrdSysMutex Group_Build_Context
XrdSysMutex Group_Name_Context
XrdSysMutex Group_Cache_Context
XrdSysMutex NetGroup_Cache_Context
XrdOucHash< XrdAccGroupListNetGroup_Cache
XrdOucHash< XrdAccGroupListGroup_Cache
XrdOucHash< char > Group_Names
XrdOucHash< char > NetGroup_Names


Detailed Description

Definition at line 77 of file XrdAccGroups.hh.


Constructor & Destructor Documentation

XrdAccGroups::XrdAccGroups (  ) 

Definition at line 62 of file XrdAccGroups.cc.

References domain, HaveGroups, HaveNetGroups, LifeTime, No_Group_Opt, options, and retrancnt.

XrdAccGroups::~XrdAccGroups (  )  [inline]

Definition at line 130 of file XrdAccGroups.hh.


Member Function Documentation

const char* XrdAccGroups::Domain (  )  [inline]

Definition at line 83 of file XrdAccGroups.hh.

References domain.

Referenced by XrdAccCheckNetGroup().

char * XrdAccGroups::AddName ( const XrdAccGroupType  gtype,
const char *  name 
)

Definition at line 79 of file XrdAccGroups.cc.

References Group_Name_Context, Group_Names, Hash_data_is_key, HaveGroups, HaveNetGroups, hp, XrdSysMutex::Lock(), NetGroup_Names, XrdSysMutex::UnLock(), and XrdAccNetGroup.

Referenced by XrdAccConfig::ConfigDBrec().

char * XrdAccGroups::FindName ( const XrdAccGroupType  gtype,
const char *  name 
)

Definition at line 112 of file XrdAccGroups.cc.

References XrdOucHash< T >::Find(), Group_Name_Context, Group_Names, XrdSysMutex::Lock(), NetGroup_Names, XrdSysMutex::UnLock(), and XrdAccNetGroup.

XrdAccGroupList * XrdAccGroups::Groups ( const char *  user  ) 

Definition at line 137 of file XrdAccGroups.cc.

References XrdOucHash< T >::Add(), addGroup(), Dotran(), XrdOucHash< T >::Find(), XrdAccGroupList::First(), gr, Group_Build_Context, Group_Cache, Group_Cache_Context, HaveGroups, LifeTime, XrdSysMutex::Lock(), NULL, options, Primary_Only, passwd::pw_gid, and XrdSysMutex::UnLock().

Referenced by XrdAccAccess::Access().

XrdAccGroupList * XrdAccGroups::NetGroups ( const char *  user,
const char *  host 
)

Definition at line 222 of file XrdAccGroups.cc.

References XrdOucHash< T >::Add(), XrdOucHash< T >::Apply(), XrdOucHash< T >::Find(), XrdAccGroupList::First(), Group_Name_Context, XrdAccGroupArgs::gtabi, HaveNetGroups, XrdAccGroupArgs::host, i, j, LifeTime, XrdSysMutex::Lock(), NetGroup_Cache, NetGroup_Cache_Context, NetGroup_Names, strcpy(), XrdSysMutex::UnLock(), XrdAccGroupArgs::user, and XrdAccCheckNetGroup().

Referenced by XrdAccAccess::Access().

void XrdAccGroups::PurgeCache (  ) 

Definition at line 286 of file XrdAccGroups.cc.

References Group_Cache, Group_Cache_Context, XrdSysMutex::Lock(), NetGroup_Cache, NetGroup_Cache_Context, XrdOucHash< T >::Purge(), and XrdSysMutex::UnLock().

Referenced by XrdAccAccess::SwapTabs().

int XrdAccGroups::Retran ( const gid_t  gid  ) 

Definition at line 306 of file XrdAccGroups.cc.

References retrancnt, and retrangid.

Referenced by XrdAccConfig::xgrt().

void XrdAccGroups::SetDomain ( const char *  dname  )  [inline]

Definition at line 118 of file XrdAccGroups.hh.

References domain.

Referenced by XrdAccConfig::xnis().

void XrdAccGroups::SetLifetime ( const int  seconds  )  [inline]

Definition at line 122 of file XrdAccGroups.hh.

References int, and LifeTime.

Referenced by XrdAccConfig::xglt().

void XrdAccGroups::SetOptions ( XrdAccGroups_Options  opts  )  [inline]

Definition at line 126 of file XrdAccGroups.hh.

References options.

Referenced by XrdAccConfig::ConfigFile().

int XrdAccGroups::addGroup ( const char *  user,
const gid_t  gid,
char *  gname,
char **  Gtab,
int  gtabi 
) [private]

Definition at line 323 of file XrdAccGroups.cc.

References XrdOucHash< T >::Find(), group::gr_name, Group_Names, and NULL.

Referenced by Groups().

char * XrdAccGroups::Dotran ( const gid_t  gid,
char *  gname 
) [private]

Definition at line 363 of file XrdAccGroups.cc.

References i, retrancnt, and retrangid.

Referenced by Groups().


Member Data Documentation

gid_t XrdAccGroups::retrangid[128] [private]

Definition at line 138 of file XrdAccGroups.hh.

Referenced by Dotran(), and Retran().

int XrdAccGroups::retrancnt [private]

Definition at line 139 of file XrdAccGroups.hh.

Referenced by Dotran(), Retran(), and XrdAccGroups().

time_t XrdAccGroups::LifeTime [private]

Definition at line 140 of file XrdAccGroups.hh.

Referenced by Groups(), NetGroups(), SetLifetime(), and XrdAccGroups().

const char* XrdAccGroups::domain [private]

Definition at line 141 of file XrdAccGroups.hh.

Referenced by Domain(), SetDomain(), and XrdAccGroups().

XrdAccGroups_Options XrdAccGroups::options [private]

Definition at line 143 of file XrdAccGroups.hh.

Referenced by Groups(), SetOptions(), and XrdAccGroups().

int XrdAccGroups::HaveGroups [private]

Definition at line 144 of file XrdAccGroups.hh.

Referenced by AddName(), Groups(), and XrdAccGroups().

int XrdAccGroups::HaveNetGroups [private]

Definition at line 145 of file XrdAccGroups.hh.

Referenced by AddName(), NetGroups(), and XrdAccGroups().

XrdSysMutex XrdAccGroups::Group_Build_Context [private]

Definition at line 147 of file XrdAccGroups.hh.

Referenced by Groups().

XrdSysMutex XrdAccGroups::Group_Name_Context [private]

Definition at line 147 of file XrdAccGroups.hh.

Referenced by AddName(), FindName(), and NetGroups().

XrdSysMutex XrdAccGroups::Group_Cache_Context [private]

Definition at line 148 of file XrdAccGroups.hh.

Referenced by Groups(), and PurgeCache().

XrdSysMutex XrdAccGroups::NetGroup_Cache_Context [private]

Definition at line 148 of file XrdAccGroups.hh.

Referenced by NetGroups(), and PurgeCache().

XrdOucHash<XrdAccGroupList> XrdAccGroups::NetGroup_Cache [private]

Definition at line 150 of file XrdAccGroups.hh.

Referenced by NetGroups(), and PurgeCache().

XrdOucHash<XrdAccGroupList> XrdAccGroups::Group_Cache [private]

Definition at line 151 of file XrdAccGroups.hh.

Referenced by Groups(), and PurgeCache().

XrdOucHash<char> XrdAccGroups::Group_Names [private]

Definition at line 152 of file XrdAccGroups.hh.

Referenced by addGroup(), AddName(), and FindName().

XrdOucHash<char> XrdAccGroups::NetGroup_Names [private]

Definition at line 153 of file XrdAccGroups.hh.

Referenced by AddName(), FindName(), and NetGroups().


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