This page describes in general terms the updates that have been made to the SELinux web pages since the first release of SELinux in December 2000.

20085 Mar | 11 Jun
200723 Jan | 22 Mar | 25 Sep
200615 Mar | 18 Oct
20057 Jan | 9 Mar | 22 Jun | 7 Sep | 7 Dec
200423 Feb | 12 Mar | 8 Apr | 13 May | 29 Jun | 19 Aug | 2 Nov
200315 Jan | 7 Apr | 11 Jul | 13 Aug | 1 Oct | 5 Dec
200218 Jan | 14 Mar | 2 May | 31 May | 3 July | 23 Aug | 22 Oct | 12 Dec
20012 Jan | 16 Mar | 12 Apr | 23 Aug | 26 Sep | 16 Oct | 19 Nov | 10 Dec
200022 Dec

11 June 2008

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

  • New support for permissive domains in libsepol and checkpolicy.
  • New support for user and role remapping in libsepol (required for use in optionals).
  • Fixed endianness bug in handling network node addresses in libsepol.
  • Fixed semanage port to use --proto.
  • Updated audit2allow to report dontaudit cases.
  • Revised the policy load logic in libselinux to try loading the maximum supported version of the kernel or libsepol.
  • Fixed matchpathcon -V support and changed it to report success/failure via exit status.
  • Fixed memory leaks in matchpathcon in libselinux.

5 March 2008

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

25 September 2007

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

  • Support for object class and permission discovery and mapping in libselinux.
  • New interfaces for label matching (selabel) in libselinux, obsoletes matchpathcon.
  • Support for the handle_unknown policy flag in libsepol and checkpolicy.
  • Support for disabling all dontaudit rules via semodule -DB.
  • Support per-command pam configurations for newrole.
  • Expand sepolgen to parse all refpolicy modules, interface calls with lists, role and range transitions.
  • Coalesced setfiles and restorecon into a single program.
  • Improved error reporting for libsemanage and semodule.
  • Rewrite of setfiles to use new selabel interfaces.
  • Eliminated unaligned accesses from libsepol policy reading code.
  • Rewrite of genhomedircon script as part of libsemanage.
  • Build options for embedded systems for libselinux.
  • Refactored swig bindings for libselinux.

22 March 2007

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

23 January 2007

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

  • Merged semodule support for specifying lists of modules.
  • Merged libsemanage support for reducing disk usage by the policy store.
  • Merged newrole rewrite for namespace support.
  • Merged newrole securetty context checking for level changes.
  • Merged translation support for semanage.
  • Changed checkpolicy to accept identifiers with hyphens.
  • Merged setsebool bug fix for unmanaged systems.
  • Merged newrole bug fixes for child exit status and descriptors.
  • Merged libsepol bug fix for writing old range transition rules.
  • Merged libsepol bug fix for adding a user in a non-MLS module.
  • Merged build change to use -fPIC rather than -fpic.

18 October 2006

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

  • Fixed optionals in base support (libsepol, checkpolicy).
  • Merged extended range transition support (libsepol, checkpolicy).
  • Merged setrans client support (libselinux).
  • Merged keycreate and sockcreate interfaces (libselinux).
  • Merged file context sorting code from refpolicy (libsemanage).
  • Merged netfilter contexts support (libsepol, libsemanage, policycoreutils).
  • Merged separate file_contexts.local support (libsemanage, policycoreutils).
  • Merged secon utility (policycoreutils).
  • Merged restorecond daemon (policycoreutils).
  • Merged semodule_deps utility (policycoreutils).

15 March 2006

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

7 December 2005

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

7 September 2005

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

22 June 2005

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

9 March 2005

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

7 January 2005

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

2 November 2004

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

19 August 2004

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

29 June 2004

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

13 May 2004

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

8 April 2004

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

12 March 2004

An updated public release of SELinux was made available today. Some highlights of this release are listed below:

23 February 2004

An updated public release of SELinux was made available today. The entire National Security Agency website, including the SELinux web pages, was updated to a new style. Some highlights of this release are listed below:

  • Updated base kernels to 2.6.3 and 2.4.24.
  • Merged port-based controls (2.6 only).
  • Merged getpeercon support (2.6 only).
  • Merged support for mount context options (2.6 only).
  • Merged conditional policy extensions (2.6 only).
  • Merged netlink policyload notification support (2.6 only).
  • Enhanced policy language (type exclusion, typealias).
  • Added userspace AVC to libselinux.
  • Changed libselinux to discover selinuxfs mount point at runtime.
  • Eliminated need for run_init.
  • Reworked su domain to support using pam_selinux with it.
  • Added a SELinux check to pam_rootok.
  • Merged fixes for setfiles.
  • Added several scripts to policycoreutils.
  • Merged many policy patches.

5 December 2003

