summaryrefslogtreecommitdiffstats
path: root/src/ck-manager.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-03-09 12:35:30 -0500
committerWilliam Jon McCann <mccann@jhu.edu>2007-03-09 12:35:30 -0500
commitd5061bf16725bc711f7ddcff02e77a94014107f5 (patch)
tree725eaf521acb1b08b745a0be582b386d10b410c2 /src/ck-manager.c
parent1d72374535de222cb816c74506555c71af10d429 (diff)
add uuid to cookie
Diffstat (limited to 'src/ck-manager.c')
-rw-r--r--src/ck-manager.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ck-manager.c b/src/ck-manager.c
index 53b90b9..9b51000 100644
--- a/src/ck-manager.c
+++ b/src/ck-manager.c
@@ -209,6 +209,12 @@ generate_session_cookie (CkManager *manager)
guint32 num;
char *cookie;
GTimeVal tv;
+ char *uuid;
+
+ uuid = dbus_get_local_machine_id ();
+ if (uuid == NULL) {
+ uuid = g_strdup (g_get_host_name ());
+ }
/* We want this to be globally unique
or at least such that it won't cycle when there
@@ -221,12 +227,14 @@ generate_session_cookie (CkManager *manager)
g_get_current_time (&tv);
g_free (cookie);
- cookie = g_strdup_printf ("%ld.%ld-%u", tv.tv_sec, tv.tv_usec, num);
+ cookie = g_strdup_printf ("%s-%ld.%ld-%u", uuid, tv.tv_sec, tv.tv_usec, num);
if (g_hash_table_lookup (manager->priv->leaders, cookie)) {
goto again;
}
+ g_free (uuid);
+
return cookie;
}