diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2018-02-16 18:28:51 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2018-02-20 12:16:21 +0100 |
commit | 66ae0cc306683e8f7f012c64192397ed17489e42 (patch) | |
tree | 40d3612135d8112988811f601491bf58eb185dee | |
parent | 7621fe4e1a6da7d61fe9e9398937bc5dd536c8be (diff) | |
download | NetworkManager-66ae0cc306683e8f7f012c64192397ed17489e42.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.
-rw-r--r-- | libnm-core/nm-connection.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c index bdbff9b7ec..868fb10924 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); } /** |