xrootd
|
#include "XrdAcc/XrdAccPrivs.hh"
Go to the source code of this file.
Classes | |
class | XrdAccAuthorize |
Typedefs | |
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObject_t) (XrdSysLogger *lp, const char *cfn, const char *parm) |
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObject2_t) (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP) |
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObjAdd_t) (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP, XrdAccAuthorize *accP) |
Enumerations | |
enum | Access_Operation { AOP_Any = 0 , AOP_Chmod = 1 , AOP_Chown = 2 , AOP_Create = 3 , AOP_Delete = 4 , AOP_Insert = 5 , AOP_Lock = 6 , AOP_Mkdir = 7 , AOP_Read = 8 , AOP_Readdir = 9 , AOP_Rename = 10 , AOP_Stat = 11 , AOP_Update = 12 , AOP_Excl_Create = 13 , AOP_Excl_Insert = 14 , AOP_LastOp = 14 } |
The following are supported operations. More... | |
typedef XrdAccAuthorize *(* XrdAccAuthorizeObjAdd_t) (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP, XrdAccAuthorize *accP) |
extern "C" XrdAccAuthorize *XrdAccAuthorizeObject2(XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP) {...} Add an authorization object as a wrapper to the existing object.
XrdAccAuthorizeObjAdd() is an extern "C" function that is called to obtain an instance of the auth object that should wrap the existing object. The wrapper becomes the actual authorization object. The wrapper must be in the plug-in shared library, it is passed additional parameters. All the following extern symbols must be defined at file level!
lp | -> XrdSysLogger to be tied to an XrdSysError object for messages |
cfn | -> The name of the configuration file |
parm | -> Parameters specified on the authlib directive. If none it is zero. |
envP | -> Environmental information and may be nil. |
accP | -> to the existing authorization object. |
typedef XrdAccAuthorize *(* XrdAccAuthorizeObject2_t) (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP) |
extern "C" XrdAccAuthorize *XrdAccAuthorizeObject(XrdSysLogger *lp, const char *cfn, const char *parm) {...}
typedef XrdAccAuthorize *(* XrdAccAuthorizeObject_t) (XrdSysLogger *lp, const char *cfn, const char *parm) |
Obtain an authorization object.
XrdAccAuthorizeObject() is an extern "C" function that is called to obtain an instance of the auth object that will be used for all subsequent authorization decisions. It must be defined in the plug-in shared library. A second version which is used preferentially if it exists should be used if accessto theenvironmental pointer s needed. All the following extern symbols must be defined at file level!
lp | -> XrdSysLogger to be tied to an XrdSysError object for messages |
cfn | -> The name of the configuration file |
parm | -> Parameters specified on the authlib directive. If none it is zero. |
envP | -> Pointer to environment only available for version 2. |
enum Access_Operation |
The following are supported operations.
Enumerator | |
---|---|
AOP_Any | Special for getting privs. |
AOP_Chmod | chmod() |
AOP_Chown | chown() |
AOP_Create | open() with create |
AOP_Delete | rm() or rmdir() |
AOP_Insert | mv() for target |
AOP_Lock | n/a |
AOP_Mkdir | |
AOP_Read | open() r/o, prepare() |
AOP_Readdir | |
AOP_Rename | mv() for source |
AOP_Stat | exists(), stat() |
AOP_Update | open() r/w or append |
AOP_Excl_Create | open() with O_EXCL|O_CREAT |
AOP_Excl_Insert | mv() where destination doesn't exist. |
AOP_LastOp |