selinux/libsemanage/src/iface_internal.h
Caleb Case e37fa2f63b libsemanage: split final files into /var/lib/selinux/tmp
This patch moves the final files from inside
/var/lib/selinux/<store>/[active|previous|tmp] to
/var/lib/selinux/tmp/<store>. The move is done to facilitate using
source control management on the /var/lib/selinux/<store> directory. If
these files remain in /var/lib/selinux/<store> they will pose a size
problem if an SCM like git is used as we'd be storing lots of binary
diffs. We are suggesting making this change now, rather than later when
source policy, SCM, and CIL[1] support are available, to ease the
migration burden.

These are the files that have been moved:

/var/lib/selinux/<store>/active/...	/var/lib/selinux/tmp/<store>/...

file_contexts				contexts/files/file_contexts
file_contexts.homedirs			contexts/files/file_contexts.homedirs
file_contexts.local			contexts/files/file_contexts.local
netfilter_contexts			contexts/netfilter_contexts
policy.kern				policy/policy.<policyversion>
seusers.final				seusers

The layout of these files in /var/lib/selinux/tmp/<store> is designed to
mirror their locations in /etc/selinux/<store>. This should help clarify
the relationship between these final files and the files installed in
etc.

One consequence of this move is that reverting to the previous policy
version requires a policy rebuild. Currently you can revert without
rebuilding.

[1] CIL RFC: http://marc.info/?l=selinux&m=124759244409438&w=2

Signed-off-by: Chad Sellers <csellers@tresys.com>
2014-08-26 08:02:16 -04:00

41 lines
1.2 KiB
C

#ifndef _SEMANAGE_IFACE_INTERNAL_H_
#define _SEMANAGE_IFACE_INTERNAL_H_
#include <semanage/iface_record.h>
#include <semanage/interfaces_local.h>
#include <semanage/interfaces_policy.h>
#include "database.h"
#include "handle.h"
#include "dso.h"
hidden_proto(semanage_iface_create)
hidden_proto(semanage_iface_compare)
hidden_proto(semanage_iface_compare2)
hidden_proto(semanage_iface_clone)
hidden_proto(semanage_iface_free)
hidden_proto(semanage_iface_get_ifcon)
hidden_proto(semanage_iface_get_msgcon)
hidden_proto(semanage_iface_get_name)
hidden_proto(semanage_iface_key_extract)
hidden_proto(semanage_iface_key_free)
hidden_proto(semanage_iface_set_ifcon)
hidden_proto(semanage_iface_set_msgcon)
hidden_proto(semanage_iface_set_name)
/* IFACE RECORD: metod table */
extern record_table_t SEMANAGE_IFACE_RTABLE;
extern int iface_policydb_dbase_init(semanage_handle_t * handle,
dbase_config_t * dconfig);
extern void iface_policydb_dbase_release(dbase_config_t * dconfig);
extern int iface_file_dbase_init(semanage_handle_t * handle,
const char *path_ro,
const char *path_rw,
dbase_config_t * dconfig);
extern void iface_file_dbase_release(dbase_config_t * dconfig);
#endif