mirror of
git://git.yoctoproject.org/meta-selinux
synced 2026-01-01 13:58:04 +00:00
ChangeLog: https://github.com/SELinuxProject/selinux/releases/tag/3.9 * Support static-only builds with DISABLE_SHARED=y * Add restore option to modify user and role portions * setfiles: Add -U option to modify user and role portions * semanage.conf: Add relabel_store config option * semodule: Add [-g PATH |--config=PATH] for an alternate path for the semanage config * libselinux: Fix local literal fcontext definitions priority * libselinux: Fix order for path substitutions * libsepol: Add new 'netif_wildcard' policy capability * checkpolicy: Add support for wildcard netifcon names * libsepol: Allow multiple policycap statements * libsepol: Support genfs_seclabel_wildcard * Replace all links to selinuxproject.org * Bug fixes Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
127 lines
3.8 KiB
Diff
127 lines
3.8 KiB
Diff
From beb674e585126fbcc803299ff14feec9bf736873 Mon Sep 17 00:00:00 2001
|
|
From: Wenzong Fan <wenzong.fan@windriver.com>
|
|
Date: Mon, 20 Jan 2014 03:53:48 -0500
|
|
Subject: [PATCH] libsemanage: allow to disable audit support
|
|
|
|
Upstream-Status: Inappropriate [embedded specific]
|
|
|
|
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
|
|
---
|
|
libsemanage/src/Makefile | 10 +++++++++-
|
|
libsemanage/src/seusers_local.c | 13 +++++++++++++
|
|
libsemanage/tests/Makefile | 10 +++++++++-
|
|
3 files changed, 31 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/libsemanage/src/Makefile b/libsemanage/src/Makefile
|
|
index fa3449fb..66c3010f 100644
|
|
--- a/libsemanage/src/Makefile
|
|
+++ b/libsemanage/src/Makefile
|
|
@@ -27,6 +27,14 @@ ifeq ($(DEBUG),1)
|
|
export LDFLAGS ?= -g
|
|
endif
|
|
|
|
+DISABLE_AUDIT ?= n
|
|
+ifeq ($(DISABLE_AUDIT),y)
|
|
+ LIBAUDIT =
|
|
+ CFLAGS += -DDISABLE_AUDIT
|
|
+else
|
|
+ LIBAUDIT = -laudit
|
|
+endif
|
|
+
|
|
LEX = flex
|
|
LFLAGS = -s
|
|
YACC = bison
|
|
@@ -93,7 +101,7 @@ $(LIBA): $(OBJS)
|
|
$(RANLIB) $@
|
|
|
|
$(LIBSO): $(LOBJS)
|
|
- $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L../../libselinux/src -lsepol -laudit -lselinux -lbz2 -Wl,-soname,$(LIBSO),--version-script=libsemanage.map,-z,defs
|
|
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -L../../libselinux/src -lsepol $(LIBAUDIT) -lselinux -lbz2 -Wl,-soname,$(LIBSO),--version-script=libsemanage.map,-z,defs
|
|
ln -sf $@ $(TARGET)
|
|
|
|
$(LIBPC): $(LIBPC).in ../VERSION
|
|
diff --git a/libsemanage/src/seusers_local.c b/libsemanage/src/seusers_local.c
|
|
index eb3f82bc..45da8257 100644
|
|
--- a/libsemanage/src/seusers_local.c
|
|
+++ b/libsemanage/src/seusers_local.c
|
|
@@ -8,7 +8,11 @@ typedef struct semanage_seuser record_t;
|
|
|
|
#include <sepol/policydb.h>
|
|
#include <sepol/context.h>
|
|
+
|
|
+#ifndef DISABLE_AUDIT
|
|
#include <libaudit.h>
|
|
+#endif
|
|
+
|
|
#include <errno.h>
|
|
#include "user_internal.h"
|
|
#include "seuser_internal.h"
|
|
@@ -56,6 +60,7 @@ static char *semanage_user_roles(semanage_handle_t * handle, const char *sename)
|
|
return roles;
|
|
}
|
|
|
|
+#ifndef DISABLE_AUDIT
|
|
static int semanage_seuser_audit(semanage_handle_t * handle,
|
|
const semanage_seuser_t * seuser,
|
|
const semanage_seuser_t * previous,
|
|
@@ -120,6 +125,7 @@ err:
|
|
free(proles);
|
|
return rc;
|
|
}
|
|
+#endif
|
|
|
|
int semanage_seuser_modify_local(semanage_handle_t * handle,
|
|
const semanage_seuser_key_t * key,
|
|
@@ -165,8 +171,11 @@ int semanage_seuser_modify_local(semanage_handle_t * handle,
|
|
(void) semanage_seuser_query(handle, key, &previous);
|
|
handle->msg_callback = callback;
|
|
rc = dbase_modify(handle, dconfig, key, new);
|
|
+
|
|
+#ifndef DISABLE_AUDIT
|
|
if (semanage_seuser_audit(handle, new, previous, AUDIT_ROLE_ASSIGN, rc == 0) < 0)
|
|
rc = -1;
|
|
+#endif
|
|
err:
|
|
if (previous)
|
|
semanage_seuser_free(previous);
|
|
@@ -182,8 +191,12 @@ int semanage_seuser_del_local(semanage_handle_t * handle,
|
|
dbase_config_t *dconfig = semanage_seuser_dbase_local(handle);
|
|
rc = dbase_del(handle, dconfig, key);
|
|
semanage_seuser_query(handle, key, &seuser);
|
|
+
|
|
+#ifndef DISABLE_AUDIT
|
|
if (semanage_seuser_audit(handle, NULL, seuser, AUDIT_ROLE_REMOVE, rc == 0) < 0)
|
|
rc = -1;
|
|
+#endif
|
|
+
|
|
if (seuser)
|
|
semanage_seuser_free(seuser);
|
|
return rc;
|
|
diff --git a/libsemanage/tests/Makefile b/libsemanage/tests/Makefile
|
|
index 241ff17a..fa03fb66 100644
|
|
--- a/libsemanage/tests/Makefile
|
|
+++ b/libsemanage/tests/Makefile
|
|
@@ -4,10 +4,18 @@ CILS = $(sort $(wildcard *.cil))
|
|
|
|
###########################################################################
|
|
|
|
+DISABLE_AUDIT ?= n
|
|
+ifeq ($(DISABLE_AUDIT),y)
|
|
+ LIBAUDIT =
|
|
+ CFLAGS += -DDISABLE_AUDIT
|
|
+else
|
|
+ LIBAUDIT = -laudit
|
|
+endif
|
|
+
|
|
EXECUTABLE = libsemanage-tests
|
|
CFLAGS += -g -O0 -Wall -W -Wundef -Wmissing-noreturn -Wmissing-format-attribute
|
|
override CFLAGS += -I../src -I../include
|
|
-override LDLIBS += -lcunit -lbz2 -laudit -lselinux -lsepol
|
|
+override LDLIBS += -lcunit -lbz2 $(LIBAUDIT) -lselinux -lsepol
|
|
|
|
OBJECTS = $(SOURCES:.c=.o)
|
|
POLICIES = $(CILS:.cil=.policy)
|
|
--
|
|
2.34.1
|
|
|