|
13 | 13 | * |
14 | 14 | * Author : Stephen Smalley, <[email protected]> |
15 | 15 | */ |
| 16 | + |
16 | 17 | #ifndef _SS_CONSTRAINT_H_ |
17 | 18 | #define _SS_CONSTRAINT_H_ |
18 | 19 |
|
|
21 | 22 | #define CEXPR_MAXDEPTH 5 |
22 | 23 |
|
23 | 24 | struct constraint_expr { |
24 | | -#define CEXPR_NOT 1 /* not expr */ |
25 | | -#define CEXPR_AND 2 /* expr and expr */ |
26 | | -#define CEXPR_OR 3 /* expr or expr */ |
27 | | -#define CEXPR_ATTR 4 /* attr op attr */ |
28 | | -#define CEXPR_NAMES 5 /* attr op names */ |
29 | | - u32 expr_type; /* expression type */ |
30 | | - |
31 | | -#define CEXPR_USER 1 /* user */ |
32 | | -#define CEXPR_ROLE 2 /* role */ |
33 | | -#define CEXPR_TYPE 4 /* type */ |
34 | | -#define CEXPR_TARGET 8 /* target if set, source otherwise */ |
35 | | -#define CEXPR_XTARGET 16 /* special 3rd target for validatetrans rule */ |
36 | | -#define CEXPR_L1L2 32 /* low level 1 vs. low level 2 */ |
37 | | -#define CEXPR_L1H2 64 /* low level 1 vs. high level 2 */ |
38 | | -#define CEXPR_H1L2 128 /* high level 1 vs. low level 2 */ |
39 | | -#define CEXPR_H1H2 256 /* high level 1 vs. high level 2 */ |
40 | | -#define CEXPR_L1H1 512 /* low level 1 vs. high level 1 */ |
41 | | -#define CEXPR_L2H2 1024 /* low level 2 vs. high level 2 */ |
42 | | - u32 attr; /* attribute */ |
43 | | - |
44 | | -#define CEXPR_EQ 1 /* == or eq */ |
45 | | -#define CEXPR_NEQ 2 /* != */ |
46 | | -#define CEXPR_DOM 3 /* dom */ |
47 | | -#define CEXPR_DOMBY 4 /* domby */ |
48 | | -#define CEXPR_INCOMP 5 /* incomp */ |
49 | | - u32 op; /* operator */ |
50 | | - |
51 | | - struct ebitmap names; /* names */ |
| 25 | +#define CEXPR_NOT 1 /* not expr */ |
| 26 | +#define CEXPR_AND 2 /* expr and expr */ |
| 27 | +#define CEXPR_OR 3 /* expr or expr */ |
| 28 | +#define CEXPR_ATTR 4 /* attr op attr */ |
| 29 | +#define CEXPR_NAMES 5 /* attr op names */ |
| 30 | + u32 expr_type; /* expression type */ |
| 31 | + |
| 32 | +#define CEXPR_USER 1 /* user */ |
| 33 | +#define CEXPR_ROLE 2 /* role */ |
| 34 | +#define CEXPR_TYPE 4 /* type */ |
| 35 | +#define CEXPR_TARGET 8 /* target if set, source otherwise */ |
| 36 | +#define CEXPR_XTARGET 16 /* special 3rd target for validatetrans rule */ |
| 37 | +#define CEXPR_L1L2 32 /* low level 1 vs. low level 2 */ |
| 38 | +#define CEXPR_L1H2 64 /* low level 1 vs. high level 2 */ |
| 39 | +#define CEXPR_H1L2 128 /* high level 1 vs. low level 2 */ |
| 40 | +#define CEXPR_H1H2 256 /* high level 1 vs. high level 2 */ |
| 41 | +#define CEXPR_L1H1 512 /* low level 1 vs. high level 1 */ |
| 42 | +#define CEXPR_L2H2 1024 /* low level 2 vs. high level 2 */ |
| 43 | + u32 attr; /* attribute */ |
| 44 | + |
| 45 | +#define CEXPR_EQ 1 /* == or eq */ |
| 46 | +#define CEXPR_NEQ 2 /* != */ |
| 47 | +#define CEXPR_DOM 3 /* dom */ |
| 48 | +#define CEXPR_DOMBY 4 /* domby */ |
| 49 | +#define CEXPR_INCOMP 5 /* incomp */ |
| 50 | + u32 op; /* operator */ |
| 51 | + |
| 52 | + struct ebitmap names; /* names */ |
52 | 53 | struct type_set *type_names; |
53 | 54 |
|
54 | | - struct constraint_expr *next; /* next expression */ |
| 55 | + struct constraint_expr *next; /* next expression */ |
55 | 56 | }; |
56 | 57 |
|
57 | 58 | struct constraint_node { |
58 | | - u32 permissions; /* constrained permissions */ |
59 | | - struct constraint_expr *expr; /* constraint on permissions */ |
60 | | - struct constraint_node *next; /* next constraint */ |
| 59 | + u32 permissions; /* constrained permissions */ |
| 60 | + struct constraint_expr *expr; /* constraint on permissions */ |
| 61 | + struct constraint_node *next; /* next constraint */ |
61 | 62 | }; |
62 | 63 |
|
63 | | -#endif /* _SS_CONSTRAINT_H_ */ |
| 64 | +#endif /* _SS_CONSTRAINT_H_ */ |
0 commit comments