diff options
author | Ray Strode <rstrode@redhat.com> | 2015-06-12 13:28:01 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2015-06-12 14:29:03 -0400 |
commit | 1ac67f522f5690c27023d98096ca817f12f7eb88 (patch) | |
tree | 3d562e9ec0ef2ee4822bcd6888c063c5bc92b74f /daemon | |
parent | 9f96354ba6612f14eade901db0b95cae050d2ab9 (diff) | |
download | gdm-1ac67f522f5690c27023d98096ca817f12f7eb88.tar.gz |
drop consolekit support
It was deprecated in 3.16 to be removed in 3.18
https://bugzilla.gnome.org/show_bug.cgi?id=743940
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/Makefile.am | 10 | ||||
-rw-r--r-- | daemon/gdm-launch-environment.c | 3 | ||||
-rw-r--r-- | daemon/gdm-local-display-factory.c | 11 | ||||
-rw-r--r-- | daemon/gdm-manager.c | 317 | ||||
-rw-r--r-- | daemon/gdm-server.c | 38 | ||||
-rw-r--r-- | daemon/gdm-session-worker.c | 233 |
6 files changed, 1 insertions, 611 deletions
diff --git a/daemon/Makefile.am b/daemon/Makefile.am index e3cf73a6..ab5dda06 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -20,7 +20,6 @@ AM_CPPFLAGS = \ -DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \ -DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \ -DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \ - -DCONSOLEKIT_DIR=\"$(CONSOLEKIT_DIR)\" \ $(DISABLE_DEPRECATED_CFLAGS) \ $(DAEMON_CFLAGS) \ $(XLIB_CFLAGS) \ @@ -265,11 +264,6 @@ EXTRA_gdm_SOURCES = \ $(XDMCP_SOURCES) \ $(NULL) -CONSOLE_KIT_SOURCES = \ - $(NULL) - -EXTRA_gdm_SOURCES += $(CONSOLE_KIT_SOURCES) - gdm_LDADD = \ $(top_builddir)/common/libgdmcommon.la \ $(XLIB_LIBS) \ @@ -281,10 +275,6 @@ gdm_LDADD = \ $(EXTRA_DAEMON_LIBS) \ $(NULL) -if WITH_CONSOLE_KIT -gdm_SOURCES += $(CONSOLE_KIT_SOURCES) -endif - CLEANFILES = \ gdm-display-glue.c \ gdm-local-display-factory-glue.c \ diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c index aaf78343..69301357 100644 --- a/daemon/gdm-launch-environment.c +++ b/daemon/gdm-launch-environment.c @@ -282,9 +282,6 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment, char *seat_id; seat_id = launch_environment->priv->x11_display_seat_id; - if (g_str_has_prefix (seat_id, "/org/freedesktop/ConsoleKit/")) { - seat_id += strlen ("/org/freedesktop/ConsoleKit/"); - } g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id)); } diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c index af15617f..a048b087 100644 --- a/daemon/gdm-local-display-factory.c +++ b/daemon/gdm-local-display-factory.c @@ -42,7 +42,6 @@ #define GDM_LOCAL_DISPLAY_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_LOCAL_DISPLAY_FACTORY, GdmLocalDisplayFactoryPrivate)) -#define CK_SEAT1_PATH "/org/freedesktop/ConsoleKit/Seat1" #define SYSTEMD_SEAT0_PATH "seat0" #define GDM_DBUS_PATH "/org/gnome/DisplayManager" @@ -206,10 +205,6 @@ get_seat_of_transient_display (GdmLocalDisplayFactory *factory) } #endif - if (seat_id == NULL) { - seat_id = CK_SEAT1_PATH; - } - return seat_id; } @@ -575,7 +570,6 @@ static gboolean gdm_local_display_factory_start (GdmDisplayFactory *base_factory) { GdmLocalDisplayFactory *factory = GDM_LOCAL_DISPLAY_FACTORY (base_factory); - GdmDisplay *display; g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); @@ -586,10 +580,7 @@ gdm_local_display_factory_start (GdmDisplayFactory *base_factory) } #endif - /* On ConsoleKit just create Seat1, and that's it. */ - display = create_display (factory, CK_SEAT1_PATH, NULL, TRUE); - - return display != NULL; + return FALSE; } static gboolean diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index 5e496f70..6a62d182 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -59,15 +59,6 @@ #define GDM_MANAGER_PATH GDM_DBUS_PATH "/Manager" #define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays" -#define CK_NAME "org.freedesktop.ConsoleKit" -#define CK_PATH "/org/freedesktop/ConsoleKit" -#define CK_INTERFACE "org.freedesktop.ConsoleKit" - -#define CK_MANAGER_PATH "/org/freedesktop/ConsoleKit/Manager" -#define CK_MANAGER_INTERFACE "org.freedesktop.ConsoleKit.Manager" -#define CK_SEAT_INTERFACE "org.freedesktop.ConsoleKit.Seat" -#define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session" - #define INITIAL_SETUP_USERNAME "gnome-initial-setup" typedef struct @@ -243,36 +234,6 @@ get_session_id_for_pid_systemd (pid_t pid, } #endif -#ifdef WITH_CONSOLE_KIT -static char * -get_session_id_for_pid_consolekit (GDBusConnection *connection, - pid_t pid, - GError **error) -{ - GVariant *reply; - char *retval; - - reply = g_dbus_connection_call_sync (connection, - "org.freedesktop.ConsoleKit", - "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", - "GetSessionForUnixProcess", - g_variant_new ("(u)", pid), - G_VARIANT_TYPE ("(o)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, error); - if (reply == NULL) { - return NULL; - } - - g_variant_get (reply, "(o)", &retval); - g_variant_unref (reply); - - return retval; -} -#endif - static char * get_session_id_for_pid (GDBusConnection *connection, pid_t pid, @@ -284,10 +245,6 @@ get_session_id_for_pid (GDBusConnection *connection, } #endif -#ifdef WITH_CONSOLE_KIT - return get_session_id_for_pid_consolekit (connection, pid, error); -#endif - return NULL; } @@ -314,40 +271,6 @@ get_uid_for_systemd_session_id (const char *session_id, } #endif -#ifdef WITH_CONSOLE_KIT -static gboolean -get_uid_for_consolekit_session_id (GDBusConnection *connection, - const char *session_id, - uid_t *out_uid, - GError **error) -{ - GVariant *reply; - guint32 uid; - - reply = g_dbus_connection_call_sync (connection, - "org.freedesktop.ConsoleKit", - session_id, - "org.freedesktop.ConsoleKit.Session", - "GetUnixUser", - NULL, - G_VARIANT_TYPE ("(u)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - error); - if (reply == NULL) { - return FALSE; - } - - g_variant_get (reply, "(u)", &uid); - g_variant_unref (reply); - - *out_uid = (uid_t) uid; - - return TRUE; -} -#endif - static gboolean get_uid_for_session_id (GDBusConnection *connection, const char *session_id, @@ -360,10 +283,6 @@ get_uid_for_session_id (GDBusConnection *connection, } #endif -#ifdef WITH_CONSOLE_KIT - return get_uid_for_consolekit_session_id (connection, session_id, uid, error); -#endif - return FALSE; } @@ -379,45 +298,6 @@ lookup_by_session_id (const char *id, return g_strcmp0 (current, looking_for) == 0; } -#ifdef WITH_CONSOLE_KIT -static gboolean -is_consolekit_login_session (GdmManager *self, - GDBusConnection *connection, - const char *session_id, - GError **error) -{ - GVariant *reply; - char *session_type = NULL; - - reply = g_dbus_connection_call_sync (connection, - "org.freedesktop.ConsoleKit", - session_id, - "org.freedesktop.ConsoleKit.Session", - "GetSessionType", - NULL, - G_VARIANT_TYPE ("(s)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - error); - if (reply == NULL) { - return FALSE; - } - - g_variant_get (reply, "(s)", &session_type); - g_variant_unref (reply); - - if (g_strcmp0 (session_type, "LoginWindow") != 0) { - g_free (session_type); - - return FALSE; - } - - g_free (session_type); - return TRUE; -} -#endif - #ifdef WITH_SYSTEMD static gboolean is_systemd_login_session (GdmManager *self, @@ -461,10 +341,6 @@ is_login_session (GdmManager *self, } #endif -#ifdef WITH_CONSOLE_KIT - return is_consolekit_login_session (self, connection, session_id, error); -#endif - return FALSE; } @@ -501,46 +377,6 @@ activate_session_id_for_systemd (GdmManager *manager, } #endif -#ifdef WITH_CONSOLE_KIT -static gboolean -activate_session_id_for_ck (GdmManager *manager, - const char *seat_id, - const char *session_id) -{ - GError *error = NULL; - GVariant *reply; - - reply = g_dbus_connection_call_sync (manager->priv->connection, - CK_NAME, - seat_id, - "org.freedesktop.ConsoleKit.Seat", - "ActivateSession", - g_variant_new ("(o)", session_id), - NULL, /* expected reply */ - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - &error); - if (reply == NULL) { - g_debug ("GdmManager: ConsoleKit %s raised:\n %s\n\n", - g_dbus_error_get_remote_error (error), error->message); - g_error_free (error); - - /* It is very likely that the "error" just reported is - * that the session is already active. Unfortunately, - * ConsoleKit doesn't use proper error codes and it - * translates the error message, so we have no real way - * to detect this case... - */ - return TRUE; - } - - g_variant_unref (reply); - - return TRUE; -} -#endif - static gboolean activate_session_id (GdmManager *manager, const char *seat_id, @@ -553,11 +389,7 @@ activate_session_id (GdmManager *manager, } #endif -#ifdef WITH_CONSOLE_KIT - return activate_session_id_for_ck (manager, seat_id, session_id); -#else return FALSE; -#endif } #ifdef WITH_SYSTEMD @@ -592,38 +424,6 @@ session_unlock_for_systemd (GdmManager *manager, } #endif -#ifdef WITH_CONSOLE_KIT -static gboolean -session_unlock_for_ck (GdmManager *manager, - const char *ssid) -{ - GError *error = NULL; - GVariant *reply; - - reply = g_dbus_connection_call_sync (manager->priv->connection, - CK_NAME, - ssid, - CK_SESSION_INTERFACE, - "Unlock", - NULL, /* parameters */ - NULL, /* expected reply */ - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - &error); - if (reply == NULL) { - g_debug ("GdmManager: ConsoleKit %s raised:\n %s\n\n", - g_dbus_error_get_remote_error (error), error->message); - g_error_free (error); - return FALSE; - } - - g_variant_unref (reply); - - return TRUE; -} -#endif - static gboolean session_unlock (GdmManager *manager, const char *ssid) @@ -637,11 +437,7 @@ session_unlock (GdmManager *manager, } #endif -#ifdef WITH_CONSOLE_KIT - return session_unlock_for_ck (manager, ssid); -#else return TRUE; -#endif } static GdmSession * @@ -674,38 +470,6 @@ find_session_for_user_on_seat (GdmManager *manager, return NULL; } -#ifdef WITH_CONSOLE_KIT -static gboolean -is_consolekit_remote_session (GdmManager *self, - GDBusConnection *connection, - const char *session_id, - GError **error) -{ - GVariant *reply; - gboolean is_remote; - - reply = g_dbus_connection_call_sync (connection, - "org.freedesktop.ConsoleKit", - session_id, - "org.freedesktop.ConsoleKit.Session", - "IsLocal", - NULL, - G_VARIANT_TYPE ("(b)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - error); - if (reply == NULL) { - return FALSE; - } - - g_variant_get (reply, "(b)", &is_remote); - g_variant_unref (reply); - - return is_remote; -} -#endif - #ifdef WITH_SYSTEMD static gboolean is_systemd_remote_session (GdmManager *self, @@ -750,10 +514,6 @@ is_remote_session (GdmManager *self, } #endif -#ifdef WITH_CONSOLE_KIT - return is_consolekit_remote_session (self, connection, session_id, error); -#endif - return FALSE; } @@ -787,37 +547,6 @@ get_seat_id_for_systemd_session_id (const char *session_id, } #endif -#ifdef WITH_CONSOLE_KIT -static char * -get_seat_id_for_consolekit_session_id (GDBusConnection *connection, - const char *session_id, - GError **error) -{ - GVariant *reply; - char *retval; - - reply = g_dbus_connection_call_sync (connection, - "org.freedesktop.ConsoleKit", - session_id, - "org.freedesktop.ConsoleKit.Session", - "GetSeatId", - NULL, - G_VARIANT_TYPE ("(o)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - error); - if (reply == NULL) { - return NULL; - } - - g_variant_get (reply, "(o)", &retval); - g_variant_unref (reply); - - return retval; -} -#endif - static char * get_seat_id_for_session_id (GDBusConnection *connection, const char *session_id, @@ -829,10 +558,6 @@ get_seat_id_for_session_id (GDBusConnection *connection, } #endif -#ifdef WITH_CONSOLE_KIT - return get_seat_id_for_consolekit_session_id (connection, session_id, error); -#endif - return NULL; } @@ -2156,46 +1881,6 @@ on_user_session_died (GdmSession *session, } static char * -query_ck_for_display_device (GdmManager *manager, - GdmDisplay *display) -{ - char *out; - char *command; - char *display_name = NULL; - int status; - gboolean res; - GError *error; - - g_object_get (G_OBJECT (display), - "x11-display-name", &display_name, - NULL); - - error = NULL; - command = g_strdup_printf (CONSOLEKIT_DIR "/ck-get-x11-display-device --display %s", - display_name); - g_free (display_name); - - g_debug ("GdmManager: Running helper %s", command); - out = NULL; - res = g_spawn_command_line_sync (command, - &out, - NULL, - &status, - &error); - if (! res) { - g_warning ("GdmManager: Could not run helper %s: %s", command, error->message); - g_error_free (error); - } else { - out = g_strstrip (out); - g_debug ("GdmManager: Got tty: '%s'", out); - } - - g_free (command); - - return out; -} - -static char * get_display_device (GdmManager *manager, GdmDisplay *display) { @@ -2205,8 +1890,6 @@ get_display_device (GdmManager *manager, return NULL; } #endif - - return query_ck_for_display_device (manager, display); } static void diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c index bacc0800..b0376d97 100644 --- a/daemon/gdm-server.c +++ b/daemon/gdm-server.c @@ -124,41 +124,6 @@ static void gdm_server_finalize (GObject *object); G_DEFINE_TYPE (GdmServer, gdm_server, G_TYPE_OBJECT) -static char * -_gdm_server_query_ck_for_display_device (GdmServer *server) -{ - char *out; - char *command; - int status; - gboolean res; - GError *error; - - g_return_val_if_fail (GDM_IS_SERVER (server), NULL); - - error = NULL; - command = g_strdup_printf (CONSOLEKIT_DIR "/ck-get-x11-display-device --display %s", - server->priv->display_name); - - g_debug ("GdmServer: Running helper %s", command); - out = NULL; - res = g_spawn_command_line_sync (command, - &out, - NULL, - &status, - &error); - if (! res) { - g_warning ("Could not run helper: %s", error->message); - g_error_free (error); - } else { - out = g_strstrip (out); - g_debug ("GdmServer: Got tty: '%s'", out); - } - - g_free (command); - - return out; -} - char * gdm_server_get_display_device (GdmServer *server) { @@ -170,9 +135,6 @@ gdm_server_get_display_device (GdmServer *server) #endif if (server->priv->display_device == NULL) { - server->priv->display_device = - _gdm_server_query_ck_for_display_device (server); - g_object_notify (G_OBJECT (server), "display-device"); } diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c index 1bcca14e..5f49e88f 100644 --- a/daemon/gdm-session-worker.c +++ b/daemon/gdm-session-worker.c @@ -135,10 +135,6 @@ struct GdmSessionWorkerPrivate int exit_code; -#ifdef WITH_CONSOLE_KIT - char *session_cookie; -#endif - pam_handle_t *pam_handle; GPid child_pid; @@ -216,204 +212,6 @@ G_DEFINE_TYPE_WITH_CODE (GdmSessionWorker, G_IMPLEMENT_INTERFACE (GDM_DBUS_TYPE_WORKER, worker_interface_init)) -#ifdef WITH_CONSOLE_KIT -static gboolean -open_ck_session (GdmSessionWorker *worker) -{ - GDBusConnection *system_bus; - GVariantBuilder builder; - GVariant *parameters; - GVariant *in_args; - struct passwd *pwent; - GVariant *reply; - GError *error = NULL; - const char *display_name; - const char *display_device; - const char *display_hostname; - const char *session_type; - gint32 uid; - - g_assert (worker->priv->session_cookie == NULL); - - if (worker->priv->x11_display_name != NULL) { - display_name = worker->priv->x11_display_name; - } else { - display_name = ""; - } - if (worker->priv->hostname != NULL) { - display_hostname = worker->priv->hostname; - } else { - display_hostname = ""; - } - if (worker->priv->display_device != NULL) { - display_device = worker->priv->display_device; - } else { - display_device = ""; - } - - if (worker->priv->session_type != NULL) { - session_type = worker->priv->session_type; - } else { - session_type = ""; - } - - g_assert (worker->priv->username != NULL); - - gdm_get_pwent_for_name (worker->priv->username, &pwent); - if (pwent == NULL) { - goto out; - } - - uid = (gint32) pwent->pw_uid; - - error = NULL; - system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); - - if (system_bus == NULL) { - g_warning ("Couldn't create connection to system bus: %s", - error->message); - - g_error_free (error); - goto out; - } - - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(sv)")); - g_variant_builder_add_parsed (&builder, "('unix-user', <%i>)", uid); - g_variant_builder_add_parsed (&builder, "('x11-display-device', <%s>)", display_device); - g_variant_builder_add_parsed (&builder, "('x11-display', <%s>)", display_name); - g_variant_builder_add_parsed (&builder, "('remote-host-name', <%s>)", display_hostname); - g_variant_builder_add_parsed (&builder, "('is-local', <%b>)", worker->priv->display_is_local); - g_variant_builder_add_parsed (&builder, "('session-type', <%s>)", session_type); - - parameters = g_variant_builder_end (&builder); - in_args = g_variant_new_tuple (¶meters, 1); - - reply = g_dbus_connection_call_sync (system_bus, - "org.freedesktop.ConsoleKit", - "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", - "OpenSessionWithParameters", - in_args, - G_VARIANT_TYPE ("(s)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - &error); - - if (! reply) { - g_warning ("%s\n", error->message); - g_clear_error (&error); - goto out; - } - - g_variant_get (reply, "(s)", &worker->priv->session_cookie); - - g_variant_unref (reply); - -out: - return worker->priv->session_cookie != NULL; -} - -static void -close_ck_session (GdmSessionWorker *worker) -{ - GDBusConnection *system_bus; - GVariant *reply; - GError *error = NULL; - gboolean was_closed; - - if (worker->priv->session_cookie == NULL) { - return; - } - - error = NULL; - system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); - - if (system_bus == NULL) { - g_warning ("Couldn't create connection to system bus: %s", - error->message); - - g_error_free (error); - goto out; - } - - reply = g_dbus_connection_call_sync (system_bus, - "org.freedesktop.ConsoleKit", - "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", - "CloseSession", - g_variant_new ("(s)", worker->priv->session_cookie), - G_VARIANT_TYPE ("(b)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - &error); - - if (! reply) { - g_warning ("%s", error->message); - g_clear_error (&error); - goto out; - } - - g_variant_get (reply, "(b)", &was_closed); - - if (!was_closed) { - g_warning ("Unable to close ConsoleKit session"); - } - - g_variant_unref (reply); - -out: - g_clear_pointer (&worker->priv->session_cookie, - (GDestroyNotify) g_free); -} - -static char * -get_ck_session_id (GdmSessionWorker *worker) -{ - GDBusConnection *system_bus; - GVariant *reply; - GError *error = NULL; - char *session_id = NULL; - - error = NULL; - system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); - - if (system_bus == NULL) { - g_warning ("Couldn't create connection to system bus: %s", - error->message); - - g_error_free (error); - goto out; - } - - reply = g_dbus_connection_call_sync (system_bus, - "org.freedesktop.ConsoleKit", - "/org/freedesktop/ConsoleKit/Manager", - "org.freedesktop.ConsoleKit.Manager", - "GetSessionForCookie", - g_variant_new ("(s)", worker->priv->session_cookie), - G_VARIANT_TYPE ("(o)"), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, - &error); - - if (reply == NULL) { - g_warning ("%s", error->message); - g_clear_error (&error); - goto out; - } - - g_variant_get (reply, "(o)", &session_id); - - g_variant_unref (reply); - -out: - return session_id; -} -#endif - /* adapted from glib script_execute */ static void script_execute (const gchar *file, @@ -1684,26 +1482,6 @@ gdm_session_worker_get_environment (GdmSessionWorker *worker) return (const char * const *) pam_getenvlist (worker->priv->pam_handle); } -#ifdef WITH_CONSOLE_KIT -static void -register_ck_session (GdmSessionWorker *worker) -{ -#ifdef WITH_SYSTEMD - if (LOGIND_RUNNING()) { - return; - } -#endif - - open_ck_session (worker); - - if (worker->priv->session_cookie != NULL) { - gdm_session_worker_set_environment_variable (worker, - "XDG_SESSION_COOKIE", - worker->priv->session_cookie); - } -} -#endif - static gboolean run_script (GdmSessionWorker *worker, const char *dir) @@ -1734,9 +1512,6 @@ session_worker_child_watch (GPid pid, : WIFSIGNALED (status) ? WTERMSIG (status) : -1); -#ifdef WITH_CONSOLE_KIT - close_ck_session (worker); -#endif gdm_session_worker_uninitialize_pam (worker, PAM_SUCCESS); @@ -2328,14 +2103,6 @@ gdm_session_worker_open_session (GdmSessionWorker *worker, */ run_script (worker, GDMCONFDIR "/PreSession"); -#ifdef WITH_CONSOLE_KIT - register_ck_session (worker); - - if (session_id == NULL) { - session_id = get_ck_session_id (worker); - } -#endif - if (session_id != NULL) { g_free (worker->priv->session_id); worker->priv->session_id = session_id; |