plugins: dbus: simplify, use mksubsys(), run as messagebus user

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2021-03-13 09:26:14 +01:00
parent 1fd45c6f2e
commit 31cae6a56d
+8 -7
View File
@@ -32,9 +32,11 @@
#include "conf.h"
#define DAEMON "dbus-daemon"
#define ARGS "--nofork --system"
#define ARGS "--nofork --system --syslog-only"
#define DESC "D-Bus message bus daemon"
#define DAEMONUSER "messagebus"
static void setup(void *arg)
{
char *cmd;
@@ -48,17 +50,16 @@ static void setup(void *arg)
umask(0);
makedir("/var/run/dbus", 0755);
makedir("/var/lock/subsys", 0755);
makedir("/var/lock/subsys/messagebus", 0755);
mksubsys("/var/run/dbus", 0755, DAEMONUSER, DAEMONUSER);
if (whichp("dbus-uuidgen"))
run("dbus-uuidgen --ensure");
run_interactive("dbus-uuidgen --ensure", "Creating machine UUID for D-Bus");
/* Clean up from any previous pre-bootstrap run */
erase("/var/run/dbus/pid");
remove("/var/run/dbus/pid");
/* Register service with Finit */
snprintf(line, sizeof(line), "[S12345] pid:!/run/dbus/pid log:prio:daemon.info,tag:dbus %s %s -- %s", cmd, ARGS, DESC);
snprintf(line, sizeof(line), "[S12345] @%s:%s %s %s -- %s",
DAEMONUSER, DAEMONUSER, cmd, ARGS, DESC);
if (service_register(SVC_TYPE_SERVICE, line, global_rlimit, NULL))
_pe("Failed registering %s", DAEMON);
free(cmd);