XRootD
Loading...
Searching...
No Matches
XrdSciTokensAccess.cc File Reference
#include "XrdAcc/XrdAccAuthorize.hh"
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucGatherConf.hh"
#include "XrdSec/XrdSecEntity.hh"
#include "XrdSec/XrdSecEntityAttr.hh"
#include "XrdSys/XrdSysLogger.hh"
#include "XrdTls/XrdTlsContext.hh"
#include "XrdVersion.hh"
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <vector>
#include <sstream>
#include <fstream>
#include <unordered_map>
#include <tuple>
#include "fcntl.h"
#include "INIReader.h"
#include "picojson.h"
#include "scitokens/scitokens.h"
#include "XrdSciTokens/XrdSciTokensHelper.hh"
#include "XrdSciTokens/XrdSciTokensMon.hh"
+ Include dependency graph for XrdSciTokensAccess.cc:

Go to the source code of this file.

Classes

class  OverrideINIReader
 
class  XrdAccRules
 
class  XrdAccSciTokens
 

Functions

void InitAccSciTokens (XrdSysLogger *lp, const char *cfn, const char *parm, XrdAccAuthorize *accP, XrdOucEnv *envP)
 
XrdAccAuthorizeXrdAccAuthorizeObjAdd (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP, XrdAccAuthorize *accP)
 
XrdAccAuthorizeXrdAccAuthorizeObject (XrdSysLogger *lp, const char *cfn, const char *parm)
 
XrdAccAuthorizeXrdAccAuthorizeObject2 (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP)
 
 XrdVERSIONINFO (XrdAccAuthorizeObjAdd, XrdAccSciTokens)
 
 XrdVERSIONINFO (XrdAccAuthorizeObject, XrdAccSciTokens)
 

Variables

XrdAccSciTokensaccSciTokens = nullptr
 
XrdSciTokensHelperSciTokensHelper = nullptr
 

Function Documentation

◆ InitAccSciTokens()

void InitAccSciTokens ( XrdSysLogger lp,
const char *  cfn,
const char *  parm,
XrdAccAuthorize accP,
XrdOucEnv envP 
)

Definition at line 1374 of file XrdSciTokensAccess.cc.

1376{
1377 try {
1378 accSciTokens = new XrdAccSciTokens(lp, parm, accP, envP);
1380 } catch (std::exception &) {
1381 }
1382}
XrdAccSciTokens * accSciTokens
XrdSciTokensHelper * SciTokensHelper

References accSciTokens, and SciTokensHelper.

Referenced by XrdAccAuthorizeObjAdd(), XrdAccAuthorizeObject(), and XrdAccAuthorizeObject2().

+ Here is the caller graph for this function:

◆ XrdAccAuthorizeObjAdd()

XrdAccAuthorize * XrdAccAuthorizeObjAdd ( XrdSysLogger lp,
const char *  cfn,
const char *  parm,
XrdOucEnv envP,
XrdAccAuthorize accP 
)

Definition at line 1386 of file XrdSciTokensAccess.cc.

1391{
1392 // Record the parent authorization plugin. There is no need to use
1393 // unique_ptr as all of this happens once in the main and only thread.
1394 //
1395
1396 // If we have been initialized by a previous load, them return that result.
1397 // Otherwise, it's the first time through, get a new SciTokens authorizer.
1398 //
1399 if (!accSciTokens) InitAccSciTokens(lp, cfn, parm, accP, envP);
1400 return accSciTokens;
1401}
void InitAccSciTokens(XrdSysLogger *lp, const char *cfn, const char *parm, XrdAccAuthorize *accP, XrdOucEnv *envP)

References accSciTokens, and InitAccSciTokens().

+ Here is the call graph for this function:

◆ XrdAccAuthorizeObject()

XrdAccAuthorize * XrdAccAuthorizeObject ( XrdSysLogger lp,
const char *  cfn,
const char *  parm 
)

Definition at line 1403 of file XrdSciTokensAccess.cc.

1406{
1407 InitAccSciTokens(lp, cfn, parm, nullptr, nullptr);
1408 return accSciTokens;
1409}

References accSciTokens, and InitAccSciTokens().

+ Here is the call graph for this function:

◆ XrdAccAuthorizeObject2()

XrdAccAuthorize * XrdAccAuthorizeObject2 ( XrdSysLogger lp,
const char *  cfn,
const char *  parm,
XrdOucEnv envP 
)

Definition at line 1411 of file XrdSciTokensAccess.cc.

1415{
1416 InitAccSciTokens(lp, cfn, parm, nullptr, envP);
1417 return accSciTokens;
1418}

References accSciTokens, and InitAccSciTokens().

+ Here is the call graph for this function:

◆ XrdVERSIONINFO() [1/2]

XrdVERSIONINFO ( XrdAccAuthorizeObjAdd  ,
XrdAccSciTokens   
)

◆ XrdVERSIONINFO() [2/2]

XrdVERSIONINFO ( XrdAccAuthorizeObject  ,
XrdAccSciTokens   
)

Variable Documentation

◆ accSciTokens

◆ SciTokensHelper

XrdSciTokensHelper* SciTokensHelper = nullptr

Definition at line 465 of file XrdSciTokensAccess.cc.

Referenced by InitAccSciTokens().