]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Don't try and guess if the session ID is from logind or ConsoleKit - be explicit
authorRobert Ancell <robert.ancell@canonical.com>
Wed, 3 Sep 2014 04:42:44 +0000 (16:42 +1200)
committerRobert Ancell <robert.ancell@canonical.com>
Wed, 3 Sep 2014 04:42:44 +0000 (16:42 +1200)
src/session-child.c
src/session.c

index 6cbfe8eb3ef1258504cd82604eb3dd92120bfb6f..98a973c080197f6ef27d84ee514d27d91f82ab96 100644 (file)
@@ -547,7 +547,11 @@ session_child_run (int argc, char **argv)
     /* Check what logind session we are, or fallback to ConsoleKit */
     login1_session = pam_getenv (pam_handle, "XDG_SESSION_ID");
     if (login1_session)
+    {
         write_string (login1_session);
+        if (version >= 2)
+            write_string (NULL);
+    }
     else
     {
         g_variant_builder_init (&ck_parameters, G_VARIANT_TYPE ("(a(sv))"));
@@ -569,6 +573,8 @@ session_child_run (int argc, char **argv)
         else
             g_variant_builder_add (&ck_parameters, "(sv)", "is-local", g_variant_new_boolean (TRUE));
         console_kit_cookie = ck_open_session (&ck_parameters);
+        if (version >= 2)
+            write_string (NULL);
         write_string (console_kit_cookie);
         if (console_kit_cookie)
         {
index 50304e880abe2069e78c0f2b628816f6398c67aa..25482416e9e39cec6a58b929b246918fd52b69fa 100644 (file)
@@ -626,7 +626,7 @@ session_real_start (Session *session)
     close (from_child_input);
 
     /* Indicate what version of the protocol we are using */
-    version = 1;
+    version = 2;
     write_data (session, &version, sizeof (version));
 
     /* Send configuration */
@@ -805,10 +805,8 @@ session_real_run (Session *session)
     for (i = 0; i < argc; i++)
         write_string (session, session->priv->argv[i]);
 
-    if (login1_service_get_is_connected (login1_service_get_instance ()))
-        session->priv->login1_session = read_string_from_child (session);
-    else
-        session->priv->console_kit_cookie = read_string_from_child (session);
+    session->priv->login1_session = read_string_from_child (session);
+    session->priv->console_kit_cookie = read_string_from_child (session);
 }
 
 void