Compare commits

..

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

15 changed files with 410 additions and 256 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

46
.gitignore vendored
View File

@ -1 +1,45 @@
SOURCES/mcstrans-2.9.tar.gz
mcstrans-0.1.1.tgz
mcstrans-0.1.1-1.src.rpm
mcstrans-0.1.2.tgz
mcstrans-0.1.3.tgz
mcstrans-0.1.4.tgz
mcstrans-0.1.5.tgz
mcstrans-0.1.6.tgz
mcstrans-0.1.7.tgz
mcstrans-0.1.8.tgz
mcstrans-0.1.9.tgz
mcstrans-0.2.1.tgz
mcstrans-0.2.2.tgz
mcstrans-0.2.3.tgz
mcstrans-0.2.4.tgz
mcstrans-0.2.5.tgz
mcstrans-0.2.6.tgz
mcstrans-0.2.7.tgz
mcstrans-0.2.8.tgz
mcstrans-0.2.9.tgz
mcstrans-0.2.10.tgz
mcstrans-0.2.11.tgz
mcstrans-0.3.0.6.tgz
mcstrans-0.3.1.tgz
/mcstrans-0.3.2.tgz
/mcstrans-0.3.4.tgz
/mcstrans-2.8.tar.gz
/mcstrans-2.9-rc1.tar.gz
/mcstrans-2.9-rc2.tar.gz
/mcstrans-2.9.tar.gz
/mcstrans-3.0-rc1.tar.gz
/mcstrans-3.0.tar.gz
/mcstrans-3.1.tar.gz
/mcstrans-3.2-rc1.tar.gz
/mcstrans-3.2-rc2.tar.gz
/mcstrans-3.2.tar.gz
/mcstrans-3.3-rc2.tar.gz
/mcstrans-3.3-rc3.tar.gz
/mcstrans-3.3.tar.gz
/mcstrans-3.4.tar.gz
/mcstrans-3.5-rc1.tar.gz
/mcstrans-3.5-rc2.tar.gz
/mcstrans-3.5-rc3.tar.gz
/mcstrans-3.5.tar.gz
/mcstrans-3.6-rc1.tar.gz
/mcstrans-3.6.tar.gz

View File

@ -1 +0,0 @@
64bea2c1cd56e0550049a548dde0ac2e53f71714 SOURCES/mcstrans-2.9.tar.gz

View File

