summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-07-12 18:20:09 -0700
committerDan Williams <dcbw@redhat.com>2010-07-12 18:20:09 -0700
commit664ccd446445ff89bf0ff08c84ba829ba0647539 (patch)
tree1ee00f40a973efc00ac966c67917601e9a2e4eeb /src
parent5f647becd6bb5a60a4f0cfcfb9b3158f20a74097 (diff)
downloadNetworkManager-664ccd446445ff89bf0ff08c84ba829ba0647539.tar.gz
Revert "core: fix compilation on glib < 2.23.4"
This reverts commit 8a1fe31b317bd1a12ff77ce3e674977c7ee02bdd. This commit was not intended to be pushed, as it's not ready yet and isn't even my commit (thus attribution is wrong).
Diffstat (limited to 'src')
-rw-r--r--src/nm-manager.c105
1 files changed, 13 insertions, 92 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c
index f70063b221..b52c6ce17e 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -2447,7 +2447,7 @@ typedef struct GetSecretsInfo {
guint32 idle_id;
char *hint1;
char *hint2;
- NMConnection *connection;
+ char *connection_path;
} GetSecretsInfo;
static void
@@ -2472,7 +2472,7 @@ free_get_secrets_info (gpointer data)
g_free (info->hint1);
g_free (info->hint2);
g_free (info->setting_name);
- g_object_unref (info->connection);
+ g_free (info->connection_path);
memset (info, 0, sizeof (GetSecretsInfo));
g_free (info);
}
@@ -2494,16 +2494,6 @@ provider_cancel_secrets (NMSecretsProviderInterface *provider, gpointer user_dat
}
static void
-system_connection_update_cb (NMSettingsConnectionInterface *connection,
- GError *error,
- gpointer user_data)
-{
- if (error != NULL) {
- nm_log_warn (LOGD_SYS_SET, "could not update system connection: %s", error->message);
- }
-}
-
-static void
user_get_secrets_cb (DBusGProxy *proxy,
DBusGProxyCall *call,
gpointer user_data)
@@ -2527,14 +2517,6 @@ user_get_secrets_cb (DBusGProxy *proxy,
info->caller,
settings,
NULL);
-
- /* If this connection is a system one, we need to update it on our end */
- if (nm_connection_get_scope (info->connection) == NM_CONNECTION_SCOPE_SYSTEM) {
- nm_settings_connection_interface_update (NM_SETTINGS_CONNECTION_INTERFACE (info->connection),
- system_connection_update_cb,
- NULL);
- }
-
g_hash_table_destroy (settings);
} else {
nm_secrets_provider_interface_get_secrets_result (info->provider,
@@ -2626,62 +2608,18 @@ system_get_secrets_reply_cb (NMSettingsConnectionInterface *connection,
}
static gboolean
-system_get_secrets_from_user (GetSecretsInfo *info)
-{
- NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (info->manager);
- DBusGConnection *g_connection;
- GPtrArray *hints = NULL;
-
- /* Only user settings services that are allowed to control the network
- * are allowed to provide new secrets for system connections.
- */
- if (priv->user_net_perm != NM_AUTH_CALL_RESULT_YES)
- return FALSE;
-
- g_connection = nm_dbus_manager_get_connection (priv->dbus_mgr);
- info->proxy = dbus_g_proxy_new_for_name (g_connection,
- NM_DBUS_SERVICE_USER_SETTINGS,
- NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS_SECRETS);
- if (!info->proxy) {
- nm_log_warn (LOGD_SYS_SET, "could not create user settings secrets proxy");
- system_get_secrets_reply_cb (NULL, NULL, NULL, info); // FIXME pass error
- return FALSE;
- }
-
- hints = g_ptr_array_sized_new (2);
- if (info->hint1)
- g_ptr_array_add (hints, (char *) info->hint1);
- if (info->hint2)
- g_ptr_array_add (hints, (char *) info->hint2);
-
- info->call = dbus_g_proxy_begin_call_with_timeout (info->proxy, "GetSecretsForConnection",
- user_get_secrets_cb,
- info,
- NULL,
- G_MAXINT32,
- G_TYPE_STRING, NM_DBUS_SERVICE_SYSTEM_SETTINGS,
- DBUS_TYPE_G_OBJECT_PATH, nm_connection_get_path (info->connection),
- G_TYPE_STRING, info->setting_name,
- DBUS_TYPE_G_ARRAY_OF_STRING, hints,
- G_TYPE_INVALID);
- g_ptr_array_free (hints, TRUE);
- return TRUE;
-}
-
-static gboolean
system_get_secrets_idle_cb (gpointer user_data)
{
GetSecretsInfo *info = user_data;
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (info->manager);
NMSettingsConnectionInterface *connection;
GError *error = NULL;
- gboolean success = FALSE;
+ const char *hints[3] = { NULL, NULL, NULL };
info->idle_id = 0;
connection = nm_settings_interface_get_connection_by_path (NM_SETTINGS_INTERFACE (priv->sys_settings),
- nm_connection_get_path (info->connection));
+ info->connection_path);
if (!connection) {
error = g_error_new_literal (NM_MANAGER_ERROR,
NM_MANAGER_ERROR_UNKNOWN_CONNECTION,
@@ -2696,29 +2634,14 @@ system_get_secrets_idle_cb (gpointer user_data)
return FALSE;
}
- /* If new secrets are requested, try asking the user settings service for
- * them since the system settings service can't interact with anything
- * to get new secrets.
- */
- if (info->request_new)
- success = system_get_secrets_from_user (info);
-
- /* If the user wasn't authorized, or we should retry using existing
- * secrets, just ask the system settings service.
- */
- if (!success) {
- const char *hints[3] = { NULL, NULL, NULL };
-
- hints[0] = info->hint1;
- hints[1] = info->hint2;
- nm_settings_connection_interface_get_secrets (connection,
- info->setting_name,
- hints,
- info->request_new,
- system_get_secrets_reply_cb,
- info);
- }
-
+ hints[0] = info->hint1;
+ hints[1] = info->hint2;
+ nm_settings_connection_interface_get_secrets (connection,
+ info->setting_name,
+ hints,
+ info->request_new,
+ system_get_secrets_reply_cb,
+ info);
return FALSE;
}
@@ -2741,7 +2664,7 @@ system_get_secrets (NMManager *self,
info->setting_name = g_strdup (setting_name);
info->hint1 = hint1 ? g_strdup (hint1) : NULL;
info->hint2 = hint2 ? g_strdup (hint2) : NULL;
- info->connection = g_object_ref (connection);
+ info->connection_path = g_strdup (nm_connection_get_path (connection));
info->request_new = request_new;
g_object_weak_ref (G_OBJECT (provider), (GWeakNotify) free_get_secrets_info, info);
@@ -4011,9 +3934,7 @@ firmware_dir_changed (GFileMonitor *monitor,
switch (event_type) {
case G_FILE_MONITOR_EVENT_CREATED:
case G_FILE_MONITOR_EVENT_CHANGED:
-#if GLIB_CHECK_VERSION(2,23,4)
case G_FILE_MONITOR_EVENT_MOVED:
-#endif
case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
if (!priv->fw_changed_id) {