device: don't update applied connection for generated assumed devices
The applied connection must describe the configuration that was initially activated on the device. Even if the IP configuration changes, we shouldn't reset the applied connection for devices using a generated-assumed connection, otherwise we would lose information on the IP method we're trying on the device.
This commit is contained in:
@@ -7925,23 +7925,16 @@ nm_device_set_ip4_config (NMDevice *self,
|
||||
nm_exported_object_clear_and_unexport (&old_config);
|
||||
|
||||
if (nm_device_uses_generated_assumed_connection (self)) {
|
||||
NMConnection *connection = nm_device_get_applied_connection (self);
|
||||
NMConnection *settings_connection = NM_CONNECTION (nm_device_get_settings_connection (self));
|
||||
NMSetting *s_ip4;
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (connection));
|
||||
g_object_freeze_notify (G_OBJECT (settings_connection));
|
||||
|
||||
nm_connection_remove_setting (settings_connection, NM_TYPE_SETTING_IP4_CONFIG);
|
||||
s_ip4 = nm_ip4_config_create_setting (priv->ip4_config);
|
||||
nm_connection_add_setting (settings_connection, s_ip4);
|
||||
|
||||
nm_connection_remove_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
|
||||
s_ip4 = nm_ip4_config_create_setting (priv->ip4_config);
|
||||
nm_connection_add_setting (connection, s_ip4);
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (settings_connection));
|
||||
g_object_thaw_notify (G_OBJECT (connection));
|
||||
}
|
||||
|
||||
nm_device_queue_recheck_assume (self);
|
||||
@@ -8090,23 +8083,16 @@ nm_device_set_ip6_config (NMDevice *self,
|
||||
nm_exported_object_clear_and_unexport (&old_config);
|
||||
|
||||
if (nm_device_uses_generated_assumed_connection (self)) {
|
||||
NMConnection *connection = nm_device_get_applied_connection (self);
|
||||
NMConnection *settings_connection = NM_CONNECTION (nm_device_get_settings_connection (self));
|
||||
NMSetting *s_ip6;
|
||||
|
||||
g_object_freeze_notify (G_OBJECT (connection));
|
||||
g_object_freeze_notify (G_OBJECT (settings_connection));
|
||||
|
||||
nm_connection_remove_setting (settings_connection, NM_TYPE_SETTING_IP6_CONFIG);
|
||||
s_ip6 = nm_ip6_config_create_setting (priv->ip6_config);
|
||||
nm_connection_add_setting (settings_connection, s_ip6);
|
||||
|
||||
nm_connection_remove_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
|
||||
s_ip6 = nm_ip6_config_create_setting (priv->ip6_config);
|
||||
nm_connection_add_setting (connection, s_ip6);
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (settings_connection));
|
||||
g_object_thaw_notify (G_OBJECT (connection));
|
||||
}
|
||||
|
||||
nm_device_queue_recheck_assume (self);
|
||||
|
Reference in New Issue
Block a user