diff options
author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-12-06 10:06:51 +0000 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-12-06 10:06:51 +0000 |
commit | b66750b8540761c03b935ff93d50c642c9d1f07c (patch) | |
tree | dda2dbd45819342a8ea7a439b59fbdd0cc561c44 /libempathy | |
parent | 085edd72db61d923a639d874f44c9ed2805e75a8 (diff) |
server-sasl-handler: save the password if requested
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-server-sasl-handler.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/libempathy/empathy-server-sasl-handler.c b/libempathy/empathy-server-sasl-handler.c index b71cbdb7b..d9f504942 100644 --- a/libempathy/empathy-server-sasl-handler.c +++ b/libempathy/empathy-server-sasl-handler.c @@ -359,6 +359,25 @@ start_mechanism_with_data_cb (TpChannel *proxy, DEBUG ("Started mechanism successfully"); } +static void +empathy_server_sasl_handler_set_password_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + GError *error = NULL; + + if (!empathy_keyring_set_password_finish (TP_ACCOUNT (source), result, + &error)) + { + DEBUG ("Failed to set password: %s", error->message); + g_clear_error (&error); + } + else + { + DEBUG ("Password set successfully."); + } +} + void empathy_server_sasl_handler_provide_password ( EmpathyServerSASLHandler *handler, @@ -389,7 +408,8 @@ empathy_server_sasl_handler_provide_password ( if (remember) { - /* TODO */ + empathy_keyring_set_password_async (priv->account, password, + empathy_server_sasl_handler_set_password_cb, NULL); } } |