]> git.ipfire.org Git - network.git/commitdiff
networkd: Install a dbus policy
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 30 Jan 2023 18:47:30 +0000 (18:47 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 30 Jan 2023 18:47:30 +0000 (18:47 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
configure.ac
src/networkd/org.ipfire.network1.conf [new file with mode: 0644]

index 5cfeefab4a63c4de3ce2354415b89c162982f4bf..eeda5ba8fabd024c9699ab4ccfea4de7c0145c9d 100644 (file)
@@ -62,7 +62,8 @@ INSTALL_EXEC_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 noinst_DATA =
 sbin_PROGRAMS =
-dist_dbussystembusdir_DATA =
+dist_dbuspolicy_DATA =
+dist_dbussystembus_DATA =
 
 AM_CPPFLAGS = \
        $(OUR_CPPFLAGS) \
@@ -331,7 +332,10 @@ networkd_LDFLAGS = \
 networkd_LDADD = \
        $(SYSTEMD_LIBS)
 
-dist_dbussystembusdir_DATA += \
+dist_dbuspolicy_DATA += \
+       src/networkd/org.ipfire.network1.conf
+
+dist_dbussystembus_DATA += \
        src/networkd/org.ipfire.network1.service
 
 # ------------------------------------------------------------------------------
index 8634a396f9ef6489c264259f37dd330d6c5529a4..e612ff829fe45630635569796538c64e71691c47 100644 (file)
@@ -135,6 +135,18 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
 
 # ------------------------------------------------------------------------------
 
+AC_ARG_WITH(
+       [dbuspolicydir],
+       AS_HELP_STRING(
+               [--with-dbuspolicydir=arg],
+               [directory for D-Bus policies (default: ${dbusdatadir|datarootdir}/dbus-1/system.d)]
+       ),
+       [dbuspolicydir="$withval"],
+       [PKG_CHECK_VAR([dbusdatadir], [dbus-1], [datadir],, [dbusdatadir="${datarootdir}"])
+       dbuspolicydir="${dbusdatadir}/dbus-1/system.d"]
+)
+AC_SUBST(dbuspolicydir)
+
 AC_ARG_WITH([dbussystembusdir], AS_HELP_STRING([--with-dbussystembusdir=DIR],
                [path to D-Bus system bus services directory]), [with_dbussystembusdir=${withval}])
 if test -z "${with_dbussystembusdir}"; then
diff --git a/src/networkd/org.ipfire.network1.conf b/src/networkd/org.ipfire.network1.conf
new file mode 100644 (file)
index 0000000..96e8e15
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0"?> <!--*-nxml-*-->
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+       "https://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+
+<busconfig>
+       <policy user="network">
+               <allow own="org.ipfire.network1"/>
+               <allow send_destination="org.ipfire.network1"/>
+               <allow receive_sender="org.ipfire.network1"/>
+       </policy>
+
+       <policy context="default">
+               <allow send_destination="org.ipfire.network1"/>
+               <allow receive_sender="org.ipfire.network1"/>
+       </policy>
+</busconfig>