import CS mcstrans-3.6-1.el9

This commit is contained in:
eabdullin 2024-03-28 11:04:26 +00:00
parent 0855f8df3e
commit 2b9aff2ff6
6 changed files with 298 additions and 5 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/mcstrans-3.5.tar.gz
SOURCES/mcstrans-3.6.tar.gz

View File

@ -1 +1 @@
a8b1d4758ab1b1a80a4eb1ffe06cd7cbd1336527 SOURCES/mcstrans-3.5.tar.gz
00ce2b41d9a6d7600cede0374e5ffefa2ad313f9 SOURCES/mcstrans-3.6.tar.gz

View File

@ -0,0 +1,60 @@
From 8695c655aebda25e4ac3114b5bb2d1678248eeac Mon Sep 17 00:00:00 2001
From: Petr Lautrbach <plautrba@redhat.com>
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 "<stdin>", line 2, in <module>
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 <plautrba@redhat.com>
---
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

View File

@ -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.
---
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

View File

@ -0,0 +1,199 @@
From f01a84d748d4c1366381b5c032353c324066a845 Mon Sep 17 00:00:00 2001
From: Petr Lautrbach <lautrbach@redhat.com>
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 <joe@nall.com>.
+ Обновлено Ted X. Toth <txtoth@gmail.com>.
+ Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>.
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 АВТОРЫ
+Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>
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 <dwalsh@redhat.com>.
+Исходная версия программы написана Dan Walsh <dwalsh@redhat.com>.
+Программа улучшена/переписана Joe Nall <joe@nall.com>.
+Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>.
--
2.41.0

View File

@ -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 <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
* Thu Feb 23 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.5-1
- SELinux userspace 3.5 release