XRootD
XrdSecsssID.hh
Go to the documentation of this file.
1
#ifndef __SecsssID__
2
#define __SecsssID__
3
/******************************************************************************/
4
/* */
5
/* X r d S e c s s s I D . h h */
6
/* */
7
/* (c) 2020 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* All Rights Reserved */
9
/* Produced by Andrew Hanushevsky for Stanford University under contract */
10
/* DE-AC02-76-SFO0515 with the Department of Energy */
11
/* */
12
/* This file is part of the XRootD software suite. */
13
/* */
14
/* XRootD is free software: you can redistribute it and/or modify it under */
15
/* the terms of the GNU Lesser General Public License as published by the */
16
/* Free Software Foundation, either version 3 of the License, or (at your */
17
/* option) any later version. */
18
/* */
19
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22
/* License for more details. */
23
/* */
24
/* You should have received a copy of the GNU Lesser General Public License */
25
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27
/* */
28
/* The copyright holder's institutional names and contributor's names may not */
29
/* be used to endorse or promote products derived from this software without */
30
/* specific prior written permission of the institution or contributor. */
31
/******************************************************************************/
32
33
//-----------------------------------------------------------------------------
49
class
XrdSecEntity
;
50
class
XrdSecsssCon
;
51
class
XrdSecsssEnt
;
52
53
class
XrdSecsssID
54
{
55
public
:
56
friend
class
XrdSecProtocolsss
;
57
58
//-----------------------------------------------------------------------------
77
//-----------------------------------------------------------------------------
78
79
enum
authType
80
{
idDynamic
= 0,
82
idMapped
= 3,
84
idMappedM
= 4,
86
idStatic
= 1,
89
idStaticM
= 2
91
};
92
93
XrdSecsssID
(
authType
aType=
idStatic
,
const
XrdSecEntity
*Ident=0,
94
XrdSecsssCon
*Tracker=0,
bool
*isOK=0);
95
96
//-----------------------------------------------------------------------------
112
//-----------------------------------------------------------------------------
113
114
bool
Register
(
const
char
*lgnid,
const
XrdSecEntity
*Ident,
115
bool
doReplace=
false
,
bool
defer=
false
);
116
117
private
:
118
119
~
XrdSecsssID
();
120
121
//-----------------------------------------------------------------------------
132
//-----------------------------------------------------------------------------
133
134
int
Find(
const
char
*lid,
char
*&dP,
const
char
*myIP,
int
dataOpts=0);
135
136
//-----------------------------------------------------------------------------
143
//-----------------------------------------------------------------------------
144
static
145
XrdSecsssID
*getObj(
authType
&aType,
XrdSecsssEnt
*&idP);
146
147
static
148
XrdSecsssEnt
*genID(
bool
Secure);
149
150
XrdSecsssEnt
*defaultID;
151
authType
myAuth;
152
bool
isStatic;
153
bool
trackOK;
154
};
155
#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::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
XrdSecProtocolsss
Definition:
XrdSecProtocolsss.cc:134
XrdSecsss
XrdSecsssID.hh
Generated by
1.9.1