00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
#ifndef __RSBAC_AUTH_H
00012
#define __RSBAC_AUTH_H
00013
00014
#include <linux/init.h>
00015
#include <rsbac/types.h>
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
#ifdef CONFIG_RSBAC_INIT_DELAY
00030
extern int rsbac_init_auth(
void);
00031
#else
00032
extern int rsbac_init_auth(
void) __init;
00033 #endif
00034
00035
00036
int rsbac_mount_auth(kdev_t kdev);
00037
int rsbac_umount_auth(kdev_t kdev);
00038
00039
00040 extern
int rsbac_stats_auth(
void);
00041
00042
00043 extern
int rsbac_check_auth(
int correct,
int check_inode);
00044
00045
00046
00047
00048 #if defined(CONFIG_RSBAC_MAINT) || defined(CONFIG_RSBAC_AUTO_WRITE)
00049 extern
int rsbac_write_auth(
boolean);
00050 #endif
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
int rsbac_auth_add_to_p_capset(
rsbac_pid_t pid,
00065 enum rsbac_auth_cap_type_t cap_type,
00066 struct
rsbac_auth_cap_range_t cap_range,
00067
rsbac_time_t ttl);
00068
00069
int rsbac_auth_add_to_f_capset(
rsbac_auth_file_t file,
00070 enum rsbac_auth_cap_type_t cap_type,
00071 struct
rsbac_auth_cap_range_t cap_range,
00072
rsbac_time_t ttl);
00073
00074
00075
00076
00077
00078
int rsbac_auth_remove_from_p_capset(
rsbac_pid_t pid,
00079 enum rsbac_auth_cap_type_t cap_type,
00080 struct
rsbac_auth_cap_range_t cap_range);
00081
00082
int rsbac_auth_remove_from_f_capset(
rsbac_auth_file_t file,
00083 enum rsbac_auth_cap_type_t cap_type,
00084 struct
rsbac_auth_cap_range_t cap_range);
00085
00086
00087
00088
00089
00090
int rsbac_auth_clear_p_capset(
rsbac_pid_t pid,
00091 enum rsbac_auth_cap_type_t cap_type);
00092
00093
int rsbac_auth_clear_f_capset(
rsbac_auth_file_t file,
00094 enum rsbac_auth_cap_type_t cap_type);
00095
00096
00097
00098
00099
boolean rsbac_auth_p_capset_member(
rsbac_pid_t pid,
00100 enum rsbac_auth_cap_type_t cap_type,
00101
rsbac_uid_t member);
00102
00103
00104
00105
00106
00107
00108
int rsbac_auth_remove_p_capsets(
rsbac_pid_t pid);
00109
00110
int rsbac_auth_remove_f_capsets(
rsbac_auth_file_t file);
00111
00112
00113
00114
int rsbac_auth_copy_fp_capset(
rsbac_auth_file_t file,
00115
rsbac_pid_t p_cap_set_id);
00116
00117
00118
00119
int rsbac_auth_copy_pp_capset(
rsbac_pid_t old_p_set_id,
00120
rsbac_pid_t new_p_set_id);
00121
00122
00123
00124
00125
int rsbac_auth_get_f_caplist(
rsbac_auth_file_t file,
00126 enum rsbac_auth_cap_type_t cap_type,
00127 struct
rsbac_auth_cap_range_t **caplist_p,
00128
rsbac_time_t **ttllist_p);
00129
00130
00131
00132
00133
int rsbac_auth_get_p_caplist(
rsbac_pid_t file,
00134 enum rsbac_auth_cap_type_t cap_type,
00135 struct
rsbac_auth_cap_range_t **caplist_p,
00136
rsbac_time_t **ttllist_p);
00137
00138 #endif