[Bug 34416] Add support for Account.I.ExternalPasswordStorage

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 23 21:26:14 CET 2011


https://bugs.freedesktop.org/show_bug.cgi?id=34416

--- Comment #4 from Will Thompson <will.thompson at collabora.co.uk> 2011-02-23 12:26:13 PST ---
+
+        /* determine if we support Acct.I.ExternalPasswordStorage */
+        if (tp_proxy_has_interface_by_id (mcd_manager_get_tp_proxy (manager),
+                MC_IFACE_QUARK_CONNECTION_MANAGER_INTERFACE_ACCOUNT_STORAGE))
+        {
+            DEBUG ("CM %s has CM.I.AccountStorage iface",
+                   mcd_manager_get_name (manager));
+            mcd_dbus_activate_optional_interface (
+                TP_SVC_DBUS_PROPERTIES (account),
+                MC_TYPE_SVC_ACCOUNT_INTERFACE_EXTERNAL_PASSWORD_STORAGE);
+        }

Does this work if the TpConnectionManager's been constructed from the .manager
file, without actually service-activating the CM? I suspect that it doesn't,
unfortunately … I will check telepathy-glib.

+        tp_cli_protocol_call_identify_account (protocol, -1, params,
+            account_delete_identify_account_cb,
+            NULL, NULL, G_OBJECT (account));

I wonder if there's a chance that the account could be unreferenced, stopping
the callback from being called, and hence stopping the password from being
purged? I think taking a reference explicitly would be safest.

(In reply to comment #3)
> The only thing I don't like about this approach is how often it calls
> IdentifyAccount(), but it seems like it's not correct to cache that value?

On the contrary. MC should not only cache the value, but it should name
accounts using it. Of course, because we have to support accounts whose name
was chosen by MC forever, we'll need to have a separate field in the account to
cache this value.

I think we could file a separate bug for that: it might be hairy, and what you
have here works.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the telepathy-bugs mailing list