diff --git a/.gitignore b/.gitignore index 6938afc..cceb1b0 100644 --- a/.gitignore +++ b/.gitignore @@ -165,3 +165,5 @@ libsemanage-2.0.45.tgz /libsemanage-3.6.tar.gz /libsemanage-3.7.tar.gz /libsemanage-3.7.tar.gz.asc +/libsemanage-3.8-rc1.tar.gz +/libsemanage-3.8-rc1.tar.gz.asc diff --git a/0001-libsemanage-Preserve-file-context-and-ownership-in-p.patch b/0001-libsemanage-Preserve-file-context-and-ownership-in-p.patch deleted file mode 100644 index b37d69a..0000000 --- a/0001-libsemanage-Preserve-file-context-and-ownership-in-p.patch +++ /dev/null @@ -1,146 +0,0 @@ -From d7266af9c565a035f2340dbdd53166c42717a5c8 Mon Sep 17 00:00:00 2001 -From: Vit Mojzis -Date: Mon, 29 Jul 2024 13:26:45 +0200 -Subject: [PATCH] libsemanage: Preserve file context and ownership in policy - store - -Make sure that file context (all parts) and ownership of -files/directories in policy store does not change no matter which user -and under which context executes policy rebuild. - -Fixes: - # semodule -B - # ls -lZ /etc/selinux/targeted/contexts/files - --rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 421397 Jul 11 09:57 file_contexts --rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 593470 Jul 11 09:57 file_contexts.bin --rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 14704 Jul 11 09:57 file_contexts.homedirs --rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 20289 Jul 11 09:57 file_contexts.homedirs.bin - - SELinux user changed from system_u to the user used to execute semodule - - # capsh --user=testuser --caps="cap_dac_override,cap_chown+eip" --addamb=cap_dac_override,cap_chown -- -c "semodule -B" - # ls -lZ /etc/selinux/targeted/contexts/files - --rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 421397 Jul 19 09:10 file_contexts --rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 593470 Jul 19 09:10 file_contexts.bin --rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 14704 Jul 19 09:10 file_contexts.homedirs --rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 20289 Jul 19 09:10 file_contexts.homedirs.bin - - Both file context and ownership changed -- causes remote login - failures and other issues in some scenarios. - -Signed-off-by: Vit Mojzis -Acked-by: Stephen Smalley ---- - libsemanage/src/semanage_store.c | 32 ++++++++++++++++++++++++++++++++ - libsemanage/src/semanage_store.h | 1 + - 2 files changed, 33 insertions(+) - -diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_store.c -index 27c5d349..0ac2e5b2 100644 ---- a/libsemanage/src/semanage_store.c -+++ b/libsemanage/src/semanage_store.c -@@ -36,6 +36,7 @@ typedef struct dbase_policydb dbase_t; - #include "database_policydb.h" - #include "handle.h" - -+#include - #include - #include - #include -@@ -767,6 +768,7 @@ int semanage_copy_file(const char *src, const char *dst, mode_t mode, - if (!retval && rename(tmp, dst) == -1) - return -1; - -+ semanage_setfiles(dst); - out: - errno = errsv; - return retval; -@@ -819,6 +821,8 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag) - goto cleanup; - } - umask(mask); -+ -+ semanage_setfiles(dst); - } - - for (i = 0; i < len; i++) { -@@ -837,6 +841,7 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag) - goto cleanup; - } - umask(mask); -+ semanage_setfiles(path2); - } else if (S_ISREG(sb.st_mode) && flag == 1) { - mask = umask(0077); - if (semanage_copy_file(path, path2, sb.st_mode, -@@ -938,6 +943,7 @@ int semanage_mkdir(semanage_handle_t *sh, const char *path) - - } - umask(mask); -+ semanage_setfiles(path); - } - else { - /* check that it really is a directory */ -@@ -1614,16 +1620,19 @@ static int semanage_validate_and_compile_fcontexts(semanage_handle_t * sh) - semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC)) != 0) { - goto cleanup; - } -+ semanage_setfiles(semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_BIN)); - - if (sefcontext_compile(sh, - semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_LOCAL)) != 0) { - goto cleanup; - } -+ semanage_setfiles(semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_LOCAL_BIN)); - - if (sefcontext_compile(sh, - semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_HOMEDIRS)) != 0) { - goto cleanup; - } -+ semanage_setfiles(semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_HOMEDIRS_BIN)); - - status = 0; - cleanup: -@@ -3018,3 +3027,26 @@ int semanage_nc_sort(semanage_handle_t * sh, const char *buf, size_t buf_len, - - return 0; - } -+ -+/* Make sure the file context and ownership of files in the policy -+ * store does not change */ -+void semanage_setfiles(const char *path){ -+ struct stat sb; -+ int fd; -+ /* Fix the user and role portions of the context, ignore errors -+ * since this is not a critical operation */ -+ selinux_restorecon(path, SELINUX_RESTORECON_SET_SPECFILE_CTX | SELINUX_RESTORECON_IGNORE_NOENTRY); -+ -+ /* Make sure "path" is owned by root */ -+ if ((geteuid() != 0 || getegid() != 0) && -+ ((fd = open(path, O_RDONLY)) != -1)){ -+ /* Skip files with the SUID or SGID bit set -- abuse protection */ -+ if ((fstat(fd, &sb) != -1) && -+ !(S_ISREG(sb.st_mode) && -+ (sb.st_mode & (S_ISUID | S_ISGID))) && -+ (fchown(fd, 0, 0) == -1)) -+ fprintf(stderr, "Warning! Could not set ownership of %s to root\n", path); -+ -+ close(fd); -+ } -+} -diff --git a/libsemanage/src/semanage_store.h b/libsemanage/src/semanage_store.h -index 1fc77da8..e21dadeb 100644 ---- a/libsemanage/src/semanage_store.h -+++ b/libsemanage/src/semanage_store.h -@@ -124,6 +124,7 @@ int semanage_get_cil_paths(semanage_handle_t * sh, semanage_module_info_t *modin - int semanage_get_active_modules(semanage_handle_t *sh, - semanage_module_info_t **modinfo, int *num_modules); - -+void semanage_setfiles(const char *path); - - /* lock file routines */ - int semanage_get_trans_lock(semanage_handle_t * sh); --- -2.45.2 - diff --git a/0002-libsemanage-fix-swig-bindings-for-4.3.0.patch b/0002-libsemanage-fix-swig-bindings-for-4.3.0.patch deleted file mode 100644 index 6748f0d..0000000 --- a/0002-libsemanage-fix-swig-bindings-for-4.3.0.patch +++ /dev/null @@ -1,417 +0,0 @@ -From 899faa42fb46fc5a94044cdc120e5eef5b37c010 Mon Sep 17 00:00:00 2001 -From: Petr Lautrbach -Date: Wed, 16 Oct 2024 20:18:24 +0200 -Subject: [PATCH] libsemanage: fix swig bindings for 4.3.0 -Content-type: text/plain - -https://github.com/swig/swig/blob/master/CHANGES.current - -"[Python] #2907 Fix returning null from functions with output -parameters. Ensures OUTPUT and INOUT typemaps are handled -consistently wrt return type. - -New declaration of SWIG_Python_AppendOutput is now: - - SWIG_Python_AppendOutput(PyObject* result, PyObject* obj, int is_void); - -The 3rd parameter is new and the new $isvoid special variable -should be passed to it, indicating whether or not the wrapped -function returns void. - -Also consider replacing with: - - SWIG_AppendOutput(PyObject* result, PyObject* obj); - -which calls SWIG_Python_AppendOutput with same parameters but adding $isvoid -for final parameter." - -Fixes: https://github.com/SELinuxProject/selinux/issues/447 - -Suggested-by: Jitka Plesnikova -Signed-off-by: Petr Lautrbach ---- - libsemanage/src/semanageswig_python.i | 64 +++++++++++++-------------- - libsemanage/src/semanageswig_ruby.i | 32 +++++++------- - 2 files changed, 48 insertions(+), 48 deletions(-) - -diff --git a/libsemanage/src/semanageswig_python.i b/libsemanage/src/semanageswig_python.i -index 5f0113966962..0e27424f4dec 100644 ---- a/libsemanage/src/semanageswig_python.i -+++ b/libsemanage/src/semanageswig_python.i -@@ -111,7 +111,7 @@ - } - - %typemap(argout) char** { -- $result = SWIG_Python_AppendOutput($result, SWIG_FromCharPtr(*$1)); -+ $result = SWIG_AppendOutput($result, SWIG_FromCharPtr(*$1)); - free(*$1); - } - -@@ -134,7 +134,7 @@ - NULL, NULL, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -148,7 +148,7 @@ - } - - %typemap(argout) semanage_module_info_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - /** module key typemaps **/ -@@ -160,7 +160,7 @@ - } - - %typemap(argout) semanage_module_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - /** context typemaps **/ -@@ -172,7 +172,7 @@ - } - - %typemap(argout) semanage_context_t** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - /** boolean typemaps **/ -@@ -197,7 +197,7 @@ - (void (*) (void*)) &semanage_bool_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -207,11 +207,11 @@ - } - - %typemap(argout) semanage_bool_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_bool_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) { -@@ -240,7 +240,7 @@ - (void (*) (void*)) &semanage_fcontext_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -250,11 +250,11 @@ - } - - %typemap(argout) semanage_fcontext_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_fcontext_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) { -@@ -284,7 +284,7 @@ - (void (*) (void*)) &semanage_iface_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -294,11 +294,11 @@ - } - - %typemap(argout) semanage_iface_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_iface_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) { -@@ -328,7 +328,7 @@ - (void (*) (void*)) &semanage_seuser_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -338,11 +338,11 @@ - } - - %typemap(argout) semanage_seuser_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_seuser_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) { -@@ -371,7 +371,7 @@ - (void (*) (void*)) &semanage_user_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -381,11 +381,11 @@ - } - - %typemap(argout) semanage_user_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_user_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) { -@@ -414,7 +414,7 @@ - (void (*) (void*)) &semanage_port_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -424,11 +424,11 @@ - } - - %typemap(argout) semanage_port_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_port_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) { -@@ -457,7 +457,7 @@ - (void (*) (void*)) &semanage_ibpkey_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -467,11 +467,11 @@ - } - - %typemap(argout) semanage_ibpkey_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_ibpkey_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_ibpkey_key_t **(semanage_ibpkey_key_t *temp=NULL) { -@@ -500,7 +500,7 @@ - (void (*) (void*)) &semanage_ibendport_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -510,11 +510,11 @@ - } - - %typemap(argout) semanage_ibendport_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_ibendport_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_ibendport_key_t **(semanage_ibendport_key_t *temp=NULL) { -@@ -543,7 +543,7 @@ - (void (*) (void*)) &semanage_node_free, &plist) < 0) - $result = SWIG_From_int(STATUS_ERR); - else -- $result = SWIG_Python_AppendOutput($result, plist); -+ $result = SWIG_AppendOutput($result, plist); - } - } - } -@@ -553,12 +553,12 @@ - } - - %typemap(argout) semanage_node_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - - %typemap(argout) semanage_node_key_t ** { -- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) { -diff --git a/libsemanage/src/semanageswig_ruby.i b/libsemanage/src/semanageswig_ruby.i -index e030e4aea7ba..9010b5456b1a 100644 ---- a/libsemanage/src/semanageswig_ruby.i -+++ b/libsemanage/src/semanageswig_ruby.i -@@ -38,7 +38,7 @@ - } - - %typemap(argout) semanage_module_info_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - /** context typemaps **/ -@@ -50,7 +50,7 @@ - } - - %typemap(argout) semanage_context_t** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - /** boolean typemaps **/ -@@ -66,11 +66,11 @@ - } - - %typemap(argout) semanage_bool_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_bool_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) { -@@ -90,11 +90,11 @@ - } - - %typemap(argout) semanage_fcontext_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_fcontext_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) { -@@ -114,11 +114,11 @@ - } - - %typemap(argout) semanage_iface_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_iface_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) { -@@ -138,11 +138,11 @@ - } - - %typemap(argout) semanage_seuser_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_seuser_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) { -@@ -162,11 +162,11 @@ - } - - %typemap(argout) semanage_user_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_user_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) { -@@ -186,11 +186,11 @@ - } - - %typemap(argout) semanage_port_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(argout) semanage_port_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) { -@@ -210,12 +210,12 @@ - } - - %typemap(argout) semanage_node_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - - %typemap(argout) semanage_node_key_t ** { -- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); -+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0)); - } - - %typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) { --- -2.47.0 - diff --git a/0003-libsemanage-direct_api-INTEGER_OVERFLOW-read_len-rea.patch b/0003-libsemanage-direct_api-INTEGER_OVERFLOW-read_len-rea.patch deleted file mode 100644 index f773d71..0000000 --- a/0003-libsemanage-direct_api-INTEGER_OVERFLOW-read_len-rea.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0140861b18272d2504ce743d60c181feb489a2af Mon Sep 17 00:00:00 2001 -From: Vit Mojzis -Date: Fri, 25 Oct 2024 20:32:07 +0200 -Subject: [PATCH] libsemanage/direct_api: INTEGER_OVERFLOW read_len = read() - -The following statement is always true if read_len is unsigned: -(read_len = read(fd, data_read + data_read_len, max_len - data_read_len)) > 0 - -Fixes: - Error: INTEGER_OVERFLOW (CWE-190): [#def19] [important] - libsemanage-3.7/src/direct_api.c:598:2: tainted_data_return: Called function "read(fd, data_read + data_read_len, max_len - data_read_len)", and a possible return value may be less than zero. - libsemanage-3.7/src/direct_api.c:598:2: cast_underflow: An assign of a possibly negative number to an unsigned type, which might trigger an underflow. - libsemanage-3.7/src/direct_api.c:599:3: overflow: The expression "data_read_len += read_len" is deemed underflowed because at least one of its arguments has underflowed. - libsemanage-3.7/src/direct_api.c:598:2: overflow: The expression "max_len - data_read_len" is deemed underflowed because at least one of its arguments has underflowed. - libsemanage-3.7/src/direct_api.c:598:2: overflow_sink: "max_len - data_read_len", which might have underflowed, is passed to "read(fd, data_read + data_read_len, max_len - data_read_len)". [Note: The source code implementation of the function has been overridden by a builtin model.] - \# 596| } - \# 597| - \# 598|-> while ((read_len = read(fd, data_read + data_read_len, max_len - data_read_len)) > 0) { - \# 599| data_read_len += read_len; - \# 600| if (data_read_len == max_len) { - -Signed-off-by: Vit Mojzis -Acked-by: James Carter ---- - libsemanage/src/direct_api.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c -index d740070d..7631c7bf 100644 ---- a/libsemanage/src/direct_api.c -+++ b/libsemanage/src/direct_api.c -@@ -582,7 +582,7 @@ cleanup: - static int read_from_pipe_to_data(semanage_handle_t *sh, size_t initial_len, int fd, char **out_data_read, size_t *out_read_len) - { - size_t max_len = initial_len; -- size_t read_len = 0; -+ ssize_t read_len = 0; - size_t data_read_len = 0; - char *data_read = NULL; - --- -2.47.0 - diff --git a/bachradsusi.gpg b/bachradsusi.gpg index ff4e382..aa060bb 100644 --- a/bachradsusi.gpg +++ b/bachradsusi.gpg @@ -316,6 +316,123 @@ kAIi0B1szn0K13qRqBIwjnWL+orP1KLzvczCH6yD0FZY90CDdMtM0VB6AqT4BFh6 5+ygjA4YiA7fFYBm8510ybUcNfzU3gUIJ5pF8MdGizO54tCPSK6U+iVRY4qfCFdu IiOZ7FUUn78VIxQUMYMrozy7kn/0PQZa7KKRbXJ8sg0sgrQapwpgUjdMwuYZPGGv 1Jw5/+WUGWMbGxmlpHcEOmsPZpITH557M/kHyk9Ud0iKwciBI2mGLxiafCuLrUY4 -TknzOqbZgjdllcUG4cDBEQuBO/GSj1LUfg== -=I8Dr +TknzOqbZgjdllcUG4cDBEQuBO/GSj1LUfpkCDQRnKRF7ARAAo5H9/6cStbyjWFeb +G6qDn6pT+4v1rlbRZo0rYwWkDmEAjOZMRC9SJipTCdQeNFlv6HEiiCvl3bmZIqrZ ++zvLI6U1+2dH7k06xNqIFLTV0zbr+tUkOwspg5nr59KsuNP01WBS0ELzunO/zHj+ +BOEdPg1KvB0IQFtqAwaAfuny67YvTr9O7Yz07ZCfTxPtHf6FJ80FPeRa0LoZYnW4 +UmSGtm1f59VD9+qe4yhRtNanamXUKjf8BTw0rQwjoJhVT5Mg0Z6hW6fhFrD57Lgd +8fBi5ZHHUlR4z1+nqGCUoHlHjc0JVyK8j8fofKafow/79ITaOqBzv+P3psY9ecBg +7wGaOHrqzRzRxAfKYRO2IaFHRGnsEE8FnwSEL00uPVxpiiTavrLJFEjku9GmP3OY +3rbwIPXbw1m9mZG1yAVbSEEf58WSWeoBp0O6qrwAdIbdgUX4BkQ8bX5MtUjXp5tm +0StmjQiZ7O91cg0VuWtrfj/I4E3xtloNzhtG2QLI4s7iAL1orhClxEuZRO9alUCS +cnRvhmw2Dh6sB6i56evcZdUFwxMXOByxfWr0fxX4QlR8jYqMPj7UMNj2PccTBOQX +umIW2cdGEeni9vrE9cLfZRSNCwPWAXWtr1zQW54Jx5DjCGHobQk53Z7kE+MZVAje +gOaT0u50cljBNfJootuln4+gbGMAEQEAAbQlUGV0ciBMYXV0cmJhY2ggPGxhdXRy +YmFjaEByZWRoYXQuY29tPokCVwQTAQgAQRYhBGjSGCM0KhNoOus+TvtMaFtdwcE+ +BQJnKRF7AhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEPtM +aFtdwcE+doMQAI5mnNA8aH0dfeOZnz/NrMwY6H7jK/+lYatCx05e1TfK+zz9feRK +sxgP3Pjj0p9igo3jIdPcN5/YnlmVEeplDmSiKOOdendviy+sA8sukMo07Q+m1pYW +NzFtyiZd+c44mp9I1l7h6rktIY9XDedrlAkNog1VlUet9eNpmgXt2OmJNDmYftWc +KIpyw/ZLaubjRcAmxwsn7I6dWnT66Ffg9H8trcRlWipVWP8imO0EIpwC8RbhuNgk +xjt/cVf3CEpzokF4n0k3nqYmt90NNtGc0kG5QAlTvlUuHpNWzuzvdAPtMy3KEaXI +fu3IEZeIKCxSgWXTm7zRKUn0F6jKAsLXhK/WOA1Aa7NdAUwMxrEndfNoqBrusaLD +lpzWU7USv2YT+Pf3aQ7u1szg2J8V5eqRP+E8wwe54RNCgQrcDgUq5abyncsvull3 +GqJvzvZC7/Q3Th/g5Wc+dRaGBz0O9FBuRPQwjrnB932xW1fDf17cScpVKAvV/jwn +tpWXf7nSv2M0o9fihnTBl4d2c2EBKtTdp5W0IpeRl5uLad3AYoouP6RoZ+/Id/Zg +NeaQKH/ZlCxk5S9GLzYhm665ysOYRkh7NfoThRtvAqAeDcTKWGDG1nQok2KKOSyq +S81PT2AlMz7A26R0vsH/9lQ1uZFIhIGbxZXlGERZwXd1s+lgfWTbB5K+iQIzBBAB +CAAdFiEEuGgoR3ZN9g31LZksvDkF8jUXnPEFAmcpGAUACgkQvDkF8jUXnPFdGQ/+ +L7uA7EMB+Yh0urhZuOltZSNtge6b+UbLZTd8DRsf044e+Z0NJWdQ2saLBptGhIcn +as4Qd0gS+QkWB7lMrJ31uux15ZBjFsGtyqK+VoH8JIPvV8Mr5XojqA+UYUpXP6ns +ILrdkUvNzpeA51IxYuVMWcut8SUVYzjD11YG1P8LFzydsImaYe7se+RE85F3/2Po +kZNe0d0Gh36uyfJSND80XrrxLpROgabQgHNG0drL/DHjdoa3F0V5EUoG7NBwUrmB +RlWKYCLUFfW+8mQn6RVK8JIV9WaHrzi/KAZLonZb5dCjO0e+Ol16pyUofLA8SN7B +aqjens8ho297GtE3darkXmj5p3p4YPur/D+oZCNIH+BYMsht46VtE3v6V10P8KA2 +6MgNo5qME1Q0kC1DUYi68cPeDgrQBMWa+nF+m9i2aGeAyi3qDhZu03JLhOYAhv45 +OVRawm9vFqyKiBRANVogTRr+ch4zywaapwfVLQ+xiwVLqlT5n/iIzWCQ0hA15eKZ +gJV0kTXL4OWKBeJqSNnnLVm4AhZ2OpKHMsjE7BEopvCe9JZWFIrjtQ9TrriByOx0 +3anWkmm7b4lZ1HKDOI/Cxyz8BZvYizo7hSOdGjLrFBTD/Wk0swvpzB4NKh5I6N7k +gppXMTaWp36+KmQx66JzaZjepGl1VMNFdgiP6Sw6pO+5Ag0EZykRewEQAK4EY+06 +GeuX4wLlUqAMWCnbFELuhBZGWFLEIvP6WJS1WOvee45RVcpVfYMp3AqymiNRahAl +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 +dBW9kxiuWpZN3Q== +=iuRK -----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/changelog b/changelog index ccb1a1a..958ef40 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +* Thu Dec 05 2024 Petr Lautrbach - 3.8-0.rc1.1 +- SELinux userspace 3.8-rc1 release + * Tue Nov 12 2024 Vit Mojzis - 3.7-4 - direct_api: INTEGER_OVERFLOW read_len = read() (RHEL-35997) diff --git a/libsemanage.spec b/libsemanage.spec index fb53aa8..c055a34 100644 --- a/libsemanage.spec +++ b/libsemanage.spec @@ -1,20 +1,17 @@ -%define libsepolver 3.7-1 -%define libselinuxver 3.7-1 +%define libsepolver 3.8-0 +%define libselinuxver 3.8-0 Summary: SELinux binary policy manipulation library Name: libsemanage -Version: 3.7 -Release: 4%{?dist} +Version: 3.8 +Release: 0.rc1.1%{?dist} License: LGPL-2.1-or-later -Source0: https://github.com/SELinuxProject/selinux/releases/download/3.7/libsemanage-3.7.tar.gz -Source1: https://github.com/SELinuxProject/selinux/releases/download/3.7/libsemanage-3.7.tar.gz.asc +Source0: https://github.com/SELinuxProject/selinux/releases/download/%{version}-rc1/libsemanage-%{version}-rc1.tar.gz +Source1: https://github.com/SELinuxProject/selinux/releases/download/%{version}-rc1/libsemanage-%{version}-rc1.tar.gz.asc Source2: https://github.com/bachradsusi.gpg -# git format-patch -N 3.7 -- libsemanage +# git format-patch -N 3.8 -- 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-Preserve-file-context-and-ownership-in-p.patch -Patch0002: 0002-libsemanage-fix-swig-bindings-for-4.3.0.patch -Patch0003: 0003-libsemanage-direct_api-INTEGER_OVERFLOW-read_len-rea.patch # Patch list end URL: https://github.com/SELinuxProject/selinux/wiki Source3: semanage.conf @@ -82,7 +79,7 @@ SELinux management applications. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -p 2 -n libsemanage-%{version} +%autosetup -p 2 -n libsemanage-%{version}-rc1 %build diff --git a/sources b/sources index 84fba07..dd9632a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (libsemanage-3.7.tar.gz) = 4b6370b02116364964ff24b93fb6629c885611de78419f649a027db38b4f1c3b3adf3b438efb34a92b49407ab8f9446ed4091fe4c99fa4752f0f5e3e31589415 -SHA512 (libsemanage-3.7.tar.gz.asc) = 670ea358add41fd07828ffeb83aae676cd1fdc9abbad8afaa3fd9ee1f42891ec4ae03320e324bac99335159e4e2794bbc3c6f66715cae47b1745b609abd68e34 +SHA512 (libsemanage-3.8-rc1.tar.gz) = c97a4fe0d66c04d00f00e84ad4fc2b41b90607a9e84519a443d13d0e50ab4393e93c1f9da23bd24f14524eb5096ec315374d5047fafa01a92f546d34cec4fa56 +SHA512 (libsemanage-3.8-rc1.tar.gz.asc) = 8552f32c49634d1b4ff7edaa417f5edc27af40141234ff2cac5d8219607d9c5c672bd4e34a67a9fdd9c6f96e7d35cfc6b911e23cdf6b8bf7a3d8f356849c76cb