Commit e5ecab72 authored by Mohammed Sadiq's avatar Mohammed Sadiq Committed by Mohammed Sadiq

secret-store: Use simple API to manage secrets

Only Simple API is supposed to work in flatpak.  So let's use it
parent 8124d7d5
Pipeline #64111 failed with stages
in 3 minutes and 57 seconds
...@@ -115,7 +115,7 @@ secret_load_cb (GObject *object, ...@@ -115,7 +115,7 @@ secret_load_cb (GObject *object,
g_assert_true (G_IS_TASK (task)); g_assert_true (G_IS_TASK (task));
secrets = secret_service_search_finish (NULL, result, &error); secrets = secret_password_search_finish (result, &error);
if (error) { if (error) {
g_task_return_error (task, error); g_task_return_error (task, error);
...@@ -144,18 +144,16 @@ chatty_secret_load_async (GCancellable *cancellable, ...@@ -144,18 +144,16 @@ chatty_secret_load_async (GCancellable *cancellable,
gpointer user_data) gpointer user_data)
{ {
const SecretSchema *schema; const SecretSchema *schema;
g_autoptr(GHashTable) attr = NULL;
GTask *task; GTask *task;
g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable)); g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
schema = secret_store_get_schema (); schema = secret_store_get_schema ();
task = g_task_new (NULL, cancellable, callback, user_data); task = g_task_new (NULL, cancellable, callback, user_data);
attr = secret_attributes_build (schema, NULL);
secret_service_search (NULL, schema, attr, secret_password_search (schema,
SECRET_SEARCH_ALL | SECRET_SEARCH_UNLOCK | SECRET_SEARCH_LOAD_SECRETS, SECRET_SEARCH_ALL | SECRET_SEARCH_UNLOCK | SECRET_SEARCH_LOAD_SECRETS,
cancellable, secret_load_cb, task); cancellable, secret_load_cb, task, NULL);
} }
GPtrArray * GPtrArray *
...@@ -174,19 +172,17 @@ chatty_secret_delete_async (ChattyAccount *account, ...@@ -174,19 +172,17 @@ chatty_secret_delete_async (ChattyAccount *account,
gpointer user_data) gpointer user_data)
{ {
const SecretSchema *schema; const SecretSchema *schema;
g_autoptr(GHashTable) attr = NULL;
const char *server; const char *server;
g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable)); g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
schema = secret_store_get_schema (); schema = secret_store_get_schema ();
server = chatty_ma_account_get_homeserver (CHATTY_MA_ACCOUNT (account)); server = chatty_ma_account_get_homeserver (CHATTY_MA_ACCOUNT (account));
attr = secret_attributes_build (schema, secret_password_clear (schema, cancellable, callback, user_data,
CHATTY_USERNAME_ATTRIBUTE, chatty_account_get_username (account), CHATTY_USERNAME_ATTRIBUTE, chatty_account_get_username (account),
CHATTY_SERVER_ATTRIBUTE, server, CHATTY_SERVER_ATTRIBUTE, server,
CHATTY_PROTOCOL_ATTRIBUTE, PROTOCOL_MATRIX_STR, CHATTY_PROTOCOL_ATTRIBUTE, PROTOCOL_MATRIX_STR,
NULL); NULL);
secret_service_clear (NULL, schema, attr, cancellable, callback, user_data);
} }
gboolean gboolean
...@@ -195,5 +191,5 @@ chatty_secret_delete_finish (GAsyncResult *result, ...@@ -195,5 +191,5 @@ chatty_secret_delete_finish (GAsyncResult *result,
{ {
g_return_val_if_fail (G_IS_ASYNC_RESULT (result), FALSE); g_return_val_if_fail (G_IS_ASYNC_RESULT (result), FALSE);
return secret_service_clear_finish (NULL, result, error); return secret_password_clear_finish (result, error);
} }
...@@ -790,22 +790,22 @@ ma_account_get_value (const char *str, ...@@ -790,22 +790,22 @@ ma_account_get_value (const char *str,
} }
ChattyMaAccount * ChattyMaAccount *
chatty_ma_account_new_secret (gpointer secret_item) chatty_ma_account_new_secret (gpointer secret_retrievable)
{ {
ChattyMaAccount *self = NULL; ChattyMaAccount *self = NULL;
g_autoptr(GHashTable) attributes = NULL; g_autoptr(GHashTable) attributes = NULL;
SecretItem *item = secret_item; SecretRetrievable *item = secret_retrievable;
SecretValue *value; SecretValue *value;
const char *username, *homeserver, *credentials; const char *username, *homeserver, *credentials;
char *password, *token, *device_id; char *password, *token, *device_id;
char *password_str, *token_str = NULL; char *password_str, *token_str = NULL;
g_return_val_if_fail (SECRET_IS_ITEM (item), NULL); g_return_val_if_fail (SECRET_IS_RETRIEVABLE (item), NULL);
value = secret_item_get_secret (item); value = secret_retrievable_retrieve_secret_sync (item, NULL, NULL);
credentials = secret_value_get_text (value); credentials = secret_value_get_text (value);
attributes = secret_item_get_attributes (item); attributes = secret_retrievable_get_attributes (item);
username = g_hash_table_lookup (attributes, CHATTY_USERNAME_ATTRIBUTE); username = g_hash_table_lookup (attributes, CHATTY_USERNAME_ATTRIBUTE);
homeserver = g_hash_table_lookup (attributes, CHATTY_SERVER_ATTRIBUTE); homeserver = g_hash_table_lookup (attributes, CHATTY_SERVER_ATTRIBUTE);
......
...@@ -25,7 +25,7 @@ G_DECLARE_FINAL_TYPE (ChattyMaAccount, chatty_ma_account, CHATTY, MA_ACCOUNT, Ch ...@@ -25,7 +25,7 @@ G_DECLARE_FINAL_TYPE (ChattyMaAccount, chatty_ma_account, CHATTY, MA_ACCOUNT, Ch
ChattyMaAccount *chatty_ma_account_new (const char *username, ChattyMaAccount *chatty_ma_account_new (const char *username,
const char *password); const char *password);
ChattyMaAccount *chatty_ma_account_new_secret (gpointer secret_item); ChattyMaAccount *chatty_ma_account_new_secret (gpointer secret_retrievable);
void chatty_ma_account_set_history_db (ChattyMaAccount *self, void chatty_ma_account_set_history_db (ChattyMaAccount *self,
gpointer history_db); gpointer history_db);
void chatty_ma_account_set_db (ChattyMaAccount *self, void chatty_ma_account_set_db (ChattyMaAccount *self,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment