[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.223.171.83: ~ $
/* Author : Stephen Smalley, <sds@epoch.ncsc.mil> */

/* FLASK */

/*
 * A security identifier table (sidtab) is a hash table
 * of security context structures indexed by SID value.
 */

#ifndef _SEPOL_POLICYDB_SIDTAB_H_
#define _SEPOL_POLICYDB_SIDTAB_H_

#include <sepol/policydb/context.h>
#include <sys/cdefs.h>

__BEGIN_DECLS

typedef struct sidtab_node {
	sepol_security_id_t sid;	/* security identifier */
	context_struct_t context;	/* security context structure */
	struct sidtab_node *next;
} sidtab_node_t;

typedef struct sidtab_node *sidtab_ptr_t;

#define SIDTAB_HASH_BITS 7
#define SIDTAB_HASH_BUCKETS (1 << SIDTAB_HASH_BITS)
#define SIDTAB_HASH_MASK (SIDTAB_HASH_BUCKETS-1)

#define SIDTAB_SIZE SIDTAB_HASH_BUCKETS

typedef struct {
	sidtab_ptr_t *htable;
	unsigned int nel;	/* number of elements */
	unsigned int next_sid;	/* next SID to allocate */
	unsigned char shutdown;
} sidtab_t;

extern int sepol_sidtab_init(sidtab_t * s);

extern int sepol_sidtab_insert(sidtab_t * s,
			       sepol_security_id_t sid,
			       context_struct_t * context);

extern context_struct_t *sepol_sidtab_search(sidtab_t * s,
					     sepol_security_id_t sid);

extern int sepol_sidtab_map(sidtab_t * s,
			    int (*apply) (sepol_security_id_t sid,
					  context_struct_t * context,
					  void *args), void *args);

extern void sepol_sidtab_map_remove_on_error(sidtab_t * s,
					     int (*apply) (sepol_security_id_t
							   s,
							   context_struct_t *
							   context, void *args),
					     void *args);

extern int sepol_sidtab_context_to_sid(sidtab_t * s,	/* IN */
				       context_struct_t * context,	/* IN */
				       sepol_security_id_t * sid);	/* OUT */

extern void sepol_sidtab_hash_eval(sidtab_t * h, char *tag);

extern void sepol_sidtab_destroy(sidtab_t * s);

extern void sepol_sidtab_set(sidtab_t * dst, sidtab_t * src);

extern void sepol_sidtab_shutdown(sidtab_t * s);

__END_DECLS
#endif				/* _SIDTAB_H_ */

/* FLASK */

Filemanager

Name Type Size Permission Actions
avrule_block.h File 1.58 KB 0644
avtab.h File 4.61 KB 0644
conditional.h File 4.6 KB 0644
constraint.h File 2.47 KB 0644
context.h File 2.19 KB 0644
ebitmap.h File 3.08 KB 0644
expand.h File 3.55 KB 0644
flask.h File 4.88 KB 0644
flask_types.h File 1.72 KB 0644
hashtab.h File 4.18 KB 0644
hierarchy.h File 1.76 KB 0644
link.h File 498 B 0644
mls_types.h File 4.26 KB 0644
module.h File 1.48 KB 0644
polcaps.h File 694 B 0644
policydb.h File 24.91 KB 0644
services.h File 8.32 KB 0644
sidtab.h File 1.91 KB 0644
symtab.h File 1.06 KB 0644
util.h File 1.41 KB 0644