acl_data_structures.c File Reference

#include <linux/types.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/ext2_fs.h>
#include <asm/uaccess.h>
#include <rsbac/types.h>
#include <rsbac/aci_data_structures.h>
#include <rsbac/acl_data_structures.h>
#include <rsbac/error.h>
#include <rsbac/helpers.h>
#include <rsbac/adf.h>
#include <rsbac/aci.h>
#include <rsbac/acl.h>
#include <rsbac/lists.h>
#include <rsbac/proc_fs.h>
#include <rsbac/getname.h>
#include <rsbac/acl_getname.h>
#include <rsbac/rkmem.h>
#include <rsbac/network.h>
#include <linux/string.h>
#include <linux/smp_lock.h>

Go to the source code of this file.

Functions

rsbac_boolean_t writable (struct super_block *sb_p)
static int fd_hash (rsbac_inode_nr_t inode)
static int entry_compare (void *desc1, void *desc2)
static int dev_compare (void *desc1, void *desc2)
static int fd_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tfd_get_conv (rsbac_version_t old_version)
static int dev_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
static int dev_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tdev_get_conv (rsbac_version_t old_version)
static int scd_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tscd_get_conv (rsbac_version_t old_version)
static int netdev_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tnetdev_get_conv (rsbac_version_t old_version)
static int nettemp_nt_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tnettemp_nt_get_conv (rsbac_version_t old_version)
static int nettemp_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tnettemp_get_conv (rsbac_version_t old_version)
static int common_subconv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tfd_get_subconv (rsbac_version_t old_version)
rsbac_list_conv_function_tdev_get_subconv (rsbac_version_t old_version)
rsbac_list_conv_function_tscd_get_subconv (rsbac_version_t old_version)
rsbac_list_conv_function_tnetdev_get_subconv (rsbac_version_t old_version)
rsbac_list_conv_function_tnettemp_nt_get_subconv (rsbac_version_t old_version)
rsbac_list_conv_function_tnettemp_get_subconv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_fd_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_dev_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_ipc_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_scd_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_u_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_p_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_g_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_netdev_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_nettemp_nt_get_conv (rsbac_version_t old_version)
rsbac_list_conv_function_tdef_netobj_get_conv (rsbac_version_t old_version)
static int acl_register_fd_lists (struct rsbac_acl_device_list_item_t *device_p, kdev_t kdev)
static int acl_detach_fd_lists (struct rsbac_acl_device_list_item_t *device_p)
static struct rsbac_acl_device_list_item_tacl_lookup_device (kdev_t kdev)
static struct rsbac_acl_device_list_item_tcreate_device_item (kdev_t kdev)
static struct rsbac_acl_device_list_item_tadd_device_item (struct rsbac_acl_device_list_item_t *device_p)
static void clear_device_item (struct rsbac_acl_device_list_item_t *device_p)
static void remove_device_item (kdev_t kdev)
static void __init registration_error (int err, char *listname)
int __init rsbac_init_acl (void)
int rsbac_mount_acl (kdev_t kdev)
int rsbac_umount_acl (kdev_t kdev)
int rsbac_stats_acl (void)
int rsbac_check_acl (int correct, int check_inode)
int rsbac_acl_set_acl_entry (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_acl_subject_type_t subj_type, rsbac_acl_subject_id_t subj_id, rsbac_acl_rights_vector_t rights, rsbac_time_t ttl)
int rsbac_acl_remove_acl_entry (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_acl_subject_type_t subj_type, rsbac_acl_subject_id_t subj_id)
int rsbac_acl_remove_acl (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid)
int rsbac_acl_add_to_acl_entry (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_acl_subject_type_t subj_type, rsbac_acl_subject_id_t subj_id, rsbac_acl_rights_vector_t rights, rsbac_time_t ttl)
int rsbac_acl_remove_from_acl_entry (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_acl_subject_type_t subj_type, rsbac_acl_subject_id_t subj_id, rsbac_acl_rights_vector_t rights)
int rsbac_acl_set_mask (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, rsbac_acl_rights_vector_t mask)
int rsbac_acl_get_mask (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, rsbac_acl_rights_vector_t *mask_p)
int rsbac_acl_get_rights (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_acl_subject_type_t subj_type, rsbac_acl_subject_id_t subj_id, rsbac_acl_rights_vector_t *rights_p, rsbac_boolean_t inherit)
int rsbac_acl_get_single_right (enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_acl_subject_type_t subj_type, rsbac_acl_subject_id_t subj_id, enum rsbac_adf_request_t right, rsbac_boolean_t *result)
int rsbac_acl_get_tlist (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid, struct rsbac_acl_entry_t **entry_pp, rsbac_time_t **ttl_pp)
int rsbac_acl_remove_subject (rsbac_list_ta_number_t ta_number, struct rsbac_acl_entry_desc_t desc)
int rsbac_acl_add_group (rsbac_list_ta_number_t ta_number, rsbac_uid_t owner, enum rsbac_acl_group_type_t type, char *name, rsbac_acl_group_id_t *group_id_p)
int rsbac_acl_change_group (rsbac_list_ta_number_t ta_number, rsbac_acl_group_id_t id, rsbac_uid_t owner, enum rsbac_acl_group_type_t type, char *name)
int rsbac_acl_remove_group (rsbac_list_ta_number_t ta_number, rsbac_acl_group_id_t id)
int rsbac_acl_get_group_entry (rsbac_list_ta_number_t ta_number, rsbac_acl_group_id_t group, struct rsbac_acl_group_entry_t *entry_p)
int rsbac_acl_list_groups (rsbac_list_ta_number_t ta_number, rsbac_uid_t owner, rsbac_boolean_t include_global, struct rsbac_acl_group_entry_t **entry_pp)
rsbac_boolean_t rsbac_acl_group_exist (rsbac_acl_group_id_t group)
int rsbac_acl_add_group_member (rsbac_list_ta_number_t ta_number, rsbac_acl_group_id_t group, rsbac_uid_t user, rsbac_time_t ttl)
int rsbac_acl_remove_group_member (rsbac_list_ta_number_t ta_number, rsbac_acl_group_id_t group, rsbac_uid_t user)
rsbac_boolean_t rsbac_acl_group_member (rsbac_acl_group_id_t group, rsbac_uid_t user)
int rsbac_acl_get_user_groups (rsbac_list_ta_number_t ta_number, rsbac_uid_t user, rsbac_acl_group_id_t **group_pp, rsbac_time_t **ttl_pp)
int rsbac_acl_get_group_members (rsbac_list_ta_number_t ta_number, rsbac_acl_group_id_t group, rsbac_uid_t user_array[], rsbac_time_t ttl_array[], int maxnum)
int rsbac_acl_remove_user (rsbac_list_ta_number_t ta_number, rsbac_uid_t user)

