summaryrefslogtreecommitdiff
path: root/dbus/dbus-sysdeps-unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-sysdeps-unix.c')
-rw-r--r--dbus/dbus-sysdeps-unix.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
index e9ea2535..bb066ce9 100644
--- a/dbus/dbus-sysdeps-unix.c
+++ b/dbus/dbus-sysdeps-unix.c
@@ -3349,8 +3349,19 @@ _dbus_read_local_machine_uuid (DBusGUID *machine_id,
DBusError *error)
{
DBusString filename;
+ dbus_bool_t b;
+
_dbus_string_init_const (&filename, DBUS_MACHINE_UUID_FILE);
- return _dbus_read_uuid_file (&filename, machine_id, create_if_not_found, error);
+
+ b = _dbus_read_uuid_file (&filename, machine_id, create_if_not_found, error);
+ if (b)
+ return TRUE;
+
+ dbus_error_free (error);
+
+ /* Fallback to the system machine ID */
+ _dbus_string_init_const (&filename, "/etc/machine-id");
+ return _dbus_read_uuid_file (&filename, machine_id, FALSE, error);
}
#define DBUS_UNIX_STANDARD_SESSION_SERVICEDIR "/dbus-1/services"