diff --git a/.gitignore b/.gitignore index 730ada2..9b967b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/mcstrans-3.5.tar.gz +SOURCES/mcstrans-3.6.tar.gz diff --git a/.mcstrans.metadata b/.mcstrans.metadata index 5e5604d..0fd9c0d 100644 --- a/.mcstrans.metadata +++ b/.mcstrans.metadata @@ -1 +1 @@ -a8b1d4758ab1b1a80a4eb1ffe06cd7cbd1336527 SOURCES/mcstrans-3.5.tar.gz +00ce2b41d9a6d7600cede0374e5ffefa2ad313f9 SOURCES/mcstrans-3.6.tar.gz diff --git a/SOURCES/0001-mcstrans-Do-not-accept-incomplete-contexts.patch b/SOURCES/0001-mcstrans-Do-not-accept-incomplete-contexts.patch new file mode 100644 index 0000000..0aeb5fb --- /dev/null +++ b/SOURCES/0001-mcstrans-Do-not-accept-incomplete-contexts.patch @@ -0,0 +1,60 @@ +From 8695c655aebda25e4ac3114b5bb2d1678248eeac Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Mon, 15 Apr 2019 15:22:51 +0200 +Subject: [PATCH] mcstrans: Do not accept incomplete contexts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Content-type: text/plain + +Fixes: +$ python3 +> import selinux +> selinux.selinux_raw_context_to_color("xyz_u:xyz_r:xyz_t:") + +Traceback (most recent call last): + File "", line 2, in +OSError: [Errno 0] Error + +:: [ 10:25:45 ] :: [ BEGIN ] :: Running 'service mcstransd status' +Redirecting to /bin/systemctl status mcstransd.service +● mcstrans.service - Translates SELinux MCS/MLS labels to human readable form + Loaded: loaded (/usr/lib/systemd/system/mcstrans.service; disabled; vendor preset: disabled) + Active: failed (Result: core-dump) since Fri 2019-04-12 10:25:44 EDT; 1s ago + Process: 16681 ExecStart=/sbin/mcstransd -f (code=dumped, signal=SEGV) + Main PID: 16681 (code=dumped, signal=SEGV) + +systemd[1]: mcstrans.service: Main process exited, code=dumped, status=11/SEGV +systemd[1]: mcstrans.service: Failed with result 'core-dump'. + +Signed-off-by: Petr Lautrbach +--- + mcstrans/src/mcscolor.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/mcstrans/src/mcscolor.c b/mcstrans/src/mcscolor.c +index 9ff0ce2f29f1..275a99b7b12a 100644 +--- a/mcstrans/src/mcscolor.c ++++ b/mcstrans/src/mcscolor.c +@@ -274,10 +274,14 @@ static const unsigned precedence[N_COLOR][N_COLOR - 1] = { + static const secolor_t default_color = { 0x000000, 0xffffff }; + + static int parse_components(context_t con, char **components) { +- components[COLOR_USER] = (char *)context_user_get(con); +- components[COLOR_ROLE] = (char *)context_role_get(con); +- components[COLOR_TYPE] = (char *)context_type_get(con); +- components[COLOR_RANGE] = (char *)context_range_get(con); ++ if ((components[COLOR_USER] = (char *)context_user_get(con)) == NULL) ++ return -1; ++ if ((components[COLOR_ROLE] = (char *)context_role_get(con)) == NULL) ++ return -1; ++ if ((components[COLOR_TYPE] = (char *)context_type_get(con)) == NULL) ++ return -1; ++ if ((components[COLOR_RANGE] = (char *)context_range_get(con)) == NULL) ++ return -1; + + return 0; + } +-- +2.41.0 + diff --git a/SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch b/SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch new file mode 100644 index 0000000..8490232 --- /dev/null +++ b/SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch @@ -0,0 +1,25 @@ +From a87290f734ba136e7b648a9ce9754767cbb5eed3 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +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. +--- + mcstrans/man/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mcstrans/man/Makefile b/mcstrans/man/Makefile +index 895a592d3570..71713818c621 100644 +--- a/mcstrans/man/Makefile ++++ b/mcstrans/man/Makefile +@@ -1,5 +1,5 @@ + # Installation directories. +-LINGUAS ?= ++LINGUAS ?= ru + PREFIX ?= /usr + MANDIR ?= $(PREFIX)/share/man + MAN5SUBDIR ?= man5 +-- +2.41.0 + diff --git a/SOURCES/0003-Revert-mcstrans-Remove-the-Russian-translations.patch b/SOURCES/0003-Revert-mcstrans-Remove-the-Russian-translations.patch new file mode 100644 index 0000000..8750977 --- /dev/null +++ b/SOURCES/0003-Revert-mcstrans-Remove-the-Russian-translations.patch @@ -0,0 +1,199 @@ +From f01a84d748d4c1366381b5c032353c324066a845 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Mon, 13 Nov 2023 13:37:55 +0100 +Subject: [PATCH] Revert "mcstrans: Remove the Russian translations" +Content-type: text/plain + +This reverts commit fd7eba9313f2e77e333d89c836f9f6a23e053fbe. +--- + mcstrans/man/ru/man5/setrans.conf.5 | 106 ++++++++++++++++++++++++++++ + mcstrans/man/ru/man8/mcs.8 | 24 +++++++ + mcstrans/man/ru/man8/mcstransd.8 | 32 +++++++++ + 3 files changed, 162 insertions(+) + create mode 100644 mcstrans/man/ru/man5/setrans.conf.5 + create mode 100644 mcstrans/man/ru/man8/mcs.8 + create mode 100644 mcstrans/man/ru/man8/mcstransd.8 + +diff --git a/mcstrans/man/ru/man5/setrans.conf.5 b/mcstrans/man/ru/man5/setrans.conf.5 +new file mode 100644 +index 000000000000..724b206b963a +--- /dev/null ++++ b/mcstrans/man/ru/man5/setrans.conf.5 +@@ -0,0 +1,106 @@ ++.TH "setrans.conf" "5" "13 июля 2010" "txtoth@gmail.com" "Документация по setrans.conf" ++.SH "ИМЯ" ++setrans.conf \- файл конфигурации преобразования для систем MCS/MLS SELinux ++ ++.SH "ОПИСАНИЕ" ++Файл конфигурации ++.I /etc/selinux/{SELINUXTYPE}/setrans.conf ++определяет способ, которым метки SELinux MCS/MLS преобразовываются в удобную для прочтения человеком форму с помощью внутренней службы mcstransd. Политики по умолчанию поддерживают 16 уровней конфиденциальности (от s0 до s15) и 1024 категории (от c0 до c1023). Если категорий несколько, их можно разделить запятыми (c0,c1,c3,c5), а диапазон категорий - сократить с помощью указания через точку (c0.c3,c5). ++ ++.SS "Ключевые слова" ++ ++.TP ++Base\fR ++когда объявляется база, ко всем последующим определениям меток конфиденциальности будут при преобразовании применяться модификаторы. ++Метки конфиденциальности, которые были определены до объявления базы, незамедлительно кэшируются, и к ним не применяются модификаторы; они используются в качестве прямого преобразования. ++ ++.TP ++Default\fR ++определяет битовый диапазон категорий, который будет использоваться для обратных битов. ++ ++.TP ++Domain\fR ++создаёт новый домен с указанным именем. ++ ++.TP ++Include\fR ++прочитать и обработать содержимое указанного файла конфигурации. ++ ++.TP ++Join\fR ++определяет символ, который используется для разделения участников группы модификаторов, когда указано более одного (например, USA/AUS). ++ ++.TP ++ModifierGroup\fR ++средство группировки битовых определений категорий по тому, как они изменяют метку конфиденциальности. ++ ++.TP ++Prefix\fR ++слова (слова), которое может предшествовать участнику (участникам) группы модификаторов (например, REL USA). ++ ++.TP ++Suffix\fR ++слово (слова), которое может следовать за участником (участниками) группы модификаторов (например, USA EYES ONLY). ++ ++.TP ++Whitespace\fR ++определяет набор допустимых пробельных символов, которые могут использоваться в преобразовываемой метке. ++ ++.SS "Примеры определения уровня конфиденциальности" ++ ++.TP ++s0=SystemLow\fR ++определяет преобразование s0 (минимального уровня конфиденциальности) без категорий в SystemLow. ++ ++.TP ++s15:c0.c1023=SystemHigh\fR ++определяет преобразование s15:c0.c1023 в SystemHigh. c0.c1023 - сокращённое обозначение всех категорий. Уровень конфиденциальности и категории разделены двоеточием. ++ ++.TP ++s0\-s15:c0.c1023=SystemLow\-SystemHigh\fR ++определяет преобразование диапазона s0\-s15:c0.c1023 в SystemLow\-SystemHigh. Два компонента диапазона разделены дефисом. ++ ++.TP ++s0:c0=PatientRecord\fR ++определяет преобразование уровня конфиденциальности s0 с категорией c0 в PatientRecord. ++ ++.TP ++s0:c1=Accounting\fR ++определяет преобразование уровня конфиденциальности s0 с категорией c1 в Accounting. ++ ++.TP ++s2:c1,c2,c3=Confidential3Categories ++.TP ++s2:c1.c3=Confidential3Categories\fR ++и то, и другое определяет преобразование уровня конфиденциальности s2 с категориями c1, c2 и c3 в Confidential3Categories. ++ ++.TP ++s5=TopSecret\fR ++определяет преобразование уровня конфиденциальности s5 без категорий в TopSecret. ++ ++.SS "Примеры ограничения" ++ ++.TP ++c0!c1 ++если одновременно заданы биты категорий 0 и 1, ограничение не сработает и будет возвращён исходный контекст. ++ ++.TP ++c5.c9>c1 ++если заданы биты категорий с 5 по 9, бит 1 также необходимо установить - иначе ограничение не сработает и будет возвращён исходный контекст. ++ ++.TP ++s1!c5,c9 ++если заданы биты категорий с 5 по 9 и уровень конфиденциальности равен s1, ограничение не сработает и будет возвращён исходный контекст. ++ ++.SH "ФАЙЛЫ" ++/etc/selinux/{SELINUXTYPE}/setrans.conf ++.br ++/usr/share/mcstrans/examples ++ ++.SH "СМОТРИТЕ ТАКЖЕ" ++selinux(8), mcs(8), mls(8), chcon(1) ++ ++.SH "АВТОРЫ" ++ Написано Joe Nall . ++ Обновлено Ted X. Toth . ++ Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/mcstrans/man/ru/man8/mcs.8 b/mcstrans/man/ru/man8/mcs.8 +new file mode 100644 +index 000000000000..c869ed2cc459 +--- /dev/null ++++ b/mcstrans/man/ru/man8/mcs.8 +@@ -0,0 +1,24 @@ ++.TH "mcs" "8" "8 сентября 2005" "dwalsh@redhat.com" "Документация по MCS" ++ ++.SH "ИМЯ" ++mcs \- мультикатегорийная система ++ ++.SH "ОПИСАНИЕ" ++MCS (мультикатегорийная система) позволяет пользователям проставлять в своей системе метки для файлов внутри определённых администратором категорий. Затем эта система использует принудительное управление доступом SELinux, чтобы защитить эти файлы. MCS - дискреционная модель, которая позволяет пользователям отмечать свои данные дополнительными тегами, накладывая дальнейшие ограничения доступа. Обязательным является только один аспект - авторизовывать пользователей для категорий, определяя их уровень допуска в политике. MCS похожа на MLS, выполняет те же самые пути кода и использует ту же самую инфраструктуру поддержки. Они отличаются между собой только спецификой настройки. ++ ++ ++Файл конфигурации ++.I /etc/selinux/{SELINUXTYPE}/setrans.conf ++преобразовывает метки на диске в удобную для прочтения человеком форму. В этом файле администраторы могут определить любые необходимые метки. ++Некоторые приложения, такие как вывод на экран и аудит, будут использовать эти метки для идентификации файлов. Если для файла будет задана категория, другие приложения/службы не получат к нему доступ. ++.P ++Примеры меток файлов: PatientRecord, CompanyConfidential и так далее. ++ ++.SH "СМОТРИТЕ ТАКЖЕ" ++selinux(8), chcon(1) ++ ++.SH ФАЙЛЫ ++/etc/selinux/{SELINUXTYPE}/setrans.conf ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся +diff --git a/mcstrans/man/ru/man8/mcstransd.8 b/mcstrans/man/ru/man8/mcstransd.8 +new file mode 100644 +index 000000000000..4cd68c173768 +--- /dev/null ++++ b/mcstrans/man/ru/man8/mcstransd.8 +@@ -0,0 +1,32 @@ ++.TH "mcstransd" "8" "16 октября 2009" "dwalsh@redhat.com" "Документация по MCS" ++.SH "ИМЯ" ++mcstransd \- внутренняя служба MCS (мультикатегорийная система). Переводит метки MCS/MLS SELinux в удобную для прочтения человеком форму. ++ ++.SH "ОБЗОР" ++.B mcstransd [-f] [-h] ++.P ++ ++.SH "ОПИСАНИЕ" ++Эта страница руководства содержит описание программы ++.BR mcstransd. ++.P ++Эта внутренняя служба выполняет чтение файла конфигурации /etc/selinux/{SELINUXTYPE}/setrans.conf и связывается с libselinux через сокет в /var/run/setrans. ++.SH "ПАРАМЕТРЫ" ++.TP ++\-f ++Запустить mcstransd на переднем плане. Не запускать как внутреннюю службу. ++.TP ++\-h ++Вывести краткое описание доступных параметров командной строки\&. ++ ++.SH "ФАЙЛЫ" ++/etc/selinux/{SELINUXTYPE}/setrans.conf ++ ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR setrans.conf (5), mcs (8) ++ ++.SH "АВТОРЫ" ++Эта man-страница написана Dan Walsh . ++Исходная версия программы написана Dan Walsh . ++Программа улучшена/переписана Joe Nall . ++Перевод на русский язык выполнила Герасименко Олеся . +-- +2.41.0 + diff --git a/SPECS/mcstrans.spec b/SPECS/mcstrans.spec index efdc222..d581e4b 100644 --- a/SPECS/mcstrans.spec +++ b/SPECS/mcstrans.spec @@ -1,14 +1,17 @@ Summary: SELinux Translation Daemon Name: mcstrans -Version: 3.5 +Version: 3.6 Release: 1%{?dist} License: GPL+ Url: https://github.com/SELinuxProject/selinux/wiki -Source: https://github.com/SELinuxProject/selinux/releases/download/3.5/mcstrans-3.5.tar.gz +Source: https://github.com/SELinuxProject/selinux/releases/download/3.6/mcstrans-3.6.tar.gz Source2: secolor.conf.8 -# fedora-selinux/selinux: git format-patch -N 3.5 -- mcstrans +# fedora-selinux/selinux: git format-patch -N 3.6 -- mcstrans # i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done # Patch list start +Patch0001: 0001-mcstrans-Do-not-accept-incomplete-contexts.patch +Patch0002: 0002-Revert-Do-not-automatically-install-Russian-translat.patch +Patch0003: 0003-Revert-mcstrans-Remove-the-Russian-translations.patch # Patch list end BuildRequires: gcc BuildRequires: make @@ -91,6 +94,12 @@ install -m644 %{SOURCE2} %{buildroot}%{_mandir}/man8/ %{_usr}/share/mcstrans/util/* %changelog +* Thu Dec 14 2023 Petr Lautrbach - 3.6-1 +- SELinux userspace 3.6 release + +* Mon Nov 13 2023 Petr Lautrbach - 3.6-0.rc1.1 +- SELinux userspace 3.6-rc1 release + * Thu Feb 23 2023 Petr Lautrbach - 3.5-1 - SELinux userspace 3.5 release