summary refs log tree commit diff
path: root/src/core/nm-active-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/nm-active-connection.c')
-rw-r--r--src/core/nm-active-connection.c106
1 files changed, 51 insertions, 55 deletions
diff --git a/src/core/nm-active-connection.c b/src/core/nm-active-connection.c
index 3c8c472e..40fe3c96 100644
--- a/src/core/nm-active-connection.c
+++ b/src/core/nm-active-connection.c
@@ -7,17 +7,17 @@
 
 #include "nm-active-connection.h"
 
-#include "nm-libnm-core-intern/nm-common-macros.h"
+#include "libnm-core-aux-intern/nm-common-macros.h"
 #include "nm-dbus-interface.h"
 #include "devices/nm-device.h"
 #include "settings/nm-settings-connection.h"
 #include "nm-simple-connection.h"
 #include "nm-auth-utils.h"
 #include "nm-auth-manager.h"
-#include "nm-libnm-core-intern/nm-auth-subject.h"
+#include "libnm-core-aux-intern/nm-auth-subject.h"
 #include "nm-keep-alive.h"
 #include "NetworkManagerUtils.h"
-#include "nm-core-internal.h"
+#include "libnm-core-intern/nm-core-internal.h"
 
 #define AUTH_CALL_ID_SHARED_WIFI_PERMISSION_FAILED ((NMAuthManagerCallId *) GINT_TO_POINTER(1))
 
@@ -516,11 +516,6 @@ nm_active_connection_clear_secrets(NMActiveConnection *self)
 
     priv = NM_ACTIVE_CONNECTION_GET_PRIVATE(self);
 
-    if (nm_settings_connection_has_unmodified_applied_connection(priv->settings_connection.obj,
-                                                                 priv->applied_connection,
-                                                                 NM_SETTING_COMPARE_FLAG_NONE)) {
-        nm_settings_connection_clear_secrets(priv->settings_connection.obj, FALSE, FALSE);
-    }
     nm_connection_clear_secrets(priv->applied_connection);
 }
 
@@ -683,6 +678,7 @@ nm_active_connection_set_device(NMActiveConnection *self, NMDevice *device)
 {
     NMActiveConnectionPrivate *priv;
     gs_unref_object NMDevice *old_device = NULL;
+    NMMetered                 old_metered, new_metered;
 
     g_return_val_if_fail(NM_IS_ACTIVE_CONNECTION(self), FALSE);
     g_return_val_if_fail(!device || NM_IS_DEVICE(device), FALSE);
@@ -700,6 +696,8 @@ nm_active_connection_set_device(NMActiveConnection *self, NMDevice *device)
           device);
 
     old_device = priv->device ? g_object_ref(priv->device) : NULL;
+
+    old_metered = old_device ? nm_device_get_metered(old_device) : NM_METERED_UNKNOWN;
     _device_cleanup(self);
 
     if (device) {
@@ -735,7 +733,11 @@ nm_active_connection_set_device(NMActiveConnection *self, NMDevice *device)
     }
     _notify(self, PROP_INT_DEVICE);
 
+    new_metered = priv->device ? nm_device_get_metered(priv->device) : NM_METERED_UNKNOWN;
+
     g_signal_emit(self, signals[DEVICE_CHANGED], 0, priv->device, old_device);
+    if (new_metered != old_metered)
+        g_signal_emit(self, signals[DEVICE_METERED_CHANGED], 0, new_metered);
 
     _notify(self, PROP_DEVICES);
 
@@ -1560,54 +1562,48 @@ static const GDBusSignalInfo signal_info_state_changed = NM_DEFINE_GDBUS_SIGNAL_
 static const NMDBusInterfaceInfoExtended interface_info_active_connection = {
     .parent = NM_DEFINE_GDBUS_INTERFACE_INFO_INIT(
         NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
-        .signals    = NM_DEFINE_GDBUS_SIGNAL_INFOS(&nm_signal_info_property_changed_legacy,
-                                                &signal_info_state_changed, ),
+        .signals    = NM_DEFINE_GDBUS_SIGNAL_INFOS(&signal_info_state_changed, ),
         .properties = NM_DEFINE_GDBUS_PROPERTY_INFOS(
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Connection",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_CONNECTION),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("SpecificObject",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Id", "s", NM_ACTIVE_CONNECTION_ID),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Uuid",
-                                                             "s",
-                                                             NM_ACTIVE_CONNECTION_UUID),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Type",
-                                                             "s",
-                                                             NM_ACTIVE_CONNECTION_TYPE),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Devices",
-                                                             "ao",
-                                                             NM_ACTIVE_CONNECTION_DEVICES),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("State",
-                                                             "u",
-                                                             NM_ACTIVE_CONNECTION_STATE),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("StateFlags",
-                                                             "u",
-                                                             NM_ACTIVE_CONNECTION_STATE_FLAGS),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Default",
-                                                             "b",
-                                                             NM_ACTIVE_CONNECTION_DEFAULT),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Ip4Config",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_IP4_CONFIG),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Dhcp4Config",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_DHCP4_CONFIG),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Default6",
-                                                             "b",
-                                                             NM_ACTIVE_CONNECTION_DEFAULT6),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Ip6Config",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_IP6_CONFIG),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Dhcp6Config",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_DHCP6_CONFIG),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Vpn", "b", NM_ACTIVE_CONNECTION_VPN),
-            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L("Master",
-                                                             "o",
-                                                             NM_ACTIVE_CONNECTION_MASTER), ), ),
-    .legacy_property_changed = TRUE,
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Connection",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_CONNECTION),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("SpecificObject",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Id", "s", NM_ACTIVE_CONNECTION_ID),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Uuid", "s", NM_ACTIVE_CONNECTION_UUID),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Type", "s", NM_ACTIVE_CONNECTION_TYPE),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Devices",
+                                                           "ao",
+                                                           NM_ACTIVE_CONNECTION_DEVICES),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("State",
+                                                           "u",
+                                                           NM_ACTIVE_CONNECTION_STATE),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("StateFlags",
+                                                           "u",
+                                                           NM_ACTIVE_CONNECTION_STATE_FLAGS),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Default",
+                                                           "b",
+                                                           NM_ACTIVE_CONNECTION_DEFAULT),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Ip4Config",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_IP4_CONFIG),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Dhcp4Config",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_DHCP4_CONFIG),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Default6",
+                                                           "b",
+                                                           NM_ACTIVE_CONNECTION_DEFAULT6),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Ip6Config",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_IP6_CONFIG),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Dhcp6Config",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_DHCP6_CONFIG),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Vpn", "b", NM_ACTIVE_CONNECTION_VPN),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Master",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_MASTER), ), ),
 };
 
 static void