@ -1,10 +1,11 @@
From 659cb59cd6cfe36c954c77f945c06a0cd8218287 Mon Sep 17 00:00:00 2001
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
@ -32,10 +33,10 @@ Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/mcstrans/src/mcscolor.c b/mcstrans/src/mcscolor.c
index 6ea1aa97..79fc1c8b 100644
index 9ff0ce2f29f1..275a99b7b12a 100644
--- a/mcstrans/src/mcscolor.c
+++ b/mcstrans/src/mcscolor.c
@@ -272,10 +272,14 @@ static const unsigned precedence[N_COLOR][N_COLOR - 1] = {
@@ -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) {
@ -55,5 +56,5 @@ index 6ea1aa97..79fc1c8b 100644
return 0;
}
--
2.21.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,126 +0,0 @@
From eeac35fa98b8b2d323741703a2e59593d1ad200a Mon Sep 17 00:00:00 2001
From: Petr Lautrbach <plautrba@redhat.com>
Date: Wed, 28 Nov 2018 18:28:05 +0100
Subject: [PATCH] mcstrans: Fir RESOURCE_LEAK and USE_AFTER_FREE coverity scan
defects
---
mcstrans/src/mcstrans.c | 17 ++++++++++++++++-
mcstrans/src/mcstransd.c | 4 +++-
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/mcstrans/src/mcstrans.c b/mcstrans/src/mcstrans.c
index 96bdbdff..29cadb78 100644
--- a/mcstrans/src/mcstrans.c
+++ b/mcstrans/src/mcstrans.c
@@ -633,16 +633,23 @@ add_cache(domain_t *domain, char *raw, char *trans) {
map->raw = strdup(raw);
if (!map->raw) {
+ free(map);
goto err;
}
map->trans = strdup(trans);
if (!map->trans) {
+ free(map->raw);
+ free(map);
goto err;
}
log_debug(" add_cache (%s,%s)\n", raw, trans);
- if (add_to_hashtable(domain->raw_to_trans, map->raw, map) < 0)
+ if (add_to_hashtable(domain->raw_to_trans, map->raw, map) < 0) {
+ free(map->trans);
+ free(map->raw);
+ free(map);
goto err;
+ }
if (add_to_hashtable(domain->trans_to_raw, map->trans, map) < 0)
goto err;
@@ -1519,6 +1526,7 @@ trans_context(const security_context_t incon, security_context_t *rcon) {
trans = compute_trans_from_raw(range, domain);
if (trans)
if (add_cache(domain, range, trans) < 0) {
+ free(trans);
free(range);
return -1;
}
@@ -1530,6 +1538,7 @@ trans_context(const security_context_t incon, security_context_t *rcon) {
ltrans = compute_trans_from_raw(lrange, domain);
if (ltrans) {
if (add_cache(domain, lrange, ltrans) < 0) {
+ free(ltrans);
free(range);
return -1;
}
@@ -1548,6 +1557,7 @@ trans_context(const security_context_t incon, security_context_t *rcon) {
utrans = compute_trans_from_raw(urange, domain);
if (utrans) {
if (add_cache(domain, urange, utrans) < 0) {
+ free(utrans);
free(ltrans);
free(range);
return -1;
@@ -1647,7 +1657,9 @@ untrans_context(const security_context_t incon, security_context_t *rcon) {
canonical = compute_trans_from_raw(raw, domain);
if (canonical && strcmp(canonical, range))
if (add_cache(domain, raw, canonical) < 0) {
+ free(canonical);
free(range);
+ free(raw);
return -1;
}
}
@@ -1655,6 +1667,7 @@ untrans_context(const security_context_t incon, security_context_t *rcon) {
free(canonical);
if (add_cache(domain, raw, range) < 0) {
free(range);
+ free(raw);
return -1;
}
} else {
@@ -1672,6 +1685,7 @@ untrans_context(const security_context_t incon, security_context_t *rcon) {
canonical = compute_trans_from_raw(lraw, domain);
if (canonical)
if (add_cache(domain, lraw, canonical) < 0) {
+ free(canonical);
free(lraw);
free(range);
return -1;
@@ -1703,6 +1717,7 @@ untrans_context(const security_context_t incon, security_context_t *rcon) {
canonical = compute_trans_from_raw(uraw, domain);
if (canonical)
if (add_cache(domain, uraw, canonical) < 0) {
+ free(canonical);
free(uraw);
free(lraw);
free(range);
diff --git a/mcstrans/src/mcstransd.c b/mcstrans/src/mcstransd.c
index 85899493..a1ec81ac 100644
--- a/mcstrans/src/mcstransd.c
+++ b/mcstrans/src/mcstransd.c
@@ -335,6 +335,7 @@ process_events(struct pollfd **ufds, int *nfds)
/* Setup pollfd for deletion later. */
(*ufds)[ii].fd = -1;
close(connfd);
+ connfd = -1;
/* So we don't get bothered later */
revents = revents & ~(POLLHUP);
}
@@ -348,10 +349,11 @@ process_events(struct pollfd **ufds, int *nfds)
/* Set the pollfd up for deletion later. */
(*ufds)[ii].fd = -1;
close(connfd);
+ connfd = -1;
revents = revents & ~(POLLHUP);
}
- if (revents) {
+ if (revents && connfd != -1) {
syslog(LOG_ERR, "Unknown/error events (%x) encountered"
" for fd (%d)\n", revents, connfd);
--
2.21.0

View File

@ -1,56 +0,0 @@
From 7426ba3f8d9edc5222db5663c8a9e5312f489e92 Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
Date: Tue, 2 Jul 2019 14:09:04 +0200
Subject: [PATCH] Revert "mcstransd select correct colour range."
This reverts commit fe17b3d2d924018750386c5ee74f12ca4b054136.
MLS ranges should be compared based on dominance.
This fixes mlscolor-test on mcstrans examples.
Eg. mlscolor-test using /usr/share/mcstrans/examples/urcsts when executed on mls
machine fails as follows:
\#pushd /usr/share/mcstrans/examples/urcsts
\#cp -f secolor.conf /etc/selinux/mls/secolor.conf
\#cp -f setrans.conf /etc/selinux/mls/setrans.conf
\#systemctl restart mcstransd
\#python3 /usr/share/mcstrans/util/mlscolor-test urcsts.color
For 'system_u:system_r:inetd_t:SystemLow' got
'#000000 #000000 #000000 #000000 #000000 #000000 #000000 #000000' expected
'#000000 #000000 #000000 #000000 #000000 #000000 #000000 #008000'
...
mlscolor-test done with 19 errors
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
---
mcstrans/src/mcscolor.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/mcstrans/src/mcscolor.c b/mcstrans/src/mcscolor.c
index 79fc1c8b..f9c64da3 100644
--- a/mcstrans/src/mcscolor.c
+++ b/mcstrans/src/mcscolor.c
@@ -134,12 +134,12 @@ static const secolor_t *find_color(int idx, const char *component,
}
while (ptr) {
- if (fnmatch(ptr->pattern, component, 0) == 0) {
- if (idx == COLOR_RANGE) {
- if (check_dominance(ptr->pattern, raw) == 0)
- return &ptr->color;
- } else
- return &ptr->color;
+ if (idx == COLOR_RANGE) {
+ if (check_dominance(ptr->pattern, raw) == 0)
+ return &ptr->color;
+ } else {
+ if (fnmatch(ptr->pattern, component, 0) == 0)
+ return &ptr->color;
}
ptr = ptr->next;
}
--
2.21.0

View File

@ -1,44 +0,0 @@
From 90a4f2b9a5194a2d1ab4c45b7a90bbb6c8099a68 Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
Date: Tue, 2 Jul 2019 14:09:05 +0200
Subject: [PATCH] Fix mcstrans secolor examples
According to "check_dominance" function:
Range defined as "s15:c0.c1023" does not dominate any other range than
"s15:c0.c1023" (does not dominate "s15", "s15:c0.c200", etc.).
While range defined as "s15-s15:c0.c1023" dominates all of the above.
This is either a bug, or "s15:c0.c1023" should not be used in the
examples.
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
---
mcstrans/share/examples/urcsts-via-include/secolor.conf | 2 +-
mcstrans/share/examples/urcsts/secolor.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/mcstrans/share/examples/urcsts-via-include/secolor.conf b/mcstrans/share/examples/urcsts-via-include/secolor.conf
index d35b3c67..3b3f5430 100644
--- a/mcstrans/share/examples/urcsts-via-include/secolor.conf
+++ b/mcstrans/share/examples/urcsts-via-include/secolor.conf
@@ -17,5 +17,5 @@ range s3-s3:c0.c1023 = black tan
range s5-s5:c0.c1023 = white blue
range s7-s7:c0.c1023 = black red
range s9-s9:c0.c1023 = black orange
-range s15:c0.c1023 = black yellow
+range s15-s15:c0.c1023 = black yellow
diff --git a/mcstrans/share/examples/urcsts/secolor.conf b/mcstrans/share/examples/urcsts/secolor.conf
index d35b3c67..3b3f5430 100644
--- a/mcstrans/share/examples/urcsts/secolor.conf
+++ b/mcstrans/share/examples/urcsts/secolor.conf
@@ -17,5 +17,5 @@ range s3-s3:c0.c1023 = black tan
range s5-s5:c0.c1023 = white blue
range s7-s7:c0.c1023 = black red
range s9-s9:c0.c1023 = black orange
-range s15:c0.c1023 = black yellow
+range s15-s15:c0.c1023 = black yellow
--
2.21.0

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

View File

@ -1,25 +1,27 @@
Summary: SELinux Translation Daemon
Name: mcstrans
Version: 2.9
Release: 2%{?dist}
Version: 3.6
Release: 1%{?dist}
License: GPL+
Url: https://github.com/SELinuxProject/selinux/wiki
Source: https://github.com/SELinuxProject/selinux/releases/download/20190315/mcstrans-2.9.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.6 -- mcstrans
# i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
Patch0001: 0001-mcstrans-Fir-RESOURCE_LEAK-and-USE_AFTER_FREE-coveri.patch
Patch0002: 0002-mcstrans-Do-not-accept-incomplete-contexts.patch
Patch0003: 0003-Revert-mcstransd-select-correct-colour-range.patch
Patch0004: 0004-Fix-mcstrans-secolor-examples.patch
# 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
BuildRequires: libselinux-devel >= %{version}
BuildRequires: libcap-devel pcre-devel libsepol-devel libsepol-static
BuildRequires: libcap-devel pcre2-devel libsepol-devel libsepol-static
BuildRequires: systemd
Requires: pcre
Requires: pcre2
%{?systemd_requires}
Provides: setransd
Provides: libsetrans
Obsoletes: libsetrans
%description
Security-enhanced Linux is a feature of the Linux® kernel and a number
@ -40,15 +42,17 @@ from internal representations to user defined representation.
%build
%set_build_flags
make LIBDIR="%{_libdir}" %{?_smp_mflags}
%make_build LIBDIR="%{_libdir}"
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/%{_lib}
mkdir -p %{buildroot}/%{_libdir}
mkdir -p %{buildroot}%{_usr}/share/mcstrans
mkdir -p %{buildroot}%{_sysconfdir}/selinux/mls/setrans.d
make DESTDIR="%{buildroot}" LIBDIR="%{_libdir}" SHLIBDIR="%{_lib}" SBINDIR="%{_sbindir}" install
%make_install LIBDIR="%{_libdir}" SHLIBDIR="%{_lib}" SBINDIR="%{_sbindir}"
rm -f %{buildroot}%{_libdir}/*.a
cp -r share/* %{buildroot}%{_usr}/share/mcstrans/
# Systemd
@ -57,9 +61,6 @@ ln -s %{_unitdir}/mcstrans.service %{buildroot}/%{_unitdir}/mcstransd.service
rm -rf %{buildroot}/%{_sysconfdir}/rc.d/init.d/mcstrans
install -m644 %{SOURCE2} %{buildroot}%{_mandir}/man8/
%clean
rm -rf %{buildroot}
%post
%systemd_post mcstransd.service
@ -70,13 +71,12 @@ rm -rf %{buildroot}
%systemd_postun mcstransd.service
%files
%defattr(-,root,root,0755)
%{_mandir}/man8/mcs.8.gz
%{_mandir}/man8/mcstransd.8.gz
%{_mandir}/man8/setrans.conf.8.gz
%{_mandir}/man5/setrans.conf.5.gz
%{_mandir}/ru/man8/mcs.8.gz
%{_mandir}/ru/man8/mcstransd.8.gz
%{_mandir}/ru/man8/setrans.conf.8.gz
%{_mandir}/ru/man5/setrans.conf.5.gz
%{_mandir}/man8/secolor.conf.8.gz
/usr/sbin/mcstransd
%{_unitdir}/mcstrans.service
@ -94,19 +94,104 @@ rm -rf %{buildroot}
%{_usr}/share/mcstrans/util/*
%changelog
* Fri Nov 08 2019 Vit Mojzis <vmojzis@redhat.com> - 2.9-2
- Revert "mcstransd select correct colour range." (#1731451)
- Fix mcstrans secolor examples (#1731451)
* Thu Dec 14 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.6-1
- SELinux userspace 3.6 release
* Fri Apr 12 2019 Petr Lautrbach <plautrba@redhat.com> - 2.9-1.2
* 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
* Wed Feb 15 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.5-0.rc3.1
- SELinux userspace 3.5-rc3 release
* Tue Jan 17 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.5-0.rc2.1
- SELinux userspace 3.5-rc2 release
* Mon Jan 2 2023 Petr Lautrbach <lautrbach@redhat.com> - 3.5-0.rc1.1
- SELinux userspace 3.5-rc1 release
* Fri May 20 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-1
- SELinux userspace 3.4 release
* Fri Dec 10 2021 Petr Lautrbach <plautrba@redhat.com> - 3.3-2
- Port to new PCRE2 from end-of-life PCRE
* Fri Oct 22 2021 Petr Lautrbach <plautrba@redhat.com> - 3.3-1
- SELinux userspace 3.3 release
* Mon Oct 11 2021 Petr Lautrbach <plautrba@redhat.com> - 3.3-0.rc3.1
- SELinux userspace 3.3-rc3 release
* Wed Sep 29 2021 Petr Lautrbach <plautrba@redhat.com> - 3.3-0.rc2.1
- SELinux userspace 3.3-rc2 release
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.2-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Aug 5 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-3
- Fix RESOURCE_LEAK (CWE-772)
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.2-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Mar 9 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-1
- SELinux userspace 3.2 release
* Sun Feb 7 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-0.rc2.1
- SELinux userspace 3.2-rc2 release
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-0.rc1.1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-0.rc1.1
- SELinux userspace 3.2-rc1 release
* Tue Jul 28 2020 Tom Stellard <tstellar@redhat.com> - 3.1-3
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 16 2020 Petr Lautrbach <plautrba@redhat.com> - 3.1-1
- SELinux userspace 3.1 release
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Dec 6 2019 Petr Lautrbach <plautrba@redhat.com> - 3.0-1
- SELinux userspace 3.0 release
* Mon Nov 11 2019 Petr Lautrbach <plautrba@redhat.com> - 3.0-0.rc1.1
- SELinux userspace 3.0-rc1 release candidate
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Mar 19 2019 Petr Lautrbach <plautrba@redhat.com> - 2.9-1
- SELinux userspace 2.9 release
* Sun Dec 16 2018 Petr Lautrbach <plautrba@redhat.com> - 2.8-2
- Fix RESOURCE_LEAK and USE_AFTER_FREE coverity scan defects
* Mon Mar 11 2019 Petr Lautrbach <plautrba@redhat.com> - 2.9-0.rc2.1
- SELinux userspace 2.9-rc2 release
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.9-0.rc1.1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 30 2019 Petr Lautrbach <plautrba@redhat.com> - 2.9-0.rc1.1
- Update to mcstrans-2.9-rc1
* Tue Oct 2 2018 Petr Lautrbach <plautrba@redhat.com> - 2.8-1
- Update to mcstrans-2.8
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

12
mcstransd.service Normal file
View File

@ -0,0 +1,12 @@
[Unit]
Description= Daemon used to translate SELinux MCS/MLS labels to human readable form
After=syslog.target
ConditionPathExists=/etc/selinux/mls/setrans.d
[Service]
Type=forking
PIDFile=/run/mcstransd.pid
ExecStart=/usr/sbin/mcstransd
[Install]
WantedBy=multi-user.target

7
plans/selinux.fmf Normal file
View File

@ -0,0 +1,7 @@
summary: selinux tests - Tier 1 | mcstrans
discover:
how: fmf
url: https://src.fedoraproject.org/tests/selinux
filter: "component:mcstrans"
execute:
how: tmt

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (mcstrans-3.6.tar.gz) = 2c01a70741675faa41e8a9243f3cf08b558e568d7ae343874ff9c269473ba2748d42e0b45871d82d6c9b01bf71547835d547683f1aa5a8cf626708c7c69569fc