Project Layout

Project Structure

Contained within each CDS Framework Toolkit project are three directories. To see these files and directories, open the Navigator view by selecting Window -> Show View -> Navigator and expand the project by double clicking on the project name.

The directories are as follows:

  1. Build Directory (build) - This directory contains the Makefile used to build the policy.
  2. Configuration Directory (conf) - This directory contains custom linkage (.flnk), and custom dictionary (.fdic) files, which are displayed in the custom additions folder in the framework navigator. In addition, the network configuration (cds.fnet) file and MLS configuration (framework_mls.xml) files are in this directory.
  3. Source Directory (src) - Upon project creation, this directory is empty until new systems are created. For each new system, a directory will be created within src with the naming convention, 'selinux-policy-<system name>'.

System Structure

Each system has its own directory within the project's src directory. The naming convention for a system is 'selinux-policy-<system name>'. The system directory contains a complete SELinux policy for that system including a copy of the SELinux Reference Policy from the directory that was given during system creation and the Framework Policy Directory, framepol containing the framework language files. The framework policy file <system name>.fpol and the system resources file <system name>.fsys which contains the physical locations for system resources are placed in the Framework Policy Directory.

While CDS Framework Toolkit does provide the ability to edit the framework policy both graphically and textually it is strongly recommended that edits are made either graphically or textually. Not both. If changes are made textually, the new policy items that are created will (by default) appear in the top/left corner of the graphical editor. Also, as changes are made graphically, the textual representation is recreated from the graphical representation. If changes are made in both at the same time, the software will get confused and the editors will be out of sync.

Additional File Information

For examples of dictionary and linkage files, look at the default files available in the installed location of the plug-in. The directory named resources contains a dictionary directory. All of the standard dictionaries can be found here. There is also a directory named link that contains all of the default base domains and base resources.