An updated public release of SELinux was made today. Some highlights of this release are listed below:

  • Updated base kernel for 2.6-based SELinux to 2.6.0-test11.
  • Updated base kernel for 2.4-based SELinux to 2.4.23.
  • Updated userland SRPMS to latest Fedora packages.
  • Added controls over inheritance of signal-related state and resource limits (2.6 only).
  • Reimplemented network interface and node controls (2.6 only).
  • Added pam_selinux module, transitioned login to use it.
  • Added patched SysVinit program, obsoletes modified initrd.
  • Merged updated versions of setools and slat.
  • Merged patch to newrules.pl, renamed to audit2allow, moved into policycoreutils.
  • Merged setfiles optimization and cleanup.
  • Changed get_ordered_context_list to support a failsafe context.
  • Changed is_selinux_enabled to check /proc/filesystems.
  • Merged some 64bit cleanups.
  • Drop dependencies on libattr.

1 October 2003

An updated public release of SELinux was made today. Some highlights of this release are listed below:

  • Updated base kernel for 2.6-based SELinux to 2.6.0-test6.
  • Added selinux kernel boot parameter.
  • Added dname to audit output when a path cannot be generated.
  • Changed LSM API to pass nameidata to inode_permission for pathname generation (2.6 only).
  • Fixed bug in context conversion code for policy reloads.
  • Updated SRPMS to latest Red Hat packages.
  • Updated several of the SELinux userland patches.
  • Added patched star package.
  • Merged MLS build and configuration patches.
  • Added new version of Tresys policy tools (setools).
  • Added first public release of MITRE policy tool (slat).
  • Fixed linking bug in libselinux.
  • Merged policycoreutils i18n patch.
  • Merged run_init close file patch.
  • Merged setfiles altroot, cleanup, and stem compression patches.
  • Merged checkpolicy man page.

13 August 2003

An updated public release of SELinux was made today. Some highlights of this release are listed below:

11 July 2003

An updated public release of SELinux was made today. Some highlights of this release are listed below:

7 April 2003

An updated public release of SELinux was made today. Some highlights of this release are listed below:

15 January 2003

An updated public release of the LSM-based SELinux prototype was made today. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

12 December 2002

An updated public release of the LSM-based SELinux prototype was made today. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

22 October 2002

An updated public release of the LSM-based SELinux prototype was made today. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Updated the base 2.5 kernel version to 2.5.44. The base 2.4 kernel version remains at 2.4.19, but many changes have been made to the 2.4 LSM patch and to the 2.4 SELinux module since the last release.
  • Made further revisions to the LSM sock hooks and the corresponding SELinux hook functions to ensure proper labeling of outgoing packets when the sock is not attached to a user socket.
  • Exterminated precondition functions from the SELinux module. Added early initialization support and inode_init hooks to the SELinux kernel patch.
  • Added capability check for KDSKBENT and KDSKBSENT ioctls (loadkeys).
  • Removed obsolete permissions from access_vectors and policy.
  • Added signull permission for kill(pid, 0).
  • Restructured the architecture-specific code in the SELinux module.
  • Fixed bugs in the audit code, the constraint code, and the persistent label mapping code in the SELinux kernel module.
  • Changed the modified login, sshd, and crond to use the new libsecure functions and the new /etc/security/default_contexts configuration.
  • Merged many contributed policy enhancements.
  • Updated the SELinux tar patch to tar-1.13.25-4.7.1.
  • Fixed bugs in setfiles, suseradd, and the fileutils patch.

23 August 2002

A bit of good news: The LSM patch is finally being merged into the mainstream Linux 2.5 kernel. As of Linux 2.5.27, the base LSM framework and hooks for task operations and program loading operations have been merged. As of Linux 2.5.29, the hooks for file-related operations have been merged, although we anticipate some revisions to these hooks back on feedback from the Linux kernel developers. The remaining hooks are pending submission until the file-related hooks have been revised.

An updated public release of the LSM-based SELinux prototype was also made today. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Updated base kernel versions to 2.4.19 and 2.5.31.
  • Implemented new sock hooks in LSM. These new hooks are in the LSM BitKeeper trees, but not in the LSM snapshot patches yet. Reminder: Use the LSM patches from this site when using SELinux.
  • Re-implemented SELinux peer SID functionality using new sock hooks. The accept_secure call should now be reliable.
  • Changed the sysctl hook and /proc/sys labeling to be configurable.
  • Fixed bugs in auditing logic, PSID mapping code, and ipc permission hook.
  • Made minor enhancements to checkpolicy and the example policy.
  • Merged contributed patch implementing support for automatic type transitions on devfs pts nodes.
  • Merged contributed strace patch for tracing new SELinux calls.
  • Merged contributed policy enhancements for policy management.
  • Merged many other contributed policy enhancements.

3 July 2002

An updated public release of the LSM-based SELinux prototype was made. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

31 May 2002

An updated public release of the LSM-based SELinux prototype was made. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

2 May 2002

An updated public release of the LSM-based SELinux prototype was made. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

14 March 2002

