From: Kay Sievers Date: Fri, 3 Jan 2014 01:57:45 +0000 (+0100) Subject: bus: always create --user bus when kdbus is active X-Git-Tag: v209~558 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=88c59cb3c12b33449e0b8a57a79dd1d418334061 bus: always create --user bus when kdbus is active We set the variable in the unit file for --user, so this check is always true. --- diff --git a/src/core/manager.c b/src/core/manager.c index 22a3e3ef5..bbe5efa56 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -538,10 +538,6 @@ static int manager_setup_kdbus(Manager *m) { if (m->kdbus_fd >= 0) return 0; - /* If there's already a bus address set, don't set up kdbus */ - if (m->running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS")) - return 0; - m->kdbus_fd = bus_kernel_create_bus(m->running_as == SYSTEMD_SYSTEM ? "system" : "user", m->running_as == SYSTEMD_SYSTEM, &p); if (m->kdbus_fd < 0) { log_debug("Failed to set up kdbus: %s", strerror(-m->kdbus_fd)); @@ -554,7 +550,8 @@ static int manager_setup_kdbus(Manager *m) { * of that directory is not visible to non-root users. This is * necessary to ensure that users cannot get access to busses * of virtualized users when no UID namespacing is used. */ - mkdir_p_label("/dev/kdbus/ns", 0700); + if (m->running_as == SYSTEMD_SYSTEM) + mkdir_p_label("/dev/kdbus/ns", 0700); #endif return 0;