Variables

static struct rsbac_acl_device_list_head_t device_list_head
static rsbac_list_handle_t dev_handle = NULL
static rsbac_list_handle_t scd_handle = NULL
static rsbac_list_handle_t group_handle = NULL
static rsbac_list_handle_t gm_handle = NULL
static rsbac_list_handle_t default_fd_handle = NULL
static rsbac_list_handle_t default_dev_handle = NULL
static rsbac_list_handle_t default_ipc_handle = NULL
static rsbac_list_handle_t default_scd_handle = NULL
static rsbac_list_handle_t u_handle = NULL
static rsbac_list_handle_t default_u_handle = NULL
static rsbac_list_handle_t default_p_handle = NULL
static rsbac_acl_group_id_t group_last_new = 0
static rsbac_acl_rights_vector_t default_fd_rights = 0
static rsbac_acl_rights_vector_t default_dev_rights = 0
static rsbac_acl_rights_vector_t default_ipc_rights = 0
static rsbac_acl_rights_vector_t default_scd_rights = 0
static rsbac_acl_rights_vector_t default_u_rights = 0
static rsbac_acl_rights_vector_t default_p_rights = 0


Function Documentation

static int acl_detach_fd_lists struct rsbac_acl_device_list_item_t device_p  )  [static]
 

Definition at line 608 of file acl_data_structures.c.

References get_error_name(), rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_item_t::id, inttostr(), name, RSBAC_ACL_FD_FILENAME, RSBAC_ACL_LIST_KEY, RSBAC_ACL_NR_FD_LISTS, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, rsbac_kfree(), rsbac_kmalloc(), rsbac_list_lol_detach(), and RSBAC_MAXNAMELEN.

Referenced by clear_device_item().

static struct rsbac_acl_device_list_item_t* acl_lookup_device kdev_t  kdev  )  [static]
 

Definition at line 668 of file acl_data_structures.c.

References rsbac_acl_device_list_head_t::curr, rsbac_acl_device_list_head_t::head, rsbac_acl_device_list_item_t::id, and rsbac_acl_device_list_item_t::next.

Referenced by remove_device_item(), rsbac_acl_add_to_acl_entry(), rsbac_acl_get_mask(), rsbac_acl_get_rights(), rsbac_acl_get_single_right(), rsbac_acl_get_tlist(), rsbac_acl_remove_acl(), rsbac_acl_remove_acl_entry(), rsbac_acl_remove_from_acl_entry(), rsbac_acl_set_acl_entry(), rsbac_acl_set_mask(), rsbac_mount_acl(), and rsbac_umount_acl().

static int acl_register_fd_lists struct rsbac_acl_device_list_item_t device_p,
kdev_t  kdev
[static]
 

Definition at line 530 of file acl_data_structures.c.

References rsbac_list_lol_info_t::data_size, rsbac_list_lol_info_t::desc_size, entry_compare(), fd_get_conv(), fd_get_subconv(), get_error_name(), rsbac_acl_device_list_item_t::handles, inttostr(), rsbac_list_lol_info_t::key, rsbac_list_lol_info_t::max_age, name, NULL, RSBAC_ACL_DEFAULT_FD_MASK, RSBAC_ACL_FD_FILENAME, RSBAC_ACL_FD_LIST_VERSION, RSBAC_ACL_LIST_KEY, RSBAC_ACL_NR_FD_LISTS, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, rsbac_kfree(), rsbac_kmalloc(), rsbac_list_compare_u32(), RSBAC_LIST_DEF_DATA, rsbac_list_lol_register(), RSBAC_LIST_PERSIST, RSBAC_LIST_VERSION, RSBAC_MAXNAMELEN, rsbac_list_lol_info_t::subdata_size, rsbac_list_lol_info_t::subdesc_size, and rsbac_list_lol_info_t::version.

Referenced by rsbac_init_acl(), and rsbac_mount_acl().

static struct rsbac_acl_device_list_item_t* add_device_item struct rsbac_acl_device_list_item_t device_p  )  [static]
 

Definition at line 719 of file acl_data_structures.c.

References rsbac_acl_device_list_head_t::count, rsbac_acl_device_list_head_t::curr, rsbac_acl_device_list_head_t::head, rsbac_acl_device_list_item_t::next, NULL, rsbac_acl_device_list_item_t::prev, and rsbac_acl_device_list_head_t::tail.

static void clear_device_item struct rsbac_acl_device_list_item_t device_p  )  [static]
 

Definition at line 753 of file acl_data_structures.c.

References acl_detach_fd_lists(), and rsbac_kfree().

static int common_subconv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 333 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by def_dev_get_conv(), def_fd_get_conv(), def_g_get_conv(), def_ipc_get_conv(), def_netdev_get_conv(), def_netobj_get_conv(), def_nettemp_nt_get_conv(), def_p_get_conv(), def_scd_get_conv(), def_u_get_conv(), dev_get_subconv(), fd_get_subconv(), netdev_get_subconv(), nettemp_get_subconv(), nettemp_nt_get_subconv(), and scd_get_subconv().

