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