libcryptui: port from libgnome-keyring to gcr-devel

While we're at it, prepare for gnupg v2.2, and port another bug-fix.
This commit is contained in:
Đoàn Trần Công Danh 2021-07-10 22:34:53 +07:00 committed by Đoàn Trần Công Danh
parent f6ba5a5590
commit 042c75acd4
6 changed files with 268 additions and 5 deletions

View file

@ -0,0 +1,34 @@
From a576e407d913b35804f838d615da52899681d61d Mon Sep 17 00:00:00 2001
From: Andreas Henriksson <andreas@fatal.se>
Date: Mon, 15 Aug 2016 18:12:06 +0200
Subject: [PATCH] daemon: fix conflicting return types
... in functions seahorse_dbus_server_{init,cleanup}
Reported-by: Michael Tautschnig <mt@debian.org>
Bug-Debian: https://bugs.debian.org/749001
https://bugzilla.gnome.org/show_bug.cgi?id=769943
---
daemon/seahorse-daemon.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/daemon/seahorse-daemon.h b/daemon/seahorse-daemon.h
index 93c0c452..09716bb5 100644
--- a/daemon/seahorse-daemon.h
+++ b/daemon/seahorse-daemon.h
@@ -24,9 +24,9 @@
/* seahorse-dbus-server.c --------------------------------------------------- */
-gboolean seahorse_dbus_server_init ();
+void seahorse_dbus_server_init ();
-gboolean seahorse_dbus_server_cleanup ();
+void seahorse_dbus_server_cleanup ();
DBusGConnection* seahorse_dbus_server_get_connection ();
--
GitLab

View file

