diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-08-30 16:03:08 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2012-09-06 10:50:07 +0100 |
commit | efc15381535a2d94eeec2b19651302768f65d0ad (patch) | |
tree | c6876acfd244cf78621cc7c836318c7bc6a53d97 | |
parent | dbba880903def15bc7bb5fdb9d05ee310f1a5bfe (diff) | |
download | telepathy-mission-control-efc15381535a2d94eeec2b19651302768f65d0ad.tar.gz |
_keyring_commit: perform deletions for keys in removed, not in secrets
'removed' is essentially a set of (account, key) tuples that should
be deleted. What we were doing was:
foreach account in removed
foreach key in secrets[account]
delete (account, key)
which makes little sense - if we have param-password and
param-proxy-password and we want to unset Parameters['password'],
the current implementation would delete both. This commit changes it to:
foreach account in removed
foreach key in removed[account]
delete (account, key)
which has the advantage of actually making sense.
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=42088
Cherry-picked-from: d4ca35cffea9d0093e127e0be633501d22ded35f
-rw-r--r-- | src/mcd-account-manager-default.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mcd-account-manager-default.c b/src/mcd-account-manager-default.c index 221c5d07..6989d62a 100644 --- a/src/mcd-account-manager-default.c +++ b/src/mcd-account-manager-default.c @@ -187,7 +187,7 @@ _keyring_commit (const McpAccountStorage *self, { gsize j; gsize k; - GStrv keys = g_key_file_get_keys (amd->secrets, accts[i], &k, NULL); + GStrv keys = g_key_file_get_keys (amd->removed, accts[i], &k, NULL); if (keys == NULL) k = 0; |