checkpoint: use UUID instead of path to match connections
The path can change, while the UUID should univocally identify the connection.
This commit is contained in:
@@ -125,7 +125,7 @@ nm_checkpoint_rollback (NMCheckpoint *self)
|
|||||||
while (g_hash_table_iter_next (&iter, (gpointer *) &device, (gpointer *) &dev_checkpoint)) {
|
while (g_hash_table_iter_next (&iter, (gpointer *) &device, (gpointer *) &dev_checkpoint)) {
|
||||||
gs_unref_object NMAuthSubject *subject = NULL;
|
gs_unref_object NMAuthSubject *subject = NULL;
|
||||||
guint32 result = NM_ROLLBACK_RESULT_OK;
|
guint32 result = NM_ROLLBACK_RESULT_OK;
|
||||||
const char *con_path;
|
const char *con_uuid;
|
||||||
|
|
||||||
_LOGD ("rollback: restoring device %s (state %d, realized %d, explicitly unmanaged %d)",
|
_LOGD ("rollback: restoring device %s (state %d, realized %d, explicitly unmanaged %d)",
|
||||||
nm_device_get_iface (device),
|
nm_device_get_iface (device),
|
||||||
@@ -173,14 +173,14 @@ activate:
|
|||||||
/* The device had an active connection, check if the
|
/* The device had an active connection, check if the
|
||||||
* connection still exists
|
* connection still exists
|
||||||
* */
|
* */
|
||||||
con_path = nm_connection_get_path (dev_checkpoint->connection);
|
con_uuid = nm_connection_get_uuid (dev_checkpoint->connection);
|
||||||
connection = nm_settings_get_connection_by_path (nm_settings_get(), con_path);
|
connection = nm_settings_get_connection_by_uuid (nm_settings_get (), con_uuid);
|
||||||
|
|
||||||
if (connection) {
|
if (connection) {
|
||||||
/* If the connection is still there, restore its content
|
/* If the connection is still there, restore its content
|
||||||
* and save it
|
* and save it
|
||||||
* */
|
* */
|
||||||
_LOGD ("rollback: connection %s still exists", con_path);
|
_LOGD ("rollback: connection %s still exists", con_uuid);
|
||||||
|
|
||||||
nm_connection_replace_settings_from_connection (NM_CONNECTION (connection),
|
nm_connection_replace_settings_from_connection (NM_CONNECTION (connection),
|
||||||
dev_checkpoint->connection);
|
dev_checkpoint->connection);
|
||||||
@@ -190,7 +190,7 @@ activate:
|
|||||||
NULL);
|
NULL);
|
||||||
} else {
|
} else {
|
||||||
/* The connection was deleted, recreate it */
|
/* The connection was deleted, recreate it */
|
||||||
_LOGD ("rollback: adding connection %s again", con_path);
|
_LOGD ("rollback: adding connection %s again", con_uuid);
|
||||||
|
|
||||||
connection = nm_settings_add_connection (nm_settings_get (),
|
connection = nm_settings_add_connection (nm_settings_get (),
|
||||||
dev_checkpoint->connection,
|
dev_checkpoint->connection,
|
||||||
|
Reference in New Issue
Block a user