chiark / gitweb /
main: remove AF_UNIX sockets before binding
authorLennart Poettering <lennart@poettering.net>
Mon, 14 Mar 2011 15:15:31 +0000 (16:15 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 14 Mar 2011 15:15:31 +0000 (16:15 +0100)
src/dbus.c
src/manager.c

index 31e776fc30bb404f38683d3121e1999e95d6a15e..7afb0fb5e19633b8d1ccdee10db93ed15c3f44f6 100644 (file)
@@ -955,6 +955,7 @@ static int bus_init_private(Manager *m) {
         if (getpid() != 1)
                 return 0;
 
+        unlink("/dev/.run/systemd/private");
         if (!(m->private_bus = dbus_server_listen("unix:path=/dev/.run/systemd/private", &error))) {
                 log_error("Failed to create private D-Bus server: %s", error.message);
                 r = -EIO;
index 6ccb03fab45b58fbe5687c9c4e35a2aa1cf0ea81..1ab4c94eefa40978812475872b649de870dcee3c 100644 (file)
@@ -90,8 +90,10 @@ static int manager_setup_notify(Manager *m) {
 
         if (getpid() != 1)
                 snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET_USER "/%llu", random_ull());
-        else
+        else {
+                unlink(NOTIFY_SOCKET_SYSTEM);
                 strncpy(sa.un.sun_path, NOTIFY_SOCKET_SYSTEM, sizeof(sa.un.sun_path));
+        }
 
         if (sa.un.sun_path[0] == '@')
                 sa.un.sun_path[0] = 0;