Skip to content

Releases: SELinuxProject/selinux

3.4-rc1

06 Apr 19:48
73562de
Compare
Choose a tag to compare
3.4-rc1 Pre-release
Pre-release

RELEASE 3.4-rc1

User-visible changes

  • A new selinux_restorecon_parallel(3) function that allows to run relabeling over multiple threads

  • setfiles/restorecon/fixfiles support parallel relabeling via [ -T ] threads option

  • A new semodule options [ -m | --checksum ] to get SHA256 hashes of modules

  • mcstrans ported to PCRE2

  • libsepol/cil supports IPv4/IPv6 address embedding

  • Add a new semodule option [ --rebuild-if-modules-changed ] to optionally rebuild policy when modules
    are changed externally

  • A lot of static code analyse issues, fuzzer issues and compiler warnings fixed

  • Translations split into sub-packages and updated from
    https://translate.fedoraproject.org/projects/selinux/

  • Bug fixes

Development-relevant changes

  • ci: run the tests under ASan/UBsan on GHActions

SELinux userspace release 3.3

22 Oct 06:31
7f600c4
Compare
Choose a tag to compare

RELEASE 3.3

User-visible changes

  • When reading a binary policy by checkpolicy, do not automatically change the version
    to the max policy version supported by libsepol or, if specified, the value given
    using the "-c" flag.

  • fixfiles -C doesn't exclude /dev and /run anymore

  • CIL: Lists are allowed in constraint expressions

  • CIL: Improved situation with duplicate macro and block declarations

  • Added the new secilc2tree program to write out CIL AST.

  • Improved documentation

  • A lot of static code analyse issues, fuzzer issues and compiler warnings fixed

  • Updated checkpolicy documentation

  • checkpolicy prints the reason why opening a source policy file failed

  • Bug fixes

Development-relevant changes

Issues fixed

SELinux userspace release 3.3-rc3

06 Oct 12:04
5319c49
Compare
Choose a tag to compare

RELEASE 3.3-rc3

  • Updated checkpolicy documentation
  • checkpolicy prints the reason why opening a source policy file failed
  • Bug fixes

SELinux userspace release 3.3-rc2

22 Sep 15:26
0b83397
Compare
Choose a tag to compare

RELEASE 3.3-rc2

  • Bug fixes

SELinux userspace release 3.3-rc1

08 Sep 08:36
Compare
Choose a tag to compare
Pre-release

RELEASE 3.3-rc1

User-visible changes

  • When reading a binary policy by checkpolicy, do not automatically change the version
    to the max policy version supported by libsepol or, if specified, the value given
    using the "-c" flag.

  • fixfiles -C doesn't exclude /dev and /run anymore

  • CIL: Lists are allowed in constraint expressions

  • CIL: Improved situation with duplicate macro and block declarations

  • Added the new secilc2tree program to write out CIL AST.

  • Improved documentation

  • A lot of Static code analyse issues and compiler warnings fixed

  • Bug fixes

Development-relevant changes

Issues fixed

SELinux userspace release 3.2

04 Mar 16:26
cf853c1
Compare
Choose a tag to compare

