Loading...
Searching...
No Matches
XrdAccAuthorize.hh File Reference
`#include "XrdAcc/XrdAccPrivs.hh"`
Include dependency graph for XrdAccAuthorize.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

class | XrdAccAuthorize

## Typedefs

typedef XrdAccAuthorize *(* | XrdAccAuthorizeObjAdd_t) (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP, XrdAccAuthorize *accP)
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObject2_t) (XrdSysLogger *lp, const char *cfn, const char *parm, XrdOucEnv *envP)
typedef XrdAccAuthorize *(* | XrdAccAuthorizeObject_t) (XrdSysLogger *lp, const char *cfn, const char *parm)

## 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 Documentation

## XrdAccAuthorizeObjAdd_t

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!

Parameters

  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.

Returns
  Success: A pointer to the authorization object. Failure: Null pointer which causes initialization to fail.

Definition at line 211 of file XrdAccAuthorize.hh.

## XrdAccAuthorizeObject2_t

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) {...}

Definition at line 179 of file XrdAccAuthorize.hh.

## XrdAccAuthorizeObject_t

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!

Parameters

  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.

Returns
  Success: A pointer to the authorization object. Failure: Null pointer which causes initialization to fail.

Definition at line 167 of file XrdAccAuthorize.hh.

## Enumeration Type Documentation

## Access_Operation

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 | mkdir()
AOP_Read | open() r/o, prepare()
AOP_Readdir | opendir()
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 |

Definition at line 41 of file XrdAccAuthorize.hh.

{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 // For limits testing
};
AOP_Delete
@ AOP_Delete
rm() or rmdir()
Definition XrdAccAuthorize.hh:45
AOP_Mkdir
@ AOP_Mkdir
mkdir()
Definition XrdAccAuthorize.hh:48
AOP_Update
@ AOP_Update
open() r/w or append
Definition XrdAccAuthorize.hh:53
AOP_Create
@ AOP_Create
open() with create
Definition XrdAccAuthorize.hh:44
AOP_Readdir
@ AOP_Readdir
opendir()
Definition XrdAccAuthorize.hh:50
AOP_Chmod
@ AOP_Chmod
chmod()
Definition XrdAccAuthorize.hh:42
AOP_Any
@ AOP_Any
Special for getting privs.
Definition XrdAccAuthorize.hh:41
AOP_Stat
@ AOP_Stat
exists(), stat()
Definition XrdAccAuthorize.hh:52
AOP_LastOp
@ AOP_LastOp
Definition XrdAccAuthorize.hh:56
AOP_Rename
@ AOP_Rename
mv() for source
Definition XrdAccAuthorize.hh:51
AOP_Read
@ AOP_Read
open() r/o, prepare()
Definition XrdAccAuthorize.hh:49
AOP_Excl_Create
@ AOP_Excl_Create
open() with O_EXCL|O_CREAT
Definition XrdAccAuthorize.hh:54
AOP_Insert
@ AOP_Insert
mv() for target
Definition XrdAccAuthorize.hh:46
AOP_Lock
@ AOP_Lock
n/a
Definition XrdAccAuthorize.hh:47
AOP_Chown
@ AOP_Chown
chown()
Definition XrdAccAuthorize.hh:43
AOP_Excl_Insert
@ AOP_Excl_Insert
mv() where destination doesn't exist.
Definition XrdAccAuthorize.hh:55