summaryrefslogtreecommitdiff
path: root/units
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2015-05-15 22:59:24 +0200
committerSven Eden <yamakuzure@gmx.net>2017-03-14 09:57:14 +0100
commitd2febf7f92eba0919773ce93d80df50fd3faeb5d (patch)
tree5acf09157709bd490603e3c9dcd9502b397fc255 /units
parent24166fdaeee2e0e48cfaf0a3228581c3f11f5627 (diff)
units: make networkd pull in its own .busname unit
The daemon requires the busname unit to operate (on kdbus systems), since it contains the policy that allows it to acquire its service name. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=90287
Diffstat (limited to 'units')
-rw-r--r--units/systemd-networkd.service.m4.in39
1 files changed, 39 insertions, 0 deletions
diff --git a/units/systemd-networkd.service.m4.in b/units/systemd-networkd.service.m4.in
new file mode 100644
index 000000000..7f216f331
--- /dev/null
+++ b/units/systemd-networkd.service.m4.in
@@ -0,0 +1,39 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Network Service
+Documentation=man:systemd-networkd.service(8)
+ConditionCapability=CAP_NET_ADMIN
+DefaultDependencies=no
+# dbus.service can be dropped once on kdbus, and systemd-udevd.service can be
+# dropped once tuntap is moved to netlink
+After=systemd-udevd.service dbus.service network-pre.target systemd-sysusers.service
+Before=network.target multi-user.target shutdown.target
+Conflicts=shutdown.target
+Wants=network.target
+
+m4_ifdef(`ENABLE_KDBUS',
+# On kdbus systems we pull in the busname explicitly, because it
+# carries policy that allows the daemon to acquire its name.
+Wants=org.freedesktop.network1.busname
+After=org.freedesktop.network1.busname
+
+)m4_dnl
+[Service]
+Type=notify
+Restart=on-failure
+RestartSec=0
+ExecStart=@rootlibexecdir@/systemd-networkd
+CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER
+ProtectSystem=full
+ProtectHome=yes
+WatchdogSec=1min
+
+[Install]
+WantedBy=multi-user.target
+Also=systemd-networkd.socket