@ -0,0 +1,154 @@
From 728aceb6defd4e6e4f07fa49ca76f5e745230fee Mon Sep 17 00:00:00 2001
From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Date: Fri, 16 Sep 2016 11:46:55 +0200
Subject: [PATCH] daemon: port to gcr-3
This removes the dependency on libgnome-keyring and adds a dependency
on libgcr instead.
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stef Walter <stefw@redhat.com>
* Updated commit message
https://bugzilla.gnome.org/show_bug.cgi?id=771522
---
configure.ac | 14 +++++++-------
daemon/seahorse-secure-buffer.c | 7 ++++---
daemon/seahorse-secure-memory.c | 21 +++++++++++----------
3 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/configure.ac b/configure.ac
index b621b236..4486e7b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -252,18 +252,18 @@ if test "$enable_fatal_messages" = "yes" && test "$enable_debug" = "yes"; then
fi
dnl ****************************************************************************
-dnl GNOME-KEYRING
+dnl GCR
dnl ****************************************************************************
-PKG_CHECK_MODULES([GNOME_KEYRING], gnome-keyring-1 >= 2.25.5,
- [enable_gnome_keyring=yes],[enable_gnome_keyring=no])
+PKG_CHECK_MODULES([GCR], gcr-3,
+ [enable_gcr=yes],[enable_gcr=no])
-if test "$enable_gnome_keyring" = "no"; then
- AC_MSG_ERROR([gnome-keyring library or headers not found.])
+if test "$enable_gcr" = "no"; then
+ AC_MSG_ERROR([gcr library or headers not found.])
fi
-SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GNOME_KEYRING_CFLAGS"
-SEAHORSE_LIBS="$SEAHORSE_LIBS $GNOME_KEYRING_LIBS"
+SEAHORSE_CFLAGS="$SEAHORSE_CFLAGS $GCR_CFLAGS"
+SEAHORSE_LIBS="$SEAHORSE_LIBS $GCR_LIBS"
dnl ****************************************************************************
dnl LIBCRYPTUI
diff --git a/daemon/seahorse-secure-buffer.c b/daemon/seahorse-secure-buffer.c
index 0db87961..63f87cd3 100644
--- a/daemon/seahorse-secure-buffer.c
+++ b/daemon/seahorse-secure-buffer.c
@@ -20,7 +20,8 @@
#include "config.h"
#include "seahorse-secure-buffer.h"
-#include <gnome-keyring-memory.h>
+#define GCR_API_SUBJECT_TO_CHANGE 1
+#include <gcr/gcr.h>
#include <string.h>
@@ -92,7 +93,7 @@ seahorse_secure_buffer_real_insert_text (GtkEntryBuffer *buffer, guint position,
}
}
- pv->text = gnome_keyring_memory_realloc (pv->text, pv->text_size);
+ pv->text = gcr_secure_memory_realloc (pv->text, pv->text_size);
}
/* Actual text insertion */
@@ -158,7 +159,7 @@ seahorse_secure_buffer_finalize (GObject *obj)
SeahorseSecureBufferPrivate *pv = self->priv;
if (pv->text) {
- gnome_keyring_memory_free (pv->text);
+ gcr_secure_memory_free (pv->text);
pv->text = NULL;
pv->text_bytes = pv->text_size = 0;
pv->text_chars = 0;
diff --git a/daemon/seahorse-secure-memory.c b/daemon/seahorse-secure-memory.c
index 3d94a674..f201d1df 100644
--- a/daemon/seahorse-secure-memory.c
+++ b/daemon/seahorse-secure-memory.c
@@ -23,7 +23,8 @@
#include <glib.h>
-#include <gnome-keyring-memory.h>
+#define GCR_API_SUBJECT_TO_CHANGE 1
+#include <gcr/gcr.h>
#include "seahorse-secure-memory.h"
@@ -47,7 +48,7 @@ switch_malloc (gsize size)
if (size == 0)
return NULL;
if (seahorse_use_secure_mem)
- p = gnome_keyring_memory_try_alloc (size);
+ p = gcr_secure_memory_try_alloc (size);
else
p = malloc (size);
return p;
@@ -71,7 +72,7 @@ switch_calloc (gsize num, gsize size)
if (size == 0 || num == 0)
return NULL;
if (seahorse_use_secure_mem)
- p = gnome_keyring_memory_try_alloc (size * num);
+ p = gcr_secure_memory_try_alloc (size * num);
else
p = calloc (num, size);
return p;
@@ -99,11 +100,11 @@ switch_realloc (gpointer mem, gsize size)
if (!mem) {
if (seahorse_use_secure_mem)
- p = gnome_keyring_memory_alloc (size);
+ p = gcr_secure_memory_alloc (size);
else
p = malloc (size);
- } else if (gnome_keyring_memory_is_secure (mem))
- p = gnome_keyring_memory_try_realloc (mem, size);
+ } else if (gcr_secure_memory_is_secure (mem))
+ p = gcr_secure_memory_try_realloc (mem, size);
else
p = realloc (mem, size);
return p;
@@ -120,8 +121,8 @@ static void
switch_free (gpointer mem)
{
if (mem) {
- if (gnome_keyring_memory_is_secure (mem))
- gnome_keyring_memory_free (mem);
+ if (gcr_secure_memory_is_secure (mem))
+ gcr_secure_memory_free (mem);
else
free (mem);
}
@@ -138,9 +139,9 @@ seahorse_try_gk_secure_memory ()
{
gpointer p;
- p = gnome_keyring_memory_try_alloc (10);
+ p = gcr_secure_memory_try_alloc (10);
if (p != NULL) {
- gnome_keyring_memory_free (p);
+ gcr_secure_memory_free (p);
return TRUE;
}
--
GitLab

View file

@ -0,0 +1,37 @@
From 7c805b5d4eca798a03ac56b40e53cb335e30c187 Mon Sep 17 00:00:00 2001
From: Vlad Orlov <monsta@inbox.ru>
Date: Mon, 15 Aug 2016 18:23:31 +0200
Subject: [PATCH] libcryptui: fix logic flaw in the prompt recipients dialog
The prompt recipients dialog has been broken in commit
https://github.com/GNOME/libcryptui/commit/cd74aa6bf810a5ce0935d2ec89d6db64dbbde24d#diff-f0ea8a1eef5386b0149314d2a1743e85L202
The patch fixes the logic there and makes seahorse-tool's
encrypt command work again. Therefore, seahorse plugins for both
Nautilus and Nemo should start working as well.
Bug-Debian: https://bugs.debian.org/770436
https://bugzilla.gnome.org/show_bug.cgi?id=769944
Reviewed-by: Stef Walter <stefw@gnome.org>
---
libcryptui/cryptui.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libcryptui/cryptui.c b/libcryptui/cryptui.c
index 92f0d5d4..2bbfa409 100644
--- a/libcryptui/cryptui.c
+++ b/libcryptui/cryptui.c
@@ -211,7 +211,7 @@ cryptui_prompt_recipients_with_symmetric (CryptUIKeyset *keyset,
*symmetric = cryptui_key_chooser_get_symmetric (chooser);
}
- if (symmetric != NULL && !*symmetric) {
+ if (symmetric == NULL || *symmetric == FALSE) {
recipients = cryptui_key_chooser_get_recipients (chooser);
keys = g_new0(gchar*, g_list_length (recipients) + 1);
for (l = recipients, i = 0; l; l = g_list_next (l), i++)
--
GitLab

View file

@ -0,0 +1,25 @@
From 183d7619c29482a5d4ae8019692899f87f198171 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@gnome.org>
Date: Sat, 17 Oct 2015 08:52:35 +0200
Subject: Allow building with gnupg 2.1.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 406b9f3..b621b23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,7 +95,7 @@ AC_ARG_ENABLE(gpg-check,
DO_CHECK=$enableval, DO_CHECK=yes)
if test "$DO_CHECK" = "yes"; then
- accepted_versions="1.2 1.4 2.0"
+ accepted_versions="1.2 1.4 2.0 2.1 2.2"
AC_PATH_PROGS(GNUPG, [gpg gpg2], no)
AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.])
ok="no"
--
cgit v0.12

View file

@ -0,0 +1,12 @@
Index: libcryptui-3.12.2/configure.ac
===================================================================
--- libcryptui-3.12.2.orig/configure.ac
+++ libcryptui-3.12.2/configure.ac
@@ -322,6 +322,7 @@ AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the gettext domain.])
AM_GLIB_GNU_GETTEXT
+DATADIRNAME=share
dnl ****************************************************************************
## here we get the flags we'll actually use

View file

@ -1,16 +1,17 @@
# Template file for 'libcryptui'
pkgname=libcryptui
version=3.12.2
revision=3
revision=4
build_style=gnu-configure
build_helper="gir"
configure_args="--disable-static --disable-update-mime-database
--disable-schemas-compile $(vopt_enable gir introspection)"
hostmakedepends="pkg-config intltool dbus-glib-devel glib gnupg
automake libtool gettext-devel-tools glib-devel
$(vopt_if gir gobject-introspection)"
makedepends="libSM-devel dbus-glib-devel gtk+3-devel gpgme-devel
libnotify-devel libgnome-keyring-devel"
depends="hicolor-icon-theme libgnome-keyring>=3.10 gnupg"
libnotify-devel gcr-devel"
depends="hicolor-icon-theme gnupg"
short_desc="GNOME Interface components for OpenPGP"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later, LGPL-2.0-or-later"
@ -22,8 +23,8 @@ checksum=71ead1a7b496f07f6c5102ae79945dd2515b7b9342c6edefe58b47318be20866
build_options="gir"
build_options_default="gir"
post_patch() {
vsed -i -e 's/DATADIRNAME=lib/DATADIRNAME=share/' configure
pre_configure() {
autoreconf -fi
}
libcryptui-devel_package() {