summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2018-02-16 18:28:51 +0100
committerLubomir Rintel <lkundrak@v3.sk>2018-02-20 17:04:13 +0100
commit19c22a13b2a43400dabc5956700dbb355b722d25 (patch)
tree646ec96d51ae7e4ad3ffc1aebf4b33785502fd85
parent9479a014bc9b6c9b79ebde64a32292006ea7691e (diff)
downloadNetworkManager-19c22a13b2a43400dabc5956700dbb355b722d25.tar.gz
core/connection: don't emit Updated on Connection.GetSecrets
The secrets are transient -- when they are loaded into the connections and subsequently cleared the connection itself doesn't change. The Update signal is to be emmited only on explicit Update()/Update2() or ClearSecrets() which is already the case. Apart from Update being wrong, it has the ill effect of causing libnm to drop secrets from the cached connection. (cherry picked from commit 66ae0cc306683e8f7f012c64192397ed17489e42)
-rw-r--r--libnm-core/nm-connection.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c
index 9c88cfd6e0..f70be09fda 100644
--- a/libnm-core/nm-connection.c
+++ b/libnm-core/nm-connection.c
@@ -1576,10 +1576,8 @@ nm_connection_update_secrets (NMConnection *connection,
}
}
- if (updated) {
+ if (updated)
g_signal_emit (connection, signals[SECRETS_UPDATED], 0, setting_name);
- g_signal_emit (connection, signals[CHANGED], 0);
- }
return success;
}
@@ -1657,20 +1655,17 @@ nm_connection_clear_secrets (NMConnection *connection)
{
GHashTableIter iter;
NMSetting *setting;
- gboolean changed = FALSE;
g_return_if_fail (NM_IS_CONNECTION (connection));
g_hash_table_iter_init (&iter, NM_CONNECTION_GET_PRIVATE (connection)->settings);
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &setting)) {
g_signal_handlers_block_by_func (setting, (GCallback) setting_changed_cb, connection);
- changed |= _nm_setting_clear_secrets (setting);
+ _nm_setting_clear_secrets (setting);
g_signal_handlers_unblock_by_func (setting, (GCallback) setting_changed_cb, connection);
}
g_signal_emit (connection, signals[SECRETS_CLEARED], 0);
- if (changed)
- g_signal_emit (connection, signals[CHANGED], 0);
}
/**
@@ -1689,20 +1684,17 @@ nm_connection_clear_secrets_with_flags (NMConnection *connection,
{
GHashTableIter iter;
NMSetting *setting;
- gboolean changed = FALSE;
g_return_if_fail (NM_IS_CONNECTION (connection));
g_hash_table_iter_init (&iter, NM_CONNECTION_GET_PRIVATE (connection)->settings);
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &setting)) {
g_signal_handlers_block_by_func (setting, (GCallback) setting_changed_cb, connection);
- changed |= _nm_setting_clear_secrets_with_flags (setting, func, user_data);
+ _nm_setting_clear_secrets_with_flags (setting, func, user_data);
g_signal_handlers_unblock_by_func (setting, (GCallback) setting_changed_cb, connection);
}
g_signal_emit (connection, signals[SECRETS_CLEARED], 0);
- if (changed)
- g_signal_emit (connection, signals[CHANGED], 0);
}
/**