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