static struct rsbac_acl_device_list_item_t* create_device_item kdev_t  kdev  )  [static]
 

Definition at line 702 of file acl_data_structures.c.

References NULL, and rsbac_kmalloc().

rsbac_list_conv_function_t* def_dev_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 427 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_DEV_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_fd_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 416 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_FD_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_g_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 482 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_G_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_ipc_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 438 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_IPC_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_netdev_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 493 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_NETDEV_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_netobj_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 515 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_NETOBJ_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_nettemp_nt_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 504 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_NETTEMP_NT_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_p_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 471 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_P_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_scd_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 449 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_SCD_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* def_u_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 460 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_DEF_U_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

static int dev_compare void *  desc1,
void *  desc2
[static]
 

Definition at line 123 of file acl_data_structures.c.

static int dev_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 179 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by dev_get_conv().

rsbac_list_conv_function_t* dev_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 215 of file acl_data_structures.c.

References dev_conv(), dev_old_conv(), NULL, RSBAC_ACL_DEV_OLD_LIST_VERSION, and RSBAC_ACL_DEV_OLD_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* dev_get_subconv rsbac_version_t  old_version  ) 
 

Definition at line 359 of file acl_data_structures.c.

References common_subconv(), NULL, RSBAC_ACL_DEV_OLD_LIST_VERSION, and RSBAC_ACL_DEV_OLD_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

static int dev_old_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 194 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by dev_get_conv().

static int entry_compare void *  desc1,
void *  desc2
[static]
 

Definition at line 106 of file acl_data_structures.c.

References rsbac_acl_entry_desc_t::subj_id, and rsbac_acl_entry_desc_t::subj_type.

Referenced by acl_register_fd_lists(), and rsbac_init_acl().

static int fd_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 153 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by fd_get_conv().

rsbac_list_conv_function_t* fd_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 168 of file acl_data_structures.c.

References fd_conv(), NULL, and RSBAC_ACL_FD_OLD_LIST_VERSION.

Referenced by acl_register_fd_lists().

rsbac_list_conv_function_t* fd_get_subconv rsbac_version_t  old_version  ) 
 

Definition at line 348 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_FD_OLD_LIST_VERSION.

Referenced by acl_register_fd_lists().

static int fd_hash rsbac_inode_nr_t  inode  )  [inline, static]
 

Definition at line 101 of file acl_data_structures.c.

References RSBAC_ACL_NR_FD_LISTS.

Referenced by copy_fp_cap_set_item(), copy_fp_tru_set_item(), rsbac_acl_add_to_acl_entry(), rsbac_acl_get_mask(), rsbac_acl_get_rights(), rsbac_acl_get_single_right(), rsbac_acl_get_tlist(), rsbac_acl_remove_acl(), rsbac_acl_remove_acl_entry(), rsbac_acl_remove_from_acl_entry(), rsbac_acl_set_acl_entry(), rsbac_acl_set_mask(), rsbac_auth_add_to_f_capset(), rsbac_auth_clear_f_capset(), rsbac_auth_get_f_caplist(), rsbac_auth_p_capset_member(), rsbac_auth_remove_from_f_capset(), rsbac_mac_add_to_f_truset(), rsbac_mac_clear_f_truset(), rsbac_mac_get_f_trulist(), and rsbac_mac_remove_from_f_truset().

static int netdev_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 254 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by netdev_get_conv().

rsbac_list_conv_function_t* netdev_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 269 of file acl_data_structures.c.

References netdev_conv(), NULL, and RSBAC_ACL_NETDEV_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* netdev_get_subconv rsbac_version_t  old_version  ) 
 

Definition at line 383 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_NETDEV_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

static int nettemp_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 306 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by nettemp_get_conv().

rsbac_list_conv_function_t* nettemp_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 321 of file acl_data_structures.c.

References nettemp_conv(), NULL, and RSBAC_ACL_NETTEMP_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* nettemp_get_subconv rsbac_version_t  old_version  ) 
 

Definition at line 405 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_NETTEMP_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

static int nettemp_nt_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 280 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by nettemp_nt_get_conv().

rsbac_list_conv_function_t* nettemp_nt_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 295 of file acl_data_structures.c.

References nettemp_nt_conv(), NULL, and RSBAC_ACL_NETTEMP_NT_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* nettemp_nt_get_subconv rsbac_version_t  old_version  ) 
 

Definition at line 394 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_NETTEMP_NT_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

static void __init registration_error int  err,
char *  listname
[static]
 

Definition at line 2435 of file acl_data_structures.c.

References get_error_name(), rsbac_kfree(), rsbac_kmalloc(), and RSBAC_MAXNAMELEN.

static void remove_device_item kdev_t  kdev  )  [static]
 

Definition at line 764 of file acl_data_structures.c.

References acl_lookup_device(), clear_device_item(), rsbac_acl_device_list_head_t::count, rsbac_acl_device_list_head_t::curr, rsbac_acl_device_list_head_t::head, rsbac_acl_device_list_item_t::next, NULL, rsbac_acl_device_list_item_t::prev, and rsbac_acl_device_list_head_t::tail.

int rsbac_acl_add_group rsbac_list_ta_number_t  ta_number,
rsbac_uid_t  owner,
enum rsbac_acl_group_type_t  type,
char *  name,
rsbac_acl_group_id_t group_id_p
 

Definition at line 9933 of file acl_data_structures.c.

References ACLG_NONE, group_last_new, rsbac_acl_group_entry_t::id, rsbac_acl_group_entry_t::name, rsbac_acl_group_entry_t::owner, RSBAC_ACL_GROUP_NAMELEN, RSBAC_ECOULDNOTADDITEM, RSBAC_EEXISTS, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, rsbac_ta_list_add_ttl(), rsbac_ta_list_exist(), and rsbac_acl_group_entry_t::type.

Referenced by rsbac_acl_sys_group().

