import CS libsemanage-3.6-1.el9
This commit is contained in:
parent
6139a92faa
commit
3fe191782e
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/libsemanage-3.5.tar.gz
|
||||
SOURCES/libsemanage-3.6.tar.gz
|
||||
|
@ -1 +1 @@
|
||||
7dfb7935f03d08640a3afc5107d8e29405909a91 SOURCES/libsemanage-3.5.tar.gz
|
||||
10759ea4d5706212c3b2d10e0433a435f0643b1b SOURCES/libsemanage-3.6.tar.gz
|
||||
|
@ -0,0 +1,25 @@
|
||||
From a87290f734ba136e7b648a9ce9754767cbb5eed3 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Lautrbach <lautrbach@redhat.com>
|
||||
Date: Mon, 13 Nov 2023 13:37:36 +0100
|
||||
Subject: [PATCH] Revert "Do not automatically install Russian translations"
|
||||
Content-type: text/plain
|
||||
|
||||
This reverts commit 14f35fde50cd080650ac3b0136234464a3ea6fbe.
|
||||
---
|
||||
libsemanage/man/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libsemanage/man/Makefile b/libsemanage/man/Makefile
|
||||
index 5e21a65ea725..f626447dadbe 100644
|
||||
--- a/libsemanage/man/Makefile
|
||||
+++ b/libsemanage/man/Makefile
|
||||
@@ -1,5 +1,5 @@
|
||||
# Installation directories.
|
||||
-LINGUAS ?=
|
||||
+LINGUAS ?= ru
|
||||
PREFIX ?= /usr
|
||||
MANDIR ?= $(PREFIX)/share/man
|
||||
MAN3SUBDIR ?= man3
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,103 +0,0 @@
|
||||
From 22312b1bd9e754a7362ae3d72e5ae7816d31a587 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Mosnacek <omosnace@redhat.com>
|
||||
Date: Wed, 8 Mar 2023 10:46:42 +0100
|
||||
Subject: [PATCH] libsemanage: include more parameters in the module checksum
|
||||
Content-type: text/plain
|
||||
|
||||
The check_ext_changes option currently assumes that as long as the
|
||||
module content is unchanged, it is safe to assume that the policy.linked
|
||||
file doesn't need to be rebuilt. However, there are some additional
|
||||
parameters that can affect the content of this policy file, namely:
|
||||
* the disable_dontaudit and preserve_tunables flags
|
||||
* the target_platform and policyvers configuration values
|
||||
|
||||
Include these in the checksum so that the option works correctly when
|
||||
only some of these input values are changed versus the current state.
|
||||
|
||||
Fixes: 286a679fadc4 ("libsemanage: optionally rebuild policy when modules are changed externally")
|
||||
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
|
||||
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
|
||||
---
|
||||
libsemanage/src/direct_api.c | 31 +++++++++++++++++++++++++++++--
|
||||
1 file changed, 29 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
|
||||
index 7aa081abb3b7..d740070d538e 100644
|
||||
--- a/libsemanage/src/direct_api.c
|
||||
+++ b/libsemanage/src/direct_api.c
|
||||
@@ -863,6 +863,14 @@ static void update_checksum_with_len(Sha256Context *context, size_t s)
|
||||
Sha256Update(context, buffer, 8);
|
||||
}
|
||||
|
||||
+static void update_checksum_with_bool(Sha256Context *context, bool b)
|
||||
+{
|
||||
+ uint8_t byte;
|
||||
+
|
||||
+ byte = b ? UINT8_C(1) : UINT8_C(0);
|
||||
+ Sha256Update(context, &byte, 1);
|
||||
+}
|
||||
+
|
||||
static int semanage_compile_module(semanage_handle_t *sh,
|
||||
semanage_module_info_t *modinfo,
|
||||
Sha256Context *context)
|
||||
@@ -977,13 +985,21 @@ static int modinfo_cmp(const void *a, const void *b)
|
||||
return strcmp(ma->name, mb->name);
|
||||
}
|
||||
|
||||
+struct extra_checksum_params {
|
||||
+ int disable_dontaudit;
|
||||
+ int preserve_tunables;
|
||||
+ int target_platform;
|
||||
+ int policyvers;
|
||||
+};
|
||||
+
|
||||
static int semanage_compile_hll_modules(semanage_handle_t *sh,
|
||||
semanage_module_info_t *modinfos,
|
||||
int num_modinfos,
|
||||
+ const struct extra_checksum_params *extra,
|
||||
char *cil_checksum)
|
||||
{
|
||||
/* to be incremented when checksum input data format changes */
|
||||
- static const size_t CHECKSUM_EPOCH = 1;
|
||||
+ static const size_t CHECKSUM_EPOCH = 2;
|
||||
|
||||
int i, status = 0;
|
||||
char cil_path[PATH_MAX];
|
||||
@@ -1000,6 +1016,10 @@ static int semanage_compile_hll_modules(semanage_handle_t *sh,
|
||||
|
||||
Sha256Initialise(&context);
|
||||
update_checksum_with_len(&context, CHECKSUM_EPOCH);
|
||||
+ update_checksum_with_bool(&context, !!extra->disable_dontaudit);
|
||||
+ update_checksum_with_bool(&context, !!extra->preserve_tunables);
|
||||
+ update_checksum_with_len(&context, (size_t)extra->target_platform);
|
||||
+ update_checksum_with_len(&context, (size_t)extra->policyvers);
|
||||
|
||||
/* prefix with module count to avoid collisions */
|
||||
update_checksum_with_len(&context, num_modinfos);
|
||||
@@ -1134,6 +1154,7 @@ static int semanage_direct_commit(semanage_handle_t * sh)
|
||||
mode_t mask = umask(0077);
|
||||
struct stat sb;
|
||||
char modules_checksum[CHECKSUM_CONTENT_SIZE + 1 /* '\0' */];
|
||||
+ struct extra_checksum_params extra;
|
||||
|
||||
int do_rebuild, do_write_kernel, do_install;
|
||||
int fcontexts_modified, ports_modified, seusers_modified,
|
||||
@@ -1274,8 +1295,14 @@ static int semanage_direct_commit(semanage_handle_t * sh)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
+ extra = (struct extra_checksum_params){
|
||||
+ .disable_dontaudit = sepol_get_disable_dontaudit(sh->sepolh),
|
||||
+ .preserve_tunables = sepol_get_preserve_tunables(sh->sepolh),
|
||||
+ .target_platform = sh->conf->target_platform,
|
||||
+ .policyvers = sh->conf->policyvers,
|
||||
+ };
|
||||
retval = semanage_compile_hll_modules(sh, modinfos, num_modinfos,
|
||||
- modules_checksum);
|
||||
+ &extra, modules_checksum);
|
||||
if (retval < 0) {
|
||||
ERR(sh, "Failed to compile hll files into cil files.\n");
|
||||
goto cleanup;
|
||||
--
|
||||
2.40.0
|
||||
|
@ -0,0 +1,138 @@
|
||||
From 020da857956beea5749c9347cafbd527774aeaa5 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Lautrbach <lautrbach@redhat.com>
|
||||
Date: Mon, 13 Nov 2023 13:37:57 +0100
|
||||
Subject: [PATCH] Revert "libsemanage: Remove the Russian translations"
|
||||
Content-type: text/plain
|
||||
|
||||
This reverts commit 1303a6af486eeef1138a99513214700f543c0ef7.
|
||||
---
|
||||
libsemanage/man/ru/man5/semanage.conf.5 | 117 ++++++++++++++++++++++++
|
||||
1 file changed, 117 insertions(+)
|
||||
create mode 100644 libsemanage/man/ru/man5/semanage.conf.5
|
||||
|
||||
diff --git a/libsemanage/man/ru/man5/semanage.conf.5 b/libsemanage/man/ru/man5/semanage.conf.5
|
||||
new file mode 100644
|
||||
index 000000000000..548aa58d37b6
|
||||
--- /dev/null
|
||||
+++ b/libsemanage/man/ru/man5/semanage.conf.5
|
||||
@@ -0,0 +1,117 @@
|
||||
+.TH semanage.conf "5" "Сентябрь 2011" "semanage.conf" "Администрирование системы Linux"
|
||||
+.SH ИМЯ
|
||||
+semanage.conf \- глобальный файл конфигурации для библиотеки управления SELinux
|
||||
+.SH ОПИСАНИЕ
|
||||
+.PP
|
||||
+Файл
|
||||
+.BR semanage.conf
|
||||
+обычно располагается в каталоге /etc/selinux и используется для конфигурации поведения библиотеки управления SELinux в среде выполнения.
|
||||
+
|
||||
+.PP
|
||||
+Каждая строка должна содержать параметр конфигурации, за которым следует знак равенства ("=") и значение конфигурации этого параметра. Все символы, которые следуют за "#", игнорируются (аналогично пустым строкам).
|
||||
+
|
||||
+.PP
|
||||
+Разрешены следующие параметры:
|
||||
+
|
||||
+.RS
|
||||
+.TP
|
||||
+.B module-store
|
||||
+Указать, как библиотека управления SELinux должна взаимодействовать с хранилищем политики SELinux. Если установлено "direct", библиотека управления SELinux выполняет запись напрямую в хранилище модулей политики SELinux (это значение по умолчанию).
|
||||
+В ином случае в качестве аргумента может использоваться путь к сокету или имя сервера.
|
||||
+Если аргумент начинается с "/" (как в "/foo/bar"), он представляет собой путь к именованному сокету, который следует использовать для подключения сервера управления политикой.
|
||||
+Если аргумент не начинается с "/" (как в "example.com:4242"), он должен интерпретироваться как имя удалённого сервера управления политикой, который следует использовать через TCP-подключение (порт по умолчанию 4242, если только после имени сервера через двоеточие, разделяющее два поля, не указан другой порт).
|
||||
+
|
||||
+.TP
|
||||
+.B root
|
||||
+Указать альтернативный корневой путь к хранилищу. По умолчанию: "/"
|
||||
+
|
||||
+.TP
|
||||
+.B store-root
|
||||
+Указать альтернативный путь store_root. По умолчанию: "/var/lib/selinux"
|
||||
+
|
||||
+.TP
|
||||
+.B compiler-directory
|
||||
+Указать альтернативный каталог, который содержит компиляторы HLL в CIL. Значение по умолчанию: "/usr/libexec/selinux/hll".
|
||||
+
|
||||
+.TP
|
||||
+.B ignore-module-cache
|
||||
+Определяет, следует ли игнорировать кэш модулей CIL, скомпилированных из HLL. Можно установить либо значение "true", либо значение "false" (по умолчанию установлено "false").
|
||||
+Если кэш игнорируется, все модули CIL перекомпилируются из соответствующих модулей HLL.
|
||||
+
|
||||
+.TP
|
||||
+.B policy-version
|
||||
+При создании политики
|
||||
+.BR semanage
|
||||
+по умолчанию устанавливает версию политики POLICYDB_VERSION_MAX, как определено в <sepol/policydb/policydb.h>. Измените этот параметр, если для политики требуется установить другую версию.
|
||||
+
|
||||
+.TP
|
||||
+.B target-platform
|
||||
+Целевая платформа, для которой создаются политики. Действительными значениями являются "selinux" и "xen" (по умолчанию установлено "selinux").
|
||||
+
|
||||
+.TP
|
||||
+.B expand-check
|
||||
+Определяет, следует ли проверять правила "neverallow" при исполнении всех команд
|
||||
+.BR semanage.
|
||||
+Для этого параметра можно установить либо значение "0" (отключён), либо "1" (включён). По умолчанию параметр включён. Время выполнения может сильно возрасти, если этот параметр включён.
|
||||
+
|
||||
+.TP
|
||||
+.B file-mode
|
||||
+По умолчанию для разрешительного режима для файлов среды выполнения политики установлено значение 0644.
|
||||
+
|
||||
+.TP
|
||||
+.B save-previous
|
||||
+Определяет, следует ли сохранять прежний каталог модуля после успешной фиксации модуля в хранилище политики. Для параметра можно установить либо значение "true", либо значение "false". По умолчанию установлено "false" (прежняя версия удаляется).
|
||||
+
|
||||
+.TP
|
||||
+.B save-linked
|
||||
+Определяет, следует ли сохранять прежний связанный модуль (с именем "base.linked") после успешной фиксации модуля в хранилище политики.
|
||||
+Для параметра можно установить либо значение "true", либо значение "false". По умолчанию установлено "false" (прежний модуль удаляется).
|
||||
+
|
||||
+.TP
|
||||
+.B ignoredirs
|
||||
+Разделённый ";" список каталогов, которые следует игнорировать при установке домашних каталогов пользователей.
|
||||
+В некоторых дистрибутивах этот параметр используется для того, чтобы /root не отмечался как домашний каталог.
|
||||
+
|
||||
+.TP
|
||||
+.B usepasswd
|
||||
+Определяет, использовать ли getpwent(), чтобы получить список домашних каталогов, для которых следует проставить метки. Для параметра можно установить либо значение "true", либо значение "false" (по умолчанию установлено "true").
|
||||
+
|
||||
+.TP
|
||||
+.B disable-genhomedircon
|
||||
+Определяет, следует ли исполнять функцию genhomedircon при использовании команды
|
||||
+.BR semanage.
|
||||
+Для параметра можно установить либо значение "true", либо значение "false". По умолчанию возможность genhomedircon включена (эквивалентно установке значения "false" для этого параметра).
|
||||
+
|
||||
+.TP
|
||||
+.B handle-unknown
|
||||
+Этот параметр управляет тем, как ядро обрабатывает разрешения, которые определены в ядре, но отсутствуют в фактической политике.
|
||||
+Возможные значения: "deny", "reject" или "allow".
|
||||
+
|
||||
+.TP
|
||||
+.B bzip-blocksize
|
||||
+Этот параметр должен находиться в диапазоне 0-9. Значение 0 означает отсутствие сжатия. По умолчанию значение размера блока bzip равняется 9 (фактическое значение размера блока получается путём умножения на 100000).
|
||||
+
|
||||
+.TP
|
||||
+.B bzip-small
|
||||
+Если для этого параметра установлено значение "true", алгоритм bzip попытается уменьшить использование системной памяти. Также для этого параметра можно установить значение "false" (по умолчанию установлено это значение).
|
||||
+
|
||||
+.TP
|
||||
+.B remove-hll
|
||||
+Если для этого параметра установлено значение "true", файлы HLL будут удалены после компиляции в CIL. Чтобы удалить уже cкомпилированные в CIL файлы HLL, необходимо перекомпилировать модули, установив для параметра
|
||||
+.BR ignore-module-cache
|
||||
+значение "true", или используя параметр
|
||||
+.BR ignore-module-cache
|
||||
+с semodule. Для параметра remove-hll можно установить либо значение "true", либо значение "false" (по умолчанию установлено "false").
|
||||
+
|
||||
+Обратите внимание: так как этот параметр удаляет все файлы HLL, обновлённый компилятор HLL не сможет перекомпилировать исходный файл HLL в CIL.
|
||||
+Чтобы скомпилировать исходный файл HLL в CIL, необходимо переустановить этот файл HLL.
|
||||
+
|
||||
+.SH "СМОТРИТЕ ТАКЖЕ"
|
||||
+.TP
|
||||
+semanage(8)
|
||||
+.PP
|
||||
+
|
||||
+.SH АВТОРЫ
|
||||
+Эта страница руководства была написана Guido Trentalancia <guido@trentalancia.com>.
|
||||
+Библиотека управления SELinux была написана Tresys Technology LLC и Red Hat Inc.
|
||||
+Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>.
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,16 +1,17 @@
|
||||
%define libsepolver 3.5-1
|
||||
%define libselinuxver 3.5-1
|
||||
%define libsepolver 3.6-1
|
||||
%define libselinuxver 3.6-1
|
||||
|
||||
Summary: SELinux binary policy manipulation library
|
||||
Name: libsemanage
|
||||
Version: 3.5
|
||||
Release: 2%{?dist}
|
||||
Version: 3.6
|
||||
Release: 1%{?dist}
|
||||
License: LGPLv2+
|
||||
Source0: https://github.com/SELinuxProject/selinux/releases/download/3.5/libsemanage-3.5.tar.gz
|
||||
# fedora-selinux/selinux: git checkout c9s; git format-patch -N 3.5 -- libsemanage
|
||||
Source0: https://github.com/SELinuxProject/selinux/releases/download/3.6/libsemanage-3.6.tar.gz
|
||||
# fedora-selinux/selinux: git checkout c9s; git format-patch -N 3.6 -- libsemanage
|
||||
# i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
|
||||
# Patch list start
|
||||
Patch0001: 0001-libsemanage-include-more-parameters-in-the-module-ch.patch
|
||||
Patch0001: 0001-Revert-Do-not-automatically-install-Russian-translat.patch
|
||||
Patch0002: 0002-Revert-libsemanage-Remove-the-Russian-translations.patch
|
||||
# Patch list end
|
||||
URL: https://github.com/SELinuxProject/selinux/wiki
|
||||
Source1: semanage.conf
|
||||
@ -154,6 +155,12 @@ cp %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/selinux/semanage.conf
|
||||
%{_libexecdir}/selinux/semanage_migrate_store
|
||||
|
||||
%changelog
|
||||
* Wed Dec 13 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.6-1
|
||||
- SELinux userspace 3.6 release
|
||||
|
||||
* Mon Nov 13 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.6-0.rc1.1
|
||||
- SELinux userspace 3.6-rc1 release
|
||||
|
||||
* Wed Mar 22 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.5-2
|
||||
- Include more parameters in the module checksum (#2173959)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user