chiark / gitweb /
device: don't allow definiing additional aliases via SYSTEMD_NAMES
[elogind.git] / device.c
index a9b003c66484c4871b7621c2e06e8f2f047f4472..ea33101b7f31a9f8c089ca85570c12e15181e27c 100644 (file)
--- a/device.c
+++ b/device.c
@@ -28,6 +28,7 @@
 #include "strv.h"
 #include "log.h"
 #include "unit-name.h"
+#include "dbus-device.h"
 
 static const UnitActiveState state_translation_table[_DEVICE_STATE_MAX] = {
         [DEVICE_DEAD] = UNIT_INACTIVE,
@@ -154,7 +155,7 @@ static int device_find_escape_name(Manager *m, const char *dn, Unit **_u) {
 }
 
 static int device_process_new_device(Manager *m, struct udev_device *dev, bool update_state) {
-        const char *dn, *names, *wants, *sysfs, *expose, *model;
+        const char *dn, *wants, *sysfs, *expose, *model;
         Unit *u = NULL;
         int r;
         char *w, *state;
@@ -181,7 +182,6 @@ static int device_process_new_device(Manager *m, struct udev_device *dev, bool u
 
         /* Check whether this entry is even relevant for us. */
         dn = udev_device_get_devnode(dev);
-        names = udev_device_get_property_value(dev, "SYSTEMD_NAMES");
         wants = udev_device_get_property_value(dev, "SYSTEMD_WANTS");
 
         if ((r = device_find_escape_name(m, sysfs, &u)) < 0)
@@ -246,27 +246,6 @@ static int device_process_new_device(Manager *m, struct udev_device *dev, bool u
                 if ((r = unit_set_description(u, dn)) < 0)
                         goto fail;
 
-        /* We don't remove names that are gone. But that should be
-         * fine and should probably be fixed only on a configuration
-         * refresh. */
-
-        if (names) {
-                FOREACH_WORD(w, l, names, state) {
-                        char *e;
-
-                        if (!(e = strndup(w, l))) {
-                                r = -ENOMEM;
-                                goto fail;
-                        }
-
-                        r = unit_add_name(u, e);
-                        free(e);
-
-                        if (r < 0 && r != -EEXIST)
-                                goto fail;
-                }
-        }
-
         if (wants) {
                 FOREACH_WORD(w, l, wants, state) {
                         char *e;
@@ -463,6 +442,8 @@ const UnitVTable device_vtable = {
         .active_state = device_active_state,
         .sub_state_to_string = device_sub_state_to_string,
 
+        .bus_message_handler = bus_device_message_handler,
+
         .enumerate = device_enumerate,
         .shutdown = device_shutdown
 };