int rsbac_acl_add_group_member rsbac_list_ta_number_t  ta_number,
rsbac_acl_group_id_t  group,
rsbac_uid_t  user,
rsbac_time_t  ttl
 

Definition at line 10090 of file acl_data_structures.c.

References NULL, RSBAC_EINVALIDVALUE, rsbac_ta_list_exist(), rsbac_ta_list_lol_add_ttl(), rsbac_ta_list_lol_exist(), and rsbac_ta_list_lol_subadd_ttl().

Referenced by rsbac_acl_sys_group().

int rsbac_acl_add_to_acl_entry rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_acl_subject_type_t  subj_type,
rsbac_acl_subject_id_t  subj_id,
rsbac_acl_rights_vector_t  rights,
rsbac_time_t  ttl
 

Definition at line 6482 of file acl_data_structures.c.

References acl_lookup_device(), ACLS_NONE, AST_none, D_none, fd_hash(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, I_none, rsbac_target_id_t::ipc, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, NULL, rsbac_target_id_t::process, RSBAC_ACL_DEFAULT_DEV_MASK, RSBAC_ACL_DEFAULT_FD_MASK, RSBAC_ACL_DEFAULT_G_MASK, RSBAC_ACL_DEFAULT_NETDEV_MASK, RSBAC_ACL_DEFAULT_NETOBJ_MASK, RSBAC_ACL_DEFAULT_NETTEMP_MASK, RSBAC_ACL_DEFAULT_SCD_MASK, RSBAC_ACL_DEFAULT_U_MASK, RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), rsbac_ta_list_lol_add_ttl(), rsbac_ta_list_lol_exist(), rsbac_ta_list_lol_get_subdata_ttl(), rsbac_ta_list_lol_subadd_ttl(), rsbac_ta_net_template_exist(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, rsbac_acl_entry_desc_t::subj_id, rsbac_acl_entry_desc_t::subj_type, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_PROCESS, T_SCD, T_SYMLINK, T_USER, rsbac_ipc_t::type, and rsbac_target_id_t::user.

Referenced by rsbac_acl_check_right(), and rsbac_acl_sys_add_to_acl_entry().

int rsbac_acl_change_group rsbac_list_ta_number_t  ta_number,
rsbac_acl_group_id_t  id,
rsbac_uid_t  owner,
enum rsbac_acl_group_type_t  type,
char *  name
 

Definition at line 9981 of file acl_data_structures.c.

References rsbac_acl_group_entry_t::id, rsbac_acl_group_entry_t::name, rsbac_acl_group_entry_t::owner, RSBAC_ACL_GROUP_NAMELEN, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, RSBAC_ENOTFOUND, rsbac_ta_list_add_ttl(), rsbac_ta_list_exist(), and rsbac_acl_group_entry_t::type.

Referenced by rsbac_acl_sys_group().

int rsbac_acl_get_group_entry rsbac_list_ta_number_t  ta_number,
rsbac_acl_group_id_t  group,
struct rsbac_acl_group_entry_t entry_p
 

Definition at line 10029 of file acl_data_structures.c.

References NULL, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, and rsbac_ta_list_get_data_ttl().

Referenced by rsbac_acl_sys_group(), sys_rsbac_acl(), sys_rsbac_acl_get_rights(), sys_rsbac_acl_get_rights_n(), and sys_rsbac_acl_n().

int rsbac_acl_get_group_members rsbac_list_ta_number_t  ta_number,
rsbac_acl_group_id_t  group,
rsbac_uid_t  user_array[],
rsbac_time_t  ttl_array[],
int  maxnum
 

Definition at line 10157 of file acl_data_structures.c.

References NULL, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, rsbac_ta_list_exist(), rsbac_ta_list_lol_get_all_desc(), rsbac_ta_list_lol_get_subdata_ttl(), and rsbac_vfree.

Referenced by rsbac_acl_sys_group().

int rsbac_acl_get_mask rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
rsbac_acl_rights_vector_t mask_p
 

Definition at line 7767 of file acl_data_structures.c.

Referenced by rsbac_acl_sys_get_mask().

int rsbac_acl_get_rights rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_acl_subject_type_t  subj_type,
rsbac_acl_subject_id_t  subj_id,
rsbac_acl_rights_vector_t rights_p,
rsbac_boolean_t  inherit
 

Definition at line 8047 of file acl_data_structures.c.

Referenced by rsbac_acl_sys_get_rights(), rsbac_acl_sys_remove_acl_entry(), and rsbac_acl_sys_set_mask().

int rsbac_acl_get_single_right enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_acl_subject_type_t  subj_type,
rsbac_acl_subject_id_t  subj_id,
enum rsbac_adf_request_t  right,
rsbac_boolean_t result
 

Definition at line 8742 of file acl_data_structures.c.

References acl_lookup_device(), ACLR_NONE, ACLR_SUPERVISOR, ACLS_NONE, AST_none, D_none, default_dev_rights, default_fd_rights, default_ipc_rights, default_p_rights, default_scd_rights, default_u_rights, FALSE, fd_hash(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, NULL, R_CREATE, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTINITIALIZED, rsbac_get_parent(), rsbac_get_super_block(), rsbac_is_initialized(), rsbac_net_remote_request(), rsbac_net_template_exist(), RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_get_data_ttl(), rsbac_ta_list_lol_get_data_ttl(), rsbac_ta_list_lol_get_subdata_ttl(), rsbac_ta_net_lookup_templates(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, rsbac_acl_entry_desc_t::subj_id, rsbac_acl_entry_desc_t::subj_type, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_PROCESS, T_SCD, T_SYMLINK, T_USER, TRUE, and rsbac_target_id_t::user.

Referenced by rsbac_acl_check_right(), rsbac_acl_check_super(), and rsbac_acl_sys_get_rights().

int rsbac_acl_get_tlist rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
struct rsbac_acl_entry_t **  entry_pp,
rsbac_time_t **  ttl_pp
 

Definition at line 9594 of file acl_data_structures.c.

Referenced by rsbac_acl_sys_get_tlist().

int rsbac_acl_get_user_groups rsbac_list_ta_number_t  ta_number,
rsbac_uid_t  user,
rsbac_acl_group_id_t **  group_pp,
rsbac_time_t **  ttl_pp
 

Definition at line 10143 of file acl_data_structures.c.

References rsbac_ta_list_lol_get_all_subdesc_ttl().

Referenced by rsbac_acl_check_right(), rsbac_acl_check_super(), rsbac_acl_sys_get_rights(), and rsbac_acl_sys_group().

rsbac_boolean_t rsbac_acl_group_exist rsbac_acl_group_id_t  group  ) 
 

Definition at line 10083 of file acl_data_structures.c.

References rsbac_ta_list_exist(), and TRUE.

rsbac_boolean_t rsbac_acl_group_member rsbac_acl_group_id_t  group,
rsbac_uid_t  user
 

Definition at line 10135 of file acl_data_structures.c.

References rsbac_ta_list_lol_subexist().

int rsbac_acl_list_groups rsbac_list_ta_number_t  ta_number,
rsbac_uid_t  owner,
rsbac_boolean_t  include_global,
struct rsbac_acl_group_entry_t **  entry_pp
 

Definition at line 10041 of file acl_data_structures.c.

References ACLG_GLOBAL, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, rsbac_ta_list_get_all_data(), rsbac_vfree, and rsbac_vmalloc.

Referenced by rsbac_acl_sys_group().

int rsbac_acl_remove_acl rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid
 

Definition at line 6208 of file acl_data_structures.c.

References acl_lookup_device(), AST_none, D_none, fd_hash(), get_acl_scd_type_name(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_lol_remove(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_SCD, T_SYMLINK, T_USER, and rsbac_target_id_t::user.

Referenced by rsbac_acl_sys_remove_acl(), and rsbac_ta_remove_target().

int rsbac_acl_remove_acl_entry rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_acl_subject_type_t  subj_type,
rsbac_acl_subject_id_t  subj_id
 

Definition at line 5766 of file acl_data_structures.c.

References acl_lookup_device(), ACLS_NONE, AST_none, D_none, fd_hash(), get_acl_scd_type_name(), get_acl_subject_type_name(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, I_none, rsbac_target_id_t::ipc, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, NULL, rsbac_target_id_t::process, RSBAC_ACL_DEFAULT_DEV_MASK, RSBAC_ACL_DEFAULT_FD_MASK, RSBAC_ACL_DEFAULT_G_MASK, RSBAC_ACL_DEFAULT_NETDEV_MASK, RSBAC_ACL_DEFAULT_NETOBJ_MASK, RSBAC_ACL_DEFAULT_NETTEMP_MASK, RSBAC_ACL_DEFAULT_SCD_MASK, RSBAC_ACL_DEFAULT_U_MASK, RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), RSBAC_MAXNAMELEN, RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_lol_get_data_ttl(), rsbac_ta_list_lol_remove(), rsbac_ta_list_lol_subcount(), rsbac_ta_list_lol_subremove(), rsbac_ta_list_remove(), rsbac_ta_net_template_exist(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, rsbac_acl_entry_desc_t::subj_id, rsbac_acl_entry_desc_t::subj_type, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_PROCESS, T_SCD, T_SYMLINK, T_USER, rsbac_ipc_t::type, and rsbac_target_id_t::user.

Referenced by rsbac_acl_sys_remove_acl_entry().

int rsbac_acl_remove_from_acl_entry rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_acl_subject_type_t  subj_type,
rsbac_acl_subject_id_t  subj_id,
rsbac_acl_rights_vector_t  rights
 

Definition at line 6984 of file acl_data_structures.c.

References acl_lookup_device(), ACLS_NONE, AST_none, D_none, fd_hash(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, I_none, rsbac_target_id_t::ipc, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, rsbac_target_id_t::process, RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), rsbac_ta_list_lol_get_subdata_ttl(), rsbac_ta_list_lol_subadd_ttl(), rsbac_ta_net_template_exist(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, rsbac_acl_entry_desc_t::subj_id, rsbac_acl_entry_desc_t::subj_type, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_PROCESS, T_SCD, T_SYMLINK, T_USER, rsbac_ipc_t::type, and rsbac_target_id_t::user.

Referenced by rsbac_acl_sys_remove_from_acl_entry().

int rsbac_acl_remove_group rsbac_list_ta_number_t  ta_number,
rsbac_acl_group_id_t  id
 

Definition at line 10006 of file acl_data_structures.c.

References ACLS_GROUP, rsbac_acl_remove_subject(), RSBAC_EINVALIDVALUE, rsbac_ta_list_lol_subremove_from_all(), rsbac_ta_list_remove(), rsbac_acl_entry_desc_t::subj_id, and rsbac_acl_entry_desc_t::subj_type.

Referenced by rsbac_acl_sys_group().

int rsbac_acl_remove_group_member rsbac_list_ta_number_t  ta_number,
rsbac_acl_group_id_t  group,
rsbac_uid_t  user
 

Definition at line 10112 of file acl_data_structures.c.

References RSBAC_EINVALIDVALUE, rsbac_ta_list_exist(), rsbac_ta_list_lol_remove(), rsbac_ta_list_lol_subcount(), and rsbac_ta_list_lol_subremove().

Referenced by rsbac_acl_sys_group().

int rsbac_acl_remove_subject rsbac_list_ta_number_t  ta_number,
struct rsbac_acl_entry_desc_t  desc
 

Definition at line 9859 of file acl_data_structures.c.

References ACLS_NONE, rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_head_t::head, rsbac_acl_device_list_head_t::lock, rsbac_acl_device_list_item_t::next, RSBAC_EINVALIDVALUE, rsbac_ta_list_lol_subremove_from_all(), rsbac_ta_list_remove(), and rsbac_acl_entry_desc_t::subj_type.

Referenced by rsbac_acl_remove_group(), rsbac_acl_remove_user(), and rsbac_rc_set_item().

int rsbac_acl_remove_user rsbac_list_ta_number_t  ta_number,
rsbac_uid_t  user
 

Definition at line 10201 of file acl_data_structures.c.

References ACLS_USER, rsbac_acl_remove_subject(), rsbac_ta_list_get_all_data(), rsbac_ta_list_lol_remove(), rsbac_ta_list_lol_subremove_from_all(), rsbac_ta_list_remove(), rsbac_vfree, rsbac_acl_entry_desc_t::subj_id, and rsbac_acl_entry_desc_t::subj_type.

Referenced by rsbac_acl_sys_remove_user().

int rsbac_acl_set_acl_entry rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_acl_subject_type_t  subj_type,
rsbac_acl_subject_id_t  subj_id,
rsbac_acl_rights_vector_t  rights,
rsbac_time_t  ttl
 

Definition at line 5346 of file acl_data_structures.c.

References acl_lookup_device(), ACLS_NONE, AST_none, D_none, fd_hash(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, I_none, rsbac_target_id_t::ipc, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, rsbac_target_id_t::process, RSBAC_ACL_DEFAULT_DEV_MASK, RSBAC_ACL_DEFAULT_FD_MASK, RSBAC_ACL_DEFAULT_G_MASK, RSBAC_ACL_DEFAULT_NETDEV_MASK, RSBAC_ACL_DEFAULT_NETOBJ_MASK, RSBAC_ACL_DEFAULT_NETTEMP_MASK, RSBAC_ACL_DEFAULT_SCD_MASK, RSBAC_ACL_DEFAULT_U_MASK, RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_add_ttl(), rsbac_ta_list_lol_add_ttl(), rsbac_ta_list_lol_exist(), rsbac_ta_list_lol_subadd_ttl(), rsbac_ta_net_template_exist(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, rsbac_acl_entry_desc_t::subj_id, rsbac_acl_entry_desc_t::subj_type, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_PROCESS, T_SCD, T_SYMLINK, T_USER, rsbac_ipc_t::type, and rsbac_target_id_t::user.

Referenced by rsbac_acl_sys_set_acl_entry().

int rsbac_acl_set_mask rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
rsbac_acl_rights_vector_t  mask
 

Definition at line 7472 of file acl_data_structures.c.

References acl_lookup_device(), AST_none, D_none, fd_hash(), get_acl_scd_type_name(), rsbac_target_id_t::group, rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_head_t::lock, rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), RSBAC_NO_GROUP, RSBAC_NO_USER, rsbac_ta_list_lol_add_ttl(), rsbac_ta_net_template_exist(), rsbac_target_id_t::scd, rsbac_net_obj_desc_t::sock_p, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_NONE, T_SCD, T_SYMLINK, T_USER, and rsbac_target_id_t::user.

Referenced by rsbac_acl_sys_set_mask().

int rsbac_check_acl int  correct,
int  check_inode
 

Definition at line 3847 of file acl_data_structures.c.

References ACLS_GROUP, ACLS_ROLE, rsbac_acl_device_list_head_t::count, rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_head_t::head, rsbac_acl_device_list_item_t::id, rsbac_acl_device_list_head_t::lock, rsbac_acl_device_list_item_t::next, NULL, RC_role_max_value, RSBAC_ENOTINITIALIZED, rsbac_get_super_block(), rsbac_is_initialized(), rsbac_list_count(), rsbac_list_exist(), rsbac_list_lol_count(), rsbac_list_lol_get_all_desc(), rsbac_list_lol_get_all_subdesc(), rsbac_list_lol_remove(), rsbac_list_lol_subremove(), and rsbac_vfree.

Referenced by rsbac_do_init(), and sys_rsbac_check().

int __init rsbac_init_acl void   ) 
 

Definition at line 2468 of file acl_data_structures.c.

References acl_register_fd_lists(), add_device_item(), rsbac_acl_device_list_head_t::count, create_device_item(), rsbac_acl_device_list_head_t::curr, rsbac_list_info_t::data_size, rsbac_list_lol_info_t::data_size, def_dev_get_conv(), def_fd_get_conv(), def_g_get_conv(), def_ipc_get_conv(), def_netdev_get_conv(), def_netobj_get_conv(), def_nettemp_nt_get_conv(), def_p_get_conv(), def_scd_get_conv(), def_u_get_conv(), rsbac_list_info_t::desc_size, rsbac_list_lol_info_t::desc_size, dev_compare(), dev_get_conv(), dev_get_subconv(), entry_compare(), get_error_name(), group_last_new, rsbac_acl_device_list_head_t::head, rsbac_list_info_t::key, rsbac_list_lol_info_t::key, rsbac_acl_device_list_head_t::lock, rsbac_list_info_t::max_age, rsbac_list_lol_info_t::max_age, netdev_get_conv(), netdev_get_subconv(), nettemp_get_conv(), nettemp_get_subconv(), nettemp_nt_get_conv(), nettemp_nt_get_subconv(), NULL, proc_rsbac_root_p, registration_error(), rsbac_acl_entry_t::rights, RSBAC_ACL_ACMAN_DEV_ENTRY, RSBAC_ACL_ACMAN_FD_ENTRY, RSBAC_ACL_ACMAN_G_ENTRY, RSBAC_ACL_ACMAN_IPC_ENTRY, RSBAC_ACL_ACMAN_NETDEV_ENTRY, RSBAC_ACL_ACMAN_NETOBJ_ENTRY, RSBAC_ACL_ACMAN_NETTEMP_NT_ENTRY, RSBAC_ACL_ACMAN_P_ENTRY, RSBAC_ACL_ACMAN_SCD_ENTRY, RSBAC_ACL_ACMAN_SCD_OTHER_ENTRY, RSBAC_ACL_ACMAN_U_ENTRY, RSBAC_ACL_AUDITOR_SCD_RSBACLOG_ENTRY, RSBAC_ACL_DEF_DEV_FILENAME, RSBAC_ACL_DEF_DEV_LIST_VERSION, RSBAC_ACL_DEF_FD_FILENAME, RSBAC_ACL_DEF_FD_LIST_VERSION, RSBAC_ACL_DEF_G_FILENAME, RSBAC_ACL_DEF_G_LIST_VERSION, RSBAC_ACL_DEF_IPC_FILENAME, RSBAC_ACL_DEF_IPC_LIST_VERSION, RSBAC_ACL_DEF_NETDEV_FILENAME, RSBAC_ACL_DEF_NETDEV_LIST_VERSION, RSBAC_ACL_DEF_NETOBJ_FILENAME, RSBAC_ACL_DEF_NETOBJ_LIST_VERSION, RSBAC_ACL_DEF_NETTEMP_NT_FILENAME, RSBAC_ACL_DEF_NETTEMP_NT_LIST_VERSION, RSBAC_ACL_DEF_P_FILENAME, RSBAC_ACL_DEF_P_LIST_VERSION, RSBAC_ACL_DEF_SCD_FILENAME, RSBAC_ACL_DEF_SCD_LIST_VERSION, RSBAC_ACL_DEF_U_FILENAME, RSBAC_ACL_DEF_U_LIST_VERSION, RSBAC_ACL_DEFAULT_DEV_MASK, RSBAC_ACL_DEFAULT_G_MASK, RSBAC_ACL_DEFAULT_NETDEV_MASK, RSBAC_ACL_DEFAULT_NETOBJ_MASK, RSBAC_ACL_DEFAULT_NETTEMP_MASK, RSBAC_ACL_DEFAULT_SCD_MASK, RSBAC_ACL_DEFAULT_U_MASK, RSBAC_ACL_DEV_FILENAME, RSBAC_ACL_DEV_LIST_VERSION, RSBAC_ACL_G_FILENAME, RSBAC_ACL_G_LIST_VERSION, RSBAC_ACL_GENERAL_DEV_ENTRY, RSBAC_ACL_GENERAL_FD_ENTRY, RSBAC_ACL_GENERAL_G_ENTRY, RSBAC_ACL_GENERAL_IPC_ENTRY, RSBAC_ACL_GENERAL_NETDEV_ENTRY, RSBAC_ACL_GENERAL_NETOBJ_ENTRY, RSBAC_ACL_GENERAL_NETTEMP_NT_ENTRY, RSBAC_ACL_GENERAL_P_ENTRY, RSBAC_ACL_GENERAL_SCD_ENTRY, RSBAC_ACL_GENERAL_SCD_NETWORK_ENTRY, RSBAC_ACL_GENERAL_SCD_OTHER_ENTRY, RSBAC_ACL_GENERAL_U_ENTRY, RSBAC_ACL_GM_FILENAME, RSBAC_ACL_GM_VERSION, RSBAC_ACL_GROUP_FILENAME, RSBAC_ACL_GROUP_VERSION, RSBAC_ACL_LIST_KEY, RSBAC_ACL_NETDEV_FILENAME, RSBAC_ACL_NETDEV_LIST_VERSION, RSBAC_ACL_NETOBJ_FILENAME, RSBAC_ACL_NETOBJ_LIST_VERSION, RSBAC_ACL_NETTEMP_FILENAME, RSBAC_ACL_NETTEMP_LIST_VERSION, RSBAC_ACL_NETTEMP_NT_FILENAME, RSBAC_ACL_NETTEMP_NT_LIST_VERSION, RSBAC_ACL_SCD_FILENAME, RSBAC_ACL_SCD_LIST_VERSION, RSBAC_ACL_SYSADM_DEV_ENTRY, RSBAC_ACL_SYSADM_FD_ENTRY, RSBAC_ACL_SYSADM_G_ENTRY, RSBAC_ACL_SYSADM_IPC_ENTRY, RSBAC_ACL_SYSADM_NETDEV_ENTRY, RSBAC_ACL_SYSADM_NETOBJ_ENTRY, RSBAC_ACL_SYSADM_NETTEMP_NT_ENTRY, RSBAC_ACL_SYSADM_P_ENTRY, RSBAC_ACL_SYSADM_SCD_ENTRY, RSBAC_ACL_SYSADM_SCD_OTHER_ENTRY, RSBAC_ACL_SYSADM_U_ENTRY, RSBAC_ACL_U_FILENAME, RSBAC_ACL_U_LIST_VERSION, RSBAC_ECOULDNOTADDDEVICE, RSBAC_EREINIT, rsbac_is_initialized(), rsbac_list_add(), RSBAC_LIST_BACKUP, rsbac_list_compare_u32(), rsbac_list_count(), RSBAC_LIST_DEF_DATA, rsbac_list_get_max_desc(), rsbac_list_lol_add(), rsbac_list_lol_count(), rsbac_list_lol_register(), rsbac_list_lol_subadd(), RSBAC_LIST_PERSIST, rsbac_list_register(), RSBAC_LIST_VERSION, rsbac_no_defaults, rsbac_root_dev, scd_get_conv(), scd_get_subconv(), ST_firewall, ST_ioports, ST_kmem, ST_network, ST_other, ST_priority, ST_rlimit, ST_rsbac, ST_rsbaclog, ST_sysfs, ST_time_strucs, rsbac_list_lol_info_t::subdata_size, rsbac_list_lol_info_t::subdesc_size, rsbac_acl_entry_desc_t::subj_id, rsbac_acl_entry_t::subj_id, rsbac_acl_entry_desc_t::subj_type, rsbac_acl_entry_t::subj_type, rsbac_acl_device_list_head_t::tail, rsbac_list_info_t::version, and rsbac_list_lol_info_t::version.

Referenced by rsbac_do_init().

int rsbac_mount_acl kdev_t  kdev  ) 
 

Definition at line 3510 of file acl_data_structures.c.

References acl_lookup_device(), acl_register_fd_lists(), add_device_item(), clear_device_item(), create_device_item(), get_error_name(), rsbac_acl_device_list_head_t::lock, rsbac_acl_device_list_item_t::mount_count, RSBAC_ECOULDNOTADDDEVICE, RSBAC_ENOTINITIALIZED, rsbac_is_initialized(), rsbac_kfree(), rsbac_kmalloc(), and RSBAC_MAXNAMELEN.

Referenced by rsbac_mount().

int rsbac_stats_acl void   ) 
 

Definition at line 3707 of file acl_data_structures.c.

References A_none, rsbac_attribute_value_t::dummy, group_last_new, rsbac_acl_device_list_item_t::handles, rsbac_acl_device_list_head_t::head, rsbac_acl_device_list_item_t::id, rsbac_acl_device_list_head_t::lock, rsbac_acl_device_list_item_t::next, R_GET_STATUS_DATA, rsbac_adf_request(), RSBAC_ENOTINITIALIZED, rsbac_is_initialized(), rsbac_list_count(), rsbac_list_lol_all_subcount(), rsbac_list_lol_count(), rsbac_target_id_t::scd, ST_rsbac, and T_SCD.

Referenced by rsbac_stats().

int rsbac_umount_acl kdev_t  kdev  ) 
 

Definition at line 3639 of file acl_data_structures.c.

References acl_lookup_device(), rsbac_acl_device_list_head_t::lock, rsbac_acl_device_list_item_t::mount_count, remove_device_item(), RSBAC_ENOTINITIALIZED, and rsbac_is_initialized().

Referenced by rsbac_umount().

static int scd_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 228 of file acl_data_structures.c.

References RSBAC_ACL_OLD_SPECIAL_RIGHT_BASE, RSBAC_ACL_SPECIAL_RIGHT_BASE, and RSBAC_ALL_REQUEST_VECTOR.

Referenced by scd_get_conv().

rsbac_list_conv_function_t* scd_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 243 of file acl_data_structures.c.

References NULL, RSBAC_ACL_SCD_OLD_LIST_VERSION, and scd_conv().

Referenced by rsbac_init_acl().

rsbac_list_conv_function_t* scd_get_subconv rsbac_version_t  old_version  ) 
 

Definition at line 372 of file acl_data_structures.c.

References common_subconv(), NULL, and RSBAC_ACL_SCD_OLD_LIST_VERSION.

Referenced by rsbac_init_acl().

rsbac_boolean_t writable struct super_block *  sb_p  ) 
 

Definition at line 323 of file aci_data_structures.c.


Variable Documentation

rsbac_list_handle_t default_dev_handle = NULL [static]
 

Definition at line 54 of file acl_data_structures.c.

rsbac_acl_rights_vector_t default_dev_rights = 0 [static]
 

Definition at line 78 of file acl_data_structures.c.

Referenced by rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

rsbac_list_handle_t default_fd_handle = NULL [static]
 

Definition at line 53 of file acl_data_structures.c.

rsbac_acl_rights_vector_t default_fd_rights = 0 [static]
 

Definition at line 77 of file acl_data_structures.c.

Referenced by rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

rsbac_list_handle_t default_ipc_handle = NULL [static]
 

Definition at line 55 of file acl_data_structures.c.

rsbac_acl_rights_vector_t default_ipc_rights = 0 [static]
 

Definition at line 79 of file acl_data_structures.c.

Referenced by rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

rsbac_list_handle_t default_p_handle = NULL [static]
 

Definition at line 59 of file acl_data_structures.c.

rsbac_acl_rights_vector_t default_p_rights = 0 [static]
 

Definition at line 85 of file acl_data_structures.c.

Referenced by rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

rsbac_list_handle_t default_scd_handle = NULL [static]
 

Definition at line 56 of file acl_data_structures.c.

rsbac_acl_rights_vector_t default_scd_rights = 0 [static]
 

Definition at line 80 of file acl_data_structures.c.

Referenced by rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

rsbac_list_handle_t default_u_handle = NULL [static]
 

Definition at line 58 of file acl_data_structures.c.

rsbac_acl_rights_vector_t default_u_rights = 0 [static]
 

Definition at line 81 of file acl_data_structures.c.

Referenced by rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

rsbac_list_handle_t dev_handle = NULL [static]
 

Definition at line 40 of file acl_data_structures.c.

struct rsbac_acl_device_list_head_t device_list_head [static]
 

Definition at line 38 of file acl_data_structures.c.

rsbac_list_handle_t gm_handle = NULL [static]
 

Definition at line 43 of file acl_data_structures.c.

rsbac_list_handle_t group_handle = NULL [static]
 

Definition at line 42 of file acl_data_structures.c.

Referenced by rsbac_init_um(), rsbac_stats_um(), rsbac_um_add_gm(), rsbac_um_add_group(), rsbac_um_add_user(), rsbac_um_get_gid(), rsbac_um_get_gm_user_list(), rsbac_um_get_group_item(), rsbac_um_get_group_list(), rsbac_um_group_exists(), rsbac_um_mod_group(), rsbac_um_mod_user(), rsbac_um_remove_group(), and rsbac_um_set_group_pass().

rsbac_acl_group_id_t group_last_new = 0 [static]
 

Definition at line 75 of file acl_data_structures.c.

Referenced by rsbac_acl_add_group(), rsbac_init_acl(), and rsbac_stats_acl().

rsbac_list_handle_t scd_handle = NULL [static]
 

Definition at line 41 of file acl_data_structures.c.

rsbac_list_handle_t u_handle = NULL [static]
 

Definition at line 57 of file acl_data_structures.c.


Generated on Fri Jun 17 09:45:30 2005 for RSBAC by  doxygen 1.4.2