Merge lp:~robert-ancell/lightdm/no-console-kit into lp:lightdm

Proposed by Robert Ancell
Status: Merged
Merged at revision: 2096
Proposed branch: lp:~robert-ancell/lightdm/no-console-kit
Merge into: lp:lightdm
Diff against target: 1735 lines (+42/-1118)
34 files modified
debian/control (+6/-5)
liblightdm-gobject/power.c (+10/-63)
liblightdm-qt/power.cpp (+8/-32)
src/Makefile.am (+0/-2)
src/console-kit.c (+0/-262)
src/console-kit.h (+0/-31)
src/seat.c (+1/-2)
src/session-child.c (+3/-46)
src/session.c (+6/-34)
src/session.h (+0/-2)
tests/Makefile.am (+0/-15)
tests/scripts/console-kit.conf (+0/-33)
tests/scripts/lock-seat-console-kit.conf (+0/-62)
tests/scripts/lock-seat-return-session-console-kit.conf (+0/-78)
tests/scripts/no-console-kit-or-login1.conf (+0/-33)
tests/scripts/no-console-kit.conf (+0/-33)
tests/scripts/no-login1.conf (+1/-2)
tests/scripts/power-no-console-kit.conf (+0/-67)
tests/scripts/power-no-login1.conf (+4/-15)
tests/scripts/power-no-services.conf (+0/-1)
tests/src/test-gobject-greeter.c (+1/-4)
tests/src/test-python-greeter (+0/-3)
tests/src/test-qt-greeter.cpp (+1/-4)
tests/src/test-runner.c (+0/-267)
tests/src/test-session.c (+1/-4)
tests/test-console-kit (+0/-2)
tests/test-lock-seat-console-kit (+0/-2)
tests/test-lock-seat-return-session-console-kit (+0/-2)
tests/test-no-console-kit (+0/-2)
tests/test-no-console-kit-or-login1 (+0/-2)
tests/test-power-no-console-kit-gobject (+0/-2)
tests/test-power-no-console-kit-python (+0/-2)
tests/test-power-no-console-kit-qt4 (+0/-2)
tests/test-power-no-console-kit-qt5 (+0/-2)
To merge this branch: bzr merge lp:~robert-ancell/lightdm/no-console-kit
Reviewer Review Type Date Requested Status
LightDM Development Team Pending
Review via email: mp+236643@code.launchpad.net

Commit message

Remove ConsoleKit support since upstream is long dead. Please migrate to logind or use LightDM 1.10 if ConsoleKit support is required.

To post a comment you must log in.
2075. By Robert Ancell

