00001 #ifndef __XRDSECSERVER_H__
00002 #define __XRDSECSERVER_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "XrdSys/XrdSysError.hh"
00016 #include "XrdSys/XrdSysLogger.hh"
00017 #include "XrdOuc/XrdOucStream.hh"
00018 #include "XrdSec/XrdSecInterface.hh"
00019 #include "XrdSec/XrdSecPManager.hh"
00020
00021 class XrdSecProtBind;
00022 class XrdOucTrace;
00023
00024 class XrdSecServer : XrdSecService
00025 {
00026 public:
00027
00028 const char *getParms(int &size, const char *hname=0);
00029
00030
00031
00032
00033 XrdSecProtocol *getProtocol(const char *host,
00034 const struct sockaddr &hadr,
00035 const XrdSecCredentials *cred,
00036 XrdOucErrInfo *einfo=0);
00037
00038 int Configure(const char *cfn);
00039
00040 XrdSecServer(XrdSysLogger *lp);
00041 ~XrdSecServer() {}
00042
00043 private:
00044
00045 static XrdSecPManager PManager;
00046
00047 XrdSysError eDest;
00048 XrdOucTrace *SecTrace;
00049 XrdSecProtBind *bpFirst;
00050 XrdSecProtBind *bpLast;
00051 XrdSecProtBind *bpDefault;
00052 char *SToken;
00053 char *STBuff;
00054 int STBlen;
00055 int Enforce;
00056 int implauth;
00057
00058 int add2token(XrdSysError &erp,char *,char **,int &,XrdSecPMask_t &);
00059 int ConfigFile(const char *cfn);
00060 int ConfigXeq(char *var, XrdOucStream &Config, XrdSysError &Eroute);
00061 int ProtBind_Complete(XrdSysError &Eroute);
00062 int xpbind(XrdOucStream &Config, XrdSysError &Eroute);
00063 int xpparm(XrdOucStream &Config, XrdSysError &Eroute);
00064 int xprot(XrdOucStream &Config, XrdSysError &Eroute);
00065 int xtrace(XrdOucStream &Config, XrdSysError &Eroute);
00066 };
00067 #endif