Compare commits
No commits in common. "main-riscv64" and "master" have entirely different histories.
main-riscv
...
master
|
@ -146,13 +146,3 @@ libsemanage-2.0.45.tgz
|
||||||
/libsemanage-3.0-rc1.tar.gz
|
/libsemanage-3.0-rc1.tar.gz
|
||||||
/libsemanage-3.0.tar.gz
|
/libsemanage-3.0.tar.gz
|
||||||
/libsemanage-3.1.tar.gz
|
/libsemanage-3.1.tar.gz
|
||||||
/libsemanage-3.2-rc1.tar.gz
|
|
||||||
/libsemanage-3.2-rc2.tar.gz
|
|
||||||
/libsemanage-3.2.tar.gz
|
|
||||||
/libsemanage-3.3-rc2.tar.gz
|
|
||||||
/libsemanage-3.3-rc3.tar.gz
|
|
||||||
/libsemanage-3.3.tar.gz
|
|
||||||
/libsemanage-3.4-rc1.tar.gz
|
|
||||||
/libsemanage-3.4-rc2.tar.gz
|
|
||||||
/libsemanage-3.4-rc3.tar.gz
|
|
||||||
/libsemanage-3.4.tar.gz
|
|
||||||
|
|
|
@ -0,0 +1,233 @@
|
||||||
|
From b46406de8a93abe10e685c422597516517c0bff3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
Date: Fri, 9 Oct 2020 15:00:50 +0200
|
||||||
|
Subject: [PATCH] libsemanage: Remove legacy and duplicate symbols
|
||||||
|
|
||||||
|
Versioned duplicate symbols cause problems for LTO. These symbols were
|
||||||
|
introduced during the CIL integration several releases ago and were only
|
||||||
|
consumed by other SELinux userspace components.
|
||||||
|
|
||||||
|
Related: https://github.com/SELinuxProject/selinux/issues/245
|
||||||
|
|
||||||
|
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
---
|
||||||
|
libsemanage/include/semanage/modules.h | 2 +-
|
||||||
|
libsemanage/src/libsemanage.map | 5 --
|
||||||
|
libsemanage/src/modules.c | 100 +------------------------
|
||||||
|
libsemanage/src/modules.h | 9 +--
|
||||||
|
libsemanage/src/semanageswig_python.i | 2 -
|
||||||
|
5 files changed, 4 insertions(+), 114 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libsemanage/include/semanage/modules.h b/libsemanage/include/semanage/modules.h
|
||||||
|
index ac4039314857..b51f61f033d5 100644
|
||||||
|
--- a/libsemanage/include/semanage/modules.h
|
||||||
|
+++ b/libsemanage/include/semanage/modules.h
|
||||||
|
@@ -33,7 +33,7 @@ typedef struct semanage_module_key semanage_module_key_t;
|
||||||
|
*/
|
||||||
|
|
||||||
|
extern int semanage_module_install(semanage_handle_t *,
|
||||||
|
- char *module_data, size_t data_len, char *name, char *ext_lang);
|
||||||
|
+ char *module_data, size_t data_len, const char *name, const char *ext_lang);
|
||||||
|
extern int semanage_module_install_file(semanage_handle_t *,
|
||||||
|
const char *module_name);
|
||||||
|
extern int semanage_module_remove(semanage_handle_t *, char *module_name);
|
||||||
|
diff --git a/libsemanage/src/libsemanage.map b/libsemanage/src/libsemanage.map
|
||||||
|
index 1375a8ca0ea7..4bec06aaae27 100644
|
||||||
|
--- a/libsemanage/src/libsemanage.map
|
||||||
|
+++ b/libsemanage/src/libsemanage.map
|
||||||
|
@@ -167,18 +167,13 @@ LIBSEMANAGE_1.0 {
|
||||||
|
semanage_mls_enabled;
|
||||||
|
semanage_module_disable;
|
||||||
|
semanage_module_enable;
|
||||||
|
- semanage_module_get_enabled;
|
||||||
|
semanage_module_get_name;
|
||||||
|
semanage_module_get_version;
|
||||||
|
semanage_module_info_datum_destroy;
|
||||||
|
- semanage_module_install;
|
||||||
|
- semanage_module_install_base;
|
||||||
|
- semanage_module_install_base_file;
|
||||||
|
semanage_module_install_file;
|
||||||
|
semanage_module_list;
|
||||||
|
semanage_module_list_nth;
|
||||||
|
semanage_module_remove;
|
||||||
|
- semanage_module_upgrade;
|
||||||
|
semanage_module_upgrade_file;
|
||||||
|
semanage_msg_get_channel;
|
||||||
|
semanage_msg_get_fname;
|
||||||
|
diff --git a/libsemanage/src/modules.c b/libsemanage/src/modules.c
|
||||||
|
index 6d3eb60ae462..8b36801038df 100644
|
||||||
|
--- a/libsemanage/src/modules.c
|
||||||
|
+++ b/libsemanage/src/modules.c
|
||||||
|
@@ -42,70 +42,7 @@
|
||||||
|
#include "modules.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
-asm(".symver semanage_module_get_enabled_1_1,semanage_module_get_enabled@@LIBSEMANAGE_1.1");
|
||||||
|
-asm(".symver semanage_module_get_enabled_1_0,semanage_module_get_enabled@LIBSEMANAGE_1.0");
|
||||||
|
-asm(".symver semanage_module_install_pp,semanage_module_install@LIBSEMANAGE_1.0");
|
||||||
|
-asm(".symver semanage_module_install_hll,semanage_module_install@@LIBSEMANAGE_1.1");
|
||||||
|
-
|
||||||
|
-/* Takes a module stored in 'module_data' and parses its headers.
|
||||||
|
- * Sets reference variables 'module_name' to module's name and
|
||||||
|
- * 'version' to module's version. The caller is responsible for
|
||||||
|
- * free()ing 'module_name' and 'version'; they will be
|
||||||
|
- * set to NULL upon entering this function. Returns 0 on success, -1
|
||||||
|
- * if out of memory, or -2 if data did not represent a module.
|
||||||
|
- */
|
||||||
|
-static int parse_module_headers(semanage_handle_t * sh, char *module_data,
|
||||||
|
- size_t data_len, char **module_name, char **version)
|
||||||
|
-{
|
||||||
|
- struct sepol_policy_file *pf;
|
||||||
|
- int file_type;
|
||||||
|
- *version = NULL;
|
||||||
|
-
|
||||||
|
- if (sepol_policy_file_create(&pf)) {
|
||||||
|
- ERR(sh, "Out of memory!");
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- sepol_policy_file_set_mem(pf, module_data, data_len);
|
||||||
|
- sepol_policy_file_set_handle(pf, sh->sepolh);
|
||||||
|
- if (module_data == NULL ||
|
||||||
|
- data_len == 0 ||
|
||||||
|
- sepol_module_package_info(pf, &file_type, module_name, version) == -1) {
|
||||||
|
- sepol_policy_file_free(pf);
|
||||||
|
- ERR(sh, "Could not parse module data.");
|
||||||
|
- return -2;
|
||||||
|
- }
|
||||||
|
- sepol_policy_file_free(pf);
|
||||||
|
- if (file_type != SEPOL_POLICY_MOD) {
|
||||||
|
- ERR(sh, "Data did not represent a pp module. Please upgrade to the latest version of libsemanage to support hll modules.");
|
||||||
|
- return -2;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return 0;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/* This function is used to preserve ABI compatibility with
|
||||||
|
- * versions of semodule using LIBSEMANAGE_1.0
|
||||||
|
- */
|
||||||
|
-int semanage_module_install_pp(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len)
|
||||||
|
-{
|
||||||
|
- char *name = NULL;
|
||||||
|
- char *version = NULL;
|
||||||
|
- int status;
|
||||||
|
-
|
||||||
|
- if ((status = parse_module_headers(sh, module_data, data_len, &name, &version)) != 0) {
|
||||||
|
- goto cleanup;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- status = semanage_module_install_hll(sh, module_data, data_len, name, "pp");
|
||||||
|
-
|
||||||
|
-cleanup:
|
||||||
|
- free(name);
|
||||||
|
- free(version);
|
||||||
|
- return status;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-int semanage_module_install_hll(semanage_handle_t * sh,
|
||||||
|
+int semanage_module_install(semanage_handle_t * sh,
|
||||||
|
char *module_data, size_t data_len, const char *name, const char *ext_lang)
|
||||||
|
{
|
||||||
|
if (sh->funcs->install == NULL) {
|
||||||
|
@@ -160,16 +97,6 @@ int semanage_module_extract(semanage_handle_t * sh,
|
||||||
|
return sh->funcs->extract(sh, modkey, extract_cil, mapped_data, data_len, modinfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* Legacy function that remains to preserve ABI
|
||||||
|
- * compatibility. Please use semanage_module_install instead.
|
||||||
|
- */
|
||||||
|
-int semanage_module_upgrade(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len)
|
||||||
|
-{
|
||||||
|
- return semanage_module_install_pp(sh, module_data, data_len);
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/* Legacy function that remains to preserve ABI
|
||||||
|
* compatibility. Please use semanage_module_install_file instead.
|
||||||
|
*/
|
||||||
|
@@ -179,24 +106,6 @@ int semanage_module_upgrade_file(semanage_handle_t * sh,
|
||||||
|
return semanage_module_install_file(sh, module_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* Legacy function that remains to preserve ABI
|
||||||
|
- * compatibility. Please use semanage_module_install instead.
|
||||||
|
- */
|
||||||
|
-int semanage_module_install_base(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len)
|
||||||
|
-{
|
||||||
|
- return semanage_module_install_pp(sh, module_data, data_len);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/* Legacy function that remains to preserve ABI
|
||||||
|
- * compatibility. Please use semanage_module_install_file instead.
|
||||||
|
- */
|
||||||
|
-int semanage_module_install_base_file(semanage_handle_t * sh,
|
||||||
|
- const char *module_name)
|
||||||
|
-{
|
||||||
|
- return semanage_module_install_file(sh, module_name);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
int semanage_module_remove(semanage_handle_t * sh, char *module_name)
|
||||||
|
{
|
||||||
|
if (sh->funcs->remove == NULL) {
|
||||||
|
@@ -780,7 +689,7 @@ int semanage_module_key_set_priority(semanage_handle_t *sh,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-int semanage_module_get_enabled_1_1(semanage_handle_t *sh,
|
||||||
|
+int semanage_module_get_enabled(semanage_handle_t *sh,
|
||||||
|
const semanage_module_key_t *modkey,
|
||||||
|
int *enabled)
|
||||||
|
{
|
||||||
|
@@ -800,11 +709,6 @@ int semanage_module_get_enabled_1_1(semanage_handle_t *sh,
|
||||||
|
return sh->funcs->get_enabled(sh, modkey, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
-int semanage_module_get_enabled_1_0(semanage_module_info_t *modinfo)
|
||||||
|
-{
|
||||||
|
- return modinfo->enabled;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
int semanage_module_set_enabled(semanage_handle_t *sh,
|
||||||
|
const semanage_module_key_t *modkey,
|
||||||
|
int enabled)
|
||||||
|
diff --git a/libsemanage/src/modules.h b/libsemanage/src/modules.h
|
||||||
|
index 2d3576fb15df..64d4a157f5ca 100644
|
||||||
|
--- a/libsemanage/src/modules.h
|
||||||
|
+++ b/libsemanage/src/modules.h
|
||||||
|
@@ -26,16 +26,9 @@
|
||||||
|
|
||||||
|
#include "semanage/modules.h"
|
||||||
|
|
||||||
|
-int semanage_module_install_pp(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len);
|
||||||
|
-int semanage_module_install_hll(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len, const char *name, const char *ext_lang);
|
||||||
|
-int semanage_module_upgrade(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len);
|
||||||
|
+
|
||||||
|
int semanage_module_upgrade_file(semanage_handle_t * sh,
|
||||||
|
const char *module_name);
|
||||||
|
-int semanage_module_install_base(semanage_handle_t * sh,
|
||||||
|
- char *module_data, size_t data_len);
|
||||||
|
int semanage_module_install_base_file(semanage_handle_t * sh,
|
||||||
|
const char *module_name);
|
||||||
|
|
||||||
|
diff --git a/libsemanage/src/semanageswig_python.i b/libsemanage/src/semanageswig_python.i
|
||||||
|
index 8dd79fc24213..5f0113966962 100644
|
||||||
|
--- a/libsemanage/src/semanageswig_python.i
|
||||||
|
+++ b/libsemanage/src/semanageswig_python.i
|
||||||
|
@@ -30,8 +30,6 @@
|
||||||
|
%}
|
||||||
|
|
||||||
|
%include "stdint.i"
|
||||||
|
-%ignore semanage_module_install_pp;
|
||||||
|
-%ignore semanage_module_install_hll;
|
||||||
|
|
||||||
|
%wrapper %{
|
||||||
|
|
||||||
|
--
|
||||||
|
2.29.0
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
From 19bfd1fb713df01e470ed295a3a8c7afd64ce981 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ondrej Mosnacek <omosnace@redhat.com>
|
|
||||||
Date: Wed, 8 Jun 2022 19:09:53 +0200
|
|
||||||
Subject: [PATCH] libsemanage: always write kernel policy when
|
|
||||||
check_ext_changes is specified
|
|
||||||
Content-type: text/plain
|
|
||||||
|
|
||||||
For the use case of rebuilding the policy after package updates, we need
|
|
||||||
the check_ext_changes operation to always do at least the do_write_kernel
|
|
||||||
step, because the various semanage dbs may have also changed content
|
|
||||||
relative to the current binary policy. As this step is itself relatively
|
|
||||||
fast, we can do it unconditionally.
|
|
||||||
|
|
||||||
Fixes: 286a679fadc4 ("libsemanage: optionally rebuild policy when modules are changed externally")
|
|
||||||
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
|
|
||||||
Acked-by: Nicolas Iooss <nicolas.iooss@m4x.org>
|
|
||||||
---
|
|
||||||
libsemanage/include/semanage/handle.h | 2 +-
|
|
||||||
libsemanage/src/direct_api.c | 8 +++++---
|
|
||||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libsemanage/include/semanage/handle.h b/libsemanage/include/semanage/handle.h
|
|
||||||
index 0157be4fbc46..4cf30815d803 100644
|
|
||||||
--- a/libsemanage/include/semanage/handle.h
|
|
||||||
+++ b/libsemanage/include/semanage/handle.h
|
|
||||||
@@ -67,7 +67,7 @@ extern void semanage_set_reload(semanage_handle_t * handle, int do_reload);
|
|
||||||
extern void semanage_set_rebuild(semanage_handle_t * handle, int do_rebuild);
|
|
||||||
|
|
||||||
/* set whether to rebuild the policy on commit when potential changes
|
|
||||||
- * to module files since last rebuild are detected,
|
|
||||||
+ * to store files since last rebuild are detected,
|
|
||||||
* 1 for yes (default), 0 for no */
|
|
||||||
extern void semanage_set_check_ext_changes(semanage_handle_t * handle, int do_check);
|
|
||||||
|
|
||||||
diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
|
|
||||||
index 7206483a3ebb..7aa081abb3b7 100644
|
|
||||||
--- a/libsemanage/src/direct_api.c
|
|
||||||
+++ b/libsemanage/src/direct_api.c
|
|
||||||
@@ -1437,13 +1437,15 @@ static int semanage_direct_commit(semanage_handle_t * sh)
|
|
||||||
* Determine what else needs to be done.
|
|
||||||
* We need to write the kernel policy if we are rebuilding
|
|
||||||
* or if any other policy component that lives in the kernel
|
|
||||||
- * policy has been modified.
|
|
||||||
+ * policy has been modified. We also want to force it when
|
|
||||||
+ * check_ext_changes was specified as the various dbases may have
|
|
||||||
+ * changes as well.
|
|
||||||
* We need to install the policy files if any of the managed files
|
|
||||||
* that live under /etc/selinux (kernel policy, seusers, file contexts)
|
|
||||||
* will be modified.
|
|
||||||
*/
|
|
||||||
- do_write_kernel = do_rebuild | ports_modified | ibpkeys_modified |
|
|
||||||
- ibendports_modified |
|
|
||||||
+ do_write_kernel = do_rebuild | sh->check_ext_changes |
|
|
||||||
+ ports_modified | ibpkeys_modified | ibendports_modified |
|
|
||||||
bools->dtable->is_modified(bools->dbase) |
|
|
||||||
ifaces->dtable->is_modified(ifaces->dbase) |
|
|
||||||
nodes->dtable->is_modified(nodes->dbase) |
|
|
||||||
--
|
|
||||||
2.36.1
|
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
From c08b73d7183e2dbab0ba43c3df32f4214abbc9c6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
Date: Fri, 9 Oct 2020 15:00:51 +0200
|
||||||
|
Subject: [PATCH] libsemanage: Drop deprecated functions
|
||||||
|
|
||||||
|
semanage_module_enable() and semanage_module_disable() were deprecated
|
||||||
|
by commit 9fbc6d14418f ("libsemanage: add back original module
|
||||||
|
enable/disable functions for ABI compatability") in 2014 in order to
|
||||||
|
preserve ABI compatibility. As we the libsemanage ABI is changed by the
|
||||||
|
previous commit, it makes sense to drop them completely.
|
||||||
|
|
||||||
|
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
---
|
||||||
|
libsemanage/src/libsemanage.map | 2 --
|
||||||
|
libsemanage/src/modules.c | 56 ---------------------------------
|
||||||
|
2 files changed, 58 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libsemanage/src/libsemanage.map b/libsemanage/src/libsemanage.map
|
||||||
|
index 4bec06aaae27..3ea7b60f97bb 100644
|
||||||
|
--- a/libsemanage/src/libsemanage.map
|
||||||
|
+++ b/libsemanage/src/libsemanage.map
|
||||||
|
@@ -165,8 +165,6 @@ LIBSEMANAGE_1.0 {
|
||||||
|
semanage_is_connected;
|
||||||
|
semanage_is_managed;
|
||||||
|
semanage_mls_enabled;
|
||||||
|
- semanage_module_disable;
|
||||||
|
- semanage_module_enable;
|
||||||
|
semanage_module_get_name;
|
||||||
|
semanage_module_get_version;
|
||||||
|
semanage_module_info_datum_destroy;
|
||||||
|
diff --git a/libsemanage/src/modules.c b/libsemanage/src/modules.c
|
||||||
|
index 8b36801038df..b6dd456cac32 100644
|
||||||
|
--- a/libsemanage/src/modules.c
|
||||||
|
+++ b/libsemanage/src/modules.c
|
||||||
|
@@ -734,62 +734,6 @@ int semanage_module_set_enabled(semanage_handle_t *sh,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-/* This function exists only for ABI compatibility. It has been deprecated and
|
||||||
|
- * should not be used. Instead, use semanage_module_set_enabled() */
|
||||||
|
-int semanage_module_enable(semanage_handle_t *sh, char *module_name)
|
||||||
|
-{
|
||||||
|
- int rc = -1;
|
||||||
|
- semanage_module_key_t *modkey = NULL;
|
||||||
|
-
|
||||||
|
- rc = semanage_module_key_create(sh, &modkey);
|
||||||
|
- if (rc != 0)
|
||||||
|
- goto exit;
|
||||||
|
-
|
||||||
|
- rc = semanage_module_key_set_name(sh, modkey, module_name);
|
||||||
|
- if (rc != 0)
|
||||||
|
- goto exit;
|
||||||
|
-
|
||||||
|
- rc = semanage_module_set_enabled(sh, modkey, 1);
|
||||||
|
- if (rc != 0)
|
||||||
|
- goto exit;
|
||||||
|
-
|
||||||
|
- rc = 0;
|
||||||
|
-
|
||||||
|
-exit:
|
||||||
|
- semanage_module_key_destroy(sh, modkey);
|
||||||
|
- free(modkey);
|
||||||
|
-
|
||||||
|
- return rc;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/* This function exists only for ABI compatibility. It has been deprecated and
|
||||||
|
- * should not be used. Instead, use semanage_module_set_enabled() */
|
||||||
|
-int semanage_module_disable(semanage_handle_t *sh, char *module_name)
|
||||||
|
-{
|
||||||
|
- int rc = -1;
|
||||||
|
- semanage_module_key_t *modkey = NULL;
|
||||||
|
-
|
||||||
|
- rc = semanage_module_key_create(sh, &modkey);
|
||||||
|
- if (rc != 0)
|
||||||
|
- goto exit;
|
||||||
|
-
|
||||||
|
- rc = semanage_module_key_set_name(sh, modkey, module_name);
|
||||||
|
- if (rc != 0)
|
||||||
|
- goto exit;
|
||||||
|
-
|
||||||
|
- rc = semanage_module_set_enabled(sh, modkey, 0);
|
||||||
|
- if (rc != 0)
|
||||||
|
- goto exit;
|
||||||
|
-
|
||||||
|
- rc = 0;
|
||||||
|
-
|
||||||
|
-exit:
|
||||||
|
- semanage_module_key_destroy(sh, modkey);
|
||||||
|
- free(modkey);
|
||||||
|
-
|
||||||
|
- return rc;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/* Converts a string to a priority
|
||||||
|
*
|
||||||
|
* returns -1 if str is not a valid priority.
|
||||||
|
--
|
||||||
|
2.29.0
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
From 6ebb35d261eaa8701b53b9f68184b05de8dfd868 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
Date: Fri, 9 Oct 2020 15:00:52 +0200
|
||||||
|
Subject: [PATCH] libsemanage: Bump libsemanage.so version
|
||||||
|
|
||||||
|
Previous commits removed some symbols and broke ABI, therefore we need to change
|
||||||
|
SONAME.
|
||||||
|
|
||||||
|
See the following quotes from distribution guidelines:
|
||||||
|
|
||||||
|
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#run-time-shared-libraries
|
||||||
|
|
||||||
|
Every time the shared library ABI changes in a way that may break
|
||||||
|
binaries linked against older versions of the shared library, the SONAME
|
||||||
|
of the library and the corresponding name for the binary package
|
||||||
|
containing the runtime shared library should change.
|
||||||
|
|
||||||
|
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
|
||||||
|
|
||||||
|
When new versions of the library are released, you should use an ABI
|
||||||
|
comparison tool to check for ABI differences in the built shared
|
||||||
|
libraries. If it detects any incompatibilities, bump the n number by
|
||||||
|
one.
|
||||||
|
|
||||||
|
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
---
|
||||||
|
libsemanage/src/Makefile | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libsemanage/src/Makefile b/libsemanage/src/Makefile
|
||||||
|
index a0eb3747d74b..ab6cae51f5c3 100644
|
||||||
|
--- a/libsemanage/src/Makefile
|
||||||
|
+++ b/libsemanage/src/Makefile
|
||||||
|
@@ -32,7 +32,7 @@ YACC = bison
|
||||||
|
YFLAGS = -d
|
||||||
|
|
||||||
|
VERSION = $(shell cat ../VERSION)
|
||||||
|
-LIBVERSION = 1
|
||||||
|
+LIBVERSION = 2
|
||||||
|
|
||||||
|
LIBA=libsemanage.a
|
||||||
|
TARGET=libsemanage.so
|
||||||
|
--
|
||||||
|
2.29.0
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
From fc966a746653cc15a14d1e1a80f01fc2f567ee08 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
Date: Wed, 7 Nov 2018 18:17:34 +0100
|
||||||
|
Subject: [PATCH] libsemanage: Fix RESOURCE_LEAK and USE_AFTER_FREE coverity
|
||||||
|
scan defects
|
||||||
|
|
||||||
|
---
|
||||||
|
libsemanage/src/direct_api.c | 21 ++++++++-------------
|
||||||
|
1 file changed, 8 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
|
||||||
|
index d2b91fb24292..f445cd4d6fb5 100644
|
||||||
|
--- a/libsemanage/src/direct_api.c
|
||||||
|
+++ b/libsemanage/src/direct_api.c
|
||||||
|
@@ -1028,7 +1028,7 @@ static int semanage_direct_write_langext(semanage_handle_t *sh,
|
||||||
|
|
||||||
|
fp = NULL;
|
||||||
|
|
||||||
|
- ret = 0;
|
||||||
|
+ return 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
if (fp != NULL) fclose(fp);
|
||||||
|
@@ -2184,7 +2184,6 @@ cleanup:
|
||||||
|
semanage_module_info_destroy(sh, modinfo);
|
||||||
|
free(modinfo);
|
||||||
|
|
||||||
|
- if (fp != NULL) fclose(fp);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2349,16 +2348,6 @@ static int semanage_direct_get_module_info(semanage_handle_t *sh,
|
||||||
|
free(tmp);
|
||||||
|
tmp = NULL;
|
||||||
|
|
||||||
|
- if (fclose(fp) != 0) {
|
||||||
|
- ERR(sh,
|
||||||
|
- "Unable to close %s module lang ext file.",
|
||||||
|
- (*modinfo)->name);
|
||||||
|
- status = -1;
|
||||||
|
- goto cleanup;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- fp = NULL;
|
||||||
|
-
|
||||||
|
/* lookup enabled/disabled status */
|
||||||
|
ret = semanage_module_get_path(sh,
|
||||||
|
*modinfo,
|
||||||
|
@@ -2402,7 +2391,13 @@ cleanup:
|
||||||
|
free(modinfos);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (fp != NULL) fclose(fp);
|
||||||
|
+ if (fp != NULL && fclose(fp) != 0) {
|
||||||
|
+ ERR(sh,
|
||||||
|
+ "Unable to close %s module lang ext file.",
|
||||||
|
+ (*modinfo)->name);
|
||||||
|
+ status = -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.29.0
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
From 511f8bbf779e10152d5af491e8b6a408b8ad666c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
Date: Fri, 30 Oct 2020 17:42:17 +0100
|
||||||
|
Subject: [PATCH] libsemanage/genhomedircon: check usepasswd
|
||||||
|
|
||||||
|
Only add user homedir contexts when usepasswd = True
|
||||||
|
|
||||||
|
Resolves:
|
||||||
|
# grep usepasswd /etc/selinux/semanage.conf
|
||||||
|
usepasswd=False
|
||||||
|
# useradd -Z unconfined_u -d /tmp test
|
||||||
|
# matchpathcon /tmp
|
||||||
|
/tmp unconfined_u:object_r:user_home_dir_t:s0
|
||||||
|
|
||||||
|
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
---
|
||||||
|
libsemanage/src/genhomedircon.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libsemanage/src/genhomedircon.c b/libsemanage/src/genhomedircon.c
|
||||||
|
index d08c88de99a7..18d3d99a1254 100644
|
||||||
|
--- a/libsemanage/src/genhomedircon.c
|
||||||
|
+++ b/libsemanage/src/genhomedircon.c
|
||||||
|
@@ -1332,7 +1332,7 @@ static int write_context_file(genhomedircon_settings_t * s, FILE * out)
|
||||||
|
s->fallback->home = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- if (user_context_tpl || username_context_tpl) {
|
||||||
|
+ if ((s->usepasswd) && (user_context_tpl || username_context_tpl)) {
|
||||||
|
if (write_username_context(s, out, username_context_tpl,
|
||||||
|
s->fallback) != STATUS_SUCCESS) {
|
||||||
|
retval = STATUS_ERR;
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
%define libsepolver 3.4-1
|
%define libsepolver 3.1-5
|
||||||
%define libselinuxver 3.4-1
|
%define libselinuxver 3.1-5
|
||||||
|
|
||||||
%ifarch riscv64
|
|
||||||
%global debug_package %{nil}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Summary: SELinux binary policy manipulation library
|
Summary: SELinux binary policy manipulation library
|
||||||
Name: libsemanage
|
Name: libsemanage
|
||||||
Version: 3.4
|
Version: 3.1
|
||||||
Release: 5.0.riscv64%{?dist}
|
Release: 5%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Source0: https://github.com/SELinuxProject/selinux/releases/download/3.4/libsemanage-3.4.tar.gz
|
Source0: https://github.com/SELinuxProject/selinux/releases/download/20200710/libsemanage-3.1.tar.gz
|
||||||
# fedora-selinux/selinux: git format-patch -N 3.4 -- libsemanage
|
# fedora-selinux/selinux: git format-patch -N libsemanage-3.1 -- libsemanage
|
||||||
# i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
|
# i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
|
||||||
# Patch list start
|
# Patch list start
|
||||||
Patch0001: 0001-libsemanage-always-write-kernel-policy-when-check_ex.patch
|
Patch0001: 0001-libsemanage-Remove-legacy-and-duplicate-symbols.patch
|
||||||
|
Patch0002: 0002-libsemanage-Drop-deprecated-functions.patch
|
||||||
|
Patch0003: 0003-libsemanage-Bump-libsemanage.so-version.patch
|
||||||
|
Patch0004: 0004-libsemanage-Fix-RESOURCE_LEAK-and-USE_AFTER_FREE-cov.patch
|
||||||
|
Patch0005: 0005-libsemanage-genhomedircon-check-usepasswd.patch
|
||||||
# Patch list end
|
# Patch list end
|
||||||
URL: https://github.com/SELinuxProject/selinux/wiki
|
URL: https://github.com/SELinuxProject/selinux/wiki
|
||||||
Source1: semanage.conf
|
Source1: semanage.conf
|
||||||
|
@ -126,9 +126,10 @@ InstallPythonWrapper \
|
||||||
%{__python3} \
|
%{__python3} \
|
||||||
$(python3-config --extension-suffix)
|
$(python3-config --extension-suffix)
|
||||||
|
|
||||||
cp %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/selinux/semanage.conf
|
cp %{SOURCE1} ${RPM_BUILD_ROOT}/etc/selinux/semanage.conf
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
%{!?_licensedir:%global license %%doc}
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%dir %{_sysconfdir}/selinux
|
%dir %{_sysconfdir}/selinux
|
||||||
%config(noreplace) %{_sysconfdir}/selinux/semanage.conf
|
%config(noreplace) %{_sysconfdir}/selinux/semanage.conf
|
||||||
|
@ -158,75 +159,6 @@ cp %{SOURCE1} ${RPM_BUILD_ROOT}%{_sysconfdir}/selinux/semanage.conf
|
||||||
%{_libexecdir}/selinux/semanage_migrate_store
|
%{_libexecdir}/selinux/semanage_migrate_store
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Aug 08 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.4-5.0.riscv64
|
|
||||||
- Disable debug packages for riscv64
|
|
||||||
|
|
||||||
* Mon Jul 25 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-5
|
|
||||||
- Always write kernel policy when check_ext_changes is specified (#2104935)
|
|
||||||
|
|
||||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.4-3
|
|
||||||
- Rebuilt for Python 3.11
|
|
||||||
|
|
||||||
* Wed May 25 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-2
|
|
||||||
- rebuilt
|
|
||||||
|
|
||||||
* Thu May 19 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-1
|
|
||||||
- SELinux userspace 3.4 release
|
|
||||||
|
|
||||||
* Tue May 10 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-0.rc3.1
|
|
||||||
- SELinux userspace 3.4-rc3 release
|
|
||||||
|
|
||||||
* Thu Apr 21 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-0.rc2.1
|
|
||||||
- SELinux userspace 3.4-rc2 release
|
|
||||||
|
|
||||||
* Wed Apr 13 2022 Petr Lautrbach <plautrba@redhat.com> - 3.4-0.rc1.1
|
|
||||||
- SELinux userspace 3.4-rc1 release
|
|
||||||
|
|
||||||
* Tue Feb 15 2022 Petr Lautrbach <plautrba@redhat.com> - 3.3-3
|
|
||||||
- optionally rebuild policy when modules are changed externally
|
|
||||||
|
|
||||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Oct 22 2021 Petr Lautrbach <plautrba@redhat.com> - 3.3-1
|
|
||||||
- SELinux userspace 3.3 release
|
|
||||||
|
|
||||||
* Sun Oct 10 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
|
|
||||||
|
|
||||||
* Wed Jul 28 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-4
|
|
||||||
- Rebase on upstream commit 32611aea6543
|
|
||||||
|
|
||||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.2-2
|
|
||||||
- Rebuilt for Python 3.10
|
|
||||||
|
|
||||||
* Mon Mar 8 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-1
|
|
||||||
- SELinux userspace 3.2 release
|
|
||||||
|
|
||||||
* Fri Feb 5 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
|
|
||||||
|
|
||||||
* Wed Jan 20 2021 Petr Lautrbach <plautrba@redhat.com> - 3.2-0.rc1.1
|
|
||||||
- SELinux userspace 3.2-rc1 release
|
|
||||||
|
|
||||||
* Fri Dec 18 2020 Petr Lautrbach <plautrba@redhat.com> - 3.1-6
|
|
||||||
- Drop "genhomedircon: check usepasswd" patch
|
|
||||||
- genhomedircon to ignore
|
|
||||||
/root;/bin;/boot;/dev;/etc;/lib;/lib64;/proc;/run;/sbin;/sys;/tmp;/usr;/var by default
|
|
||||||
- Fix usepasswd=False explanation in semanage.conf
|
|
||||||
|
|
||||||
* Fri Nov 20 2020 Petr Lautrbach <plautrba@redhat.com> - 3.1-5
|
* Fri Nov 20 2020 Petr Lautrbach <plautrba@redhat.com> - 3.1-5
|
||||||
- Drop and obsolete libsemanage-compat
|
- Drop and obsolete libsemanage-compat
|
||||||
- genhomedircon: check usepasswd
|
- genhomedircon: check usepasswd
|
||||||
|
|
|
@ -42,16 +42,14 @@ module-store = direct
|
||||||
expand-check=0
|
expand-check=0
|
||||||
|
|
||||||
# usepasswd check tells semanage to scan all pass word records for home directories
|
# usepasswd check tells semanage to scan all pass word records for home directories
|
||||||
# and setup the labeling correctly. If this is turned off, SELinux will label only /home
|
# and setup the labeling correctly. If this is turned off, SELinux will label /home
|
||||||
# and home directories of users with SELinux login mappings defined, see
|
# correctly only. You will need to use semanage fcontext command.
|
||||||
# semanage login -l for the list of such users.
|
|
||||||
# If you want to use a different home directory, you will need to use semanage fcontext command.
|
|
||||||
# For example, if you had home dirs in /althome directory you would have to execute
|
# For example, if you had home dirs in /althome directory you would have to execute
|
||||||
# semanage fcontext -a -e /home /althome
|
# semanage fcontext -a -e /home /althome
|
||||||
usepasswd=False
|
usepasswd=False
|
||||||
bzip-small=true
|
bzip-small=true
|
||||||
bzip-blocksize=5
|
bzip-blocksize=5
|
||||||
ignoredirs=/root;/bin;/boot;/dev;/etc;/lib;/lib64;/proc;/run;/sbin;/sys;/tmp;/usr;/var
|
ignoredirs=/root
|
||||||
optimize-policy=true
|
optimize-policy=true
|
||||||
|
|
||||||
[sefcontext_compile]
|
[sefcontext_compile]
|
||||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
||||||
SHA512 (libsemanage-3.4.tar.gz) = 831dc789545bb9a0b009bdb4f7fe52f6197ad8325946640f886a960d08e40b8a69eccd5a70cce51466bb5cb7f742feb78d19a9ec63383fbd03aa451508677e73
|
SHA512 (libsemanage-3.1.tar.gz) = 8609ca7d13b5c603677740f2b14558fea3922624af182d20d618237ba11fcf2559fab82fc68d1efa6ff118f064d426f005138521652c761de92cd66150102197
|
||||||
|
|
Loading…
Reference in New Issue