chiark / gitweb /
dbus1-generator: fix copy-pasto
[elogind.git] / src / dbus1-generator / dbus1-generator.c
index b0e49bc052735021839177a87b7cd3e93898063c..cbe91868e91771fd65bc00f1ede68b29196d1b31 100644 (file)
@@ -190,7 +190,7 @@ static int add_dbus(const char *path, const char *fname, const char *type) {
         }
 
         if (service) {
-                if (!unit_name_is_valid(service, false)) {
+                if (!unit_name_is_valid(service, TEMPLATE_INVALID)) {
                         log_warning("Unit name %s is not valid, ignoring.", service);
                         return 0;
                 }
@@ -269,13 +269,26 @@ static int link_compatibility(const char *units) {
 
         f = strappenda(units, "/systemd-bus-proxyd.socket");
         t = strappenda(arg_dest, "/" SPECIAL_DBUS_SOCKET);
+        mkdir_parents_label(t, 0755);
+        if (symlink(f, t) < 0) {
+                log_error("Failed to create symlink %s: %m", t);
+                return -errno;
+        }
 
+        f = strappenda(units, "/systemd-bus-proxyd.socket");
+        t = strappenda(arg_dest, "/" SPECIAL_SOCKETS_TARGET ".wants/systemd-bus-proxyd.socket");
         mkdir_parents_label(t, 0755);
         if (symlink(f, t) < 0) {
                 log_error("Failed to create symlink %s: %m", t);
                 return -errno;
         }
 
+        t = strappenda(arg_dest, "/" SPECIAL_DBUS_SERVICE);
+        if (symlink("/dev/null", t) < 0) {
+                log_error("Failed to mask %s: %m", t);
+                return -errno;
+        }
+
         return 0;
 }