aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Wieczorkiewicz <pwieczorkiewicz@suse.de>2015-09-16 12:38:02 +0200
committerJiri Pirko <jiri@resnulli.us>2015-09-16 14:38:28 +0200
commit2797fa419702fe3f0d82988a71e95c15d080c36d (patch)
tree7788683ab7de893215b0c35152ccda88dd8df3c7
parenta6e7faccf949c1650c4f3da765459a113c454b19 (diff)
downloadlibteam-2797fa419702fe3f0d82988a71e95c15d080c36d.tar.gz
regenerate dbus policy file from template when user changed
Signed-off-by: Pawel Wieczorkiewicz <pwieczorkiewicz@suse.de> Signed-off-by: Sebastian Krahmer <krahmer@suse.com> Signed-off-by: Jiri Pirko <jiri@resnulli.us>
-rw-r--r--configure.ac8
-rw-r--r--teamd/teamd.conf.in17
2 files changed, 23 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index f459f4e..ddfccde 100644
--- a/configure.ac
+++ b/configure.ac
@@ -78,11 +78,15 @@ AS_IF([test "x$enable_debug" = "xyes"], [
])
user=root
+dbus_policy_template="teamd/teamd.conf.in"
+dbus_policy_file="teamd/dbus/teamd.conf"
AC_ARG_WITH([user],
[AS_HELP_STRING([--with-user@<:@=username@:>@], [Set default daemon user @<:@default=root@:>@])],
[case "$withval" in
- yes|no|"") ;;
- *) user="$withval" ;;
+ root|yes|no|"") ;;
+ *) user="$withval"
+ sed -e "s|[@]teamd_user[@]|$user|g" \
+ < $dbus_policy_template > $dbus_policy_file ;;
esac]
)
AC_DEFINE_UNQUOTED(TEAMD_USER, "${user}", [TEAMD USER.])
diff --git a/teamd/teamd.conf.in b/teamd/teamd.conf.in
new file mode 100644
index 0000000..d1cb2a1
--- /dev/null
+++ b/teamd/teamd.conf.in
@@ -0,0 +1,17 @@
+<?xml version="1.0"?> <!--*-nxml-*-->
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy user="root">
+ <allow own_prefix="org.libteam.teamd"/>
+ <allow send_interface="org.libteam.teamd"/>
+ </policy>
+ <policy user="@teamd_user@">
+ <allow own_prefix="org.libteam.teamd"/>
+ <allow send_interface="org.libteam.teamd"/>
+ </policy>
+ <policy context="default">
+ <deny own_prefix="org.libteam.teamd"/>
+ <deny send_interface="org.libteam.teamd"/>
+ </policy>
+</busconfig>