Merge with trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/control'
--- debian/control 2014-05-17 18:37:53 +0000
+++ debian/control 2014-10-02 07:55:11 +0000
@@ -47,11 +47,12 @@
47 liblightdm-qt-0-0,47 liblightdm-qt-0-0,
48Provides: x-display-manager48Provides: x-display-manager
49Description: Display Manager49Description: Display Manager
50 LightDM is a X display manager that:50 LightDM is a display manager that:
51 * Has a lightweight codebase51 * Is cross-desktop - supports different desktops
52 * Is standards compliant (PAM, ConsoleKit, etc)52 * Supports different display technologies
53 * Has a well defined interface between the server and user interface53 * Is lightweight - low memory usage and fast performance
54 * Cross-desktop (greeters can be written in any toolkit)54 * Has a comprehensive test suite
55 * Has low code complexity
5556
56Package: liblightdm-gobject-1-057Package: liblightdm-gobject-1-0
57Architecture: any58Architecture: any
5859
=== modified file 'liblightdm-gobject/power.c'
--- liblightdm-gobject/power.c 2014-09-19 03:16:14 +0000
+++ liblightdm-gobject/power.c 2014-10-02 07:55:11 +0000
@@ -16,7 +16,6 @@
16#include "lightdm/power.h"16#include "lightdm/power.h"
1717
18static GDBusProxy *upower_proxy = NULL;18static GDBusProxy *upower_proxy = NULL;
19static GDBusProxy *ck_proxy = NULL;
20static GDBusProxy *login1_proxy = NULL;19static GDBusProxy *login1_proxy = NULL;
2120
22static GVariant *21static GVariant *
@@ -205,36 +204,6 @@
205 return hibernated;204 return hibernated;
206}205}
207206
208static GVariant *
209ck_call_function (const gchar *function, GError **error)
210{
211 GVariant *r;
212
213 if (!ck_proxy)
214 {
215 ck_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
216 G_DBUS_PROXY_FLAGS_NONE,
217 NULL,
218 "org.freedesktop.ConsoleKit",
219 "/org/freedesktop/ConsoleKit/Manager",
220 "org.freedesktop.ConsoleKit.Manager",
221 NULL,
222 error);
223 if (!ck_proxy)
224 return FALSE;
225 }
226
227 r = g_dbus_proxy_call_sync (ck_proxy,
228 function,
229 NULL,
230 G_DBUS_CALL_FLAGS_NONE,
231 -1,
232 NULL,
233 error);
234
235 return r;
236}
237
238/**207/**
239 * lightdm_get_can_restart:208 * lightdm_get_can_restart:
240 *209 *
@@ -257,15 +226,8 @@
257 g_variant_get (r, "(&s)", &result);226 g_variant_get (r, "(&s)", &result);
258 can_restart = g_strcmp0 (result, "yes") == 0;227 can_restart = g_strcmp0 (result, "yes") == 0;
259 }228 }
260 }
261 else
262 {
263 r = ck_call_function ("CanRestart", NULL);
264 if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
265 g_variant_get (r, "(b)", &can_restart);
266 }
267 if (r)
268 g_variant_unref (r);229 g_variant_unref (r);
230 }
269231
270 return can_restart;232 return can_restart;
271}233}
@@ -282,19 +244,15 @@
282lightdm_restart (GError **error)244lightdm_restart (GError **error)
283{245{
284 GVariant *r;246 GVariant *r;
285 gboolean restarted;
286247
287 r = login1_call_function ("Reboot", g_variant_new("(b)", FALSE), error);248 r = login1_call_function ("Reboot", g_variant_new("(b)", FALSE), error);
288 if (!r)249 if (r)
289 {250 {
290 g_clear_error (error);251 g_variant_unref (r);
291 r = ck_call_function ("Restart", error);252 return TRUE;
292 }253 }
293 restarted = r != NULL;
294 if (r)
295 g_variant_unref (r);
296254
297 return restarted;255 return FALSE;
298}256}
299257
300/**258/**
@@ -319,15 +277,8 @@
319 g_variant_get (r, "(&s)", &result);277 g_variant_get (r, "(&s)", &result);
320 can_shutdown = g_strcmp0 (result, "yes") == 0;278 can_shutdown = g_strcmp0 (result, "yes") == 0;
321 }279 }
322 }
323 else
324 {
325 r = ck_call_function ("CanStop", NULL);
326 if (r && g_variant_is_of_type (r, G_VARIANT_TYPE ("(b)")))
327 g_variant_get (r, "(b)", &can_shutdown);
328 }
329 if (r)
330 g_variant_unref (r);280 g_variant_unref (r);
281 }
331282
332 return can_shutdown;283 return can_shutdown;
333}284}
@@ -344,17 +295,13 @@
344lightdm_shutdown (GError **error)295lightdm_shutdown (GError **error)
345{296{
346 GVariant *r;297 GVariant *r;
347 gboolean shutdown;
348298
349 r = login1_call_function ("PowerOff", g_variant_new("(b)", FALSE), error);299 r = login1_call_function ("PowerOff", g_variant_new("(b)", FALSE), error);
350 if (!r)300 if (r)
351 {301 {
352 g_clear_error (error);302 g_variant_unref (r);
353 r = ck_call_function ("Stop", error);303 return TRUE;
354 }304 }
355 shutdown = r != NULL;
356 if (r)
357 g_variant_unref (r);
358305
359 return shutdown;306 return FALSE;
360}307}
361308
=== modified file 'liblightdm-qt/power.cpp'
--- liblightdm-qt/power.cpp 2014-09-19 03:16:14 +0000
+++ liblightdm-qt/power.cpp 2014-10-02 07:55:11 +0000
@@ -26,13 +26,11 @@
26public:26public:
27 PowerInterfacePrivate();27 PowerInterfacePrivate();
28 QScopedPointer<QDBusInterface> powerManagementInterface;28 QScopedPointer<QDBusInterface> powerManagementInterface;
29 QScopedPointer<QDBusInterface> consoleKitInterface;
30 QScopedPointer<QDBusInterface> login1Interface;29 QScopedPointer<QDBusInterface> login1Interface;
31};30};
3231
33PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate() :32PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate() :
34 powerManagementInterface(new QDBusInterface("org.freedesktop.UPower","/org/freedesktop/UPower", "org.freedesktop.UPower", QDBusConnection::systemBus())),33 powerManagementInterface(new QDBusInterface("org.freedesktop.UPower","/org/freedesktop/UPower", "org.freedesktop.UPower", QDBusConnection::systemBus())),
35 consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus())),
36 login1Interface(new QDBusInterface("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", QDBusConnection::systemBus()))34 login1Interface(new QDBusInterface("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", QDBusConnection::systemBus()))
37{35{
38}36}
@@ -117,17 +115,9 @@
117115
118bool PowerInterface::canShutdown()116bool PowerInterface::canShutdown()
119{117{
120 if (d->login1Interface->isValid()) {118 QDBusReply<QString> reply1 = d->login1Interface->call("CanPowerOff");
121 QDBusReply<QString> reply1 = d->login1Interface->call("CanPowerOff");119 if (reply1.isValid()) {
122 if (reply1.isValid()) {120 return reply1.value() == "yes";
123 return reply1.value() == "yes";
124 }
125 }
126 qWarning() << d->login1Interface->lastError();
127
128 QDBusReply<bool> reply = d->consoleKitInterface->call("CanStop");
129 if (reply.isValid()) {
130 return reply.value();
131 }121 }
132122
133 return false;123 return false;
@@ -136,26 +126,15 @@
136bool PowerInterface::shutdown()126bool PowerInterface::shutdown()
137{127{
138 QDBusReply<void> reply;128 QDBusReply<void> reply;
139 if (d->login1Interface->isValid())129 reply = d->login1Interface->call("PowerOff", false);
140 reply = d->login1Interface->call("PowerOff", false);
141 else
142 reply = d->consoleKitInterface->call("Stop");
143 return reply.isValid();130 return reply.isValid();
144}131}
145132
146bool PowerInterface::canRestart()133bool PowerInterface::canRestart()
147{134{
148 if (d->login1Interface->isValid()) {135 QDBusReply<QString> reply1 = d->login1Interface->call("CanReboot");
149 QDBusReply<QString> reply1 = d->login1Interface->call("CanReboot");136 if (reply1.isValid()) {
150 if (reply1.isValid()) {137 return reply1.value() == "yes";
151 return reply1.value() == "yes";
152 }
153 }
154 qWarning() << d->login1Interface->lastError();
155
156 QDBusReply<bool> reply = d->consoleKitInterface->call("CanRestart");
157 if (reply.isValid()) {
158 return reply.value();
159 }138 }
160139
161 return false;140 return false;
@@ -164,10 +143,7 @@
164bool PowerInterface::restart()143bool PowerInterface::restart()
165{144{
166 QDBusReply<void> reply;145 QDBusReply<void> reply;
167 if (d->login1Interface->isValid())146 reply = d->login1Interface->call("Reboot", false);
168 reply = d->login1Interface->call("Reboot", false);
169 else
170 reply = d->consoleKitInterface->call("Restart");
171 return reply.isValid();147 return reply.isValid();
172}148}
173149
174150
=== modified file 'src/Makefile.am'
--- src/Makefile.am 2014-08-21 21:36:03 +0000
+++ src/Makefile.am 2014-10-02 07:55:11 +0000
@@ -4,8 +4,6 @@
4lightdm_SOURCES = \4lightdm_SOURCES = \
5 accounts.c \5 accounts.c \
6 accounts.h \6 accounts.h \
7 console-kit.c \
8 console-kit.h \
9 display-manager.c \7 display-manager.c \
10 display-manager.h \8 display-manager.h \
11 display-server.c \9 display-server.c \
1210
=== removed file 'src/console-kit.c'
--- src/console-kit.c 2014-03-17 16:02:32 +0000
+++ src/console-kit.c 1970-01-01 00:00:00 +0000
@@ -1,262 +0,0 @@
1/* -*- Mode: C; indent-tabs-mode: nil; tab-width: 4 -*-
2 *
3 * Copyright (C) 2010-2011 Robert Ancell.
4 * Author: Robert Ancell <robert.ancell@canonical.com>
5 *
6 * This program is free software: you can redistribute it and/or modify it under
7 * the terms of the GNU General Public License as published by the Free Software
8 * Foundation, either version 3 of the License, or (at your option) any later
9 * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
10 * license.
11 */
12
13#include <gio/gio.h>
14
15#include "console-kit.h"
16
17gchar *
18ck_open_session (GVariantBuilder *parameters)
19{
20 GDBusConnection *bus;
21 GVariant *result;
22 gchar *cookie;
23 GError *error = NULL;
24
25 g_return_val_if_fail (parameters != NULL, NULL);
26
27 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
28 if (error)
29 g_warning ("Failed to get system bus: %s", error->message);
30 g_clear_error (&error);
31 if (!bus)
32 return NULL;
33 result = g_dbus_connection_call_sync (bus,
34 "org.freedesktop.ConsoleKit",
35 "/org/freedesktop/ConsoleKit/Manager",
36 "org.freedesktop.ConsoleKit.Manager",
37 "OpenSessionWithParameters",
38 g_variant_new ("(a(sv))", parameters),
39 G_VARIANT_TYPE ("(s)"),
40 G_DBUS_CALL_FLAGS_NONE,
41 -1,
42 NULL,
43 &error);
44 g_object_unref (bus);
45
46 if (error)
47 g_warning ("Failed to open CK session: %s", error->message);
48 g_clear_error (&error);
49 if (!result)
50 return NULL;
51
52 g_variant_get (result, "(s)", &cookie);
53 g_variant_unref (result);
54 g_debug ("Opened ConsoleKit session %s", cookie);
55
56 return cookie;
57}
58
59static gchar *
60get_ck_session (GDBusConnection *bus, const gchar *cookie)
61{
62 GVariant *result;
63 gchar *session_path;
64 GError *error = NULL;
65
66 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
67 result = g_dbus_connection_call_sync (bus,
68 "org.freedesktop.ConsoleKit",
69 "/org/freedesktop/ConsoleKit/Manager",
70 "org.freedesktop.ConsoleKit.Manager",
71 "GetSessionForCookie",
72 g_variant_new ("(s)", cookie),
73 G_VARIANT_TYPE ("(o)"),
74 G_DBUS_CALL_FLAGS_NONE,
75 -1,
76 NULL,
77 &error);
78 g_object_unref (bus);
79 if (error)
80 g_warning ("Error getting ConsoleKit session: %s", error->message);
81 g_clear_error (&error);
82 if (!result)
83 return NULL;
84
85 g_variant_get (result, "(o)", &session_path);
86 g_variant_unref (result);
87
88 return session_path;
89}
90
91void
92ck_lock_session (const gchar *cookie)
93{
94 GDBusConnection *bus;
95 gchar *session_path;
96 GError *error = NULL;
97
98 g_return_if_fail (cookie != NULL);
99
100 g_debug ("Locking ConsoleKit session %s", cookie);
101
102 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
103 if (error)
104 g_warning ("Failed to get system bus: %s", error->message);
105 g_clear_error (&error);
106 if (!bus)
107 return;
108
109 session_path = get_ck_session (bus, cookie);
110 if (session_path)
111 {
112 GVariant *result;
113
114 result = g_dbus_connection_call_sync (bus,
115 "org.freedesktop.ConsoleKit",
116 session_path,
117 "org.freedesktop.ConsoleKit.Session",
118 "Lock",
119 g_variant_new ("()"),
120 G_VARIANT_TYPE ("()"),
121 G_DBUS_CALL_FLAGS_NONE,
122 -1,
123 NULL,
124 &error);
125 if (error)
126 g_warning ("Error locking ConsoleKit session: %s", error->message);
127 g_clear_error (&error);
128 if (result)
129 g_variant_unref (result);
130 }
131 g_object_unref (bus);
132}
133
134void
135ck_unlock_session (const gchar *cookie)
136{
137 GDBusConnection *bus;
138 gchar *session_path;
139 GError *error = NULL;
140
141 g_return_if_fail (cookie != NULL);
142
143 g_debug ("Unlocking ConsoleKit session %s", cookie);
144
145 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
146 if (error)
147 g_warning ("Failed to get system bus: %s", error->message);
148 g_clear_error (&error);
149 if (!bus)
150 return;
151
152 session_path = get_ck_session (bus, cookie);
153 if (session_path)
154 {
155 GVariant *result;
156
157 result = g_dbus_connection_call_sync (bus,
158 "org.freedesktop.ConsoleKit",
159 session_path,
160 "org.freedesktop.ConsoleKit.Session",
161 "Unlock",
162 g_variant_new ("()"),
163 G_VARIANT_TYPE ("()"),
164 G_DBUS_CALL_FLAGS_NONE,
165 -1,
166 NULL,
167 &error);
168 if (error)
169 g_warning ("Error unlocking ConsoleKit session: %s", error->message);
170 g_clear_error (&error);
171 if (result)
172 g_variant_unref (result);
173 }
174 g_object_unref (bus);
175}
176
177void
178ck_activate_session (const gchar *cookie)
179{
180 GDBusConnection *bus;
181 gchar *session_path;
182 GError *error = NULL;
183
184 g_return_if_fail (cookie != NULL);
185
186 g_debug ("Activating ConsoleKit session %s", cookie);
187
188 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
189 if (error)
190 g_warning ("Failed to get system bus: %s", error->message);
191 g_clear_error (&error);
192 if (!bus)
193 return;
194
195 session_path = get_ck_session (bus, cookie);
196 if (session_path)
197 {
198 GVariant *result;
199
200 result = g_dbus_connection_call_sync (bus,
201 "org.freedesktop.ConsoleKit",
202 session_path,
203 "org.freedesktop.ConsoleKit.Session",
204 "Activate",
205 g_variant_new ("()"),
206 G_VARIANT_TYPE ("()"),
207 G_DBUS_CALL_FLAGS_NONE,
208 -1,
209 NULL,
210 &error);
211 if (error)
212 g_warning ("Error activating ConsoleKit session: %s", error->message);
213 g_clear_error (&error);
214 if (result)
215 g_variant_unref (result);
216 }
217 g_object_unref (bus);
218}
219
220void
221ck_close_session (const gchar *cookie)
222{
223 GDBusConnection *bus;
224 GVariant *result;
225 gboolean is_closed;
226 GError *error = NULL;
227
228 g_return_if_fail (cookie != NULL);
229
230 g_debug ("Ending ConsoleKit session %s", cookie);
231
232 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
233 if (error)
234 g_warning ("Failed to get system bus: %s", error->message);
235 g_clear_error (&error);
236 if (!bus)
237 return;
238 result = g_dbus_connection_call_sync (bus,
239 "org.freedesktop.ConsoleKit",
240 "/org/freedesktop/ConsoleKit/Manager",
241 "org.freedesktop.ConsoleKit.Manager",
242 "CloseSession",
243 g_variant_new ("(s)", cookie),
244 G_VARIANT_TYPE ("(b)"),
245 G_DBUS_CALL_FLAGS_NONE,
246 -1,
247 NULL,
248 &error);
249 g_object_unref (bus);
250
251 if (error)
252 g_warning ("Error ending ConsoleKit session: %s", error->message);
253 g_clear_error (&error);
254 if (!result)
255 return;
256
257 g_variant_get (result, "(b)", &is_closed);
258 g_variant_unref (result);
259
260 if (!is_closed)
261 g_warning ("ConsoleKit.Manager.CloseSession() returned false");
262}
2630
=== removed file 'src/console-kit.h'
--- src/console-kit.h 2014-09-19 03:16:14 +0000
+++ src/console-kit.h 1970-01-01 00:00:00 +0000
@@ -1,31 +0,0 @@
1/*
2 * Copyright (C) 2010-2011 Robert Ancell.
3 * Author: Robert Ancell <robert.ancell@canonical.com>
4 *
5 * This program is free software: you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option) any later
8 * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
9 * license.
10 */
11
12#ifndef CONSOLE_KIT_H_
13#define CONSOLE_KIT_H_
14
15#include <glib-object.h>
16
17G_BEGIN_DECLS
18
19gchar *ck_open_session (GVariantBuilder *parameters);
20
21void ck_lock_session (const gchar *cookie);
22
23void ck_unlock_session (const gchar *cookie);
24
25void ck_activate_session (const gchar *cookie);
26
27void ck_close_session (const gchar *cookie);
28
29G_END_DECLS
30
31#endif /* CONSOLE_KIT_H_ */
320
=== modified file 'src/seat.c'
--- src/seat.c 2014-09-29 23:42:38 +0000
+++ src/seat.c 2014-10-02 07:55:11 +0000
@@ -608,8 +608,7 @@
608 {608 {
609 /* Multiple sessions can theoretically be on the same VT (especially609 /* Multiple sessions can theoretically be on the same VT (especially
610 if using Mir). If a new session appears on an existing active VT,610 if using Mir). If a new session appears on an existing active VT,
611 logind will mark it as active, while ConsoleKit will re-mark the611 logind will mark it as active which may not be the
612 oldest session as active. In either case, that may not be the
613 session that we want to be active. So let's be explicit and612 session that we want to be active. So let's be explicit and
614 re-activate the correct session whenever a new session starts.613 re-activate the correct session whenever a new session starts.
615 There's no harm to do this in seats that enforce separate VTs. */614 There's no harm to do this in seats that enforce separate VTs. */
616615
=== modified file 'src/session-child.c'
--- src/session-child.c 2014-09-19 03:16:14 +0000
+++ src/session-child.c 2014-10-02 07:55:11 +0000
@@ -20,7 +20,6 @@
20#include "configuration.h"20#include "configuration.h"
21#include "session-child.h"21#include "session-child.h"
22#include "session.h"22#include "session.h"
23#include "console-kit.h"
24#include "login1.h"23#include "login1.h"
25#include "privileges.h"24#include "privileges.h"
26#include "x-authority.h"25#include "x-authority.h"
@@ -231,7 +230,6 @@
231 gsize env_length;230 gsize env_length;
232 gsize command_argc;231 gsize command_argc;
233 gchar **command_argv;232 gchar **command_argv;
234 GVariantBuilder ck_parameters;
235 int return_code;233 int return_code;
236 int authentication_result;234 int authentication_result;
237 gchar *authentication_result_string;235 gchar *authentication_result_string;
@@ -242,9 +240,7 @@
242 gchar *xdisplay;240 gchar *xdisplay;
243 XAuthority *x_authority = NULL;241 XAuthority *x_authority = NULL;
244 gchar *x_authority_filename;242 gchar *x_authority_filename;
245 GDBusConnection *bus;
246 const gchar *login1_session = NULL;243 const gchar *login1_session = NULL;
247 gchar *console_kit_cookie = NULL;
248 const gchar *locale_value;244 const gchar *locale_value;
249 gchar *locale_var;245 gchar *locale_var;
250 static const gchar * const locale_var_names[] = {246 static const gchar * const locale_var_names[] = {
@@ -261,7 +257,6 @@
261 gid_t gid;257 gid_t gid;
262 uid_t uid;258 uid_t uid;
263 const gchar *home_directory;259 const gchar *home_directory;
264 GError *error = NULL;
265260
266#if !defined(GLIB_VERSION_2_36)261#if !defined(GLIB_VERSION_2_36)
267 g_type_init ();262 g_type_init ();
@@ -534,55 +529,21 @@
534 return EXIT_FAILURE;529 return EXIT_FAILURE;
535 }530 }
536531
537 /* Open a connection to the system bus for ConsoleKit - we must keep it open or CK will close the session */
538 bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
539 if (error)
540 g_printerr ("Unable to contact system bus: %s", error->message);
541 if (!bus)
542 {
543 pam_end (pam_handle, 0);
544 return EXIT_FAILURE;
545 }
546
547 /* Check what logind session we are, or fallback to ConsoleKit */532 /* Check what logind session we are, or fallback to ConsoleKit */
548 login1_session = pam_getenv (pam_handle, "XDG_SESSION_ID");533 login1_session = pam_getenv (pam_handle, "XDG_SESSION_ID");
549 if (login1_session)534 if (login1_session)
550 {535 {
551 write_string (login1_session);536 write_string (login1_session);
537 /* Write what was a ConsoleKit cookie */
552 if (version >= 2)538 if (version >= 2)
553 write_string (NULL);539 write_string (NULL);
554 }540 }
555 else541 else
556 {542 {
557 g_variant_builder_init (&ck_parameters, G_VARIANT_TYPE ("(a(sv))"));
558 g_variant_builder_open (&ck_parameters, G_VARIANT_TYPE ("a(sv)"));
559 g_variant_builder_add (&ck_parameters, "(sv)", "unix-user", g_variant_new_int32 (user_get_uid (user)));
560 if (g_strcmp0 (pam_getenv (pam_handle, "XDG_SESSION_CLASS"), "greeter") == 0)
561 g_variant_builder_add (&ck_parameters, "(sv)", "session-type", g_variant_new_string ("LoginWindow"));
562 if (xdisplay)
563 {
564 g_variant_builder_add (&ck_parameters, "(sv)", "x11-display", g_variant_new_string (xdisplay));
565 if (tty)
566 g_variant_builder_add (&ck_parameters, "(sv)", "x11-display-device", g_variant_new_string (tty));
567 }
568 if (remote_host_name)
569 {
570 g_variant_builder_add (&ck_parameters, "(sv)", "is-local", g_variant_new_boolean (FALSE));
571 g_variant_builder_add (&ck_parameters, "(sv)", "remote-host-name", g_variant_new_string (remote_host_name));
572 }
573 else
574 g_variant_builder_add (&ck_parameters, "(sv)", "is-local", g_variant_new_boolean (TRUE));
575 console_kit_cookie = ck_open_session (&ck_parameters);
576 if (version >= 2)543 if (version >= 2)
577 write_string (NULL);544 write_string (NULL);
578 write_string (console_kit_cookie);545 /* Write what was a ConsoleKit cookie */
579 if (console_kit_cookie)546 write_string (NULL);
580 {
581 gchar *value;
582 value = g_strdup_printf ("XDG_SESSION_COOKIE=%s", console_kit_cookie);
583 pam_putenv (pam_handle, value);
584 g_free (value);
585 }
586 }547 }
587548
588 /* Write X authority */549 /* Write X authority */
@@ -760,10 +721,6 @@
760 _exit (EXIT_FAILURE);721 _exit (EXIT_FAILURE);
761 }722 }
762723
763 /* Close the Console Kit session */
764 if (console_kit_cookie)
765 ck_close_session (console_kit_cookie);
766
767 /* Close the session */724 /* Close the session */
768 pam_close_session (pam_handle, 0);725 pam_close_session (pam_handle, 0);
769726
770727
=== modified file 'src/session.c'
--- src/session.c 2014-09-29 23:42:38 +0000
+++ src/session.c 2014-10-02 07:55:11 +0000
@@ -23,7 +23,6 @@
2323
24#include "session.h"24#include "session.h"
25#include "configuration.h"25#include "configuration.h"
26#include "console-kit.h"
27#include "login1.h"26#include "login1.h"
28#include "guest-account.h"27#include "guest-account.h"
29#include "shared-data-manager.h"28#include "shared-data-manager.h"
@@ -96,9 +95,6 @@
96 /* Remote host this session is being controlled from */95 /* Remote host this session is being controlled from */
97 gchar *remote_host_name;96 gchar *remote_host_name;
9897
99 /* Console kit cookie */
100 gchar *console_kit_cookie;
101
102 /* login1 session ID */98 /* login1 session ID */
103 gchar *login1_session_id;99 gchar *login1_session_id;
104100
@@ -652,13 +648,6 @@
652 return session->priv->username;648 return session->priv->username;
653}649}
654650
655const gchar *
656session_get_console_kit_cookie (Session *session)
657{
658 g_return_val_if_fail (session != NULL, NULL);
659 return session->priv->console_kit_cookie;
660}
661
662void651void
663session_respond (Session *session, struct pam_response *response)652session_respond (Session *session, struct pam_response *response)
664{653{
@@ -806,46 +795,30 @@
806 write_string (session, session->priv->argv[i]);795 write_string (session, session->priv->argv[i]);
807796
808 session->priv->login1_session_id = read_string_from_child (session);797 session->priv->login1_session_id = read_string_from_child (session);
809 session->priv->console_kit_cookie = read_string_from_child (session);
810}798}
811799
812void800void
813session_lock (Session *session)801session_lock (Session *session)
814{802{
815 g_return_if_fail (session != NULL);803 g_return_if_fail (session != NULL);
816 if (getuid () == 0)804 if (getuid () == 0 && session->priv->login1_session_id)
817 {805 login1_service_lock_session (login1_service_get_instance (), session->priv->login1_session_id);
818 if (session->priv->login1_session_id)
819 login1_service_lock_session (login1_service_get_instance (), session->priv->login1_session_id);
820 else if (session->priv->console_kit_cookie)
821 ck_lock_session (session->priv->console_kit_cookie);
822 }
823}806}
824807
825void808void
826session_unlock (Session *session)809session_unlock (Session *session)
827{810{
828 g_return_if_fail (session != NULL);811 g_return_if_fail (session != NULL);
829 if (getuid () == 0)812 if (getuid () == 0 && session->priv->login1_session_id)
830 {813 login1_service_unlock_session (login1_service_get_instance (), session->priv->login1_session_id);
831 if (session->priv->login1_session_id)
832 login1_service_unlock_session (login1_service_get_instance (), session->priv->login1_session_id);
833 else if (session->priv->console_kit_cookie)
834 ck_unlock_session (session->priv->console_kit_cookie);
835 }
836}814}
837815
838void816void
839session_activate (Session *session)817session_activate (Session *session)
840{818{
841 g_return_if_fail (session != NULL);819 g_return_if_fail (session != NULL);
842 if (getuid () == 0)820 if (getuid () == 0 && session->priv->login1_session_id)
843 {821 login1_service_activate_session (login1_service_get_instance (), session->priv->login1_session_id);
844 if (session->priv->login1_session_id)
845 login1_service_activate_session (login1_service_get_instance (), session->priv->login1_session_id);
846 else if (session->priv->console_kit_cookie)
847 ck_activate_session (session->priv->console_kit_cookie);
848 }
849}822}
850823
851void824void
@@ -938,7 +911,6 @@
938 g_object_unref (self->priv->x_authority);911 g_object_unref (self->priv->x_authority);
939 g_free (self->priv->remote_host_name);912 g_free (self->priv->remote_host_name);
940 g_free (self->priv->login1_session_id);913 g_free (self->priv->login1_session_id);
941 g_free (self->priv->console_kit_cookie);
942 g_list_free_full (self->priv->env, g_free);914 g_list_free_full (self->priv->env, g_free);
943 g_strfreev (self->priv->argv);915 g_strfreev (self->priv->argv);
944916
945917
=== modified file 'src/session.h'
--- src/session.h 2014-09-29 23:42:38 +0000
+++ src/session.h 2014-10-02 07:55:11 +0000
@@ -115,8 +115,6 @@
115115
116const gchar *session_get_username (Session *session);116const gchar *session_get_username (Session *session);
117117
118const gchar *session_get_console_kit_cookie (Session *session);
119
120void session_respond (Session *session, struct pam_response *response);118void session_respond (Session *session, struct pam_response *response);
121119
122void session_respond_error (Session *session, int error);120void session_respond_error (Session *session, int error);
123121
=== modified file 'tests/Makefile.am'
--- tests/Makefile.am 2014-10-02 06:51:36 +0000
+++ tests/Makefile.am 2014-10-02 07:55:11 +0000
@@ -134,8 +134,6 @@
134 test-lock-session-no-password \134 test-lock-session-no-password \
135 test-lock-session-resettable \135 test-lock-session-resettable \
136 test-lock-session-return-session \136 test-lock-session-return-session \
137 test-lock-seat-console-kit \
138 test-lock-seat-return-session-console-kit \
139 test-switch-to-greeter \137 test-switch-to-greeter \
140 test-switch-to-greeter-disabled \138 test-switch-to-greeter-disabled \
141 test-switch-to-greeter-new-session \139 test-switch-to-greeter-new-session \
@@ -170,12 +168,8 @@
170 test-utmp-autologin \168 test-utmp-autologin \
171 test-utmp-wrong-password \169 test-utmp-wrong-password \
172 test-no-accounts-service \170 test-no-accounts-service \
173 test-console-kit \
174 test-no-console-kit \
175 test-no-login1 \171 test-no-login1 \
176 test-no-console-kit-or-login1 \
177 test-power-gobject \172 test-power-gobject \
178 test-power-no-console-kit-gobject \
179 test-power-no-login1-gobject \173 test-power-no-login1-gobject \
180 test-power-no-services-gobject \174 test-power-no-services-gobject \
181 test-open-file-descriptors \175 test-open-file-descriptors \
@@ -254,7 +248,6 @@
254 test-autologin-timeout-python \248 test-autologin-timeout-python \
255 test-autologin-guest-timeout-python \249 test-autologin-guest-timeout-python \
256 test-power-python \250 test-power-python \
257 test-power-no-console-kit-python \
258 test-power-no-login1-python \251 test-power-no-login1-python \
259 test-power-no-services-python252 test-power-no-services-python
260253
@@ -290,7 +283,6 @@
290 test-login-remote-session-qt4 \283 test-login-remote-session-qt4 \
291 test-users-qt4 \284 test-users-qt4 \
292 test-power-qt4 \285 test-power-qt4 \
293 test-power-no-console-kit-qt4 \
294 test-power-no-login1-qt4 \286 test-power-no-login1-qt4 \
295 test-power-no-services-qt4287 test-power-no-services-qt4
296endif288endif
@@ -327,7 +319,6 @@
327 test-login-remote-session-qt5 \319 test-login-remote-session-qt5 \
328 test-users-qt5 \320 test-users-qt5 \
329 test-power-qt5 \321 test-power-qt5 \
330 test-power-no-console-kit-qt5 \
331 test-power-no-login1-qt5 \322 test-power-no-login1-qt5 \
332 test-power-no-services-qt5323 test-power-no-services-qt5
333endif324endif
@@ -378,7 +369,6 @@
378 scripts/autologin-xserver-crash.conf \369 scripts/autologin-xserver-crash.conf \
379 scripts/change-authentication.conf \370 scripts/change-authentication.conf \
380 scripts/cancel-authentication.conf \371 scripts/cancel-authentication.conf \
381 scripts/console-kit.conf \
382 scripts/corrupt-xauthority.conf \372 scripts/corrupt-xauthority.conf \
383 scripts/crash-authenticate.conf \373 scripts/crash-authenticate.conf \
384 scripts/cred-error.conf \374 scripts/cred-error.conf \
@@ -406,10 +396,8 @@
406 scripts/language-env.conf \396 scripts/language-env.conf \
407 scripts/language-no-accounts-service.conf \397 scripts/language-no-accounts-service.conf \
408 scripts/lock-seat.conf \398 scripts/lock-seat.conf \
409 scripts/lock-seat-console-kit.conf \
410 scripts/lock-seat-resettable.conf \399 scripts/lock-seat-resettable.conf \
411 scripts/lock-seat-return-session.conf \400 scripts/lock-seat-return-session.conf \
412 scripts/lock-seat-return-session-console-kit.conf \
413 scripts/lock-session.conf \401 scripts/lock-session.conf \
414 scripts/lock-session-no-password.conf \402 scripts/lock-session-no-password.conf \
415 scripts/lock-session-resettable.conf \403 scripts/lock-session-resettable.conf \
@@ -464,12 +452,9 @@
464 scripts/multi-seat-globbing-config-sections.conf \452 scripts/multi-seat-globbing-config-sections.conf \
465 scripts/no-accounts-service.conf \453 scripts/no-accounts-service.conf \
466 scripts/no-config.conf \454 scripts/no-config.conf \
467 scripts/no-console-kit.conf \
468 scripts/no-console-kit-or-login1.conf \
469 scripts/no-login1.conf \455 scripts/no-login1.conf \
470 scripts/open-file-descriptors.conf \456 scripts/open-file-descriptors.conf \
471 scripts/power.conf \457 scripts/power.conf \
472 scripts/power-no-console-kit.conf \
473 scripts/power-no-services.conf \458 scripts/power-no-services.conf \
474 scripts/power-no-login1.conf \459 scripts/power-no-login1.conf \
475 scripts/plymouth-active-vt.conf \460 scripts/plymouth-active-vt.conf \
476461
=== removed file 'tests/scripts/console-kit.conf'
--- tests/scripts/console-kit.conf 2014-04-03 19:52:38 +0000
+++ tests/scripts/console-kit.conf 1970-01-01 00:00:00 +0000
@@ -1,33 +0,0 @@
1#
2# Check ConsoleKit variable is set in session
3#
4
5[test-runner-config]
6disable-login1=true
7
8[SeatDefaults]
9autologin-user=have-password1
10user-session=default
11
12#?*START-DAEMON
13#?RUNNER DAEMON-START
14
15# X server starts
16#?XSERVER-0 START VT=7 SEAT=seat0
17
18# Daemon connects when X server is ready
19#?*XSERVER-0 INDICATE-READY
20#?XSERVER-0 INDICATE-READY
21#?XSERVER-0 ACCEPT-CONNECT
22
23# Session starts
24#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_COOKIE=ck-cookie-x:0 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
25#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:0
26#?XSERVER-0 ACCEPT-CONNECT
27#?SESSION-X-0 CONNECT-XSERVER
28
29# Cleanup
30#?*STOP-DAEMON
31#?SESSION-X-0 TERMINATE SIGNAL=15
32#?XSERVER-0 TERMINATE SIGNAL=15
33#?RUNNER DAEMON-EXIT STATUS=0
340
=== removed file 'tests/scripts/lock-seat-console-kit.conf'
--- tests/scripts/lock-seat-console-kit.conf 2014-04-03 19:52:38 +0000
+++ tests/scripts/lock-seat-console-kit.conf 1970-01-01 00:00:00 +0000
@@ -1,62 +0,0 @@
1#
2# Check can lock a seat from D-Bus using ConsoleKit
3#
4
5[test-runner-config]
6disable-login1=true
7
8[SeatDefaults]
9autologin-user=have-password1
10user-session=default
11
12#?*START-DAEMON
13#?RUNNER DAEMON-START
14
15# X server starts
16#?XSERVER-0 START VT=7 SEAT=seat0
17
18# Daemon connects when X server is ready
19#?*XSERVER-0 INDICATE-READY
20#?XSERVER-0 INDICATE-READY
21#?XSERVER-0 ACCEPT-CONNECT
22
23# Session starts
24#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_COOKIE=ck-cookie-x:0 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
25#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:0
26#?XSERVER-0 ACCEPT-CONNECT
27#?SESSION-X-0 CONNECT-XSERVER
28
29# Lock the seat
30#?*SESSION-X-0 LOCK-SEAT
31#?SESSION-X-0 LOCK-SEAT
32
33# New X server starts
34#?XSERVER-1 START VT=8 SEAT=seat0
35
36# Daemon connects when X server is ready
37#?*XSERVER-1 INDICATE-READY
38#?XSERVER-1 INDICATE-READY
39#?XSERVER-1 ACCEPT-CONNECT
40
41# Session is locked
42#?CONSOLE-KIT LOCK-SESSION
43
44# Greeter starts
45#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1 XDG_SESSION_CLASS=greeter
46#?XSERVER-1 ACCEPT-CONNECT
47#?GREETER-X-1 CONNECT-XSERVER
48#?GREETER-X-1 CONNECT-TO-DAEMON
49#?GREETER-X-1 CONNECTED-TO-DAEMON
50#?GREETER-X-1 LOCK-HINT
51
52# Switch to greeter
53#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:1
54#?VT ACTIVATE VT=8
55
56# Cleanup
57#?*STOP-DAEMON
58#?SESSION-X-0 TERMINATE SIGNAL=15
59#?XSERVER-0 TERMINATE SIGNAL=15
60#?GREETER-X-1 TERMINATE SIGNAL=15
61#?XSERVER-1 TERMINATE SIGNAL=15
62#?RUNNER DAEMON-EXIT STATUS=0
630
=== removed file 'tests/scripts/lock-seat-return-session-console-kit.conf'
--- tests/scripts/lock-seat-return-session-console-kit.conf 2014-04-03 19:52:38 +0000
+++ tests/scripts/lock-seat-return-session-console-kit.conf 1970-01-01 00:00:00 +0000
@@ -1,78 +0,0 @@
1#
2# Check can lock a seat from D-Bus and can return to it when using ConsoleKit
3#
4
5[test-runner-config]
6disable-login1=true
7
8[SeatDefaults]
9autologin-user=have-password1
10user-session=default
11
12#?*START-DAEMON
13#?RUNNER DAEMON-START
14
15# X server starts
16#?XSERVER-0 START VT=7 SEAT=seat0
17
18# Daemon connects when X server is ready
19#?*XSERVER-0 INDICATE-READY
20#?XSERVER-0 INDICATE-READY
21#?XSERVER-0 ACCEPT-CONNECT
22
23# Session starts
24#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_COOKIE=ck-cookie-x:0 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
25#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:0
26#?XSERVER-0 ACCEPT-CONNECT
27#?SESSION-X-0 CONNECT-XSERVER
28
29# Lock the seat
30#?*SESSION-X-0 LOCK-SEAT
31#?SESSION-X-0 LOCK-SEAT
32
33# New X server starts
34#?XSERVER-1 START VT=8 SEAT=seat0
35
36# Daemon connects when X server is ready
37#?*XSERVER-1 INDICATE-READY
38#?XSERVER-1 INDICATE-READY
39#?XSERVER-1 ACCEPT-CONNECT
40
41# Session is locked
42#?CONSOLE-KIT LOCK-SESSION
43
44# Greeter starts
45#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_COOKIE=ck-cookie-x:1 XDG_SESSION_CLASS=greeter
46#?XSERVER-1 ACCEPT-CONNECT
47#?GREETER-X-1 CONNECT-XSERVER
48#?GREETER-X-1 CONNECT-TO-DAEMON
49#?GREETER-X-1 CONNECTED-TO-DAEMON
50#?GREETER-X-1 LOCK-HINT
51
52# Switch to greeter
53#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:1
54#?VT ACTIVATE VT=8
55
56# Login as existing user
57#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
58#?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
59#?*GREETER-X-1 RESPOND TEXT="password"
60#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
61#?*GREETER-X-1 START-SESSION
62
63# Old session is unlocked
64#?CONSOLE-KIT UNLOCK-SESSION
65
66# Return to session
67#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:0
68#?VT ACTIVATE VT=7
69
70# Greeter and X server stop
71#?GREETER-X-1 TERMINATE SIGNAL=15
72#?XSERVER-1 TERMINATE SIGNAL=15
73
74# Cleanup
75#?*STOP-DAEMON
76#?SESSION-X-0 TERMINATE SIGNAL=15
77#?XSERVER-0 TERMINATE SIGNAL=15
78#?RUNNER DAEMON-EXIT STATUS=0
790
=== removed file 'tests/scripts/no-console-kit-or-login1.conf'
--- tests/scripts/no-console-kit-or-login1.conf 2014-04-03 19:52:38 +0000
+++ tests/scripts/no-console-kit-or-login1.conf 1970-01-01 00:00:00 +0000
@@ -1,33 +0,0 @@
1#
2# Check still works when neither ConsoleKit or login1 is available
3#
4
5[test-runner-config]
6disable-console-kit=true
7disable-login1=true
8
9[SeatDefaults]
10autologin-user=have-password1
11user-session=default
12
13#?*START-DAEMON
14#?RUNNER DAEMON-START
15
16# X server starts
17#?XSERVER-0 START VT=7 SEAT=seat0
18
19# Daemon connects when X server is ready
20#?*XSERVER-0 INDICATE-READY
21#?XSERVER-0 INDICATE-READY
22#?XSERVER-0 ACCEPT-CONNECT
23
24# Session starts
25#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
26#?XSERVER-0 ACCEPT-CONNECT
27#?SESSION-X-0 CONNECT-XSERVER
28
29# Cleanup
30#?*STOP-DAEMON
31#?SESSION-X-0 TERMINATE SIGNAL=15
32#?XSERVER-0 TERMINATE SIGNAL=15
33#?RUNNER DAEMON-EXIT STATUS=0
340
=== removed file 'tests/scripts/no-console-kit.conf'
--- tests/scripts/no-console-kit.conf 2014-04-03 19:52:38 +0000
+++ tests/scripts/no-console-kit.conf 1970-01-01 00:00:00 +0000
@@ -1,33 +0,0 @@
1#
2# Check still works when ConsoleKit is not available
3#
4
5[test-runner-config]
6disable-console-kit=true
7
8[SeatDefaults]
9autologin-user=have-password1
10user-session=default
11
12#?*START-DAEMON
13#?RUNNER DAEMON-START
14
15# X server starts
16#?XSERVER-0 START VT=7 SEAT=seat0
17
18# Daemon connects when X server is ready
19#?*XSERVER-0 INDICATE-READY
20#?XSERVER-0 INDICATE-READY
21#?XSERVER-0 ACCEPT-CONNECT
22
23# Session starts
24#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
25#?LOGIN1 ACTIVATE-SESSION SESSION=c0
26#?XSERVER-0 ACCEPT-CONNECT
27#?SESSION-X-0 CONNECT-XSERVER
28
29# Cleanup
30#?*STOP-DAEMON
31#?SESSION-X-0 TERMINATE SIGNAL=15
32#?XSERVER-0 TERMINATE SIGNAL=15
33#?RUNNER DAEMON-EXIT STATUS=0
340
=== modified file 'tests/scripts/no-login1.conf'
--- tests/scripts/no-login1.conf 2014-04-03 19:52:38 +0000
+++ tests/scripts/no-login1.conf 2014-10-02 07:55:11 +0000
@@ -21,8 +21,7 @@
21#?XSERVER-0 ACCEPT-CONNECT21#?XSERVER-0 ACCEPT-CONNECT
2222
23# Session starts23# Session starts
24#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_COOKIE=ck-cookie-x:0 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password124#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
25#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:0
26#?XSERVER-0 ACCEPT-CONNECT25#?XSERVER-0 ACCEPT-CONNECT
27#?SESSION-X-0 CONNECT-XSERVER26#?SESSION-X-0 CONNECT-XSERVER
2827
2928
=== removed file 'tests/scripts/power-no-console-kit.conf'
--- tests/scripts/power-no-console-kit.conf 2014-03-17 18:33:02 +0000
+++ tests/scripts/power-no-console-kit.conf 1970-01-01 00:00:00 +0000
@@ -1,67 +0,0 @@
1#
2# Check can do power operations from the greeter when no ConsoleKit service
3#
4
5[test-runner-config]
6disable-console-kit=true
7
8#?*START-DAEMON
9#?RUNNER DAEMON-START
10
11# X server starts
12#?XSERVER-0 START VT=7 SEAT=seat0
13
14# Daemon connects when X server is ready
15#?*XSERVER-0 INDICATE-READY
16#?XSERVER-0 INDICATE-READY
17#?XSERVER-0 ACCEPT-CONNECT
18
19# Greeter starts
20#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
21#?LOGIN1 ACTIVATE-SESSION SESSION=c0
22#?XSERVER-0 ACCEPT-CONNECT
23#?GREETER-X-0 CONNECT-XSERVER
24#?GREETER-X-0 CONNECT-TO-DAEMON
25#?GREETER-X-0 CONNECTED-TO-DAEMON
26
27# See if can suspend
28#?*GREETER-X-0 GET-CAN-SUSPEND
29#?LOGIN1 CAN-SUSPEND
30#?GREETER-X-0 CAN-SUSPEND ALLOWED=TRUE
31
32# Suspend
33#?*GREETER-X-0 SUSPEND
34#?LOGIN1 SUSPEND
35
36# See if can hibernate
37#?*GREETER-X-0 GET-CAN-HIBERNATE
38#?LOGIN1 CAN-HIBERNATE
39#?GREETER-X-0 CAN-HIBERNATE ALLOWED=TRUE
40
41# Hibernate
42#?*GREETER-X-0 HIBERNATE
43#?LOGIN1 HIBERNATE
44
45# See if can restart
46#?*GREETER-X-0 GET-CAN-RESTART
47#?LOGIN1 CAN-REBOOT
48#?GREETER-X-0 CAN-RESTART ALLOWED=TRUE
49
50# Restart
51#?*GREETER-X-0 RESTART
52#?LOGIN1 REBOOT
53
54# See if can shutdown
55#?*GREETER-X-0 GET-CAN-SHUTDOWN
56#?LOGIN1 CAN-POWER-OFF
57#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=TRUE
58
59# Shutdown
60#?*GREETER-X-0 SHUTDOWN
61#?LOGIN1 POWER-OFF
62
63# Cleanup
64#?*STOP-DAEMON
65#?GREETER-X-0 TERMINATE SIGNAL=15
66#?XSERVER-0 TERMINATE SIGNAL=15
67#?RUNNER DAEMON-EXIT STATUS=0
680
=== modified file 'tests/scripts/power-no-login1.conf'
--- tests/scripts/power-no-login1.conf 2014-03-17 18:33:02 +0000
+++ tests/scripts/power-no-login1.conf 2014-10-02 07:55:11 +0000
@@ -1,5 +1,5 @@
1#1#
2# Check can do power operations from the greeter when no login1 service (falls back to ConsoleKit)2# Check powe operations marked as disabled when no login1 service
3#3#
44
5[test-runner-config]5[test-runner-config]
@@ -17,8 +17,7 @@
17#?XSERVER-0 ACCEPT-CONNECT17#?XSERVER-0 ACCEPT-CONNECT
1818
19# Greeter starts19# Greeter starts
20#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_COOKIE=ck-cookie-x:0 XDG_SESSION_CLASS=greeter20#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
21#?CONSOLE-KIT ACTIVATE-SESSION SESSION=ck-cookie-x:0
22#?XSERVER-0 ACCEPT-CONNECT21#?XSERVER-0 ACCEPT-CONNECT
23#?GREETER-X-0 CONNECT-XSERVER22#?GREETER-X-0 CONNECT-XSERVER
24#?GREETER-X-0 CONNECT-TO-DAEMON23#?GREETER-X-0 CONNECT-TO-DAEMON
@@ -44,21 +43,11 @@
4443
45# See if can restart44# See if can restart
46#?*GREETER-X-0 GET-CAN-RESTART45#?*GREETER-X-0 GET-CAN-RESTART
47#?CONSOLE-KIT CAN-RESTART46#?GREETER-X-0 CAN-RESTART ALLOWED=FALSE
48#?GREETER-X-0 CAN-RESTART ALLOWED=TRUE
49
50# Restart
51#?*GREETER-X-0 RESTART
52#?CONSOLE-KIT RESTART
5347
54# See if can shutdown48# See if can shutdown
55#?*GREETER-X-0 GET-CAN-SHUTDOWN49#?*GREETER-X-0 GET-CAN-SHUTDOWN
56#?CONSOLE-KIT CAN-STOP50#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=FALSE
57#?GREETER-X-0 CAN-SHUTDOWN ALLOWED=TRUE
58
59# Shutdown
60#?*GREETER-X-0 SHUTDOWN
61#?CONSOLE-KIT STOP
6251
63# Cleanup52# Cleanup
64#?*STOP-DAEMON53#?*STOP-DAEMON
6554
=== modified file 'tests/scripts/power-no-services.conf'
--- tests/scripts/power-no-services.conf 2014-02-25 04:01:50 +0000
+++ tests/scripts/power-no-services.conf 2014-10-02 07:55:11 +0000
@@ -4,7 +4,6 @@
44
5[test-runner-config]5[test-runner-config]
6disable-upower=true6disable-upower=true
7disable-console-kit=true
8disable-login1=true7disable-login1=true
98
10#?*START-DAEMON9#?*START-DAEMON
1110
=== modified file 'tests/src/test-gobject-greeter.c'
--- tests/src/test-gobject-greeter.c 2014-09-29 23:42:38 +0000
+++ tests/src/test-gobject-greeter.c 2014-10-02 07:55:11 +0000
@@ -407,7 +407,7 @@
407int407int
408main (int argc, char **argv)408main (int argc, char **argv)
409{409{
410 gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *xdg_session_class, *mir_socket, *mir_vt, *mir_id, *path;410 gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_class, *mir_socket, *mir_vt, *mir_id, *path;
411 GString *status_text;411 GString *status_text;
412412
413#if !defined(GLIB_VERSION_2_36)413#if !defined(GLIB_VERSION_2_36)
@@ -417,7 +417,6 @@
417 display = getenv ("DISPLAY");417 display = getenv ("DISPLAY");
418 xdg_seat = getenv ("XDG_SEAT");418 xdg_seat = getenv ("XDG_SEAT");
419 xdg_vtnr = getenv ("XDG_VTNR");419 xdg_vtnr = getenv ("XDG_VTNR");
420 xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
421 xdg_session_class = getenv ("XDG_SESSION_CLASS");420 xdg_session_class = getenv ("XDG_SESSION_CLASS");
422 mir_socket = getenv ("MIR_SOCKET");421 mir_socket = getenv ("MIR_SOCKET");
423 mir_vt = getenv ("MIR_SERVER_VT");422 mir_vt = getenv ("MIR_SERVER_VT");
@@ -449,8 +448,6 @@
449 g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);448 g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);
450 if (xdg_vtnr)449 if (xdg_vtnr)
451 g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);450 g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
452 if (xdg_session_cookie)
453 g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
454 if (xdg_session_class)451 if (xdg_session_class)
455 g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);452 g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);
456 if (mir_vt > 0)453 if (mir_vt > 0)
457454
=== modified file 'tests/src/test-python-greeter'
--- tests/src/test-python-greeter 2014-06-30 03:24:28 +0000
+++ tests/src/test-python-greeter 2014-10-02 07:55:11 +0000
@@ -12,7 +12,6 @@
12display = os.getenv ('DISPLAY');12display = os.getenv ('DISPLAY');
13xdg_seat = os.getenv ('XDG_SEAT');13xdg_seat = os.getenv ('XDG_SEAT');
14xdg_vtnr = os.getenv ('XDG_VTNR');14xdg_vtnr = os.getenv ('XDG_VTNR');
15xdg_session_cookie = os.getenv ('XDG_SESSION_COOKIE');
16xdg_session_class = os.getenv ('XDG_SESSION_CLASS');15xdg_session_class = os.getenv ('XDG_SESSION_CLASS');
17if display is not None:16if display is not None:
18 if display.startswith (':'):17 if display.startswith (':'):
@@ -222,8 +221,6 @@
222 status_text += ' XDG_SEAT=%s' % xdg_seat221 status_text += ' XDG_SEAT=%s' % xdg_seat
223if xdg_vtnr is not None:222if xdg_vtnr is not None:
224 status_text += ' XDG_VTNR=%s' % xdg_vtnr223 status_text += ' XDG_VTNR=%s' % xdg_vtnr
225if xdg_session_cookie is not None:
226 status_text += ' XDG_SESSION_COOKIE=%s' % xdg_session_cookie
227if xdg_session_class is not None:224if xdg_session_class is not None:
228 status_text += ' XDG_SESSION_CLASS=%s' % xdg_session_class225 status_text += ' XDG_SESSION_CLASS=%s' % xdg_session_class
229status_notify (status_text)226status_notify (status_text)
230227
=== modified file 'tests/src/test-qt-greeter.cpp'
--- tests/src/test-qt-greeter.cpp 2014-06-30 04:19:52 +0000
+++ tests/src/test-qt-greeter.cpp 2014-10-02 07:55:11 +0000
@@ -245,7 +245,7 @@
245int245int
246main(int argc, char *argv[])246main(int argc, char *argv[])
247{247{
248 gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *xdg_session_class;248 gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_class;
249 GString *status_text; 249 GString *status_text;
250250
251#if !defined(GLIB_VERSION_2_36)251#if !defined(GLIB_VERSION_2_36)
@@ -255,7 +255,6 @@
255 display = getenv ("DISPLAY");255 display = getenv ("DISPLAY");
256 xdg_seat = getenv ("XDG_SEAT");256 xdg_seat = getenv ("XDG_SEAT");
257 xdg_vtnr = getenv ("XDG_VTNR");257 xdg_vtnr = getenv ("XDG_VTNR");
258 xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
259 xdg_session_class = getenv ("XDG_SESSION_CLASS");258 xdg_session_class = getenv ("XDG_SESSION_CLASS");
260 if (display)259 if (display)
261 {260 {
@@ -285,8 +284,6 @@
285 g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);284 g_string_append_printf (status_text, " XDG_SEAT=%s", xdg_seat);
286 if (xdg_vtnr)285 if (xdg_vtnr)
287 g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);286 g_string_append_printf (status_text, " XDG_VTNR=%s", xdg_vtnr);
288 if (xdg_session_cookie)
289 g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
290 if (xdg_session_class)287 if (xdg_session_class)
291 g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);288 g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);
292 status_notify ("%s", status_text->str);289 status_notify ("%s", status_text->str);
293290
=== modified file 'tests/src/test-runner.c'
--- tests/src/test-runner.c 2014-10-02 02:46:13 +0000
+++ tests/src/test-runner.c 2014-10-02 07:55:11 +0000
@@ -81,28 +81,6 @@
81 handle_user_call,81 handle_user_call,
82 handle_user_get_property,82 handle_user_get_property,
83};83};
84static GDBusNodeInfo *ck_session_info;
85typedef struct
86{
87 gchar *cookie;
88 gchar *path;
89 guint id;
90 gboolean locked;
91} CKSession;
92static GList *ck_sessions = NULL;
93static gint ck_session_index = 0;
94static void handle_ck_session_call (GDBusConnection *connection,
95 const gchar *sender,
96 const gchar *object_path,
97 const gchar *interface_name,
98 const gchar *method_name,
99 GVariant *parameters,
100 GDBusMethodInvocation *invocation,
101 gpointer user_data);
102static const GDBusInterfaceVTable ck_session_vtable =
103{
104 handle_ck_session_call,
105};
10684
107typedef struct85typedef struct
108{86{
@@ -1221,249 +1199,6 @@
1221 NULL);1199 NULL);
1222}1200}
12231201
1224static CKSession *
1225open_ck_session (GDBusConnection *connection, GVariant *params)
1226{
1227 CKSession *session;
1228 GString *cookie;
1229 GVariantIter *iter;
1230 const gchar *name;
1231 GVariant *value;
1232 GError *error = NULL;
1233
1234 session = g_malloc0 (sizeof (CKSession));
1235 ck_sessions = g_list_append (ck_sessions, session);
1236
1237 cookie = g_string_new ("ck-cookie");
1238 g_variant_get (params, "a(sv)", &iter);
1239 while (g_variant_iter_loop (iter, "(&sv)", &name, &value))
1240 {
1241 if (strcmp (name, "x11-display") == 0)
1242 {
1243 const gchar *display;
1244 g_variant_get (value, "&s", &display);
1245 g_string_append_printf (cookie, "-x%s", display);
1246 }
1247 }
1248
1249 session->cookie = cookie->str;
1250 g_string_free (cookie, FALSE);
1251 session->path = g_strdup_printf ("/org/freedesktop/ConsoleKit/Session%d", ck_session_index++);
1252 session->id = g_dbus_connection_register_object (connection,
1253 session->path,
1254 ck_session_info->interfaces[0],
1255 &ck_session_vtable,
1256 session,
1257 NULL,
1258 &error);
1259 if (error)
1260 g_warning ("Failed to register CK Session: %s", error->message);
1261 g_clear_error (&error);
1262
1263 return session;
1264}
1265
1266static void
1267handle_ck_call (GDBusConnection *connection,
1268 const gchar *sender,
1269 const gchar *object_path,
1270 const gchar *interface_name,
1271 const gchar *method_name,
1272 GVariant *parameters,
1273 GDBusMethodInvocation *invocation,
1274 gpointer user_data)
1275{
1276 if (strcmp (method_name, "CanRestart") == 0)
1277 {
1278 check_status ("CONSOLE-KIT CAN-RESTART");
1279 g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", TRUE));
1280 }
1281 else if (strcmp (method_name, "CanStop") == 0)
1282 {
1283 check_status ("CONSOLE-KIT CAN-STOP");
1284 g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", TRUE));
1285 }
1286 else if (strcmp (method_name, "CloseSession") == 0)
1287 g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", TRUE));
1288 else if (strcmp (method_name, "OpenSession") == 0)
1289 {
1290 GVariantBuilder params;
1291 g_variant_builder_init (&params, G_VARIANT_TYPE ("a(sv)"));
1292 CKSession *session = open_ck_session (connection, g_variant_builder_end (&params));
1293 g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", session->cookie));
1294 }
1295 else if (strcmp (method_name, "OpenSessionWithParameters") == 0)
1296 {
1297 CKSession *session = open_ck_session (connection, g_variant_get_child_value (parameters, 0));
1298 g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", session->cookie));
1299 }
1300 else if (strcmp (method_name, "GetSessionForCookie") == 0)
1301 {
1302 GList *link;
1303 gchar *cookie;
1304
1305 g_variant_get (parameters, "(&s)", &cookie);
1306
1307 for (link = ck_sessions; link; link = link->next)
1308 {
1309 CKSession *session = link->data;
1310 if (strcmp (session->cookie, cookie) == 0)
1311 {
1312 g_dbus_method_invocation_return_value (invocation, g_variant_new ("(o)", session->path));
1313 return;
1314 }
1315 }
1316
1317 g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "Unable to find session for cookie");
1318 }
1319 else if (strcmp (method_name, "Restart") == 0)
1320 {
1321 check_status ("CONSOLE-KIT RESTART");
1322 g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
1323 }
1324 else if (strcmp (method_name, "Stop") == 0)
1325 {
1326 check_status ("CONSOLE-KIT STOP");
1327 g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
1328 }
1329 else
1330 g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
1331}
1332
1333static void
1334handle_ck_session_call (GDBusConnection *connection,
1335 const gchar *sender,
1336 const gchar *object_path,
1337 const gchar *interface_name,
1338 const gchar *method_name,
1339 GVariant *parameters,
1340 GDBusMethodInvocation *invocation,
1341 gpointer user_data)
1342{
1343 CKSession *session = user_data;
1344
1345 if (strcmp (method_name, "Lock") == 0)
1346 {
1347 if (!session->locked)
1348 check_status ("CONSOLE-KIT LOCK-SESSION");
1349 session->locked = TRUE;
1350 g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
1351 }
1352 else if (strcmp (method_name, "Unlock") == 0)
1353 {
1354 if (session->locked)
1355 check_status ("CONSOLE-KIT UNLOCK-SESSION");
1356 session->locked = FALSE;
1357 g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
1358 }
1359 else if (strcmp (method_name, "Activate") == 0)
1360 {
1361 gchar *status = g_strdup_printf ("CONSOLE-KIT ACTIVATE-SESSION SESSION=%s", session->cookie);
1362 check_status (status);
1363 g_free (status);
1364
1365 g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
1366 }
1367 else
1368 g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_FAILED, "No such method: %s", method_name);
1369}
1370
1371static void
1372ck_name_acquired_cb (GDBusConnection *connection,
1373 const gchar *name,
1374 gpointer user_data)
1375{
1376 const gchar *ck_interface =
1377 "<node>"
1378 " <interface name='org.freedesktop.ConsoleKit.Manager'>"
1379 " <method name='CanRestart'>"
1380 " <arg name='can_restart' direction='out' type='b'/>"
1381 " </method>"
1382 " <method name='CanStop'>"
1383 " <arg name='can_stop' direction='out' type='b'/>"
1384 " </method>"
1385 " <method name='CloseSession'>"
1386 " <arg name='cookie' direction='in' type='s'/>"
1387 " <arg name='result' direction='out' type='b'/>"
1388 " </method>"
1389 " <method name='OpenSession'>"
1390 " <arg name='cookie' direction='out' type='s'/>"
1391 " </method>"
1392 " <method name='OpenSessionWithParameters'>"
1393 " <arg name='parameters' direction='in' type='a(sv)'/>"
1394 " <arg name='cookie' direction='out' type='s'/>"
1395 " </method>"
1396 " <method name='GetSessionForCookie'>"
1397 " <arg name='cookie' direction='in' type='s'/>"
1398 " <arg name='ssid' direction='out' type='o'/>"
1399 " </method>"
1400 " <method name='Restart'/>"
1401 " <method name='Stop'/>"
1402 " <signal name='SeatAdded'>"
1403 " <arg name='seat' type='o'/>"
1404 " </signal>"
1405 " <signal name='SeatRemoved'>"
1406 " <arg name='seat' type='o'/>"
1407 " </signal>"
1408 " </interface>"
1409 "</node>";
1410 static const GDBusInterfaceVTable ck_vtable =
1411 {
1412 handle_ck_call,
1413 };
1414 const gchar *ck_session_interface =
1415 "<node>"
1416 " <interface name='org.freedesktop.ConsoleKit.Session'>"
1417 " <method name='Lock'/>"
1418 " <method name='Unlock'/>"
1419 " <method name='Activate'/>"
1420 " </interface>"
1421 "</node>";
1422 GDBusNodeInfo *ck_info;
1423 GError *error = NULL;
1424
1425 ck_info = g_dbus_node_info_new_for_xml (ck_interface, &error);
1426 if (error)
1427 g_warning ("Failed to parse D-Bus interface: %s", error->message);
1428 g_clear_error (&error);
1429 if (!ck_info)
1430 return;
1431 ck_session_info = g_dbus_node_info_new_for_xml (ck_session_interface, &error);
1432 if (error)
1433 g_warning ("Failed to parse D-Bus interface: %s", error->message);
1434 g_clear_error (&error);
1435 if (!ck_session_info)
1436 return;
1437 g_dbus_connection_register_object (connection,
1438 "/org/freedesktop/ConsoleKit/Manager",
1439 ck_info->interfaces[0],
1440 &ck_vtable,
1441 NULL, NULL,
1442 &error);
1443 if (error)
1444 g_warning ("Failed to register console kit service: %s", error->message);
1445 g_clear_error (&error);
1446 g_dbus_node_info_unref (ck_info);
1447
1448 service_count--;
1449 if (service_count == 0)
1450 ready ();
1451}
1452
1453static void
1454start_console_kit_daemon (void)
1455{
1456 service_count++;
1457 g_bus_own_name (G_BUS_TYPE_SYSTEM,
1458 "org.freedesktop.ConsoleKit",
1459 G_BUS_NAME_OWNER_FLAGS_NONE,
1460 NULL,
1461 ck_name_acquired_cb,
1462 NULL,
1463 NULL,
1464 NULL);
1465}
1466
1467static void1202static void
1468handle_login1_seat_call (GDBusConnection *connection,1203handle_login1_seat_call (GDBusConnection *connection,
1469 const gchar *sender,1204 const gchar *sender,
@@ -2813,8 +2548,6 @@
2813 /* Start D-Bus services */2548 /* Start D-Bus services */
2814 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-upower", NULL))2549 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-upower", NULL))
2815 start_upower_daemon ();2550 start_upower_daemon ();
2816 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-console-kit", NULL))
2817 start_console_kit_daemon ();
2818 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-login1", NULL))2551 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-login1", NULL))
2819 start_login1_daemon ();2552 start_login1_daemon ();
2820 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-accounts-service", NULL))2553 if (!g_key_file_get_boolean (config, "test-runner-config", "disable-accounts-service", NULL))
28212554
=== modified file 'tests/src/test-session.c'
--- tests/src/test-session.c 2014-09-19 03:16:14 +0000
+++ tests/src/test-session.c 2014-10-02 07:55:11 +0000
@@ -229,7 +229,7 @@
229int229int
230main (int argc, char **argv)230main (int argc, char **argv)
231{231{
232 gchar *display, *xdg_seat, *xdg_vtnr, *xdg_current_desktop, *xdg_greeter_data_dir, *xdg_session_cookie, *xdg_session_class, *xdg_session_type, *xdg_session_desktop, *mir_socket, *mir_vt, *mir_id;232 gchar *display, *xdg_seat, *xdg_vtnr, *xdg_current_desktop, *xdg_greeter_data_dir, *xdg_session_class, *xdg_session_type, *xdg_session_desktop, *mir_socket, *mir_vt, *mir_id;
233 GString *status_text;233 GString *status_text;
234 int fd, open_max;234 int fd, open_max;
235235
@@ -238,7 +238,6 @@
238 xdg_vtnr = getenv ("XDG_VTNR");238 xdg_vtnr = getenv ("XDG_VTNR");
239 xdg_current_desktop = getenv ("XDG_CURRENT_DESKTOP");239 xdg_current_desktop = getenv ("XDG_CURRENT_DESKTOP");
240 xdg_greeter_data_dir = getenv ("XDG_GREETER_DATA_DIR");240 xdg_greeter_data_dir = getenv ("XDG_GREETER_DATA_DIR");
241 xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
242 xdg_session_class = getenv ("XDG_SESSION_CLASS");241 xdg_session_class = getenv ("XDG_SESSION_CLASS");
243 xdg_session_type = getenv ("XDG_SESSION_TYPE");242 xdg_session_type = getenv ("XDG_SESSION_TYPE");
244 xdg_session_desktop = getenv ("XDG_SESSION_DESKTOP");243 xdg_session_desktop = getenv ("XDG_SESSION_DESKTOP");
@@ -290,8 +289,6 @@
290 g_string_append_printf (status_text, " XDG_CURRENT_DESKTOP=%s", xdg_current_desktop);289 g_string_append_printf (status_text, " XDG_CURRENT_DESKTOP=%s", xdg_current_desktop);
291 if (xdg_greeter_data_dir)290 if (xdg_greeter_data_dir)
292 g_string_append_printf (status_text, " XDG_GREETER_DATA_DIR=%s", xdg_greeter_data_dir);291 g_string_append_printf (status_text, " XDG_GREETER_DATA_DIR=%s", xdg_greeter_data_dir);
293 if (xdg_session_cookie)
294 g_string_append_printf (status_text, " XDG_SESSION_COOKIE=%s", xdg_session_cookie);
295 if (xdg_session_class)292 if (xdg_session_class)
296 g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);293 g_string_append_printf (status_text, " XDG_SESSION_CLASS=%s", xdg_session_class);
297 if (xdg_session_type)294 if (xdg_session_type)
298295
=== removed file 'tests/test-console-kit'
--- tests/test-console-kit 2012-02-29 22:23:17 +0000
+++ tests/test-console-kit 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner console-kit test-gobject-greeter
30
=== removed file 'tests/test-lock-seat-console-kit'
--- tests/test-lock-seat-console-kit 2013-08-08 09:15:11 +0000
+++ tests/test-lock-seat-console-kit 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner lock-seat-console-kit test-gobject-greeter
30
=== removed file 'tests/test-lock-seat-return-session-console-kit'
--- tests/test-lock-seat-return-session-console-kit 2013-08-08 10:10:19 +0000
+++ tests/test-lock-seat-return-session-console-kit 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner lock-seat-return-session-console-kit test-gobject-greeter
30
=== removed file 'tests/test-no-console-kit'
--- tests/test-no-console-kit 2013-04-23 22:51:09 +0000
+++ tests/test-no-console-kit 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner no-console-kit test-gobject-greeter
30
=== removed file 'tests/test-no-console-kit-or-login1'
--- tests/test-no-console-kit-or-login1 2013-04-22 12:20:48 +0000
+++ tests/test-no-console-kit-or-login1 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner no-console-kit-or-login1 test-gobject-greeter
30
=== removed file 'tests/test-power-no-console-kit-gobject'
--- tests/test-power-no-console-kit-gobject 2014-05-15 22:37:49 +0000
+++ tests/test-power-no-console-kit-gobject 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner power-no-console-kit test-gobject-greeter
30
=== removed file 'tests/test-power-no-console-kit-python'
--- tests/test-power-no-console-kit-python 2014-05-15 22:37:49 +0000
+++ tests/test-power-no-console-kit-python 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner power-no-console-kit test-python-greeter
30
=== removed file 'tests/test-power-no-console-kit-qt4'
--- tests/test-power-no-console-kit-qt4 2014-05-15 22:37:49 +0000
+++ tests/test-power-no-console-kit-qt4 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner power-no-console-kit test-qt4-greeter
30
=== removed file 'tests/test-power-no-console-kit-qt5'
--- tests/test-power-no-console-kit-qt5 2014-05-15 22:37:49 +0000
+++ tests/test-power-no-console-kit-qt5 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
1#!/bin/sh
2./src/dbus-env ./src/test-runner power-no-console-kit test-qt5-greeter

Subscribers

People subscribed via source and target branches