Loading...
Searching...
No Matches
XrdSecsssID.hh
Go to the documentation of this file.
#ifndef __SecsssID__
#define __SecsssID__
/******************************************************************************/
/* */
/* X r d S e c s s s I D . h h */
/* */
/* (c) 2020 by the Board of Trustees of the Leland Stanford, Jr., University */
/* All Rights Reserved */
/* Produced by Andrew Hanushevsky for Stanford University under contract */
/* DE-AC02-76-SFO0515 with the Department of Energy */
/* */
/* This file is part of the XRootD software suite. */
/* */
/* XRootD is free software: you can redistribute it and/or modify it under */
/* the terms of the GNU Lesser General Public License as published by the */
/* Free Software Foundation, either version 3 of the License, or (at your */
/* option) any later version. */
/* */
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public License */
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
/* */
/* The copyright holder's institutional names and contributor's names may not */
/* be used to endorse or promote products derived from this software without */
/* specific prior written permission of the institution or contributor. */
/******************************************************************************/
//-----------------------------------------------------------------------------
class XrdSecEntity;
class XrdSecsssCon;
class XrdSecsssEnt;
class XrdSecsssID
{
public:
friend class XrdSecProtocolsss;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
enum authType
{idDynamic = 0,
idMapped = 3,
idMappedM = 4,
idStatic = 1,
idStaticM = 2
};
XrdSecsssID(authType aType=idStatic, const XrdSecEntity *Ident=0,
XrdSecsssCon *Tracker=0, bool *isOK=0);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
bool Register(const char *lgnid, const XrdSecEntity *Ident,
bool doReplace=false, bool defer=false);
private:
~XrdSecsssID();
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Find(const char *lid, char *&dP, const char *myIP, int dataOpts=0);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
static
XrdSecsssID *getObj(authType &aType, XrdSecsssEnt *&idP);
static
XrdSecsssEnt *genID(bool Secure);
XrdSecsssEnt *defaultID;
authType myAuth;
bool isStatic;
bool trackOK;
};
#endif
XrdSecEntity
Definition XrdSecEntity.hh:65
XrdSecsssCon
Definition XrdSecsssCon.hh:46
XrdSecsssEnt
Definition XrdSecsssEnt.hh:43
XrdSecsssID
Definition XrdSecsssID.hh:54
XrdSecsssID::Register
bool Register(const char *lgnid, const XrdSecEntity *Ident, bool doReplace=false, bool defer=false)
Definition XrdSecsssID.cc:224
XrdSecsssID::XrdSecProtocolsss
friend class XrdSecProtocolsss
Definition XrdSecsssID.hh:56
XrdSecsssID::authType
authType
Definition XrdSecsssID.hh:80
XrdSecsssID::idStatic
@ idStatic
Definition XrdSecsssID.hh:86
XrdSecsssID::idMappedM
@ idMappedM
Definition XrdSecsssID.hh:84
XrdSecsssID::idDynamic
@ idDynamic
Definition XrdSecsssID.hh:80
XrdSecsssID::idStaticM
@ idStaticM
Definition XrdSecsssID.hh:89
XrdSecsssID::idMapped
@ idMapped
Definition XrdSecsssID.hh:82
XrdSecsssID::XrdSecsssID
XrdSecsssID(authType aType=idStatic, const XrdSecEntity *Ident=0, XrdSecsssCon *Tracker=0, bool *isOK=0)
Definition XrdSecsssID.cc:77