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 12:16:21 +0100
commit66ae0cc306683e8f7f012c64192397ed17489e42 (patch)
tree40d3612135d8112988811f601491bf58eb185dee
parent7621fe4e1a6da7d61fe9e9398937bc5dd536c8be (diff)
downloadNetworkManager-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.c14
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);
}
/**