User-visible changes

  • libsepol implemented a new, more space-efficient form of storing filename
    transitions in the binary policy and reduced the size of the binary policy

  • libselinux: Use mmap()'ed kernel status page instead of netlink by default.
    See "KERNEL STATUS PAGE" section in avc_init(3) for more details.
    Note: if you need to umount /sys/fs/selinux you need to use lazy umount -
    umount -l /sys/fs/selinux as the kernel status page /sys/fs/selinux/status
    stays mapped by processes like systemd, dbus, sshd.

  • Tools using sepolgen, e.g. audit2allow, print extended permissions in
    hexadecimal

  • sepolgen sorts extended rules like normal ones

  • New log callback levels for enforcing and policy load notices -
    SELINUX_POLICYLOAD, SELINUX_SETENFORCE

  • Changed userspace AVC setenforce and policy load messages to audit format.

  • matchpathcon converted to selabel_lookup() - no more matchpathcon is
    deprecated warning

  • libsepol and libsemanage dropped old and deprecated symbols and functions
    libsepol version was bumped to libsepol.so.2
    libsemanage version was bumped to libsemanage.so.2

  • Release version for the whole project is same as for subcomponents, e.g.
    instead of 20210118 it's 3.2-rc1

  • Improved usability of getseuser

  • Fixed several issues in cil code found by OSS-FUZZ

  • setfiles doesn't abort on labeling errors

  • libsemanage tries to sync data to prevent empty files in SELinux module store

  • Improved secilc documentation - fenced code blocks, syntax highlighting, custom
    color theme, ...

  • Better error reporting in getconlist

  • libsepol implemented a new, more space-efficient form of storing filename
    transitions in the binary policy and reduced the size of the binary policy

  • libselinux: Use mmap()'ed kernel status page instead of netlink by default.
    See "KERNEL STATUS PAGE" section in avc_init(3) for more details.
    Note: if you need to umount /sys/fs/selinux you need to use lazy umount -
    umount -l /sys/fs/selinux as the kernel status page /sys/fs/selinux/status
    stays mapped by processes like systemd, dbus, sshd.

  • Tools using sepolgen, e.g. audit2allow, print extended permissions in
    hexadecimal

  • sepolgen sorts extended rules like normal ones

  • New log callback levels for enforcing and policy load notices -
    SELINUX_POLICYLOAD, SELINUX_SETENFORCE

  • Changed userspace AVC setenforce and policy load messages to audit format.

  • matchpathcon converted to selabel_lookup() - no more matchpathcon is
    deprecated warning

  • libsepol and libsemanage dropped old and deprecated symbols and functions
    libsepol version was bumped to libsepol.so.2
    libsemanage version was bumped to libsemanage.so.2

  • Release version for the whole project is same as for subcomponents, e.g.
    instead of 20210304 it's 3.2

  • Improved man pages

  • Bug fixes

Development-relevant changes

  • License the CI scripts with a permissive, OSI approved license, such as MIT

  • Several CI improvements

  • Added configuration to build and run tests in GitHub Actions

  • CI contains configuration for a Vagrant virtual machine - instructions on how
    to use it are documented at the beginning of Vagrantfile.

  • scripts/release was improved to be more robust and release a source repository

Packaging-relevant changes

  • Both libsepol and libsemanage bumped their soname versions. Especially
    libsemanage is linked to shadow-utils and direct update might cause problems to
    buildroots. Also SETools needs to be rebuilt against libsepol.so.2

  • Source repository snapshot selinux-3.2-rc2.tar.gz is available on the release page

  • sestatus is installed as /usr/bin/sestatus by default. Original /usr/sbin/sestatus is
    a relative symlink to the /usr/bin/sestatus.

Issues fixed

SELinux userspace release 3.2-rc3

24 Feb 15:40
d4d1f4b
Compare
Choose a tag to compare
Pre-release

RELEASE 3.2-rc3

User-visible changes since 3.2-rc2

  • Improved secilc documentation - fenced code blocks, syntax highlighting, custom
    color theme, ...

  • Better error reporting in getconlist

  • Improved selinux(8,5) and fixiles(8) man pages

  • Bug fixes

Packaging-relevant changes since 3.2-rc2

  • sestatus is installed as /usr/bin/sestatus by default. Original /usr/sbin/sestatus is
    a relative symlink to the /usr/bin/sestatus.

SELinux userspace release 3.2-rc2

03 Feb 10:52
2c7c4a8
Compare
Choose a tag to compare
Pre-release

RELEASE 3.2-rc2

User-visible changes since 3.2-rc1

  • Improved usability of getseuser

  • Fixed several issues in cil code found by OSS-FUZZ

  • setfiles doesn't abort on labeling errors

  • libsemanage tries to sync data to prevent empty files in SELinux module store

Development-relevant changes since 3.2-rc1

  • scripts/release was improved to be more robust and release a source repository

Packaging-relevant changes since 3.2-rc1

  • Source repository snapshot selinux-3.2-rc2.tar.gz is available on the release page

SELinux userspace release 3.2-rc1

20 Jan 12:09
c534d4e
Compare
Choose a tag to compare
Pre-release

