"/org/freedesktop/ConsoleKit/Manager",
"org.freedesktop.ConsoleKit.Manager",
NULL, &error);
- if (!ck_proxy)
+ if (error)
g_warning ("Unable to get connection to ConsoleKit: %s", error->message);
g_clear_error (&error);
}
NULL,
&error);
- if (!result)
+ if (error)
g_warning ("Failed to open CK session: %s", error->message);
g_clear_error (&error);
if (!result)
-1,
NULL,
&error);
- if (!result)
+ if (error)
g_warning ("Error getting ConsoleKit session: %s", error->message);
g_clear_error (&error);
if (!result)
NULL, &error);
g_free (session_path);
- if (!proxy)
+ if (error)
g_warning ("Unable to get connection to ConsoleKit session: %s", error->message);
g_clear_error (&error);
if (!proxy)
&error);
g_object_unref (proxy);
- if (!result)
+ if (error)
g_warning ("Error unlocking ConsoleKit session: %s", error->message);
g_clear_error (&error);
if (!result)
session_path,
"org.freedesktop.ConsoleKit.Session",
NULL, &error);
- if (!proxy)
+ if (error)
g_warning ("Unable to get connection to ConsoleKit session: %s", error->message);
g_variant_unref (result);
g_clear_error (&error);
&error);
g_object_unref (proxy);
- if (!result)
+ if (error)
g_warning ("Error unlocking ConsoleKit session: %s", error->message);
g_clear_error (&error);
if (!result)
NULL,
&error);
- if (!result)
+ if (error)
g_warning ("Error ending ConsoleKit session: %s", error->message);
g_clear_error (&error);
if (!result)
g_signal_connect (authentication, "authentication-result", G_CALLBACK (autologin_authentication_result_cb), display);
result = pam_session_authenticate (authentication, &error);
+ if (error)
+ g_debug ("Failed to start autologin session for %s: %s", username, error->message);
if (!result)
{
- g_debug ("Failed to start autologin session for %s: %s", username, error->message);
g_signal_handlers_disconnect_matched (authentication, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, display);
g_object_unref (authentication);
}
session_desktop_file = g_key_file_new ();
result = g_key_file_load_from_file (session_desktop_file, path, G_KEY_FILE_NONE, &error);
- if (!result)
+ if (error)
g_debug ("Failed to load session file %s: %s:", path, error->message);
g_clear_error (&error);
if (result)
static void
write_message (Greeter *greeter, guint8 *message, gsize message_length)
{
+ GIOStatus status;
GError *error = NULL;
- if (g_io_channel_write_chars (greeter->priv->to_greeter_channel, (gchar *) message, message_length, NULL, &error) != G_IO_STATUS_NORMAL)
+
+ status = g_io_channel_write_chars (greeter->priv->to_greeter_channel, (gchar *) message, message_length, NULL, &error);
+ if (error)
g_warning ("Error writing to greeter: %s", error->message);
- else
- g_debug ("Wrote %zi bytes to greeter", message_length);
g_clear_error (&error);
+ if (status == G_IO_STATUS_NORMAL)
+ g_debug ("Wrote %zi bytes to greeter", message_length);
g_io_channel_flush (greeter->priv->to_greeter_channel, NULL);
}
static void
handle_login (Greeter *greeter, guint32 sequence_number, const gchar *username)
{
+ gboolean result;
GError *error = NULL;
if (username[0] == '\0')
g_signal_connect (G_OBJECT (greeter->priv->authentication), "got-messages", G_CALLBACK (pam_messages_cb), greeter);
g_signal_connect (G_OBJECT (greeter->priv->authentication), "authentication-result", G_CALLBACK (authentication_result_cb), greeter);
- if (!pam_session_authenticate (greeter->priv->authentication, &error))
- {
+ result = pam_session_authenticate (greeter->priv->authentication, &error);
+ if (error)
g_debug ("Failed to start authentication: %s", error->message);
+ if (!result)
send_end_authentication (greeter, sequence_number, "", PAM_SYSTEM_ERR);
- }
g_clear_error (&error);
}
n_to_read - greeter->priv->n_read,
&n_read,
&error);
- if (status != G_IO_STATUS_NORMAL)
+ if (error)
g_warning ("Error reading from greeter: %s", error->message);
g_clear_error (&error);
if (status != G_IO_STATUS_NORMAL)
g_debug ("Opening guest account with command '%s'", command);
result = run_script (command, &stdout_text, &exit_status, &error);
g_free (command);
- if (!result)
+ if (error)
g_warning ("Error running guest account setup script '%s': %s", get_setup_script (), error->message);
g_clear_error (&error);
if (!result)
guest_account_cleanup (const gchar *username)
{
gchar *command;
+ gboolean result;
gint exit_status;
GError *error = NULL;
command = g_strdup_printf ("%s remove %s", get_setup_script (), username);
g_debug ("Closing guest account %s with command '%s'", username, command);
- if (run_script (command, NULL, &exit_status, &error))
- {
- if (exit_status != 0)
- g_debug ("Guest account cleanup script returns %d", exit_status);
- }
- else
+
+ result = run_script (command, NULL, &exit_status, &error);
+ g_free (command);
+
+ if (error)
g_warning ("Error running guest account cleanup script '%s': %s", get_setup_script (), error->message);
g_clear_error (&error);
- g_free (command);
+ if (result && exit_status != 0)
+ g_debug ("Guest account cleanup script returns %d", exit_status);
}
g_option_context_add_main_entries (option_context, options, GETTEXT_PACKAGE);
if (!g_option_context_parse (option_context, &argc, &argv, &error))
{
- fprintf (stderr, "%s\n", error->message);
+ if (error)
+ fprintf (stderr, "%s\n", error->message);
fprintf (stderr, /* Text printed out when an unknown command-line argument provided */
_("Run '%s --help' to see a full list of available command line options."), argv[0]);
fprintf (stderr, "\n");
/* Load config file */
if (!config_load_from_file (config_get_instance (), config_path, &error))
{
- if (explicit_config || !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+ gboolean is_empty;
+
+ is_empty = error && g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT);
+
+ if (explicit_config || !is_empty)
{
- g_printerr ("Failed to load configuration from %s: %s\n", config_path, error->message);
+ if (error)
+ g_printerr ("Failed to load configuration from %s: %s\n", config_path, error->message);
exit (EXIT_FAILURE);
}
}
{
gchar *dir, *path;
GKeyFile *keys;
+ gboolean result;
GError *error = NULL;
dir = config_get_string (config_get_instance (), "LightDM", "config-directory");
g_free (dir);
keys = g_key_file_new ();
- if (g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error))
+ result = g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error);
+ if (error)
+ g_debug ("Error getting key %s", error->message);
+ g_clear_error (&error);
+
+ if (result)
{
if (g_key_file_has_key (keys, "keyring", key_name, NULL))
key = g_key_file_get_string (keys, "keyring", key_name, NULL);
else
- g_debug ("Key %s not defined", error->message);
+ g_debug ("Key %s not defined", key_name);
}
- else
- g_debug ("Error getting key %s", error->message);
- g_clear_error (&error);
g_free (path);
g_key_file_free (keys);
}
gint i;
GError *error = NULL;
- if (!g_file_get_contents (passwd_file, &data, NULL, &error))
+ g_file_get_contents (passwd_file, &data, NULL, &error);
+ if (error)
g_warning ("Error loading passwd file: %s", error->message);
g_clear_error (&error);
command_line = g_strdup_printf ("plymouth %s", command);
result = g_spawn_command_line_sync (command_line, NULL, NULL, exit_status, &error);
- if (!result)
+ if (error)
g_debug ("Could not run %s: %s", command_line, error->message);
- g_free (command_line);
g_clear_error (&error);
+ g_free (command_line);
+
return result;
}
{
gchar *dir, *path;
GKeyFile *keys;
+ gboolean result;
GError *error = NULL;
dir = config_get_string (config_get_instance (), "LightDM", "config-directory");
g_free (dir);
keys = g_key_file_new ();
- if (g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error))
+ result = g_key_file_load_from_file (keys, path, G_KEY_FILE_NONE, &error);
+ if (error)
+ g_debug ("Error getting key %s", error->message);
+ g_clear_error (&error);
+
+ if (result)
{
gchar *key = NULL;
if (g_key_file_has_key (keys, "keyring", key_name, NULL))
key = g_key_file_get_string (keys, "keyring", key_name, NULL);
else
- g_debug ("Key %s not defined", error->message);
+ g_debug ("Key %s not defined", key_name);
if (key)
xserver_local_set_xdmcp_key (xserver, key);
g_free (key);
}
- else
- g_debug ("Error getting key %s", error->message);
+
g_free (path);
- g_clear_error (&error);
g_key_file_free (keys);
}
static gboolean
run_script (Display *display, const gchar *script_name, User *user)
{
+ gboolean result;
GPtrArray *env_array;
gchar **argv, **envp;
gchar *env, *command;
return FALSE;
}
- if (!g_shell_parse_argv (script_name, NULL, &argv, &error))
- {
+ result = g_shell_parse_argv (script_name, NULL, &argv, &error);
+ if (error)
g_warning ("Could not parse %s: %s", script_name, error->message);
- g_error_free (error);
+ if (!result)
return FALSE;
- }
env_array = g_ptr_array_sized_new (10);
if (!env_array)
g_debug ("Executing script: %s", command);
g_free (env);
g_free (command);
- if (!g_spawn_sync (NULL,
- argv,
- envp,
- G_SPAWN_SEARCH_PATH,
- NULL,
- NULL,
- NULL,
- NULL,
- &exit_status,
- &error))
- {
+ result = g_spawn_sync (NULL,
+ argv,
+ envp,
+ G_SPAWN_SEARCH_PATH,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ &exit_status,
+ &error);
+ if (error)
g_warning ("Error executing %s: %s", script_name, error->message);
- g_error_free (error);
- }
+ g_clear_error (&error);
g_strfreev (argv);
g_strfreev (envp);
+
+ if (!result)
+ return FALSE;
- if (WIFEXITED (exit_status)) {
+ if (WIFEXITED (exit_status))
+ {
g_debug ("Exit status of %s: %d", script_name, WEXITSTATUS (exit_status));
return WEXITSTATUS (exit_status) == EXIT_SUCCESS;
}
user_get_home_directory (user),
absolute_command,
&error);
- g_free (absolute_command);
-
- if (!result)
+ if (error)
g_warning ("Failed to spawn session: %s", error->message);
g_clear_error (&error);
+ g_free (absolute_command);
return result;
}
-1,
NULL,
&error);
-
- if (!answer) {
+ if (error)
g_warning ("Could not call %s: %s", method, error->message);
- g_error_free (error);
+ g_clear_error (&error);
+
+ if (!answer)
return FALSE;
- }
- if (!g_variant_is_of_type (answer, G_VARIANT_TYPE (expected))) {
+ if (!g_variant_is_of_type (answer, G_VARIANT_TYPE (expected)))
+ {
g_warning ("Unexpected response from %s: %s",
method, g_variant_get_type_string (answer));
g_variant_unref (answer);
*result = answer;
else
g_variant_unref (answer);
+
return TRUE;
}
static GDBusProxy *
get_accounts_proxy_for_user (const gchar *user)
{
- g_return_val_if_fail (user != NULL, NULL);
-
GDBusProxy *proxy;
GError *error = NULL;
GVariant *result;
gboolean success;
gchar *user_path = NULL;
+ g_return_val_if_fail (user != NULL, NULL);
+
proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
"/org/freedesktop/Accounts",
"org.freedesktop.Accounts",
NULL, &error);
-
- if (!proxy) {
+ if (error)
g_warning ("Could not get accounts proxy: %s", error->message);
- g_error_free (error);
+ g_clear_error (&error);
+
+ if (!proxy)
return NULL;
- }
success = call_method (proxy, "FindUserByName", g_variant_new ("(s)", user),
"(o)", &result);
user_path,
"org.freedesktop.Accounts.User",
NULL, &error);
- g_free (user_path);
-
- if (!proxy) {
+ if (error)
g_warning ("Could not get accounts user proxy: %s", error->message);
- g_error_free (error);
- return NULL;
- }
+ g_clear_error (&error);
+ g_free (user_path);
return proxy;
}
gint i;
GError *error = NULL;
- if (!g_file_get_contents (passwd_file, &data, NULL, &error))
+ g_file_get_contents (passwd_file, &data, NULL, &error);
+ if (error)
g_warning ("Error loading passwd file: %s", error->message);
g_clear_error (&error);
GError *read_error = NULL;
input_stream = g_file_read (file, NULL, &read_error);
- if (!input_stream && !g_error_matches (read_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
+ if (read_error && !g_error_matches (read_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
g_warning ("Error reading existing Xauthority: %s", read_error->message);
g_clear_error (&read_error);
}
read_string (G_INPUT_STREAM (input_stream), &a->priv->authorization_name, &read_error) &&
read_uint16 (G_INPUT_STREAM (input_stream), &a->priv->authorization_data_length, NULL, &read_error) &&
read_data (G_INPUT_STREAM (input_stream), a->priv->authorization_data_length, &a->priv->authorization_data, &read_error);
- if (!result)
+ if (read_error)
g_warning ("Error reading X authority %s: %s", g_file_get_path (file), read_error->message);
g_clear_error (&read_error);
if (input_stream)
{
GError *close_error = NULL;
- if (!g_input_stream_close (G_INPUT_STREAM (input_stream), NULL, &close_error))
+ g_input_stream_close (G_INPUT_STREAM (input_stream), NULL, &close_error);
+ if (close_error)
g_warning ("Error closing Xauthority: %s", close_error->message);
g_clear_error (&close_error);
g_object_unref (input_stream);
{
GError *error = NULL;
- if (g_socket_send_to (socket, address, (gchar *) data, n_written, NULL, &error) < 0)
+ g_socket_send_to (socket, address, (gchar *) data, n_written, NULL, &error);
+ if (error)
g_warning ("Error sending packet: %s", error->message);
-
g_clear_error (&error);
}
}
gssize n_read;
n_read = g_socket_receive_from (socket, &address, data, 1024, NULL, &error);
+ if (error)
+ g_warning ("Failed to read from XDMCP socket: %s", error->message);
+ g_clear_error (&error);
+
if (n_read > 0)
{
XDMCPPacket *packet;
xdmcp_packet_free (packet);
}
}
- else
- g_warning ("Failed to read from XDMCP socket: %s", error->message);
-
- g_clear_error (&error);
return TRUE;
}
g_return_val_if_fail (server != NULL, FALSE);
server->priv->socket = open_udp_socket (G_SOCKET_FAMILY_IPV4, server->priv->port, &error);
+ if (error)
+ g_warning ("Failed to create IPv4 XDMCP socket: %s", error->message);
+ g_clear_error (&error);
+
if (server->priv->socket)
{
source = g_socket_create_source (server->priv->socket, G_IO_IN, NULL);
g_source_set_callback (source, (GSourceFunc) read_cb, server, NULL);
g_source_attach (source, NULL);
}
- else
- g_warning ("Failed to create IPv4 XDMCP socket: %s", error->message);
+
+ server->priv->socket6 = open_udp_socket (G_SOCKET_FAMILY_IPV6, server->priv->port, &error);
+ if (error)
+ g_warning ("Failed to create IPv6 XDMCP socket: %s", error->message);
g_clear_error (&error);
- server->priv->socket6 = open_udp_socket (G_SOCKET_FAMILY_IPV6, server->priv->port, &error);
+
if (server->priv->socket6)
{
source = g_socket_create_source (server->priv->socket6, G_IO_IN, NULL);
g_source_set_callback (source, (GSourceFunc) read_cb, server, NULL);
g_source_attach (source, NULL);
}
- else
- g_warning ("Failed to create IPv6 XDMCP socket: %s", error->message);
- g_clear_error (&error);
if (!server->priv->socket && !server->priv->socket6)
return FALSE;
g_debug ("Removing X server authority from %s", path);
g_free (path);
- if (!xauth_write (xserver_get_authority (XSERVER (server)), XAUTH_WRITE_MODE_REMOVE, NULL, server->priv->authority_file, &error))
+ xauth_write (xserver_get_authority (XSERVER (server)), XAUTH_WRITE_MODE_REMOVE, NULL, server->priv->authority_file, &error);
+ if (error)
g_debug ("Error removing authority: %s", error->message);
g_clear_error (&error);
g_debug ("Writing X server authority to %s", path);
g_free (path);
- if (!xauth_write (authority, XAUTH_WRITE_MODE_REPLACE, NULL, server->priv->authority_file, &error))
+ xauth_write (authority, XAUTH_WRITE_MODE_REPLACE, NULL, server->priv->authority_file, &error);
+ if (error)
g_warning ("Failed to write authority: %s", error->message);
g_clear_error (&error);
}
NULL,
command->str,
&error);
- g_string_free (command, TRUE);
- if (!result)
+ if (error)
g_warning ("Unable to create display: %s", error->message);
- else
- g_debug ("Waiting for ready signal from X server :%d", xserver_get_display_number (XSERVER (server)));
g_clear_error (&error);
+ g_string_free (command, TRUE);
+
+ if (result)
+ g_debug ("Waiting for ready signal from X server :%d", xserver_get_display_number (XSERVER (server)));
if (!result)
stopped_cb (server->priv->xserver_process, XSERVER_LOCAL (server));
g_free (path);
g_debug ("Adding session authority to %s", g_file_get_path (XSESSION (session)->priv->authority_file));
- if (!xauth_write (XSESSION (session)->priv->authority, XAUTH_WRITE_MODE_REPLACE, session_get_user (session), XSESSION (session)->priv->authority_file, &error))
+ xauth_write (XSESSION (session)->priv->authority, XAUTH_WRITE_MODE_REPLACE, session_get_user (session), XSESSION (session)->priv->authority_file, &error);
+ if (error)
g_warning ("Failed to write authority: %s", error->message);
g_clear_error (&error);
}