xrootd
Main Page
Namespaces
Classes
Files
File List
File Members
src
XrdSec
XrdSecServer.hh
Go to the documentation of this file.
1
#ifndef __XRDSECSERVER_H__
2
#define __XRDSECSERVER_H__
3
/******************************************************************************/
4
/* */
5
/* X r d S e c S e r v e r . h h */
6
/* */
7
/* (c) 2005 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
#include "
XrdSys/XrdSysError.hh
"
34
#include "
XrdSys/XrdSysLogger.hh
"
35
#include "
XrdOuc/XrdOucStream.hh
"
36
#include "
XrdSec/XrdSecInterface.hh
"
37
#include "
XrdSec/XrdSecPManager.hh
"
38
39
class
XrdSecProtBind
;
40
class
XrdOucTrace
;
41
42
class
XrdSecServer
:
XrdSecService
43
{
44
public
:
45
46
const
char
*
getParms
(
int
&size,
const
char
*hname=0);
47
48
// = 0 -> No protocol can be returned (einfo has the reason)
49
// ! 0 -> Address of protocol object is bing returned.
50
//
51
XrdSecProtocol
*
getProtocol
(
const
char
*host,
// In
52
const
struct
sockaddr &hadr,
// In
53
const
XrdSecCredentials
*cred,
// In
54
XrdOucErrInfo
*einfo=0);
// Out
55
56
int
Configure
(
const
char
*cfn);
57
58
XrdSecServer
(
XrdSysLogger
*lp);
59
~XrdSecServer
() {}
// Server is never deleted
60
61
private
:
62
63
static
XrdSecPManager
PManager
;
64
65
XrdSysError
eDest
;
66
XrdOucTrace
*
SecTrace
;
67
XrdSecProtBind
*
bpFirst
;
68
XrdSecProtBind
*
bpLast
;
69
XrdSecProtBind
*
bpDefault
;
70
char
*
SToken
;
71
char
*
STBuff
;
72
int
STBlen
;
73
int
Enforce
;
74
int
implauth
;
75
76
int
add2token
(
XrdSysError
&erp,
char
*,
char
**,
int
&,
XrdSecPMask_t
&);
77
int
ConfigFile
(
const
char
*cfn);
78
int
ConfigXeq
(
char
*var,
XrdOucStream
&
Config
,
XrdSysError
&Eroute);
79
int
ProtBind_Complete
(
XrdSysError
&Eroute);
80
int
xpbind
(
XrdOucStream
&
Config
,
XrdSysError
&Eroute);
81
int
xpparm
(
XrdOucStream
&
Config
,
XrdSysError
&Eroute);
82
int
xprot
(
XrdOucStream
&
Config
,
XrdSysError
&Eroute);
83
int
xtrace
(
XrdOucStream
&
Config
,
XrdSysError
&Eroute);
84
};
85
#endif
Generated by
1.8.3.1