User-visible changes

  • libsepol implemented a new, more space-efficient form of storing filename
    transitions in the binary policy and reduced the size of the binary policy

  • libselinux: Use mmap()'ed kernel status page instead of netlink by default.
    See "KERNEL STATUS PAGE" section in avc_init(3) for more details.
    Note: if you need to umount /sys/fs/selinux you need to use lazy umount -
    umount -l /sys/fs/selinux as the kernel status page /sys/fs/selinux/status
    stays mapped by processes like systemd, dbus, sshd.

  • Tools using sepolgen, e.g. audit2allow, print extended permissions in
    hexadecimal

  • sepolgen sorts extended rules like normal ones

  • New log callback levels for enforcing and policy load notices -
    SELINUX_POLICYLOAD, SELINUX_SETENFORCE

  • Changed userspace AVC setenforce and policy load messages to audit format.

  • matchpathcon converted to selabel_lookup() - no more matchpathcon is
    deprecated warning

  • libsepol and libsemanage dropped old and deprecated symbols and functions
    libsepol version was bumped to libsepol.so.2
    libsemanage version was bumped to libsemanage.so.2

  • Release version for the whole project is same as for subcomponents, e.g.
    instead of 20210118 it's 3.2-rc1

  • Improved man pages

  • Bug fixes

Development-relevant changes

  • License the CI scripts with a permissive, OSI approved license, such as MIT

  • Several CI improvements

  • Added configuration to build and run tests in GitHub Actions

  • CI contains configuration for a Vagrant virtual machine - instructions on how
    to use it are documented at the beginning of Vagrantfile.

Packaging-relevant changes

  • Both libsepol and libsemanage bumped their soname versions. Especially
    libsemanage is linked to shadow-utils and direct update might cause problems to
    buildroots. Also SETools needs to be rebuilt against libsepol.so.2

Issues fixed

SELinux userspace release 2020-07-10 / 3.1

10 Jul 15:42
Compare
Choose a tag to compare

User-visible changes

  • selinux/flask.h, selinux/av_permissions.h and sepol/policydb/flask.h were removed

    The flask.h and av_permissions.h header files were deprecated and
    all selinux userspace references to them were removed in
    commit 76913d8 ("Deprecate use of flask.h and av_permissions.h.")
    back in 2014 and included in the 20150202 / 2.4 release.
    All userspace object managers should have been updated
    to use the dynamic class/perm mapping support since that time.
    Remove these headers finally to ensure that no users remain and
    that no future uses are ever introduced.

    Use string_to_security_class(3) and string_to_av_perm(3) to map the class and
    permission names to their policy values, or selinux_set_mapping(3) to create a
    mapping from class and permission index values used by the application to the
    policy values.

  • Removed restrictions in libsepol and checkpolicy that required all declared
    initial SIDs to be assigned a context.

  • Support for new policy capability genfs_seclabel_symlinks

  • New setfiles -E option - treat conflicting specifications as errors, such
    as where two hardlinks for the same inode have different contexts.

  • restorecond_user.service - new systemd user service which runs restorecond -u

  • setsebool -V reports errors from commit phase

  • Improved man pages

  • semanage uses ipaddress Python module instead of IPy

  • matchpathcon related interfaces are deprecated

  • selinuxfs is mounted with noexec and nosuid

  • the dso wrappers for internal calls were removed and it is now strongly recommended to CFLAGS with
    -fno-semantic-interposition

  • security_compute_user() was deprecated

  • checkpolicy treats invalid characters as an error - might break rare use cases (intentionally)

  • New restorecon -x option which prevents it from crossing file system boundaries.

  • Handle semanage module in semanage bash completion

  • sepolgen-ifgen parses a gen_tunable statement as bool

  • semanage handles getprotobyname() failure case on Debian where /etc/protocols does not contain an entry for "ipv4"

Packaging-relevant changes

  • Setting CFLAGS during the make process will cause the omission of many defaults. While the project strives
    to provide a reasonable set of default flags, custom CFLAGS could break the build, or have other undesired
    changes on the build output. Thus, be very careful when setting CFLAGS. CFLAGS that are encouraged to be
    set when overriding are:

    • -fno-semantic-interposition for gcc or compilers that do not do this. clang does this by default. clang-10 and up
      will support passing this flag, but ignore it. Previous clang versions fail.
  • setup.py builds can be customized using PYTHON_SETUP_ARGS, e.g. to for
    Debian Python layout use: make PYTHON_SETUP_ARGS=--install-layout=deb ...

Development-relevant changes

  • Improved README which was renamed to README.md and converted to markdown.

  • Added Travis CI job to run SELinux kernel testsuite on latest Fedora cloud image

Issues fixed