In systemd, it's common that a D-Bus activatable service references
`SystemdService=dbus-$BUSNAME.service` instead the real service name.
Together with an `[Install].Alias=dbus-$BUSNAME.service` directive,
this allowed to enable/disable D-Bus activation without uninstalling the
service altogether ([1]).
Currently, when we install the RPM then `nm-priv-helper.service` is not
enabled, consequently the alias is not created, and D-Bus activation
does not work. I guess, we should fix that by enabling the service in
the %post section or via a systemd preset? Dunno.
Anyway. It seems that nm-priv-helper.service is more of an
implementation detail of NetworkManager. It makes not sense for the user
to interact directly, or to enable/disable D-Bus activation (because
that is how it works).
So, drop the alias.
See-also: [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Systemd/#activation_dbus
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| meson.build | ||
| nm-priv-helper.c | ||
| nm-priv-helper.conf | ||
| org.freedesktop.nm_priv_helper.service.in | ||
| README.md | ||
nm-priv-helper
This is a D-Bus activatable, exit-on-idle service, which provides an internal API to NetworkManager daemon.
This has no purpose for the user, it is an implementation detail of the daemon.
The purpose is that nm-priv-helper can execute certain
privileged operations which NetworkManager process is not
allowed to. We want to sandbox NetworkManager as much as
possible, and nm-priv-helper provides a controlled way to
perform some very specific operations.
As such, nm-priv-helper should still be sandboxed too to only being able to execute the operations that are necessary for NetworkManager.
nm-priv-helper will reject all D-Bus requests that are not originating from the current name owner of "org.freedesktop.NetworkManager". That is, it is supposed to only reply to NetworkManager daemon and as such is not useful to the user directly.