mirror of
https://github.com/SELinuxProject/selinux
synced 2025-02-19 19:17:10 +00:00
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>
52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
#ifndef _SEMANAGE_PORT_INTERNAL_H_
|
|
#define _SEMANAGE_PORT_INTERNAL_H_
|
|
|
|
#include <semanage/port_record.h>
|
|
#include <semanage/ports_local.h>
|
|
#include <semanage/ports_policy.h>
|
|
#include "database.h"
|
|
#include "handle.h"
|
|
#include "dso.h"
|
|
|
|
hidden_proto(semanage_port_create)
|
|
hidden_proto(semanage_port_compare)
|
|
hidden_proto(semanage_port_compare2)
|
|
hidden_proto(semanage_port_clone)
|
|
hidden_proto(semanage_port_free)
|
|
hidden_proto(semanage_port_key_extract)
|
|
hidden_proto(semanage_port_key_free)
|
|
hidden_proto(semanage_port_get_high)
|
|
hidden_proto(semanage_port_get_low)
|
|
hidden_proto(semanage_port_set_port)
|
|
hidden_proto(semanage_port_set_range)
|
|
hidden_proto(semanage_port_get_proto)
|
|
hidden_proto(semanage_port_set_proto)
|
|
hidden_proto(semanage_port_get_proto_str)
|
|
hidden_proto(semanage_port_get_con)
|
|
hidden_proto(semanage_port_set_con)
|
|
hidden_proto(semanage_port_list_local)
|
|
|
|
/* PORT RECORD: method table */
|
|
extern record_table_t SEMANAGE_PORT_RTABLE;
|
|
|
|
extern int port_file_dbase_init(semanage_handle_t * handle,
|
|
const char *path_ro,
|
|
const char *path_rw,
|
|
dbase_config_t * dconfig);
|
|
|
|
extern void port_file_dbase_release(dbase_config_t * dconfig);
|
|
|
|
extern int port_policydb_dbase_init(semanage_handle_t * handle,
|
|
dbase_config_t * dconfig);
|
|
|
|
extern void port_policydb_dbase_release(dbase_config_t * dconfig);
|
|
|
|
extern int hidden semanage_port_validate_local(semanage_handle_t * handle);
|
|
|
|
/* ==== Internal (to ports) API === */
|
|
|
|
hidden int semanage_port_compare2_qsort(const semanage_port_t ** port,
|
|
const semanage_port_t ** port2);
|
|
|
|
#endif
|