[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
include
/
sepol
/
policydb
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 avrule_block.h
1,637 B
SET
[ EDIT ]
|
[ DEL ]
📄 avtab.h
4,743 B
SET
[ EDIT ]
|
[ DEL ]
📄 conditional.h
4,733 B
SET
[ EDIT ]
|
[ DEL ]
📄 constraint.h
2,571 B
SET
[ EDIT ]
|
[ DEL ]
📄 context.h
3,332 B
SET
[ EDIT ]
|
[ DEL ]
📄 ebitmap.h
3,176 B
SET
[ EDIT ]
|
[ DEL ]
📄 expand.h
3,656 B
SET
[ EDIT ]
|
[ DEL ]
📄 flask.h
4,992 B
SET
[ EDIT ]
|
[ DEL ]
📄 flask_types.h
1,779 B
SET
[ EDIT ]
|
[ DEL ]
📄 hashtab.h
4,392 B
SET
[ EDIT ]
|
[ DEL ]
📄 hierarchy.h
1,818 B
SET
[ EDIT ]
|
[ DEL ]
📄 link.h
517 B
SET
[ EDIT ]
|
[ DEL ]
📄 mls_types.h
4,376 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.h
1,532 B
SET
[ EDIT ]
|
[ DEL ]
📄 polcaps.h
721 B
SET
[ EDIT ]
|
[ DEL ]
📄 policydb.h
25,976 B
SET
[ EDIT ]
|
[ DEL ]
📄 services.h
8,583 B
SET
[ EDIT ]
|
[ DEL ]
📄 sidtab.h
1,976 B
SET
[ EDIT ]
|
[ DEL ]
📄 symtab.h
1,102 B
SET
[ EDIT ]
|
[ DEL ]
📄 util.h
1,461 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: constraint.h
/* Author : Stephen Smalley, <sds@tycho.nsa.gov> */ /* FLASK */ /* * A constraint is a condition that must be satisfied in * order for one or more permissions to be granted. * Constraints are used to impose additional restrictions * beyond the type-based rules in `te' or the role-based * transition rules in `rbac'. Constraints are typically * used to prevent a process from transitioning to a new user * identity or role unless it is in a privileged type. * Constraints are likewise typically used to prevent a * process from labeling an object with a different user * identity. */ #ifndef _SEPOL_POLICYDB_CONSTRAINT_H_ #define _SEPOL_POLICYDB_CONSTRAINT_H_ #include <sepol/policydb/policydb.h> #include <sepol/policydb/ebitmap.h> #include <sepol/policydb/flask_types.h> #ifdef __cplusplus extern "C" { #endif #define CEXPR_MAXDEPTH 5 struct type_set; typedef struct constraint_expr { #define CEXPR_NOT 1 /* not expr */ #define CEXPR_AND 2 /* expr and expr */ #define CEXPR_OR 3 /* expr or expr */ #define CEXPR_ATTR 4 /* attr op attr */ #define CEXPR_NAMES 5 /* attr op names */ uint32_t expr_type; /* expression type */ #define CEXPR_USER 1 /* user */ #define CEXPR_ROLE 2 /* role */ #define CEXPR_TYPE 4 /* type */ #define CEXPR_TARGET 8 /* target if set, source otherwise */ #define CEXPR_XTARGET 16 /* special 3rd target for validatetrans rule */ #define CEXPR_L1L2 32 /* low level 1 vs. low level 2 */ #define CEXPR_L1H2 64 /* low level 1 vs. high level 2 */ #define CEXPR_H1L2 128 /* high level 1 vs. low level 2 */ #define CEXPR_H1H2 256 /* high level 1 vs. high level 2 */ #define CEXPR_L1H1 512 /* low level 1 vs. high level 1 */ #define CEXPR_L2H2 1024 /* low level 2 vs. high level 2 */ uint32_t attr; /* attribute */ #define CEXPR_EQ 1 /* == or eq */ #define CEXPR_NEQ 2 /* != */ #define CEXPR_DOM 3 /* dom */ #define CEXPR_DOMBY 4 /* domby */ #define CEXPR_INCOMP 5 /* incomp */ uint32_t op; /* operator */ ebitmap_t names; /* names */ struct type_set *type_names; struct constraint_expr *next; /* next expression */ } constraint_expr_t; typedef struct constraint_node { sepol_access_vector_t permissions; /* constrained permissions */ constraint_expr_t *expr; /* constraint on permissions */ struct constraint_node *next; /* next constraint */ } constraint_node_t; struct policydb; extern int constraint_expr_init(constraint_expr_t * expr); extern void constraint_expr_destroy(constraint_expr_t * expr); #ifdef __cplusplus } #endif #endif /* _CONSTRAINT_H_ */ /* FLASK */