XRootD
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
XrdOucEnv * envP
Definition: XrdPss.cc:108

References accSciTokens, XrdProxy::envP, 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, XrdProxy::envP, 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, XrdProxy::envP, 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().