An updated public release of the LSM-based SELinux prototype was made. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Updated the base kernel versions to 2.4.18 and 2.5.6.
  • Updated the remaining base utility versions to the RH7.2 SRPMS (contributed).
  • Updated base version for openssh to openssh-3.1p1-2.
  • Merged contributed support for a default user (user_u).
  • Merged several contributed domains (snort, pppd, nscd, squid).
  • Merged contributed labeled networking support.
  • Started adapting SELinux for the labeled networking support.
  • Added support for usbdevfs.
  • Deprecated clone statements and role transition rules.
  • Started partitioning the every.te rules.
  • Partitioned the role declarations and domain transitions.
  • Reorganized policy directory.
  • Started cleaning up domains to provide better encapsulation.
  • Encapsulated architecture-specific components of libsecure.

18 January 2002

The SELinux web site was updated in the following ways:

10 December 2001

The fifth public release of the LSM-based SELinux prototype was made. This release is based on the lsm-full-2001_12_10 patch against kernel 2.4.16. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Merged the SELinux module into the LSM tree.
  • Updated SELinux module to lsm-full-2001_12_10 against kernel 2.4.16.
  • Updated openssh patch to openssh-2.9p2-12.
  • Updated procps patch to procps-2.0.7-11.
  • Updated sh-utils patch to sh-utils-2.0.11-5.
  • Updated fileutils patch to fileutils-4.1-4.
  • Updated swapon and swapoff hook functions.
  • Added stat64 variants of stat_secure system calls.
  • Added SELinux option help text to Configure.help.
  • Added default Security option settings to defconfig.
  • Changed to use -selinux rather than -lsm suffix.
  • Revised AVC auditing.
  • Added quick install.
  • Fixed bug in selinux_inode_delete.
  • More bug fixes for newrole.

19 November 2001

The fourth public release of the LSM-based SELinux prototype was made. This release is based on the lsm-2001_11_05 patch against kernel 2.4.14. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Updated openssh patch to openssh-2.9p2
  • Updated util-linux patch to util-linux-2.11f.
  • Updated vixie-cron patch to vixie-cron-3.0.1-63.
  • Added logrotate patch for logrotate-3.5.9.
  • More policy updates.
  • Added ext3 as a recognized type for persistent labeling.
  • Added missing getscheduler hook function.
  • Added check_sb hook function.
  • Separated checkpolicy code and build from module.
  • Fixed a bug in load_policy.
  • Bug fixes in newrole.
  • Reimplemented execve_secure via general security system call.
  • Moved development and MLS options back into kernel configuration.
  • Significant code cleanup.
  • Updated to 2.4.14 (with loop fix).

16 October 2001

The third public release of the LSM-based SELinux prototype was made. This release contains several bug fixes and improvements to both LSM and SELinux and is based on the lsm-2001_10_11 patch against kernel 2.4.12. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Added support for stacking the capabilities security module.
  • Added domain for ssh client program.
  • Added contributed named and gdm domains.
  • Added more permissions to the example policy.
  • Changed extended IPC calls to work when built as a separate module.
  • Added run_init utility and domain for running init scripts in the correct context.
  • Updated to 2.4.12 (with parport fix).

26 September 2001

The second public release of the LSM-based SELinux prototype was made. This release contains many bug fixes and improvements to both LSM and SELinux and is based on the lsm-2001_09_23 patch against kernel 2.4.10. See selinux/ChangeLog for a detailed summary of the changes. A few highlights are listed below:

  • Added hooks for controlling Unix domain socket IPC.
  • Reworked message queue hooks to address pipelined IPC.
  • Added hooks for several miscellaneous system operations.
  • Added security class for PF_KEY sockets.
  • Merged contributed IPSEC domain.
  • Added configurable support for labeling devfs entries.
  • Implemented msgsid, shmsid, and semsid calls.
  • Changed to use safe memory allocation flags and semaphore operations when in interrupt context.
  • Fixed various synchronization problems.
  • Added inline documentation for LSM security hooks.
  • Added overview document for LSM
  • Updated to 2.4.10.

23 August 2001

12 April 2001

  • Kernel patches are now provided for 2.4.3 and 2.2.19.
  • Small updates were made to the example policy configuration.

16 March 2001

2 January 2001

Updated source code and patches were made available. This addressed:

  • moving the numbers of the new system calls to avoid conflicts
  • fixing the buffer overflow problem discovered in the find_default_type function in libsecure
  • removed extra ';' in policy grammar
  • minor adjustments in kernel/flask/Makefile

The press release was added to the site.

22 December 2000 - First Public Release

The first public release was made available. The release is based on kernel version 2.2.12 and Red Hat version 6.1 utilities. This release contains mandatory access controls for the major kernel subsystems and an example security policy configuration that demonstrates how to use these controls to meet several security goals. There is still significant work ahead to provide mandatory access controls for all kernel services and to provide a complete general purpose security policy configuration.

Linux is a registered trademark of Linus Torvalds
MITRE is a registered trademark of The MITRE Corporation
Red Hat is a registered trademark of Red Hat, Inc. in the US and other countries.