diff --git a/.gitignore b/.gitignore index 4fe46e6..b678439 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,5 @@ gnupg-2.0.16.tar.bz2.sig /gnupg-2.2.19.tar.bz2.sig /gnupg-2.2.20.tar.bz2 /gnupg-2.2.20.tar.bz2.sig +/gnupg-2.2.21.tar.bz2 +/gnupg-2.2.21.tar.bz2.sig diff --git a/gnupg-2.2.20-coverity.patch b/gnupg-2.2.21-coverity.patch similarity index 50% rename from gnupg-2.2.20-coverity.patch rename to gnupg-2.2.21-coverity.patch index a1c4a0a..4d781a5 100644 --- a/gnupg-2.2.20-coverity.patch +++ b/gnupg-2.2.21-coverity.patch @@ -1,6 +1,6 @@ -diff -up gnupg-2.2.20/common/server-help.c.coverity gnupg-2.2.20/common/server-help.c ---- gnupg-2.2.20/common/server-help.c.coverity 2019-02-11 10:59:34.000000000 +0100 -+++ gnupg-2.2.20/common/server-help.c 2020-05-04 12:00:01.085945639 +0200 +diff -up gnupg-2.2.21/common/server-help.c.coverity gnupg-2.2.21/common/server-help.c +--- gnupg-2.2.21/common/server-help.c.coverity 2019-02-11 10:59:34.000000000 +0100 ++++ gnupg-2.2.21/common/server-help.c 2020-07-20 17:09:57.416148768 +0200 @@ -156,7 +156,7 @@ get_option_value (char *line, const char *pend = 0; *r_value = xtrystrdup (p); @@ -10,80 +10,9 @@ diff -up gnupg-2.2.20/common/server-help.c.coverity gnupg-2.2.20/common/server-h return my_error_from_syserror (); return 0; } -diff -up gnupg-2.2.20/dirmngr/dns.c.coverity gnupg-2.2.20/dirmngr/dns.c ---- gnupg-2.2.20/dirmngr/dns.c.coverity 2019-07-09 11:08:45.000000000 +0200 -+++ gnupg-2.2.20/dirmngr/dns.c 2020-05-04 18:04:12.285521661 +0200 -@@ -10106,9 +10106,8 @@ static const struct { - { "AR", DNS_S_ADDITIONAL }, - }; - --const char *(dns_strsection)(enum dns_section section) { -- char _dst[DNS_STRMAXLEN + 1] = { 0 }; -- struct dns_buf dst = DNS_B_INTO(_dst, sizeof _dst); -+const char *(dns_strsection)(enum dns_section section, void *_dst, size_t lim) { -+ struct dns_buf dst = DNS_B_INTO(_dst, lim); - unsigned i; - - for (i = 0; i < lengthof(dns_sections); i++) { -@@ -10156,9 +10155,8 @@ static const struct { - { "IN", DNS_C_IN }, - }; - --const char *(dns_strclass)(enum dns_class type) { -- char _dst[DNS_STRMAXLEN + 1] = { 0 }; -- struct dns_buf dst = DNS_B_INTO(_dst, sizeof _dst); -+const char *(dns_strclass)(enum dns_class type, void *_dst, size_t lim) { -+ struct dns_buf dst = DNS_B_INTO(_dst, lim); - unsigned i; - - for (i = 0; i < lengthof(dns_classes); i++) { -@@ -10193,9 +10191,8 @@ enum dns_class dns_iclass(const char *na - } /* dns_iclass() */ - - --const char *(dns_strtype)(enum dns_type type) { -- char _dst[DNS_STRMAXLEN + 1] = { 0 }; -- struct dns_buf dst = DNS_B_INTO(_dst, sizeof _dst); -+const char *(dns_strtype)(enum dns_type type, void *_dst, size_t lim) { -+ struct dns_buf dst = DNS_B_INTO(_dst, lim); - unsigned i; - - for (i = 0; i < lengthof(dns_rrtypes); i++) { -diff -up gnupg-2.2.20/dirmngr/dns.h.coverity gnupg-2.2.20/dirmngr/dns.h ---- gnupg-2.2.20/dirmngr/dns.h.coverity 2019-03-07 13:03:26.000000000 +0100 -+++ gnupg-2.2.20/dirmngr/dns.h 2020-05-04 18:04:12.287521625 +0200 -@@ -272,15 +272,25 @@ enum dns_rcode { - */ - #define DNS_STRMAXLEN 47 /* "QUESTION|ANSWER|AUTHORITY|ADDITIONAL" */ - --DNS_PUBLIC const char *dns_strsection(enum dns_section); -+DNS_PUBLIC const char *dns_strsection(enum dns_section, void *, size_t); -+#define dns_strsection3(a, b, c) \ -+ dns_strsection((a), (b), (c)) -+#define dns_strsection1(a) dns_strsection((a), (char [DNS_STRMAXLEN + 1]){ 0 }, DNS_STRMAXLEN + 1) -+#define dns_strsection(...) DNS_PP_CALL(DNS_PP_XPASTE(dns_strsection, DNS_PP_NARG(__VA_ARGS__)), __VA_ARGS__) - - DNS_PUBLIC enum dns_section dns_isection(const char *); - --DNS_PUBLIC const char *dns_strclass(enum dns_class); -+DNS_PUBLIC const char *dns_strclass(enum dns_class, void *, size_t); -+#define dns_strclass3(a, b, c) dns_strclass((a), (b), (c)) -+#define dns_strclass1(a) dns_strclass((a), (char [DNS_STRMAXLEN + 1]){ 0 }, DNS_STRMAXLEN + 1) -+#define dns_strclass(...) DNS_PP_CALL(DNS_PP_XPASTE(dns_strclass, DNS_PP_NARG(__VA_ARGS__)), __VA_ARGS__) - - DNS_PUBLIC enum dns_class dns_iclass(const char *); - --DNS_PUBLIC const char *dns_strtype(enum dns_type); -+DNS_PUBLIC const char *dns_strtype(enum dns_type, void *, size_t); -+#define dns_strtype3(a, b, c) dns_strtype((a), (b), (c)) -+#define dns_strtype1(a) dns_strtype((a), (char [DNS_STRMAXLEN + 1]){ 0 }, DNS_STRMAXLEN + 1) -+#define dns_strtype(...) DNS_PP_CALL(DNS_PP_XPASTE(dns_strtype, DNS_PP_NARG(__VA_ARGS__)), __VA_ARGS__) - - DNS_PUBLIC enum dns_type dns_itype(const char *); - -diff -up gnupg-2.2.20/dirmngr/domaininfo.c.coverity gnupg-2.2.20/dirmngr/domaininfo.c ---- gnupg-2.2.20/dirmngr/domaininfo.c.coverity 2019-07-09 11:08:45.000000000 +0200 -+++ gnupg-2.2.20/dirmngr/domaininfo.c 2020-05-04 17:54:30.800899152 +0200 +diff -up gnupg-2.2.21/dirmngr/domaininfo.c.coverity gnupg-2.2.21/dirmngr/domaininfo.c +--- gnupg-2.2.21/dirmngr/domaininfo.c.coverity 2019-07-09 11:08:45.000000000 +0200 ++++ gnupg-2.2.21/dirmngr/domaininfo.c 2020-07-20 17:09:57.418148784 +0200 @@ -193,6 +193,7 @@ insert_or_update (const char *domain, log_error ("domaininfo: error allocating helper array: %s\n", gpg_strerror (gpg_err_code_from_syserror ())); @@ -101,9 +30,9 @@ diff -up gnupg-2.2.20/dirmngr/domaininfo.c.coverity gnupg-2.2.20/dirmngr/domaini } /* Insert */ -diff -up gnupg-2.2.20/dirmngr/http.c.coverity gnupg-2.2.20/dirmngr/http.c ---- gnupg-2.2.20/dirmngr/http.c.coverity 2019-11-18 18:44:33.000000000 +0100 -+++ gnupg-2.2.20/dirmngr/http.c 2020-05-04 17:00:47.826878715 +0200 +diff -up gnupg-2.2.21/dirmngr/http.c.coverity gnupg-2.2.21/dirmngr/http.c +--- gnupg-2.2.21/dirmngr/http.c.coverity 2019-11-18 18:44:33.000000000 +0100 ++++ gnupg-2.2.21/dirmngr/http.c 2020-07-20 17:09:57.419148793 +0200 @@ -3656,7 +3656,6 @@ http_prepare_redirect (http_redir_info_t if (!newurl) { @@ -120,9 +49,9 @@ diff -up gnupg-2.2.20/dirmngr/http.c.coverity gnupg-2.2.20/dirmngr/http.c return err; } } -diff -up gnupg-2.2.20/dirmngr/ks-engine-hkp.c.coverity gnupg-2.2.20/dirmngr/ks-engine-hkp.c ---- gnupg-2.2.20/dirmngr/ks-engine-hkp.c.coverity 2019-11-18 18:44:33.000000000 +0100 -+++ gnupg-2.2.20/dirmngr/ks-engine-hkp.c 2020-05-04 12:39:49.970920664 +0200 +diff -up gnupg-2.2.21/dirmngr/ks-engine-hkp.c.coverity gnupg-2.2.21/dirmngr/ks-engine-hkp.c +--- gnupg-2.2.21/dirmngr/ks-engine-hkp.c.coverity 2019-11-18 18:44:33.000000000 +0100 ++++ gnupg-2.2.21/dirmngr/ks-engine-hkp.c 2020-07-20 17:09:57.419148793 +0200 @@ -1426,7 +1426,7 @@ ks_hkp_search (ctrl_t ctrl, parsed_uri_t int reselect; unsigned int httpflags; @@ -132,10 +61,10 @@ diff -up gnupg-2.2.20/dirmngr/ks-engine-hkp.c.coverity gnupg-2.2.20/dirmngr/ks-e unsigned int tries = SEND_REQUEST_RETRIES; unsigned int extra_tries = SEND_REQUEST_EXTRA_RETRIES; -diff -up gnupg-2.2.20/g10/card-util.c.coverity gnupg-2.2.20/g10/card-util.c ---- gnupg-2.2.20/g10/card-util.c.coverity 2020-03-03 13:33:22.000000000 +0100 -+++ gnupg-2.2.20/g10/card-util.c 2020-05-04 16:56:47.788157786 +0200 -@@ -704,7 +704,7 @@ card_status (ctrl_t ctrl, estream_t fp, +diff -up gnupg-2.2.21/g10/card-util.c.coverity gnupg-2.2.21/g10/card-util.c +--- gnupg-2.2.21/g10/card-util.c.coverity 2020-04-15 15:17:48.000000000 +0200 ++++ gnupg-2.2.21/g10/card-util.c 2020-07-20 17:09:57.419148793 +0200 +@@ -667,7 +667,7 @@ card_status (ctrl_t ctrl, estream_t fp, { int err; strlist_t card_list, sl; @@ -144,7 +73,7 @@ diff -up gnupg-2.2.20/g10/card-util.c.coverity gnupg-2.2.20/g10/card-util.c int all_cards = 0; int any_card = 0; -@@ -749,6 +749,7 @@ card_status (ctrl_t ctrl, estream_t fp, +@@ -712,6 +712,7 @@ card_status (ctrl_t ctrl, estream_t fp, current_card_status (ctrl, fp, NULL, 0); xfree (serialno1); @@ -152,9 +81,9 @@ diff -up gnupg-2.2.20/g10/card-util.c.coverity gnupg-2.2.20/g10/card-util.c if (!all_cards) goto leave; -diff -up gnupg-2.2.20/g10/import.c.coverity gnupg-2.2.20/g10/import.c ---- gnupg-2.2.20/g10/import.c.coverity 2020-05-04 12:34:39.820379830 +0200 -+++ gnupg-2.2.20/g10/import.c 2020-05-04 12:34:55.366106195 +0200 +diff -up gnupg-2.2.21/g10/import.c.coverity gnupg-2.2.21/g10/import.c +--- gnupg-2.2.21/g10/import.c.coverity 2020-07-20 17:09:57.416148768 +0200 ++++ gnupg-2.2.21/g10/import.c 2020-07-20 17:09:57.419148793 +0200 @@ -1888,7 +1888,7 @@ import_one_real (ctrl_t ctrl, if (opt.interactive && !silent) @@ -164,9 +93,9 @@ diff -up gnupg-2.2.20/g10/import.c.coverity gnupg-2.2.20/g10/import.c print_import_check (pk, uidnode->pkt->pkt.user_id); merge_keys_and_selfsig (ctrl, keyblock); tty_printf ("\n"); -diff -up gnupg-2.2.20/g10/keygen.c.coverity gnupg-2.2.20/g10/keygen.c ---- gnupg-2.2.20/g10/keygen.c.coverity 2020-05-04 12:23:04.852613017 +0200 -+++ gnupg-2.2.20/g10/keygen.c 2020-05-04 17:33:18.923891110 +0200 +diff -up gnupg-2.2.21/g10/keygen.c.coverity gnupg-2.2.21/g10/keygen.c +--- gnupg-2.2.21/g10/keygen.c.coverity 2020-07-20 17:09:57.401148640 +0200 ++++ gnupg-2.2.21/g10/keygen.c 2020-07-20 17:09:57.420148801 +0200 @@ -3075,7 +3075,7 @@ parse_key_parameter_part (ctrl_t ctrl, char *endp; const char *curve = NULL; @@ -207,9 +136,9 @@ diff -up gnupg-2.2.20/g10/keygen.c.coverity gnupg-2.2.20/g10/keygen.c free_public_key (pk); return err; } -diff -up gnupg-2.2.20/g10/sig-check.c.coverity gnupg-2.2.20/g10/sig-check.c ---- gnupg-2.2.20/g10/sig-check.c.coverity 2020-05-04 12:18:18.515653963 +0200 -+++ gnupg-2.2.20/g10/sig-check.c 2020-05-04 12:18:33.599388425 +0200 +diff -up gnupg-2.2.21/g10/sig-check.c.coverity gnupg-2.2.21/g10/sig-check.c +--- gnupg-2.2.21/g10/sig-check.c.coverity 2020-07-03 16:17:05.000000000 +0200 ++++ gnupg-2.2.21/g10/sig-check.c 2020-07-20 17:09:57.420148801 +0200 @@ -902,6 +902,7 @@ check_signature_over_key_or_uid (ctrl_t { /* Issued by a subkey. */ @@ -218,10 +147,10 @@ diff -up gnupg-2.2.20/g10/sig-check.c.coverity gnupg-2.2.20/g10/sig-check.c break; } } -diff -up gnupg-2.2.20/g10/sign.c.coverity gnupg-2.2.20/g10/sign.c ---- gnupg-2.2.20/g10/sign.c.coverity 2020-04-30 11:56:43.909360043 +0200 -+++ gnupg-2.2.20/g10/sign.c 2020-05-04 12:08:56.651544958 +0200 -@@ -823,7 +823,7 @@ write_signature_packets (ctrl_t ctrl, +diff -up gnupg-2.2.21/g10/sign.c.coverity gnupg-2.2.21/g10/sign.c +--- gnupg-2.2.21/g10/sign.c.coverity 2020-07-20 17:09:57.399148624 +0200 ++++ gnupg-2.2.21/g10/sign.c 2020-07-20 17:09:57.420148801 +0200 +@@ -824,7 +824,7 @@ write_signature_packets (ctrl_t ctrl, PKT_public_key *pk; PKT_signature *sig; gcry_md_hd_t md; @@ -230,9 +159,9 @@ diff -up gnupg-2.2.20/g10/sign.c.coverity gnupg-2.2.20/g10/sign.c pk = sk_rover->pk; -diff -up gnupg-2.2.20/kbx/keybox-dump.c.coverity gnupg-2.2.20/kbx/keybox-dump.c ---- gnupg-2.2.20/kbx/keybox-dump.c.coverity 2019-08-23 15:59:06.000000000 +0200 -+++ gnupg-2.2.20/kbx/keybox-dump.c 2020-05-04 17:25:53.365946213 +0200 +diff -up gnupg-2.2.21/kbx/keybox-dump.c.coverity gnupg-2.2.21/kbx/keybox-dump.c +--- gnupg-2.2.21/kbx/keybox-dump.c.coverity 2019-08-23 15:59:06.000000000 +0200 ++++ gnupg-2.2.21/kbx/keybox-dump.c 2020-07-20 17:09:57.420148801 +0200 @@ -786,11 +786,15 @@ _keybox_dump_cut_records (const char *fi while ( !(rc = _keybox_read_blob (&blob, fp, NULL)) ) { @@ -250,9 +179,9 @@ diff -up gnupg-2.2.20/kbx/keybox-dump.c.coverity gnupg-2.2.20/kbx/keybox-dump.c fprintf (stderr, "error writing output: %s\n", gpg_strerror (rc)); goto leave; -diff -up gnupg-2.2.20/tools/gpg-wks-server.c.coverity gnupg-2.2.20/tools/gpg-wks-server.c ---- gnupg-2.2.20/tools/gpg-wks-server.c.coverity 2020-02-10 16:12:13.000000000 +0100 -+++ gnupg-2.2.20/tools/gpg-wks-server.c 2020-05-04 11:52:42.547643198 +0200 +diff -up gnupg-2.2.21/tools/gpg-wks-server.c.coverity gnupg-2.2.21/tools/gpg-wks-server.c +--- gnupg-2.2.21/tools/gpg-wks-server.c.coverity 2020-02-10 16:12:13.000000000 +0100 ++++ gnupg-2.2.21/tools/gpg-wks-server.c 2020-07-20 17:09:57.420148801 +0200 @@ -890,15 +890,18 @@ store_key_as_pending (const char *dir, e } @@ -280,9 +209,9 @@ diff -up gnupg-2.2.20/tools/gpg-wks-server.c.coverity gnupg-2.2.20/tools/gpg-wks } if (!err) -diff -up gnupg-2.2.20/tools/wks-util.c.coverity gnupg-2.2.20/tools/wks-util.c ---- gnupg-2.2.20/tools/wks-util.c.coverity 2020-05-04 12:02:21.839475031 +0200 -+++ gnupg-2.2.20/tools/wks-util.c 2020-05-04 17:23:19.552726949 +0200 +diff -up gnupg-2.2.21/tools/wks-util.c.coverity gnupg-2.2.21/tools/wks-util.c +--- gnupg-2.2.21/tools/wks-util.c.coverity 2019-11-23 13:50:21.000000000 +0100 ++++ gnupg-2.2.21/tools/wks-util.c 2020-07-20 17:09:57.421148810 +0200 @@ -948,7 +948,7 @@ ensure_policy_file (const char *addrspec static gpg_error_t install_key_from_spec_file (const char *fname) diff --git a/gnupg2.spec b/gnupg2.spec index b50d23f..fa226e2 100644 --- a/gnupg2.spec +++ b/gnupg2.spec @@ -6,8 +6,8 @@ Summary: Utility for secure communication and data storage Name: gnupg2 -Version: 2.2.20 -Release: 3%{?dist} +Version: 2.2.21 +Release: 1%{?dist} License: GPLv3+ Source0: ftp://ftp.gnupg.org/gcrypt/%{?pre:alpha/}gnupg/gnupg-%{version}%{?pre}.tar.bz2 @@ -28,7 +28,7 @@ Patch20: gnupg-2.2.18-tests-add-test-cases-for-import-without-uid.patch Patch21: gnupg-2.2.18-gpg-allow-import-of-previously-known-keys-even-without-UI.patch Patch22: gnupg-2.2.18-gpg-accept-subkeys-with-a-good-revocation-but-no-self-sig.patch # Fixes for issues found in Coverity scan - reported upstream -Patch30: gnupg-2.2.20-coverity.patch +Patch30: gnupg-2.2.21-coverity.patch URL: http://www.gnupg.org/ @@ -224,6 +224,9 @@ make -k check %changelog +* Mon Jul 20 2020 Tomáš Mráz - 2.2.21-1 +- upgrade to 2.2.21 + * Mon May 4 2020 Tomáš Mráz - 2.2.20-3 - fixes for issues found in Coverity scan diff --git a/sources b/sources index e2cfcb3..da17aa4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (gnupg-2.2.20.tar.bz2) = 3e69f102366ec3415f439ab81aae2458182fa1a18dfb86565b1d9dc638f3fc4c179a5947f0042b7c5a813345676285a662793664a1803ea9ad8328f0548e0edc -SHA512 (gnupg-2.2.20.tar.bz2.sig) = fc6af8bf437cb8dd427e3c085fc65c8580bdba307b9a73326a84240d6911d3b1b9dd1f90ac28dd1e51a1afe9a8d619659c3b6eced66d15269ad19ac04d86b7da +SHA512 (gnupg-2.2.21.tar.bz2) = b4eac75253d4a1cac341c8a1ba7bb275e849a88d5377035497777c7bcd49b5a4c91b77000311695eb7d4083856975b2b2d14518f24ab94846027280bd8c301f9 +SHA512 (gnupg-2.2.21.tar.bz2.sig) = 304f6de161eb8c0bfc4681aa63d5072863fa9616786b4130e22bffc51c149906e64dd5f92e8d5f76fd4450bc5b6de46259d964d1210018c30b6f3c2768876e7d