12 #ifndef ROOT_XrdProofdClientMgr
13 #define ROOT_XrdProofdClientMgr
31 #include "XrdOuc/XrdOucString.hh"
33 #define XPD_LOGGEDIN 1
34 #define XPD_NEED_AUTH 2
35 #define XPD_ADMINUSER 4
36 #define XPD_NEED_MAP 8
42 class XrdProtocol_Config;
67 XrdOucString &cidpath, XrdOucString &emsg);
69 const char *user, XrdOucString &emsg);
71 XrdOucString &path, XrdOucString &e);
91 char *val, XrdOucStream *cfg,
bool rcf);
96 return fProofdClients.size(); }
int Auth(XrdProofdProtocol *xp)
Analyse client authentication info.
int RestoreAdminPath(XrdOucString &cpath, XrdOucString &emsg)
void RegisterDirectives()
Register directives for configuration.
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;...
void Broadcast(XrdProofdClient *c, const char *msg)
Broadcast message 'msg' to the connected instances of client 'clnt' or to all connected instances if ...
int Process(XrdProofdProtocol *p)
int MapClient(XrdProofdProtocol *xp, bool all=1)
Process a login request.
XrdSysPlugin * fSecPlugin
char * FilterSecConfig(int &nd)
Grep directives of the form "xpd.sec...", "sec.protparm" and "sec.protocol" from file 'cfn' and save ...
int Login(XrdProofdProtocol *xp)
Process a login request.
void TerminateSessions(XrdProofdClient *c, const char *msg, int srvtype)
Terminate sessions of client 'clnt' or to of all clients if clnt == 0.
XrdSecService * LoadSecurity()
Load security framework and plugins, if not already done.
int DoDirectiveClientMgr(char *, XrdOucStream *, bool)
Process 'clientmgr' directive eg: xpd.clientmgr checkfq:120 activityto:600.
int ParsePreviousClients(XrdOucString &emsg)
Client entries for the clients still connected when the daemon terminated.
virtual ~XrdProofdClientMgr()
#define XrdSysMutexHelper
int Config(bool rcf=0)
Run configuration and parse the entered config directives.
int CheckClient(XrdProofdProtocol *p, const char *user, XrdOucString &emsg)
Perform checks on the client username.
std::list< XrdProofdClient * > fProofdClients
int DoDirective(XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
Update the priorities of the active sessions.
int CheckFrequency() const
int CreateAdminPath(XrdProofdProtocol *p, XrdOucString &path, XrdOucString &e)
Create the client directory in the admin path.
XrdProofdClientMgr(XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
Constructor.
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.
XrdOucString fClntAdminPath
int CheckClients()
Regular checks of the client admin path; run by the cron job.