summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpurple/plugins/keyrings/meson.build8
-rw-r--r--libpurple/plugins/libsecret/libsecret.c (renamed from libpurple/plugins/keyrings/secretservice.c)156
-rw-r--r--libpurple/plugins/libsecret/meson.build9
-rw-r--r--libpurple/plugins/meson.build1
-rw-r--r--meson.build6
-rw-r--r--meson_options.txt4
-rw-r--r--po/POTFILES.in2
7 files changed, 93 insertions, 93 deletions
diff --git a/libpurple/plugins/keyrings/meson.build b/libpurple/plugins/keyrings/meson.build
index a9b0fdae97..663c14cc5f 100644
--- a/libpurple/plugins/keyrings/meson.build
+++ b/libpurple/plugins/keyrings/meson.build
@@ -7,14 +7,6 @@ if nettle.found()
install : false, install_dir : PURPLE_PLUGINDIR)
endif
-if secretservice.found()
- secretsservice_plugin = library('secretservice', 'secretservice.c',
- c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-SecretServiceKeyring"'],
- dependencies : [secretservice, libpurple_dep],
- name_prefix : '',
- install : true, install_dir : PURPLE_PLUGINDIR)
-endif
-
if IS_WIN32
wincred_plugin = library('wincred', 'wincred.c',
c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-WinCredKeyring"'],
diff --git a/libpurple/plugins/keyrings/secretservice.c b/libpurple/plugins/libsecret/libsecret.c
index c2ad081980..8a256d70ff 100644
--- a/libpurple/plugins/keyrings/secretservice.c
+++ b/libpurple/plugins/libsecret/libsecret.c
@@ -41,17 +41,17 @@
project name. It may not be appropriate to translate this string, but
transliterating to your alphabet is reasonable. More info about the
project can be found at https://wiki.gnome.org/Projects/Libsecret */
-#define SECRETSERVICE_ID "secret-service"
-#define SECRETSERVICE_NAME N_("Secret Service")
-#define SECRETSERVICE_DESCRIPTION N_("D-Bus Secret Service. Common in GNOME " \
- "and other desktop environments.")
+#define LIBSECRET_ID "libsecret"
+#define LIBSECRET_NAME N_("libsecret")
+#define LIBSECRET_DESCRIPTION N_("Credential provider for libsecret. Common " \
+ "in GNOME and other desktop environments.")
/******************************************************************************
* Globals
*****************************************************************************/
static PurpleCredentialProvider *instance = NULL;
-static const SecretSchema purple_secret_service_schema = {
+static const SecretSchema purple_libsecret_schema = {
"im.pidgin.Purple3", SECRET_SCHEMA_NONE,
{
{"user", SECRET_SCHEMA_ATTRIBUTE_STRING},
@@ -62,24 +62,23 @@ static const SecretSchema purple_secret_service_schema = {
0, 0, 0, 0, 0, 0, 0, 0
};
-#define PURPLE_TYPE_SECRET_SERVICE (purple_secret_service_get_type())
-G_DECLARE_FINAL_TYPE(PurpleSecretService, purple_secret_service,
- PURPLE, SECRET_SERVICE, PurpleCredentialProvider)
+#define PURPLE_TYPE_LIBSECRET (purple_libsecret_get_type())
+G_DECLARE_FINAL_TYPE(PurpleLibSecret, purple_libsecret,
+ PURPLE, LIBSECRET, PurpleCredentialProvider)
-struct _PurpleSecretService {
+struct _PurpleLibSecret {
PurpleCredentialProvider parent;
};
-G_DEFINE_DYNAMIC_TYPE(PurpleSecretService, purple_secret_service,
+G_DEFINE_DYNAMIC_TYPE(PurpleLibSecret, purple_libsecret,
PURPLE_TYPE_CREDENTIAL_PROVIDER)
/******************************************************************************
* Callbacks
*****************************************************************************/
static void
-purple_secret_service_read_password_callback(GObject *obj,
- GAsyncResult *result,
- gpointer data)
+purple_libsecret_read_password_callback(GObject *obj, GAsyncResult *result,
+ gpointer data)
{
GTask *task = G_TASK(data);
GError *error = NULL;
@@ -97,9 +96,8 @@ purple_secret_service_read_password_callback(GObject *obj,
}
static void
-purple_secret_service_write_password_callback(GObject *obj,
- GAsyncResult *result,
- gpointer data)
+purple_libsecret_write_password_callback(GObject *obj, GAsyncResult *result,
+ gpointer data)
{
GTask *task = G_TASK(data);
GError *error = NULL;
@@ -117,9 +115,8 @@ purple_secret_service_write_password_callback(GObject *obj,
}
static void
-purple_secret_service_clear_password_callback(GObject *obj,
- GAsyncResult *result,
- gpointer data)
+purple_libsecret_clear_password_callback(GObject *obj, GAsyncResult *result,
+ gpointer data)
{
GTask *task = G_TASK(data);
GError *error = NULL;
@@ -144,25 +141,25 @@ purple_secret_service_clear_password_callback(GObject *obj,
* PurpleCredentialProvider Implementation
*****************************************************************************/
static void
-purple_secret_service_read_password_async(PurpleCredentialProvider *provider,
- PurpleAccount *account,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer data)
+purple_libsecret_read_password_async(PurpleCredentialProvider *provider,
+ PurpleAccount *account,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer data)
{
GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
- secret_password_lookup(&purple_secret_service_schema, cancellable,
- purple_secret_service_read_password_callback, task,
+ secret_password_lookup(&purple_libsecret_schema, cancellable,
+ purple_libsecret_read_password_callback, task,
"user", purple_account_get_username(account),
"protocol", purple_account_get_protocol_id(account),
NULL);
}
static gchar *
-purple_secret_service_read_password_finish(PurpleCredentialProvider *provider,
- GAsyncResult *result,
- GError **error)
+purple_libsecret_read_password_finish(PurpleCredentialProvider *provider,
+ GAsyncResult *result,
+ GError **error)
{
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_PROVIDER(provider), FALSE);
g_return_val_if_fail(G_IS_ASYNC_RESULT(result), FALSE);
@@ -171,12 +168,12 @@ purple_secret_service_read_password_finish(PurpleCredentialProvider *provider,
}
static void
-purple_secret_service_write_password_async(PurpleCredentialProvider *provider,
- PurpleAccount *account,
- const gchar *password,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer data)
+purple_libsecret_write_password_async(PurpleCredentialProvider *provider,
+ PurpleAccount *account,
+ const gchar *password,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer data)
{
GTask *task = NULL;
gchar *label = NULL;
@@ -186,10 +183,10 @@ purple_secret_service_write_password_async(PurpleCredentialProvider *provider,
username = purple_account_get_username(account);
label = g_strdup_printf(_("libpurple password for account %s"), username);
- secret_password_store(&purple_secret_service_schema,
+ secret_password_store(&purple_libsecret_schema,
SECRET_COLLECTION_DEFAULT, label, password,
cancellable,
- purple_secret_service_write_password_callback, task,
+ purple_libsecret_write_password_callback, task,
"user", username,
"protocol", purple_account_get_protocol_id(account),
NULL);
@@ -197,9 +194,9 @@ purple_secret_service_write_password_async(PurpleCredentialProvider *provider,
}
static gboolean
-purple_secret_service_write_password_finish(PurpleCredentialProvider *provider,
- GAsyncResult *result,
- GError **error)
+purple_libsecret_write_password_finish(PurpleCredentialProvider *provider,
+ GAsyncResult *result,
+ GError **error)
{
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_PROVIDER(provider), FALSE);
g_return_val_if_fail(G_IS_ASYNC_RESULT(result), FALSE);
@@ -208,25 +205,25 @@ purple_secret_service_write_password_finish(PurpleCredentialProvider *provider,
}
static void
-purple_secret_service_clear_password_async(PurpleCredentialProvider *provider,
- PurpleAccount *account,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer data)
+purple_libsecret_clear_password_async(PurpleCredentialProvider *provider,
+ PurpleAccount *account,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer data)
{
GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data);
- secret_password_clear(&purple_secret_service_schema, cancellable,
- purple_secret_service_clear_password_callback, task,
+ secret_password_clear(&purple_libsecret_schema, cancellable,
+ purple_libsecret_clear_password_callback, task,
"user", purple_account_get_username(account),
"protocol", purple_account_get_protocol_id(account),
NULL);
}
static gboolean
-purple_secret_service_clear_password_finish(PurpleCredentialProvider *provider,
- GAsyncResult *result,
- GError **error)
+purple_libsecret_clear_password_finish(PurpleCredentialProvider *provider,
+ GAsyncResult *result,
+ GError **error)
{
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_PROVIDER(provider), FALSE);
g_return_val_if_fail(G_IS_ASYNC_RESULT(result), FALSE);
@@ -238,63 +235,64 @@ purple_secret_service_clear_password_finish(PurpleCredentialProvider *provider,
* GObject Implementation
*****************************************************************************/
static void
-purple_secret_service_init(PurpleSecretService *ss) {
+purple_libsecret_init(PurpleLibSecret *libsecret) {
}
static void
-purple_secret_service_class_init(PurpleSecretServiceClass *klass) {
+purple_libsecret_class_init(PurpleLibSecretClass *klass) {
PurpleCredentialProviderClass *provider_class = NULL;
provider_class = PURPLE_CREDENTIAL_PROVIDER_CLASS(klass);
provider_class->read_password_async =
- purple_secret_service_read_password_async;
+ purple_libsecret_read_password_async;
provider_class->read_password_finish =
- purple_secret_service_read_password_finish;
+ purple_libsecret_read_password_finish;
provider_class->write_password_async =
- purple_secret_service_write_password_async;
+ purple_libsecret_write_password_async;
provider_class->write_password_finish =
- purple_secret_service_write_password_finish;
+ purple_libsecret_write_password_finish;
provider_class->clear_password_async =
- purple_secret_service_clear_password_async;
+ purple_libsecret_clear_password_async;
provider_class->clear_password_finish =
- purple_secret_service_clear_password_finish;
+ purple_libsecret_clear_password_finish;
}
static void
-purple_secret_service_class_finalize(PurpleSecretServiceClass *klass) {
+purple_libsecret_class_finalize(PurpleLibSecretClass *klass) {
}
/******************************************************************************
* API
*****************************************************************************/
static PurpleCredentialProvider *
-purple_secret_service_new(void) {
- return PURPLE_CREDENTIAL_PROVIDER(g_object_new(
- PURPLE_TYPE_SECRET_SERVICE,
- "id", SECRETSERVICE_ID,
- "name", _(SECRETSERVICE_NAME),
- "description", _(SECRETSERVICE_DESCRIPTION),
+purple_libsecret_new(void) {
+ return g_object_new(
+ PURPLE_TYPE_LIBSECRET,
+ "id", LIBSECRET_ID,
+ "name", _(LIBSECRET_NAME),
+ "description", _(LIBSECRET_DESCRIPTION),
NULL
- ));
+ );
}
/******************************************************************************
* Plugin Exports
*****************************************************************************/
static GPluginPluginInfo *
-secret_service_query(G_GNUC_UNUSED GError **error) {
+libsecret_query(G_GNUC_UNUSED GError **error) {
const gchar * const authors[] = {
"Pidgin Developers <devel@pidgin.im>",
NULL
};
return GPLUGIN_PLUGIN_INFO(purple_plugin_info_new(
- "id", SECRETSERVICE_ID,
- "name", SECRETSERVICE_NAME,
+ "id", "credential-provider-" LIBSECRET_ID,
+ "name", LIBSECRET_NAME,
"version", DISPLAY_VERSION,
- "category", N_("Keyring"),
- "summary", "Secret Service Plugin",
- "description", N_("This plugin will store passwords in Secret Service."),
+ "category", N_("Credentials"),
+ "summary", "libsecret credential provider",
+ "description", N_("Adds support for using libsecret as a credential "
+ "provider."),
"authors", authors,
"website", PURPLE_WEBSITE,
"abi-version", PURPLE_ABI_VERSION,
@@ -305,22 +303,22 @@ secret_service_query(G_GNUC_UNUSED GError **error) {
}
static gboolean
-secret_service_load(GPluginPlugin *plugin, GError **error) {
+libsecret_load(GPluginPlugin *plugin, GError **error) {
PurpleCredentialManager *manager = NULL;
- purple_secret_service_register_type(G_TYPE_MODULE(plugin));
+ purple_libsecret_register_type(G_TYPE_MODULE(plugin));
manager = purple_credential_manager_get_default();
- instance = purple_secret_service_new();
+ instance = purple_libsecret_new();
return purple_credential_manager_register(manager, instance, error);
}
static gboolean
-secret_service_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
- G_GNUC_UNUSED gboolean shutdown,
- GError **error)
+libsecret_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
+ G_GNUC_UNUSED gboolean shutdown,
+ GError **error)
{
PurpleCredentialManager *manager = NULL;
gboolean ret = FALSE;
@@ -336,4 +334,4 @@ secret_service_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
return TRUE;
}
-GPLUGIN_NATIVE_PLUGIN_DECLARE(secret_service)
+GPLUGIN_NATIVE_PLUGIN_DECLARE(libsecret)
diff --git a/libpurple/plugins/libsecret/meson.build b/libpurple/plugins/libsecret/meson.build
new file mode 100644
index 0000000000..edeec22c32
--- /dev/null
+++ b/libpurple/plugins/libsecret/meson.build
@@ -0,0 +1,9 @@
+if libsecret.found()
+ libsecret_plugin = library('libsecret', 'libsecret.c',
+ c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-LibSecret"'],
+ dependencies : [libsecret, libpurple_dep],
+ name_prefix : '',
+ install : true, install_dir : PURPLE_PLUGINDIR)
+
+ devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
+endif
diff --git a/libpurple/plugins/meson.build b/libpurple/plugins/meson.build
index 1b5447f1b4..19a531f182 100644
--- a/libpurple/plugins/meson.build
+++ b/libpurple/plugins/meson.build
@@ -1,5 +1,6 @@
subdir('keyrings')
subdir('kwallet')
+subdir('libsecret')
subdir('notification-sound')
autoaccept = library('autoaccept', 'autoaccept.c',
diff --git a/meson.build b/meson.build
index f1bfcf8013..6c38a77ac7 100644
--- a/meson.build
+++ b/meson.build
@@ -528,9 +528,9 @@ endif
#######################################################################
if IS_WIN32
- secretservice = disabler()
+ libsecret = disabler()
else
- secretservice = dependency('libsecret-1', required : get_option('secret-service'))
+ libsecret = dependency('libsecret-1', required : get_option('libsecret'))
endif
#######################################################################
@@ -735,7 +735,7 @@ summary({
summary({
'Internal credential provider (via Nettle)': nettle.found(),
'KWallet credential provider': kwallet.found(),
- 'Secret Service credential provider': secretservice.found(),
+ 'libsecret credential provider': libsecret.found(),
'Unity integration': enable_unity,
}, section: 'Plugin support', bool_yn: true)
diff --git a/meson_options.txt b/meson_options.txt
index dd7e7d5892..a12137358a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -34,8 +34,8 @@ option('gstreamer-video', type : 'feature',
option('kwallet', type : 'feature',
description : 'enable KWallet support')
-option('secret-service', type : 'feature',
- description : 'enable Secret Service support')
+option('libsecret', type : 'feature',
+ description : 'enable libsecret support')
option('vv', type : 'feature',
description : 'compile with voice and video support')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 9d92d5a1f6..d7df9592e7 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -61,9 +61,9 @@ libpurple/plugins.c
libpurple/plugins/idle.c
libpurple/plugins/joinpart.c
libpurple/plugins/keyrings/internalkeyring.c
-libpurple/plugins/keyrings/secretservice.c
libpurple/plugins/keyrings/wincred.c
libpurple/plugins/kwallet/purplekwallet.cpp
+libpurple/plugins/libsecret/libsecret.c
libpurple/plugins/notification-sound/notification-sound.c
libpurple/plugins/psychic.c
libpurple/plugins/purple-toast.c