Definition at line 48 of file XrdProofdClientMgr.h.
|
| XrdProofdClientMgr (XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e) |
| Constructor.
|
|
virtual | ~XrdProofdClientMgr () |
|
int | Auth (XrdProofdProtocol *xp) |
| Analyse client authentication info.
|
|
void | Broadcast (XrdProofdClient *c, const char *msg) |
| Broadcast message 'msg' to the connected instances of client 'clnt' or to all connected instances if clnt == 0.
|
|
int | CheckClients () |
| Regular checks of the client admin path; run by the cron job.
|
|
int | CheckFrequency () const |
|
int | Config (bool rcf=0) |
| Run configuration and parse the entered config directives.
|
|
int | DoDirective (XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf) |
| Update the priorities of the active sessions.
|
|
XrdProofdClient * | GetClient (const char *usr, const char *grp=0, bool create=1) |
| Handle request for localizing a client instance for {usr, grp} from the list.
|
|
int | GetNClients () const |
|
int | Login (XrdProofdProtocol *xp) |
| Process a login request.
|
|
XrdProofdPipe * | Pipe () |
|
int | Process (XrdProofdProtocol *p) |
|
void | TerminateSessions (XrdProofdClient *c, const char *msg, int srvtype) |
| Terminate sessions of client 'clnt' or to of all clients if clnt == 0.
|
|
| XrdProofdConfig (const char *cfg=0, XrdSysError *edest=0) |
| Main constructor.
|
|
virtual | ~XrdProofdConfig () |
|
const char * | CfgFile () const |
|
void | SetCfgEDest (const char *cfg, XrdSysError *edest) |
| Set config file and error handler.
|
|
|
int | CheckAdminPath (XrdProofdProtocol *p, XrdOucString &cidpath, XrdOucString &emsg) |
| Check the old-clients admin for an existing entry for this client and read the client ID;.
|
|
int | CheckClient (XrdProofdProtocol *p, const char *user, XrdOucString &emsg) |
| Perform checks on the client username.
|
|
int | CreateAdminPath (XrdProofdProtocol *p, XrdOucString &path, XrdOucString &e) |
| Create the client directory in the admin path.
|
|
int | DoDirectiveClientMgr (char *, XrdOucStream *, bool) |
| Process 'clientmgr' directive eg: xpd.clientmgr checkfq:120 activityto:600.
|
|
char * | FilterSecConfig (int &nd) |
| Grep directives of the form "xpd.sec...", "sec.protparm" and "sec.protocol" from file 'cfn' and save them in a temporary file, stripping off the prefix "xpd." when needed.
|
|
XrdSecService * | LoadSecurity () |
| Load security framework and plugins, if not already done.
|
|
int | MapClient (XrdProofdProtocol *xp, bool all=1) |
| Process a login request.
|
|
int | ParsePreviousClients (XrdOucString &emsg) |
| Client entries for the clients still connected when the daemon terminated.
|
|
void | RegisterDirectives () |
| Register directives for configuration.
|
|
int | RestoreAdminPath (XrdOucString &cpath, XrdOucString &emsg) |
|
#include <XrdProofdClientMgr.h>
◆ CMProtocol
◆ XrdProofdClientMgr()
◆ ~XrdProofdClientMgr()
virtual XrdProofdClientMgr::~XrdProofdClientMgr |
( |
| ) |
|
|
inlinevirtual |
◆ Auth()
◆ Broadcast()
void XrdProofdClientMgr::Broadcast |
( |
XrdProofdClient * |
c, |
|
|
const char * |
msg |
|
) |
| |
Broadcast message 'msg' to the connected instances of client 'clnt' or to all connected instances if clnt == 0.
Definition at line 1453 of file XrdProofdClientMgr.cxx.
◆ CheckAdminPath()
int XrdProofdClientMgr::CheckAdminPath |
( |
XrdProofdProtocol * |
p, |
|
|
XrdOucString & |
cidpath, |
|
|
XrdOucString & |
emsg |
|
) |
| |
|
private |
Check the old-clients admin for an existing entry for this client and read the client ID;.
Definition at line 792 of file XrdProofdClientMgr.cxx.
◆ CheckClient()
int XrdProofdClientMgr::CheckClient |
( |
XrdProofdProtocol * |
p, |
|
|
const char * |
user, |
|
|
XrdOucString & |
emsg |
|
) |
| |
|
private |
Perform checks on the client username.
In case authentication is required this is called afetr authentication. Return 0 on success; on error, return -1 .
Definition at line 524 of file XrdProofdClientMgr.cxx.
◆ CheckClients()
int XrdProofdClientMgr::CheckClients |
( |
| ) |
|
◆ CheckFrequency()
int XrdProofdClientMgr::CheckFrequency |
( |
| ) |
const |
|
inline |
◆ Config()
int XrdProofdClientMgr::Config |
( |
bool |
rcf = 0 | ) |
|
|
virtual |
◆ CreateAdminPath()
int XrdProofdClientMgr::CreateAdminPath |
( |
XrdProofdProtocol * |
p, |
|
|
XrdOucString & |
path, |
|
|
XrdOucString & |
e |
|
) |
| |
|
private |
◆ DoDirective()
◆ DoDirectiveClientMgr()
int XrdProofdClientMgr::DoDirectiveClientMgr |
( |
char * |
val, |
|
|
XrdOucStream * |
cfg, |
|
|
bool |
|
|
) |
| |
|
private |
Process 'clientmgr' directive eg: xpd.clientmgr checkfq:120 activityto:600.
Definition at line 184 of file XrdProofdClientMgr.cxx.
◆ FilterSecConfig()
char * XrdProofdClientMgr::FilterSecConfig |
( |
int & |
nd | ) |
|
|
private |
Grep directives of the form "xpd.sec...", "sec.protparm" and "sec.protocol" from file 'cfn' and save them in a temporary file, stripping off the prefix "xpd." when needed.
If any such directory is found, the full path of the temporary file is returned, with the number of directives found in 'nd'. Otherwise 0 is returned and '-errno' specified in nd. The caller has the responsability to unlink the temporary file and to release the memory allocated for the path.
Definition at line 1285 of file XrdProofdClientMgr.cxx.
◆ GetClient()
XrdProofdClient * XrdProofdClientMgr::GetClient |
( |
const char * |
usr, |
|
|
const char * |
grp = 0 , |
|
|
bool |
create = 1 |
|
) |
| |
Handle request for localizing a client instance for {usr, grp} from the list.
Create a new instance, if required; for new instances, use the path at 'sock' for the unix socket, or generate a new one, if sock = 0.
Definition at line 1353 of file XrdProofdClientMgr.cxx.
◆ GetNClients()
int XrdProofdClientMgr::GetNClients |
( |
| ) |
const |
|
inline |
◆ LoadSecurity()
XrdSecService * XrdProofdClientMgr::LoadSecurity |
( |
| ) |
|
|
private |
◆ Login()
◆ MapClient()
◆ ParsePreviousClients()
int XrdProofdClientMgr::ParsePreviousClients |
( |
XrdOucString & |
emsg | ) |
|
|
private |
Client entries for the clients still connected when the daemon terminated.
Definition at line 842 of file XrdProofdClientMgr.cxx.
◆ Pipe()
◆ Process()
◆ RegisterDirectives()
void XrdProofdClientMgr::RegisterDirectives |
( |
| ) |
|
|
privatevirtual |
◆ RestoreAdminPath()
int XrdProofdClientMgr::RestoreAdminPath |
( |
XrdOucString & |
cpath, |
|
|
XrdOucString & |
emsg |
|
) |
| |
|
private |
◆ TerminateSessions()
void XrdProofdClientMgr::TerminateSessions |
( |
XrdProofdClient * |
clnt, |
|
|
const char * |
msg, |
|
|
int |
srvtype |
|
) |
| |
Terminate sessions of client 'clnt' or to of all clients if clnt == 0.
The list of process IDs having been signalled is returned.
Definition at line 1482 of file XrdProofdClientMgr.cxx.
◆ fActivityTimeOut
int XrdProofdClientMgr::fActivityTimeOut |
|
private |
◆ fCheckFrequency
int XrdProofdClientMgr::fCheckFrequency |
|
private |
◆ fCIA
XrdSecService* XrdProofdClientMgr::fCIA |
|
private |
◆ fClntAdminPath
XrdOucString XrdProofdClientMgr::fClntAdminPath |
|
private |
◆ fMgr
◆ fMutex
◆ fNDisconnected
int XrdProofdClientMgr::fNDisconnected |
|
private |
◆ fPipe
◆ fProofdClients
◆ fReconnectTimeOut
int XrdProofdClientMgr::fReconnectTimeOut |
|
private |
◆ fSecLib
XrdOucString XrdProofdClientMgr::fSecLib |
|
private |
◆ fSecPlugin