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;  }  | 
