XrdProofdClientMgr Class Reference

#include <XrdProofdClientMgr.h>

Inheritance diagram for XrdProofdClientMgr:

XrdProofdConfig List of all members.

Public Types

enum  CMProtocol

Public Member Functions

 XrdProofdClientMgr (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
virtual ~XrdProofdClientMgr ()
int Config (bool rcf=0)
int DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
int CheckClients ()
XrdProofdClientGetClient (const char *usr, const char *grp=0, bool create=1)
int GetNClients () const
void Broadcast (XrdProofdClient *c, const char *msg)
void TerminateSessions (XrdProofdClient *c, const char *msg, int srvtype)
int Process (XrdProofdProtocol *p)
int Auth (XrdProofdProtocol *xp)
int Login (XrdProofdProtocol *xp)
int CheckFrequency () const
XrdProofdPipePipe ()

Private Member Functions

int CheckAdminPath (XrdProofdProtocol *p, XrdOucString &cidpath, XrdOucString &emsg)
int CreateAdminPath (XrdProofdProtocol *p, XrdOucString &path, XrdOucString &e)
int RestoreAdminPath (XrdOucString &cpath, XrdOucString &emsg)
int ParsePreviousClients (XrdOucString &emsg)
int MapClient (XrdProofdProtocol *xp, bool all=1)
char * FilterSecConfig (int &nd)
void RegisterDirectives ()
int DoDirectiveClientMgr (char *, XrdOucStream *, bool)
XrdSecServiceLoadSecurity ()

Private Attributes

XrdSysRecMutexfMutex
XrdProofdManagerfMgr
XrdOucString fSecLib
XrdSecServicefCIA
int fCheckFrequency
XrdProofdPipe fPipe
XrdOucString fClntAdminPath
int fNDisconnected
int fReconnectTimeOut
int fActivityTimeOut
std::list< XrdProofdClient * > fProofdClients

Detailed Description

Definition at line 52 of file XrdProofdClientMgr.h.


Member Enumeration Documentation

enum XrdProofdClientMgr::CMProtocol

Definition at line 88 of file XrdProofdClientMgr.h.


Constructor & Destructor Documentation

XrdProofdClientMgr::XrdProofdClientMgr ( XrdProofdManager mgr,
XrdProtocol_Config pi,
XrdSysError e 
)

Definition at line 151 of file XrdProofdClientMgr.cxx.

References fActivityTimeOut, fCheckFrequency, fCIA, fMgr, fMutex, fNDisconnected, fPipe, fReconnectTimeOut, XrdProofdPipe::IsValid(), RegisterDirectives(), TRACE, and XPDLOC.

virtual XrdProofdClientMgr::~XrdProofdClientMgr (  )  [inline, virtual]

Definition at line 86 of file XrdProofdClientMgr.h.

References fMutex, and SafeDel.


Member Function Documentation

int XrdProofdClientMgr::CheckAdminPath ( XrdProofdProtocol p,
XrdOucString cidpath,
XrdOucString emsg 
) [private]

Definition at line 735 of file XrdProofdClientMgr.cxx.

References XrdOucString::c_str(), emsg(), fReconnectTimeOut, XrdProofdAux::GetIDFromPath(), int, p, XrdOucString::replace(), XrdProofdAux::RmDir(), stat, and XPDFORM.

Referenced by MapClient().

int XrdProofdClientMgr::CreateAdminPath ( XrdProofdProtocol p,
XrdOucString path,
XrdOucString e 
) [private]

Definition at line 698 of file XrdProofdClientMgr.cxx.

References XrdProofdAux::AssertDir(), XrdOucString::c_str(), XrdProofdManager::EffectiveUser(), emsg(), fclose(), fMgr, fopen, fprintf(), XrdProofdAux::GetUserInfo(), p, and XPDFORM.

Referenced by MapClient().

int XrdProofdClientMgr::RestoreAdminPath ( XrdOucString cpath,
XrdOucString emsg 
) [private]

int XrdProofdClientMgr::ParsePreviousClients ( XrdOucString emsg  )  [private]

Definition at line 782 of file XrdProofdClientMgr.cxx.

References c, XrdOucString::c_str(), closedir, dir(), emsg(), XrdOucString::erase(), fClntAdminPath, fclose(), XrdOucString::find(), fNDisconnected, fopen, fReconnectTimeOut, GetClient(), XrdProofdAux::GetIDFromPath(), opendir, readdir, XrdOucString::replace(), XrdProofdAux::RmDir(), stat, TRACE, XPDFORM, and XPDLOC.

Referenced by Config().

int XrdProofdClientMgr::MapClient ( XrdProofdProtocol xp,
bool  all = 1 
) [private]

Definition at line 561 of file XrdProofdClientMgr.cxx.

References XrdOucString::c_str(), CheckAdminPath(), CreateAdminPath(), fMutex, fNDisconnected, fProofdClients, XrdProofdClient::GetClientID(), XrdProofdClient::GetServer(), XrdProofdClient::IsValid(), kXP_nosession, kXP_ServerError, kXPD_Internal, kXR_InvalidRequest, XrdProofdClient::Mutex(), XrdProofdProofServ::Ordinal(), p, XrdOucString::rfind(), SafeDelete, XrdProofdClient::SetClientID(), XrdProofdProofServ::SetConnection(), XrdProofdProofServ::SetProtVer(), XrdProofdResponse::SetTag(), XrdProofdResponse::SetTraceID(), XrdProofdProofServ::SetValid(), XrdProofdClient::Size(), TRACEI, XrdProofdResponse::TraceID(), TRACEP, unlink, XrdProofdClient::User(), XPD_NEED_AUTH, XPD_SETRESP, XPDFORM, and XPDLOC.

Referenced by Login().

char * XrdProofdClientMgr::FilterSecConfig ( int &  nd  )  [private]

Definition at line 1209 of file XrdProofdClientMgr.cxx.

References XrdOucString::beginswith(), XrdOucString::c_str(), XrdProofdConfig::CfgFile(), close, fclose(), fMgr, fopen, XrdOucString::length(), XrdOucString::replace(), XrdProofdManager::ResolveKeywords(), sprintf(), XrdProofdManager::TMPdir(), TRACE, XrdProofdAux::Write(), and XPDLOC.

Referenced by LoadSecurity().

void XrdProofdClientMgr::RegisterDirectives (  )  [private, virtual]

Reimplemented from XrdProofdConfig.

Definition at line 178 of file XrdProofdClientMgr.cxx.

References DoDirectiveClass(), DoDirectiveInt(), DoDirectiveString(), fReconnectTimeOut, fSecLib, and XrdProofdConfig::Register().

Referenced by XrdProofdClientMgr().

int XrdProofdClientMgr::DoDirectiveClientMgr ( char *  ,
XrdOucStream ,
bool   
) [private]

Definition at line 208 of file XrdProofdClientMgr.cxx.

References XrdOucString::beginswith(), XrdOucString::c_str(), XrdProofdAux::CheckIf(), fActivityTimeOut, fCheckFrequency, fMgr, XrdOucStream::GetWord(), XrdProofdManager::Host(), XrdOucString::replace(), strtol(), TRACE, XPD_LONGOK, XPDFORM, and XPDLOC.

Referenced by DoDirective().

XrdSecService * XrdProofdClientMgr::LoadSecurity (  )  [private]

Definition at line 1146 of file XrdProofdClientMgr.cxx.

References XrdOucString::c_str(), XrdProofdConfig::CfgFile(), dlerror(), dlopen(), dlsym(), XrdProofdConfig::fEDest, FilterSecConfig(), fSecLib, XrdSysError::logger(), RTLD_NOW, TRACE, unlink, and XPDLOC.

Referenced by Config().

int XrdProofdClientMgr::Config ( bool  rcf = 0  )  [virtual]

Reimplemented from XrdProofdConfig.

Definition at line 251 of file XrdProofdClientMgr.cxx.

References XrdProofdManager::AdminPath(), XrdProofdAux::AssertDir(), XrdOucString::c_str(), XrdProofdConfig::Config(), XrdProofdManager::EffectiveUser(), fCIA, XpdManagerCron_t::fClientMgr, fClntAdminPath, fManagerCron, fMgr, fProofdClients, fSecLib, XpdManagerCron_t::fSessionMgr, XrdProofGroupMgr::GetUserGroup(), XrdProofdAux::GetUserInfo(), XrdProofdManager::GroupsMgr(), XrdOucString::length(), LoadSecurity(), XrdProofGroupMgr::Num(), ParsePreviousClients(), XrdSysThread::Run(), XrdProofdManager::SessionMgr(), TRACE, XPDERR, XPDLOC, and XrdProofdClientCron().

Referenced by XrdProofdManager::Config().

int XrdProofdClientMgr::DoDirective ( XrdProofdDirective d,
char *  val,
XrdOucStream cfg,
bool  rcf 
) [virtual]

Reimplemented from XrdProofdConfig.

Definition at line 190 of file XrdProofdClientMgr.cxx.

References d, DoDirectiveClientMgr(), TRACE, and XPDLOC.

int XrdProofdClientMgr::CheckClients (  ) 

Definition at line 891 of file XrdProofdClientMgr.cxx.

References c, XrdOucString::c_str(), closedir, dir(), emsg(), fActivityTimeOut, fClntAdminPath, fclose(), fopen, fReconnectTimeOut, GetClient(), XrdProofdAux::GetIDFromPath(), opendir, p, XrdProofdAux::ParseUsrGrp(), readdir, XrdOucString::replace(), XrdProofdAux::RmDir(), stat, TRACE, XPDFORM, and XPDLOC.

Referenced by XrdProofdClientCron().

XrdProofdClient * XrdProofdClientMgr::GetClient ( const char *  usr,
const char *  grp = 0,
bool  create = 1 
)

Definition at line 1277 of file XrdProofdClientMgr.cxx.

References c, XrdOucString::c_str(), XrdProofdManager::ChangeOwn(), XrdProofdManager::CheckUser(), emsg(), fClntAdminPath, XrdProofdConfig::fEDest, XrdProofUI::fGroup, fMgr, fMutex, fProofdClients, XrdProofUI::fUser, g, XrdProofGroupMgr::GetUserGroup(), XrdProofdManager::GroupsMgr(), i, kXPD_Worker, XrdOucString::length(), nc, XrdProofGroupMgr::Num(), SafeDelete, XrdProofdManager::SrvType(), TRACE, TRACING, XPDFORM, and XPDLOC.

Referenced by CheckClients(), XrdProofdProofServMgr::CleanClientSessions(), XrdProofdAdmin::CleanupSessions(), Login(), ParsePreviousClients(), XrdProofdAdmin::QueryLogPaths(), XrdProofdProofServMgr::ResolveSession(), XrdProofdAdmin::SendMsgToUser(), and XrdProofdAdmin::SetROOTVersion().

int XrdProofdClientMgr::GetNClients (  )  const [inline]

Definition at line 96 of file XrdProofdClientMgr.h.

References fMutex, and fProofdClients.

Referenced by XrdProofdProofServMgr::PrepareSessionRecovering().

void XrdProofdClientMgr::Broadcast ( XrdProofdClient c,
const char *  msg 
)

Definition at line 1377 of file XrdProofdClientMgr.cxx.

References c, fMutex, fProofdClients, and i.

Referenced by XrdProofdAdmin::SendMsgToUser().

void XrdProofdClientMgr::TerminateSessions ( XrdProofdClient c,
const char *  msg,
int  srvtype 
)

Definition at line 1406 of file XrdProofdClientMgr.cxx.

References buf, c, fMgr, fMutex, fProofdClients, i, XrdProofdProofServMgr::kCleanSessions, XrdProofdProofServMgr::Pipe(), XrdProofdPipe::Post(), XrdProofdManager::SessionMgr(), TRACE, XrdProofdClient::User(), XPDFORM, and XPDLOC.

Referenced by XrdProofdAdmin::CleanupSessions().

int XrdProofdClientMgr::Process ( XrdProofdProtocol p  ) 

int XrdProofdClientMgr::Auth ( XrdProofdProtocol xp  ) 

Definition at line 1029 of file XrdProofdClientMgr.cxx.

References XrdSecBuffer::buffer, XrdOucString::c_str(), eMsg, fCIA, free(), XrdSecService::getProtocol(), kXP_ServerError, kXR_authmore, kXR_NotAuthorized, XrdOucString::length(), p, putenv, XrdSecBuffer::size, sprintf(), STR_NPOS, TRACEP, u, XPD_ADMINUSER, XPD_NEED_AUTH, XPD_SETRESP, and XPDLOC.

Referenced by XrdProofdManager::Process().

int XrdProofdClientMgr::Login ( XrdProofdProtocol xp  ) 

Definition at line 327 of file XrdProofdClientMgr.cxx.

References XrdOucString::assign(), buf, c, XrdOucString::c_str(), XrdProofdManager::CheckMaster(), XrdProofdManager::CheckUser(), XrdROOTMgr::DefaultVersion(), emsg(), XrdOucString::erase(), fCIA, XrdProofUI::fGroup, XrdOucString::find(), fMgr, g, GetClient(), XrdProofGroupMgr::GetGroup(), XrdSecService::getParms(), XrdProofGroupMgr::GetUserGroup(), XrdProofdManager::GroupsMgr(), i, int, kXPD_Admin, kXPD_AnyServer, kXPD_ClientMaster, kXPD_Internal, kXPD_Master, kXPD_MasterMaster, kXPD_MasterWorker, kXPD_TopMaster, kXR_InvalidRequest, len, XrdOucString::length(), MapClient(), XrdProofGroupMgr::Num(), p, XrdProofdManager::ROOTMgr(), XrdProofdManager::SrvType(), TRACEP, TRACING, XPD_LOGGEDIN, XPD_NEED_AUTH, XPD_NEED_MAP, XPD_SETRESP, XPDFORM, XPDLOC, and XPROOFD_VERSBIN.

Referenced by XrdProofdManager::Process().

int XrdProofdClientMgr::CheckFrequency (  )  const [inline]

Definition at line 107 of file XrdProofdClientMgr.h.

References fCheckFrequency.

Referenced by XrdProofdClientCron().

XrdProofdPipe* XrdProofdClientMgr::Pipe (  )  [inline]

Definition at line 108 of file XrdProofdClientMgr.h.

References fPipe.

Referenced by XrdProofdProtocol::Recycle(), and XrdProofdClientCron().


Member Data Documentation

XrdSysRecMutex* XrdProofdClientMgr::fMutex [private]

Definition at line 54 of file XrdProofdClientMgr.h.

Referenced by Broadcast(), GetClient(), GetNClients(), MapClient(), TerminateSessions(), XrdProofdClientMgr(), and ~XrdProofdClientMgr().

XrdProofdManager* XrdProofdClientMgr::fMgr [private]

Definition at line 55 of file XrdProofdClientMgr.h.

Referenced by Config(), CreateAdminPath(), DoDirectiveClientMgr(), FilterSecConfig(), GetClient(), Login(), TerminateSessions(), and XrdProofdClientMgr().

XrdOucString XrdProofdClientMgr::fSecLib [private]

Definition at line 56 of file XrdProofdClientMgr.h.

Referenced by Config(), LoadSecurity(), and RegisterDirectives().

XrdSecService* XrdProofdClientMgr::fCIA [private]

Definition at line 57 of file XrdProofdClientMgr.h.

Referenced by Auth(), Config(), Login(), and XrdProofdClientMgr().

int XrdProofdClientMgr::fCheckFrequency [private]

Definition at line 59 of file XrdProofdClientMgr.h.

Referenced by CheckFrequency(), DoDirectiveClientMgr(), and XrdProofdClientMgr().

XrdProofdPipe XrdProofdClientMgr::fPipe [private]

Definition at line 60 of file XrdProofdClientMgr.h.

Referenced by Pipe(), and XrdProofdClientMgr().

XrdOucString XrdProofdClientMgr::fClntAdminPath [private]

Definition at line 62 of file XrdProofdClientMgr.h.

Referenced by CheckClients(), Config(), GetClient(), and ParsePreviousClients().

int XrdProofdClientMgr::fNDisconnected [private]

Definition at line 63 of file XrdProofdClientMgr.h.

Referenced by MapClient(), ParsePreviousClients(), and XrdProofdClientMgr().

int XrdProofdClientMgr::fReconnectTimeOut [private]

Definition at line 64 of file XrdProofdClientMgr.h.

Referenced by CheckAdminPath(), CheckClients(), ParsePreviousClients(), RegisterDirectives(), and XrdProofdClientMgr().

int XrdProofdClientMgr::fActivityTimeOut [private]

Definition at line 65 of file XrdProofdClientMgr.h.

Referenced by CheckClients(), DoDirectiveClientMgr(), and XrdProofdClientMgr().

std::list<XrdProofdClient *> XrdProofdClientMgr::fProofdClients [private]

Definition at line 67 of file XrdProofdClientMgr.h.

Referenced by Broadcast(), Config(), GetClient(), GetNClients(), MapClient(), and TerminateSessions().


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