XRootD
XrdSciTokensAccess.cc File Reference
#include "XrdAcc/XrdAccAuthorize.hh"
#include "XrdOuc/XrdOucEnv.hh"
#include "XrdOuc/XrdOucGatherConf.hh"
#include "XrdOuc/XrdOucPrivateUtils.hh"
#include "XrdSec/XrdSecEntity.hh"
#include "XrdSec/XrdSecEntityAttr.hh"
#include "XrdSys/XrdSysLogger.hh"
#include "XrdTls/XrdTlsContext.hh"
#include "XrdVersion.hh"
#include <cctype>
#include <ctime>
#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 1407 of file XrdSciTokensAccess.cc.

1409 {
1410  try {
1411  accSciTokens = new XrdAccSciTokens(lp, parm, accP, envP);
1413  } catch (std::exception &) {
1414  }
1415 }
XrdAccSciTokens * accSciTokens
XrdSciTokensHelper * SciTokensHelper
XrdOucEnv * envP
Definition: XrdPss.cc:109

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 1419 of file XrdSciTokensAccess.cc.

1424 {
1425  // Record the parent authorization plugin. There is no need to use
1426  // unique_ptr as all of this happens once in the main and only thread.
1427  //
1428 
1429  // If we have been initialized by a previous load, them return that result.
1430  // Otherwise, it's the first time through, get a new SciTokens authorizer.
1431  //
1432  if (!accSciTokens) InitAccSciTokens(lp, cfn, parm, accP, envP);
1433  return accSciTokens;
1434 }
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 1436 of file XrdSciTokensAccess.cc.

1439 {
1440  InitAccSciTokens(lp, cfn, parm, nullptr, nullptr);
1441  return accSciTokens;
1442 }

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 1444 of file XrdSciTokensAccess.cc.

1448 {
1449  InitAccSciTokens(lp, cfn, parm, nullptr, envP);
1450  return accSciTokens;
1451 }

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 468 of file XrdSciTokensAccess.cc.

Referenced by InitAccSciTokens().