chiark / gitweb /
Prep v231.2: Make sure logs go to syslog or kmsg if elogind was started in debug...
[elogind.git] / src / login / elogind.c
index e76654b6008dd1db0a8319450f150881ff0184b7..5ff9ed7f2139c73c3b8e06b5f2fdc32a53949a71 100644 (file)
@@ -42,7 +42,7 @@ static int signal_agent_released(sd_bus_message *message, void *userdata, sd_bus
         assert(message);
         assert(m);
 
-        /* only accept org.freedesktop.elogind.Agent from UID=0 */
+        /* only accept org.freedesktop.login1.Agent from UID=0 */
         r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_EUID, &creds);
         if (r < 0)
                 return r;
@@ -64,6 +64,7 @@ static int signal_agent_released(sd_bus_message *message, void *userdata, sd_bus
 }
 
 /// Add-On for manager_connect_bus()
+/// Original: src/core/dbus.c:bus_setup_system()
 void elogind_bus_setup_system(Manager* m) {
         int r;
 
@@ -76,9 +77,9 @@ void elogind_bus_setup_system(Manager* m) {
                                 m->bus,
                                 NULL,
                                 "type='signal',"
-                                "interface='org.freedesktop.elogind.Agent',"
+                                "interface='org.freedesktop.login1.Agent',"
                                 "member='Released',"
-                                "path='/org/freedesktop/elogind/agent'",
+                                "path='/org/freedesktop.login1/agent'",
                                 signal_agent_released, m);
                 if (r < 0)
                         log_warning_errno(r, "Failed to register Released match on system bus: %m");
@@ -87,32 +88,6 @@ void elogind_bus_setup_system(Manager* m) {
         log_debug("Successfully connected to system bus.");
 }
 
-static int bus_forward_agent_released(Manager *m, const char *path) {
-        int r;
-
-        assert(m);
-        assert(path);
-
-        if (!MANAGER_IS_SYSTEM(m))
-                return 0;
-
-        if (!m->bus)
-                return 0;
-
-        /* If we are running a system instance we forward the agent message on the system bus, so that the user
-         * instances get notified about this, too */
-
-        r = sd_bus_emit_signal(m->bus,
-                               "/org/freedesktop/elogind/agent",
-                               "org.freedesktop.elogind.Agent",
-                               "Released",
-                               "s", path);
-        if (r < 0)
-                return log_warning_errno(r, "Failed to propagate agent release message: %m");
-
-        return 1;
-}
-
 static int manager_dispatch_cgroups_agent_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) {
         Manager *m = userdata;
         char buf[PATH_MAX+1];
@@ -137,19 +112,19 @@ static int manager_dispatch_cgroups_agent_fd(sd_event_source *source, int fd, ui
         buf[n] = 0;
 
         manager_notify_cgroup_empty(m, buf);
-        bus_forward_agent_released(m, buf);
 
         return 0;
 }
 
 /// Add-On for manager_connect_bus()
+/// Original: src/core/manager.c:manager_setup_cgroups_agent()
 int elogind_setup_cgroups_agent(Manager *m) {
 
         static const union sockaddr_union sa = {
                 .un.sun_family = AF_UNIX,
                 .un.sun_path = "/run/systemd/cgroups-agent",
         };
-        int r;
+        int r = 0;
 
         /* This creates a listening socket we receive cgroups agent messages on. We do not use D-Bus for delivering
          * these messages from the cgroups agent binary to PID 1, as the cgroups agent binary is very short-living, and