CernVM-FS  2.13.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
acl.cc File Reference
#include "acl.h"
#include <cassert>
#include <cstring>
#include <vector>
#include <algorithm>
#include <string.h>
#include "util/posix.h"
Include dependency graph for acl.cc:

Go to the source code of this file.

Classes

struct  acl_ea_entry
 
struct  acl_ea_header
 

Macros

#define ACL_READ   (0x04)
 
#define ACL_WRITE   (0x02)
 
#define ACL_EXECUTE   (0x01)
 
#define ACL_UNDEFINED_TAG   (0x00)
 
#define ACL_USER_OBJ   (0x01)
 
#define ACL_USER   (0x02)
 
#define ACL_GROUP_OBJ   (0x04)
 
#define ACL_GROUP   (0x08)
 
#define ACL_MASK   (0x10)
 
#define ACL_OTHER   (0x20)
 
#define ACL_UNDEFINED_ID   ((id_t) - 1)
 
#define ACL_EA_VERSION   0x0002
 

Functions

static int acl_from_text_to_string_entries (const string &acl_string, vector< string > &string_entries)
 
static int acl_parms_from_text (const string &str, u_int16_t *perms)
 
static int acl_entry_from_text (const string &str, acl_ea_entry &entry)
 
static bool acl_valid_builtin (const vector< acl_ea_entry > &entries)
 
int acl_from_text_to_xattr_value (const string &textual_acl, char *&o_binary_acl, size_t &o_size, bool &o_equiv_mode)
 

Macro Definition Documentation

#define ACL_EA_VERSION   0x0002

Definition at line 41 of file acl.cc.

Referenced by acl_from_text_to_xattr_value().

#define ACL_EXECUTE   (0x01)

Definition at line 25 of file acl.cc.

Referenced by acl_parms_from_text().

#define ACL_GROUP   (0x08)

Definition at line 32 of file acl.cc.

Referenced by acl_entry_from_text(), acl_from_text_to_xattr_value(), and acl_valid_builtin().

#define ACL_GROUP_OBJ   (0x04)

Definition at line 31 of file acl.cc.

Referenced by acl_entry_from_text(), and acl_valid_builtin().

#define ACL_MASK   (0x10)

Definition at line 33 of file acl.cc.

Referenced by acl_entry_from_text(), and acl_valid_builtin().

#define ACL_OTHER   (0x20)

Definition at line 34 of file acl.cc.

Referenced by acl_entry_from_text(), and acl_valid_builtin().

#define ACL_READ   (0x04)

Definition at line 23 of file acl.cc.

Referenced by acl_parms_from_text().

#define ACL_UNDEFINED_ID   ((id_t) - 1)

Definition at line 37 of file acl.cc.

Referenced by acl_entry_from_text().

#define ACL_UNDEFINED_TAG   (0x00)

Definition at line 28 of file acl.cc.

#define ACL_USER   (0x02)

Definition at line 30 of file acl.cc.

Referenced by acl_entry_from_text(), acl_from_text_to_xattr_value(), and acl_valid_builtin().

#define ACL_USER_OBJ   (0x01)

Definition at line 29 of file acl.cc.

Referenced by acl_entry_from_text(), and acl_valid_builtin().

#define ACL_WRITE   (0x02)

Definition at line 24 of file acl.cc.

Referenced by acl_parms_from_text().

Function Documentation

static int acl_entry_from_text ( const string &  str,
acl_ea_entry entry 
)
static

Definition at line 130 of file acl.cc.

Referenced by acl_from_text_to_xattr_value().

Here is the call graph for this function:

Here is the caller graph for this function:

static int acl_from_text_to_string_entries ( const string &  acl_string,
vector< string > &  string_entries 
)
static

Definition at line 63 of file acl.cc.

Referenced by acl_from_text_to_xattr_value().

Here is the call graph for this function:

Here is the caller graph for this function:

int acl_from_text_to_xattr_value ( const string &  textual_acl,
char *&  o_binary_acl,
size_t &  o_size,
bool &  o_equiv_mode 
)

Definition at line 250 of file acl.cc.

Referenced by marshal_xattrs().

Here is the call graph for this function:

Here is the caller graph for this function:

static int acl_parms_from_text ( const string &  str,
u_int16_t *  perms 
)
static

Definition at line 110 of file acl.cc.

Referenced by acl_entry_from_text().

Here is the caller graph for this function:

static bool acl_valid_builtin ( const vector< acl_ea_entry > &  entries)
static

Definition at line 200 of file acl.cc.

Referenced by acl_from_text_to_xattr_value().

Here is the call graph for this function:

Here is the caller graph for this function: