xrootd
Loading...
Searching...
No Matches
XrdNetPMarkCfg.hh
Go to the documentation of this file.
1#ifndef __XRDNETPMARKCFG__
2#define __XRDNETPMARKCFG__
3/******************************************************************************/
4/* */
5/* X r d N e t P M a r k C f g . h h */
6/* */
7/* (c) 2021 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
33class XrdNetMsg;
34class XrdNetPMark;
35class XrdOucMapP2N;
36class XrdOucStream;
37class XrdScheduler;
38class XrdSysError;
39class XrdSysTrace;
40
41#include "XrdNet/XrdNetPMark.hh"
42
44{
45public:
46
48 const char *path=0,
49 const char *cgi=0,
50 const char *app=0) override;
51
53 XrdNetPMark::Handle &handle,
54 const char *tident) override;
55
57 XrdSysTrace *trc, bool &fatal);
58
60
62
63
64private:
66
67static bool ConfigDefs();
68static bool ConfigPV2E(char *info);
69static bool ConfigRU2A(char *info);
70static void Display();
71static
72const char *Extract(const char *sVec, char *buff, int blen);
73static bool FetchFile();
74static bool getCodes(XrdSecEntity &client, const char *path,
75 const char *cgi, int &ecode, int &acode);
76static bool LoadFile();
77static bool LoadJson(char *buff);
78};
79#endif
Definition XrdNetAddrInfo.hh:54
Definition XrdNetMsg.hh:50
Definition XrdNetPMarkCfg.hh:44
static XrdNetPMark * Config(XrdSysError *eLog, XrdScheduler *sched, XrdSysTrace *trc, bool &fatal)
static bool ConfigRU2A(char *info)
XrdNetPMark::Handle * Begin(XrdNetAddrInfo &addr, XrdNetPMark::Handle &handle, const char *tident) override
static bool ConfigDefs()
static bool ConfigPV2E(char *info)
static bool FetchFile()
static bool getCodes(XrdSecEntity &client, const char *path, const char *cgi, int &ecode, int &acode)
static int Parse(XrdSysError *eLog, XrdOucStream &Config)
static bool LoadFile()
XrdNetPMark::Handle * Begin(XrdSecEntity &Client, const char *path=0, const char *cgi=0, const char *app=0) override
static const char * Extract(const char *sVec, char *buff, int blen)
static bool LoadJson(char *buff)
~XrdNetPMarkCfg()
Definition XrdNetPMarkCfg.hh:65
XrdNetPMarkCfg()
Definition XrdNetPMarkCfg.hh:61
static void Display()
Definition XrdNetPMark.hh:43
Definition XrdNetPMark.hh:39
Definition XrdOucStream.hh:47
Definition XrdScheduler.hh:46
Definition XrdSecEntity.hh:65
Definition XrdSysError.hh:90
Definition XrdSysTrace.hh:49