Let's make sure clients get early errors if they try something weird.
const char *controller;
char *c;
+ /* We can't support direct connections with this, as direct connections know no service or unique name
+ * concept, but the Controller field stores exactly that. */
+ if (sd_bus_message_get_bus(message) != UNIT(s)->manager->api_bus)
+ return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Sorry, Controller= logic only supported via the bus.");
+
r = sd_bus_message_read(message, "s", &controller);
if (r < 0)
return r;