From 47e8853cd7e4a10f4563d66c07f4dc555cc9c7a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ey=C3=9Fer?= Date: Sun, 8 Dec 2019 01:37:27 +0100 Subject: [PATCH] gnupg2: update to 2.2.19. --- ...ouble-free-with-anonymous-recipients.patch | 84 ------------------- srcpkgs/gnupg2/template | 6 +- 2 files changed, 3 insertions(+), 87 deletions(-) delete mode 100644 srcpkgs/gnupg2/patches/0001-gpg-Fix-double-free-with-anonymous-recipients.patch diff --git a/srcpkgs/gnupg2/patches/0001-gpg-Fix-double-free-with-anonymous-recipients.patch b/srcpkgs/gnupg2/patches/0001-gpg-Fix-double-free-with-anonymous-recipients.patch deleted file mode 100644 index bce1fdefef..0000000000 --- a/srcpkgs/gnupg2/patches/0001-gpg-Fix-double-free-with-anonymous-recipients.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 9ac182f376abf910a7b737b0e1ebd447eaa582f1 Mon Sep 17 00:00:00 2001 -From: Werner Koch -Date: Fri, 29 Nov 2019 17:44:12 +0100 -Subject: [PATCH GnuPG] gpg: Fix double free with anonymous recipients. - -* g10/pubkey-enc.c (get_session_key): Do not release SK. --- - -Bug is in 2.2.18 only. - -The semantics of the enum_secret_keys function changed in master. -When back porting this for 2.2.18 I missed this change and thus we ran -into a double free. The patches fixes the regression but is it clumsy. -We need to change the enum_secret_keys interface to avoid such a -surprising behaviour; this needs to be done in master first. - -Regression-due-to: 9a317557c58d2bdcc504b70c366b77f4cac71df7 -GnuPG-bug-id: 4762 -Signed-off-by: Werner Koch ---- - g10/pubkey-enc.c | 8 ++++++-- - g10/skclist.c | 7 +++++-- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/g10/pubkey-enc.c b/g10/pubkey-enc.c -index 71a48cc41..4e6f893f3 100644 ---- g10/pubkey-enc.c -+++ g10/pubkey-enc.c -@@ -114,11 +114,11 @@ get_session_key (ctrl_t ctrl, PKT_pubkey_enc * k, DEK * dek) - - for (;;) - { -- free_public_key (sk); - sk = xmalloc_clear (sizeof *sk); - rc = enum_secret_keys (ctrl, &enum_context, sk); - if (rc) - { -+ sk = NULL; /* enum_secret_keys turns SK into a shallow copy! */ - rc = GPG_ERR_NO_SECKEY; - break; - } -@@ -148,10 +148,14 @@ get_session_key (ctrl_t ctrl, PKT_pubkey_enc * k, DEK * dek) - { - if (!opt.quiet) - log_info (_("okay, we are the anonymous recipient.\n")); -+ sk = NULL; - break; - } - else if (gpg_err_code (rc) == GPG_ERR_FULLY_CANCELED) -- break; /* Don't try any more secret keys. */ -+ { -+ sk = NULL; -+ break; /* Don't try any more secret keys. */ -+ } - } - enum_secret_keys (ctrl, &enum_context, NULL); /* free context */ - } -diff --git a/g10/skclist.c b/g10/skclist.c -index 8817ee904..5a32b6a17 100644 ---- g10/skclist.c -+++ g10/skclist.c -@@ -292,14 +292,17 @@ build_sk_list (ctrl_t ctrl, - * --default-key and --try-secret-key). Use the following procedure: - * - * 1) Initialize a void pointer to NULL -- * 2) Pass a reference to this pointer to this function (content) -- * and provide space for the secret key (sk) -+ * 2) Pass a reference to this pointer to this function (CONTEXT) -+ * and provide space for the secret key (SK) - * 3) Call this function as long as it does not return an error (or - * until you are done). The error code GPG_ERR_EOF indicates the - * end of the listing. - * 4) Call this function a last time with SK set to NULL, - * so that can free it's context. - * -+ * TAKE CARE: When the function returns SK belongs to CONTEXT and may -+ * not be freed by the caller; neither on success nor on error. -+ * - * In pseudo-code: - * - * void *ctx = NULL; --- -2.11.0 - diff --git a/srcpkgs/gnupg2/template b/srcpkgs/gnupg2/template index 1d6ee82033..2f9296caf6 100644 --- a/srcpkgs/gnupg2/template +++ b/srcpkgs/gnupg2/template @@ -1,7 +1,7 @@ # Template file for 'gnupg2' pkgname=gnupg2 -version=2.2.18 -revision=4 +version=2.2.19 +revision=1 wrksrc="gnupg-${version}" build_style=gnu-configure configure_args="--with-libgcrypt-prefix=${XBPS_CROSS_BASE} @@ -17,7 +17,7 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://www.gnupg.org/" distfiles="https://gnupg.org/ftp/gcrypt/gnupg/gnupg-${version}.tar.bz2" -checksum=30d37ce2ca55b2b9b61480b2a175a3b22066ab41cd3f84688448919b566dec0a +checksum=242554c0e06f3a83c420b052f750b65ead711cc3fddddb5e7274fcdbb4e9dec0 build_options="ldap" build_options_default="ldap"