diff options
author | William Jon McCann <mccann@jhu.edu> | 2007-03-09 12:35:30 -0500 |
---|---|---|
committer | William Jon McCann <mccann@jhu.edu> | 2007-03-09 12:35:30 -0500 |
commit | d5061bf16725bc711f7ddcff02e77a94014107f5 (patch) | |
tree | 725eaf521acb1b08b745a0be582b386d10b410c2 /src | |
parent | 1d72374535de222cb816c74506555c71af10d429 (diff) |
add uuid to cookie
Diffstat (limited to 'src')
-rw-r--r-- | src/ck-manager.c | 10 |
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; } |