/* 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))"));
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)
{
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 */
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