/usr/include/rsbac/auth_data_structures.h is in librsbac-dev 1.4.0-repack-0ubuntu6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | /**************************************/
/* Rule Set Based Access Control */
/* Author and (c) 1999-2007: */
/* Amon Ott <ao@rsbac.org> */
/* Data structures / AUTH */
/* Last modified: 16/Sep/2007 */
/**************************************/
#ifndef __RSBAC_AUTH_DATA_STRUC_H
#define __RSBAC_AUTH_DATA_STRUC_H
#include <linux/types.h>
#include <rsbac/aci.h>
#include <rsbac/types.h>
/**********************************************/
/* Capability lists */
/**********************************************/
#define RSBAC_AUTH_LIST_KEY 626281
#define RSBAC_AUTH_P_LIST_VERSION 1
#define RSBAC_AUTH_P_LIST_NAME "authproc"
#define RSBAC_AUTH_P_EFF_LIST_NAME "authproceff"
#define RSBAC_AUTH_P_FS_LIST_NAME "authprocfs"
#define RSBAC_AUTH_P_GROUP_LIST_NAME "authprocgr"
#define RSBAC_AUTH_P_GROUP_EFF_LIST_NAME "authprocgreff"
#define RSBAC_AUTH_P_GROUP_FS_LIST_NAME "authprocgrfs"
#define RSBAC_AUTH_FD_FILENAME "authfd"
#define RSBAC_AUTH_FD_EFF_FILENAME "authfde"
#define RSBAC_AUTH_FD_FS_FILENAME "authfdf"
#define RSBAC_AUTH_FD_GROUP_FILENAME "authfg"
#define RSBAC_AUTH_FD_GROUP_EFF_FILENAME "authfge"
#define RSBAC_AUTH_FD_GROUP_FS_FILENAME "authfgf"
#define RSBAC_AUTH_FD_OLD_FILENAME "authfd."
#define RSBAC_AUTH_FD_OLD_EFF_FILENAME "authfde."
#define RSBAC_AUTH_FD_OLD_FS_FILENAME "authfdf."
#define RSBAC_AUTH_FD_OLD_GROUP_FILENAME "authfg."
#define RSBAC_AUTH_FD_OLD_GROUP_EFF_FILENAME "authfge."
#define RSBAC_AUTH_FD_OLD_GROUP_FS_FILENAME "authfgf."
#define RSBAC_AUTH_NR_CAP_FD_LISTS 4
#define RSBAC_AUTH_NR_CAP_EFF_FD_LISTS 2
#define RSBAC_AUTH_NR_CAP_FS_FD_LISTS 2
#define RSBAC_AUTH_NR_CAP_GROUP_FD_LISTS 4
#define RSBAC_AUTH_NR_CAP_GROUP_EFF_FD_LISTS 2
#define RSBAC_AUTH_NR_CAP_GROUP_FS_FD_LISTS 2
#define RSBAC_AUTH_FD_LIST_VERSION 2
#define RSBAC_AUTH_FD_EFF_LIST_VERSION 2
#define RSBAC_AUTH_FD_FS_LIST_VERSION 2
#define RSBAC_AUTH_FD_GROUP_LIST_VERSION 2
#define RSBAC_AUTH_FD_GROUP_EFF_LIST_VERSION 2
#define RSBAC_AUTH_FD_GROUP_FS_LIST_VERSION 2
#define RSBAC_AUTH_FD_OLD_LIST_VERSION 1
#define RSBAC_AUTH_FD_EFF_OLD_LIST_VERSION 1
#define RSBAC_AUTH_FD_FS_OLD_LIST_VERSION 1
#define RSBAC_AUTH_FD_GROUP_OLD_LIST_VERSION 1
#define RSBAC_AUTH_FD_GROUP_EFF_OLD_LIST_VERSION 1
#define RSBAC_AUTH_FD_GROUP_FS_OLD_LIST_VERSION 1
/* The list of devices is also a double linked list, so we define list */
/* items and a list head. */
struct rsbac_auth_device_list_item_t {
kdev_t id; /* set to 0 before deletion */
u_int mount_count;
rsbac_list_handle_t handle;
#ifdef CONFIG_RSBAC_AUTH_DAC_OWNER
rsbac_list_handle_t eff_handle;
rsbac_list_handle_t fs_handle;
#endif
#ifdef CONFIG_RSBAC_AUTH_GROUP
rsbac_list_handle_t
group_handle;
#ifdef CONFIG_RSBAC_AUTH_DAC_OWNER
rsbac_list_handle_t
group_eff_handle;
rsbac_list_handle_t
group_fs_handle;
#endif
#endif
struct rsbac_auth_device_list_item_t *prev;
struct rsbac_auth_device_list_item_t *next;
};
/* To provide consistency we use spinlocks for all list accesses. The */
/* 'curr' entry is used to avoid repeated lookups for the same item. */
struct rsbac_auth_device_list_head_t {
struct rsbac_auth_device_list_item_t *head;
struct rsbac_auth_device_list_item_t *tail;
struct rsbac_auth_device_list_item_t *curr;
u_int count;
};
#endif
|