chiark / gitweb /
bus: export bus address also when compiled without kdbus
authorMantas Mikul─Śnas <grawity@gmail.com>
Wed, 8 Jan 2014 12:08:34 +0000 (14:08 +0200)
committerKay Sievers <kay@vrfy.org>
Wed, 8 Jan 2014 13:46:38 +0000 (21:46 +0800)
It was removed from user@.service, so it should be added here.

src/login/pam-module.c

index e76fef8..ea606b7 100644 (file)
@@ -169,22 +169,28 @@ static int export_legacy_dbus_address(
                 uid_t uid,
                 const char *runtime) {
 
-#ifdef ENABLE_KDBUS
         _cleanup_free_ char *s = NULL;
         int r;
 
+#ifdef ENABLE_KDBUS
         if (asprintf(&s, KERNEL_USER_BUS_FMT ";" UNIX_USER_BUS_FMT,
                      (unsigned long) uid, runtime) < 0) {
                 pam_syslog(handle, LOG_ERR, "Failed to set bus variable.");
                 return PAM_BUF_ERR;
         }
+#else
+        if (asprintf(&s, UNIX_USER_BUS_FMT, runtime) < 0) {
+                pam_syslog(handle, LOG_ERR, "Failed to set bus variable.");
+                return PAM_BUF_ERR;
+        }
+#endif
 
         r = pam_misc_setenv(handle, "DBUS_SESSION_BUS_ADDRESS", s, 0);
         if (r != PAM_SUCCESS) {
                 pam_syslog(handle, LOG_ERR, "Failed to set bus variable.");
                 return r;
         }
-#endif
+
         return PAM_SUCCESS;
 }