xrootd
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"
38
39class XrdSecProtBind;
40class XrdOucTrace;
41class XrdNetAddrInfo;
42
44{
45public:
46
47const char *getParms(int &size, XrdNetAddrInfo *endPoint=0);
48
49// = 0 -> No protocol can be returned (einfo has the reason)
50// ! 0 -> Address of protocol object is bing returned.
51//
52XrdSecProtocol *getProtocol(const char *host, // In
53 XrdNetAddrInfo &endPoint,// In
54 const XrdSecCredentials *cred, // In
55 XrdOucErrInfo *einfo=0);// Out
56
57int Configure(const char *cfn);
58
60 ~XrdSecServer() {} // Server is never deleted
61
62private:
63
65
68XrdSecProtBind *bpFirst;
69XrdSecProtBind *bpLast;
70XrdSecProtBind *bpDefault;
71char *SToken;
72char *STBuff;
76
77int add2token(XrdSysError &erp,char *,char **,int &,XrdSecPMask_t &);
78int ConfigFile(const char *cfn);
79int ConfigXeq(char *var, XrdOucStream &Config, XrdSysError &Eroute);
86};
87#endif
int XrdSecPMask_t
Definition: XrdSecPManager.hh:40
Definition: XrdNetAddrInfo.hh:54
Definition: XrdOucErrInfo.hh:100
Definition: XrdOucStream.hh:46
Definition: XrdOucTrace.hh:36
Definition: XrdSecPManager.hh:48
Definition: XrdSecInterface.hh:131
Definition: XrdSecServer.hh:44
char * SToken
Definition: XrdSecServer.hh:71
int STBlen
Definition: XrdSecServer.hh:73
int xlevel(XrdOucStream &Config, XrdSysError &Eroute)
const char * getParms(int &size, XrdNetAddrInfo *endPoint=0)
XrdSecServer(XrdSysLogger *lp)
XrdSysError eDest
Definition: XrdSecServer.hh:66
int Configure(const char *cfn)
int xtrace(XrdOucStream &Config, XrdSysError &Eroute)
XrdSecProtBind * bpLast
Definition: XrdSecServer.hh:69
static XrdSecPManager PManager
Definition: XrdSecServer.hh:64
int ConfigXeq(char *var, XrdOucStream &Config, XrdSysError &Eroute)
int xpparm(XrdOucStream &Config, XrdSysError &Eroute)
int ProtBind_Complete(XrdSysError &Eroute)
int add2token(XrdSysError &erp, char *, char **, int &, XrdSecPMask_t &)
int xpbind(XrdOucStream &Config, XrdSysError &Eroute)
XrdSecProtBind * bpDefault
Definition: XrdSecServer.hh:70
XrdSecProtBind * bpFirst
Definition: XrdSecServer.hh:68
int implauth
Definition: XrdSecServer.hh:75
int Enforce
Definition: XrdSecServer.hh:74
~XrdSecServer()
Definition: XrdSecServer.hh:60
XrdSecProtocol * getProtocol(const char *host, XrdNetAddrInfo &endPoint, const XrdSecCredentials *cred, XrdOucErrInfo *einfo=0)
XrdOucTrace * SecTrace
Definition: XrdSecServer.hh:67
char * STBuff
Definition: XrdSecServer.hh:72
int xprot(XrdOucStream &Config, XrdSysError &Eroute)
int ConfigFile(const char *cfn)
Definition: XrdSecInterface.hh:536
Definition: XrdSysError.hh:90
Definition: XrdSysLogger.hh:53
XrdCmsConfig Config
Generic structure to pass security information back and forth.
Definition: XrdSecInterface.hh:51