about summary refs log tree commit diff
path: root/libnm/nm-manager.c
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2019-03-12 15:13:33 +0100
committerSebastien Bacher <seb128@ubuntu.com>2019-03-12 15:13:33 +0100
commitdd428301eb6f02542015121d7b08d9997f137e50 (patch)
tree5530189f63510287d65268fc36025bdbc9414c00 /libnm/nm-manager.c
parentbbae86d3d2997a853ca0365e8eb7a3ca7489ee09 (diff)
New upstream version 1.15.91
Diffstat (limited to 'libnm/nm-manager.c')
-rw-r--r--libnm/nm-manager.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index 3254d4a0..7a169863 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -23,8 +23,6 @@
 
 #include "nm-manager.h"
 
-#include <string.h>
-
 #include "nm-utils.h"
 #include "nm-checkpoint.h"
 #include "nm-common-macros.h"
@@ -312,6 +310,8 @@ nm_permission_to_client (const char *nm)
 		return NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS;
 	else if (!strcmp (nm, NM_AUTH_PERMISSION_ENABLE_DISABLE_CONNECTIVITY_CHECK))
 		return NM_CLIENT_PERMISSION_ENABLE_DISABLE_CONNECTIVITY_CHECK;
+	else if (!strcmp (nm, NM_AUTH_PERMISSION_WIFI_SCAN))
+		return NM_CLIENT_PERMISSION_WIFI_SCAN;
 
 	return NM_CLIENT_PERMISSION_NONE;
 }
@@ -918,6 +918,8 @@ activate_info_complete (ActivateInfo *info,
                         NMActiveConnection *active,
                         GError *error)
 {
+	nm_assert ((!error) != (!active));
+
 	nm_clear_g_signal_handler (info->cancellable, &info->cancelled_id);
 
 	c_list_unlink_stale (&info->lst);
@@ -1118,6 +1120,10 @@ add_activate_cb (GObject *object,
 	gs_free_error GError *error = NULL;
 	gboolean success;
 
+	nm_assert (info);
+	nm_assert (!info->active_path);
+	nm_assert (!info->add_and_activate_output);
+
 	if (info->activate_type == ACTIVATE_TYPE_ADD_AND_ACTIVATE_CONNECTION) {
 		success = nmdbus_manager_call_add_and_activate_connection_finish (NMDBUS_MANAGER (object),
 		                                                                  NULL,
@@ -1209,12 +1215,12 @@ nm_manager_add_and_activate_connection_async (NMManager *manager,
 		                                                  info);
 	} else {
 		nmdbus_manager_call_add_and_activate_connection (priv->proxy,
-		                                                  dict,
-		                                                  nm_object_get_path (NM_OBJECT (device)),
-		                                                  specific_object ?: "/",
-		                                                  cancellable,
-		                                                  add_activate_cb,
-		                                                  info);
+		                                                 dict,
+		                                                 nm_object_get_path (NM_OBJECT (device)),
+		                                                 specific_object ?: "/",
+		                                                 cancellable,
+		                                                 add_activate_cb,
+		                                                 info);
 	}
 }
 
@@ -1624,7 +1630,7 @@ nm_manager_checkpoint_rollback_finish (NMManager *manager,
 	if (g_simple_async_result_propagate_error (simple, error))
 		return NULL;
 	else
-		return g_simple_async_result_get_op_res_gpointer (simple);
+		return g_hash_table_ref (g_simple_async_result_get_op_res_gpointer (simple));
 }
 
 static void
@@ -1818,6 +1824,8 @@ dispose (GObject *object)
 		priv->all_devices = NULL;
 	}
 
+	nm_clear_pointer (&priv->checkpoints, g_ptr_array_unref);
+
 	free_active_connections (manager);
 	g_clear_object (&priv->primary_connection);
 	g_clear_object (&priv->activating_connection);