Fix misc CVEs, bug#534110
authorAlon Bar-Lev <alonbl@gentoo.org>
Wed, 31 Dec 2014 18:27:34 +0000 (18:27 +0000)
committerAlon Bar-Lev <alonbl@gentoo.org>
Wed, 31 Dec 2014 18:27:34 +0000 (18:27 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xBF20DC51

app-crypt/gnupg/ChangeLog
app-crypt/gnupg/Manifest
app-crypt/gnupg/files/gnupg-2.0.26-misc-cve.patch [new file with mode: 0644]
app-crypt/gnupg/files/gnupg-2.1.1-misc-cve.patch [new file with mode: 0644]
app-crypt/gnupg/gnupg-2.0.26-r3.ebuild [new file with mode: 0644]
app-crypt/gnupg/gnupg-2.1.1-r1.ebuild [moved from app-crypt/gnupg/gnupg-2.1.1.ebuild with 96% similarity]

index 8d922fef821ff3f2d9b05a6e727ecc28ff64615c..4d45479c81e54792a4c311599f0c1c1d48551947 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for app-crypt/gnupg
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/ChangeLog,v 1.561 2014/12/17 19:05:55 k_f Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/ChangeLog,v 1.562 2014/12/31 18:27:16 alonbl Exp $
+
+*gnupg-2.0.26-r3 (31 Dec 2014)
+*gnupg-2.1.1-r1 (31 Dec 2014)
+
+  31 Dec 2014; Alon Bar-Lev <alonbl@gentoo.org>
+  +files/gnupg-2.0.26-misc-cve.patch, +files/gnupg-2.1.1-misc-cve.patch,
+  +gnupg-2.0.26-r3.ebuild, +gnupg-2.1.1-r1.ebuild, -gnupg-2.1.1.ebuild:
+  Fix misc CVEs, bug#534110
 
 *gnupg-2.1.1 (17 Dec 2014)
 
index f90f5c023ab9a73a9da29d35b4eaf3361789035a..2a3051b52f2e7e53f7dee9e39b9957561d4ae164 100644 (file)
@@ -3,6 +3,8 @@ Hash: SHA256
 
 AUX gnupg-2.0.17-gpgsm-gencert.patch 1121 SHA256 fa8369a4466b3cce54215a348940422f46f4d359f9e9b3c7029a1138870888df SHA512 ecde032b205cc16c33ff21ded55b93e74058cd804d68e4a0738ac70d54b5b388b6f709d21719a5e418c662b7ee74bc4aef7a0c59de106e2d4bd06b7bc1a11138 WHIRLPOOL 5dc4d3de29290e8e274a0f4fef871cea7f49553846254d819ca776000978a72c694212559d9ad03312f94f71f406de4641c0575188d340017a7937b01753b8a0
 AUX gnupg-2.0.26-Need-to-init-the-trustdb-for-import.patch 895 SHA256 063f50e8293282ec59ccf30567dafc16f5cdec800d2965acf8cf8a5050d8a9b3 SHA512 85423d0c0a2d6e85d569bd31c8f8209fb8707c827f041055bc2a1b20ec1372257574a2b72d86cdc1fa61188966bbb0e0ca176505bbd2bb1e2df12257f33ae259 WHIRLPOOL b9ee365eb55e637ca80b1ab88f1b48a9f925be73aba4f3e8e1c5526cbdb18a4c6326aa0282b45c6ad285b9c0d2f624e161679abd41bfcbd6cbf37764c0123467
+AUX gnupg-2.0.26-misc-cve.patch 3201 SHA256 d0f16d14da9868b79d17fa49ff284ec05fb45ef61f35c864bde9e38dc7539de2 SHA512 bb2860e5d8bb1567238e25d05cda7cb76557fa43dca3b8e802f7b4664e9b46e10187f2cbb76d1bcea5816d14c936d704fd606bdf125855ef3401b08412ac1fed WHIRLPOOL eefd707be37662bccd63d671496c79b30a07c13fb7497562887c678495020c382b5fb664ec8d5c76c45077fd6cfe36d4fc33f804b544f0efd042f6eaa5d2ed36
+AUX gnupg-2.1.1-misc-cve.patch 3548 SHA256 cef5fabc9b02366a33ed79e35b887fcb47e1d46f674f787da11e09b2ec8e5801 SHA512 9616ba2cdc513bc4982a2d66e1e06dcea6e52abba1e14033ab179e19b84ebaf43c60c3d3238ce38c7517c8fc4478570c0ea37f9e23f519d00bb720263d64e5dc WHIRLPOOL 2ab9c19edd012c4267d30aaf38f0880ea3cac2cf1f222cc37a883f69e839cd50486d3f4bd23fb191d3a97ed5557040088d764fa78acdf5eb9982937d1199eee3
 DIST gnupg-1.4.18.tar.bz2 3649557 SHA256 b7b5fdda78849955e0cdbc5a085f3a08f8b7fba126c622085debb62def5d6388 SHA512 f9619ede8e0d2844774e07fb42359444c5ab8e15565a87f419f76cc3d781940c564f35f429131686fdd7559c5c2edb49506b3c0a1feecbd95438743075be3e63 WHIRLPOOL 780876be0603fd0605b192721e2bbb770ad67d98acba8ef0fd769ab3241467696da5f49a189d89600d076691bf2cedb1294ffade5c44f6d24512d6a93a6f8981
 DIST gnupg-2.0.25.tar.bz2 4301689 SHA256 b3abe97df096cf53d6a422ac922f3c48e688bc892b7ccf669b92f0b7fc6c5823 SHA512 8b80c86ec53ed3b82d15a8e316baf175691e06e1bcac28d66c61fd37d07e26196a7ee7855e6eb958c301cee764866cc3cf00e5ec0aef23abddf7427bb3d23fb1 WHIRLPOOL 786f3db3af0c96249e128ce3a30dee7e9fbec38d75ed29138f0dfdcbe4f4377c39d4152844087cec0147921eed73c1a01382b542c6a27e86e8bd9265f67e65e2
 DIST gnupg-2.0.26.tar.bz2 4303384 SHA256 7758e30dc382ae7a7167ed41b7f936aa50af5ea2d6fccdef663b5b750b65b8e0 SHA512 5dd23baaac764fd48abd235ed52a85a2c7fd68b98fcde45c0f294ddb3b5629e8b1bd894585fbed4e6a6cb2bc4a5552c098c3cf1a849fffa469424fd0a4fee726 WHIRLPOOL 8d9b30337957f6bfeddea29116d862ef0c0ddd06d59bc2799db236b91b2c6767aad6f37f2166fc431c5d9454eb41f49f3e261bc38d0e89361f0c467f4591cd5a
@@ -10,23 +12,15 @@ DIST gnupg-2.1.1.tar.bz2 4801472 SHA256 70ecd01d2875db62624c911c2fd815742f50aef5
 EBUILD gnupg-1.4.18.ebuild 3763 SHA256 37cedb3946b555e83111f5096b3dd73f9506175976be10d648f8eb76b0b5fd3a SHA512 3dd165eb15a4946a9e2157549f0da6864e84c054a6369d7053730a899b50c5f05a703c1ce8e208b9de21b135bc8888f0f13835fce50f0e9eec467140e7e63355 WHIRLPOOL 9c64d59b7c444dde1fb601a6ab8d1085525153174b5995009ff7758866e56b88028056b42154fa0e28b3328978e15df515e4c65e65cb667fc17b75fb340e8e15
 EBUILD gnupg-2.0.25.ebuild 4747 SHA256 6c57559a986cb9271891d041a6f1e7903ccce835c00d7ea16818078f56f11d78 SHA512 f3d81564eb1c708d188d357521f3c6c43f15a8ac8f2758d14328cc3d7cc40306af50a8269f09dd2f80ec6469dc5f31dd2864008d7526dd9f108b1972ce1a7000 WHIRLPOOL f41c54bef5b0b4b7a7cba514c4c39d2cc938eae5e56c8a225755435393f4e483e5c1bd02d02dd0c86c9d6a945ccfe40090523b7f35228a899043dfa79eff9ba1
 EBUILD gnupg-2.0.26-r2.ebuild 4886 SHA256 7f49e6631f28793979c32481138669548e2308df2532e355b21cddf9a44e1c4b SHA512 76ed7eee2a8ebd34a733e4b1484ce2b46226e35da5a1b4e911176d3209dd39dcf25b410808c3f08ebc060b351cd2266dec96dd0374bd3a828394c7efc3aa27a9 WHIRLPOOL 6d9d5eaa5367fad5b0e668138dc1485c50604885458e8958ddfda329222f663eef342ddf64e46eb9c871f41c96a9858f26acadab1a3d3b95f12eb0d0f07ed0c8
+EBUILD gnupg-2.0.26-r3.ebuild 4928 SHA256 2116ba200f294f1665bc3f213a67a5202ba0172fe29b5cfcd2bdeb3807f0d960 SHA512 15ed4bbb1915a6daca053c7cbd71a79cb11f36b7cbbb11e90a017be0b2842444db676d1426913df808e0d471e8e8fbc1304229af774c621698ec54c25336bf48 WHIRLPOOL ac66f6e039d40e4a789b7b9efa84f085310f39dbdc2131323d0cf939e5ffe866170f832adda07b00a25863919f5d5d155bb30d563654fdc764b024c667ac0c9a
 EBUILD gnupg-2.0.26.ebuild 4815 SHA256 c1dad0a216f9af5605619bfd4ccc6d02caf49051d3532ecc039966284a807dc4 SHA512 7bd67cd37735a92b45ec167f30b038a830c7da1834d6e7500768bae2a4c89e9c9994012d78f4d52f4ad520cf7a7e1e1b42125dcecc5f408da0e4dbfa40afbf45 WHIRLPOOL 3d4d532f357d949cb02d4e61f86a9d724c10212a9329abf600e1adf5be6430c24992e076b4674b5c66e332928530a6fec166c5838a2eaa9fe4845a6f80eeb02c
-EBUILD gnupg-2.1.1.ebuild 4611 SHA256 088ee08c9ca88eb06182524dccb1095a21a2804f9c75bea1d0eaf50d841d22a4 SHA512 9058ee7cfb3e1ed095bf31de2915e35c345542caed13622690530c4581e41541ab1ee82ec664a3fb05280ba8845e6273123a216daa8001f816e94a9c2201175e WHIRLPOOL 7e12abc2542092bd49d8d2d5141f83c55b77172fa11b922d51fe711ad01f8e1290dd4f4137a9cf64034c68dffca8f93569baf628b41dc4602294a5cf7cdebae6
-MISC ChangeLog 82394 SHA256 b97df831a243761eabcfde4ba0ce2ff1e6c773a298325df4bb2b03d168266d7c SHA512 62156da33548ea0eb613823c7c46a865a46e334420e3a734326c941a5be72e2883a76e48d72ade94967e0af1c6c96f61b8938c3500ca13798d361acc33caca39 WHIRLPOOL 415613e7c681c6d035e86851c326e71a7f71871ad2b0ceeeeae073cc82edfcdd47d880295334533192a4c4a4b295b48d42c1bb32e5f589ae03c6a40b021701e6
+EBUILD gnupg-2.1.1-r1.ebuild 4659 SHA256 7f91ba1562b043ce44dc81f8718b8f49d4e22fa7000473132ac204f6cceccab1 SHA512 411a35236734b483e9812463161c4bdb6304d1be8e28e4c1846aba564d265e1e61a9c210c8b28f7a38a5df8c0eb78369fa90d85087de16feeb620a5eae991e43 WHIRLPOOL df52d80a0da889dad8f8c9d9016e02f1e05cd9a72f7f1e1e312698be71c8c23784990d551bfc4086bd5a9a85a5fccdb74c6c73d1e8cf98c4c6bbba3e1c262a3f
+MISC ChangeLog 82681 SHA256 893e8ab32ed148eaa8d6b9da4de5d50181ec60ad1ce9cf3af2a62e4ed2c15816 SHA512 d12b116ac12923aec01ebb249be64949330f5df0669308f1d6d378fd0b432901253bfa41334c589fbe68962cddf8e3de88f67c475aefe029f38a5dcd6e93f52c WHIRLPOOL 5653e27842e09db96778d3c5e7a4f04c4709a59da2919c7810751fc72465529a86063fc984a4a82b792db391e3e4586edbd931d48fa27ac015ad21359a18dd05
 MISC metadata.xml 1032 SHA256 cbef1621eb1364c8d12ac18e71cf4aabfced9ecd3c990a3f3cdf066902dc97bb SHA512 5e2ef4380effe027a0b0b8a11a29ed1996b3b5256ee333909d4a7cfcb18ea1e9dead9b8303c7dffc1ad10014dea79e827b1d84caa92294f4d3dfc29ff23a6af5 WHIRLPOOL a24c7f71ed140f34dd59b10314869d0c5482063be20faefa1591595feb856c79bc57a6b344dd467875cf3389d8cd14e2d41f2312f51d3b77dcbe27af97b7f129
 -----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
 
-iQIcBAEBCAAGBQJUkdMCAAoJEPw7F94F4TaguVwP/1I9dj/Z2HE+jpRdWy3OdgGx
-ew2qYKn5eOQLepEixbJljS4lX/YFJ17acFJKQeC0+HEU9Rt3KdqUd4IkNtFefxTy
-rfYI3VhrCKFEAxilqmbP5sMFc1pvQ4I/MLTQJGIuwBWRjLUyzB0Io8dN/bgLJ64n
-4wdYGVXJUMzMpDWyenDFALhksmd/k257DbxUNDiqRrjbuJxnDaQ+PKOhW7Ab2huc
-ydtTn0dpuZTMav1gu7NhZNmeI7iQ4mpFE5eeZ7/DT4yFQ3+57flMSJzS9mEZzFDe
-6Mcy6TBkAN58ehghPSAAS2akgpHy509FRlwFe1bkn0zC9Q9HCUhW6MKMIj3OG1QD
-zTxUyqeAVwU+zq1SjNMZbc0POY8X0uus/4awunlOzJIOlYJF22HCeAyDOK2J7GCh
-U8AxZdjbWUHtNuSKJdiWvfF0JPR/O1wwEPImSc+0bc2NYQx587pIuiyZK2jqMOCv
-aaC29znhWTNFuwYXLK4NWK61NDB3uD+LFxPcSpYDopGqKBuOc1zRkG+DRgOn8a8X
-DS/HSn9WWZvl+C0qkxr1G36QazgQ2xLWr0OtgV/RzCjEd7Pdq2s1Ewdx7dqsDLoa
-e+690ALRrZycRxEdrOisViS/M3GJx5F9NoQbhkqEn8UcD57K0+eY0LuglCaEGixj
-VkpsdqdBUmbZsbj2FnmB
-=581M
+iF4EAREIAAYFAlSkQBUACgkQXYk9GL8g3FF+1wEAl7bXLyu3QL0F8/QbWszsrl9h
+sDMl87F2R7mrWdWpiecA/16Fzh1mlWK/w9k7KtsLcgF1p2rqWt4fTy634sDhd42r
+=STPu
 -----END PGP SIGNATURE-----
diff --git a/app-crypt/gnupg/files/gnupg-2.0.26-misc-cve.patch b/app-crypt/gnupg/files/gnupg-2.0.26-misc-cve.patch
new file mode 100644 (file)
index 0000000..734a04a
--- /dev/null
@@ -0,0 +1,118 @@
+From ed8383c618e124cfa708c9ee87563fcdf2f4649c Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Fri, 19 Dec 2014 18:53:34 -0500
+Subject: [PATCH] sm: Avoid double-free on iconv failure
+
+* sm/minip12.c: (p12_build) if jnlib_iconv_open fails, avoid
+double-free of pwbuf.
+
+--
+
+Observed by Joshua Rogers <honey@internot.info>, who proposed a
+slightly different fix.
+
+Debian-Bug-Id: 773472
+
+Added fix at a second place - wk.
+---
+ sm/minip12.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/agent/minip12.c b/agent/minip12.c
+index 01b91b7..ca4d248 100644
+--- a/agent/minip12.c
++++ b/agent/minip12.c
+@@ -2422,6 +2422,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
+                      " requested charset '%s': %s\n",
+                      charset, strerror (errno));
+           gcry_free (pwbuf);
++          pwbuf = NULL;
+           goto failure;
+         }
+ 
+@@ -2436,6 +2437,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
+                      " requested charset '%s': %s\n",
+                      charset, strerror (errno));
+           gcry_free (pwbuf);
++          pwbuf = NULL;
+           jnlib_iconv_close (cd);
+           goto failure;
+         }
+-- 
+1.7.10.4
+
+From b0b3803e8c2959dd67ca96debc54b5c6464f0d41 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Fri, 19 Dec 2014 18:07:55 -0500
+Subject: [PATCH] scd: Avoid double-free on error condition in scd
+
+* scd/command.c (cmd_readkey): avoid double-free of cert
+
+--
+
+When ksba_cert_new() fails, cert will be double-freed.
+
+Debian-Bug-Id: 773471
+
+Original patch changed by wk to do the free only at leave.
+---
+ scd/command.c |    6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/scd/command.c b/scd/command.c
+index dd4191f..1cc580a 100644
+--- a/scd/command.c
++++ b/scd/command.c
+@@ -804,10 +804,8 @@ cmd_readkey (assuan_context_t ctx, char *line)
+ 
+   rc = ksba_cert_new (&kc);
+   if (rc)
+-    {
+-      xfree (cert);
+-      goto leave;
+-    }
++    goto leave;
++
+   rc = ksba_cert_init_from_mem (kc, cert, ncert);
+   if (rc)
+     {
+-- 
+1.7.10.4
+
+From abd5f6752d693b7f313c19604f0723ecec4d39a6 Mon Sep 17 00:00:00 2001
+From: Werner Koch <wk@gnupg.org>
+Date: Mon, 22 Dec 2014 12:16:46 +0100
+Subject: [PATCH] dirmngr,gpgsm: Return NULL on fail
+
+* dirmngr/ldapserver.c (ldapserver_parse_one): Set SERVER to NULL.
+* sm/gpgsm.c (parse_keyserver_line): Ditto.
+--
+
+Reported-by: Joshua Rogers <git@internot.info>
+
+  "If something inside the ldapserver_parse_one function failed,
+   'server' would be freed, then returned, leading to a
+   use-after-free.  This code is likely copied from sm/gpgsm.c, which
+   was also susceptible to this bug."
+
+Signed-off-by: Werner Koch <wk@gnupg.org>
+---
+ dirmngr/ldapserver.c |    1 +
+ sm/gpgsm.c           |    1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/sm/gpgsm.c b/sm/gpgsm.c
+index 3398d17..72bceb4 100644
+--- a/sm/gpgsm.c
++++ b/sm/gpgsm.c
+@@ -862,6 +862,7 @@ parse_keyserver_line (char *line,
+     {
+       log_info (_("%s:%u: skipping this line\n"), filename, lineno);
+       keyserver_list_free (server);
++      server = NULL;
+     }
+ 
+   return server;
+-- 
+1.7.10.4
+
diff --git a/app-crypt/gnupg/files/gnupg-2.1.1-misc-cve.patch b/app-crypt/gnupg/files/gnupg-2.1.1-misc-cve.patch
new file mode 100644 (file)
index 0000000..1a54a3d
--- /dev/null
@@ -0,0 +1,130 @@
+From ed8383c618e124cfa708c9ee87563fcdf2f4649c Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Fri, 19 Dec 2014 18:53:34 -0500
+Subject: [PATCH] sm: Avoid double-free on iconv failure
+
+* sm/minip12.c: (p12_build) if jnlib_iconv_open fails, avoid
+double-free of pwbuf.
+
+--
+
+Observed by Joshua Rogers <honey@internot.info>, who proposed a
+slightly different fix.
+
+Debian-Bug-Id: 773472
+
+Added fix at a second place - wk.
+---
+ sm/minip12.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/sm/minip12.c b/sm/minip12.c
+index 01b91b7..ca4d248 100644
+--- a/sm/minip12.c
++++ b/sm/minip12.c
+@@ -2422,6 +2422,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
+                      " requested charset '%s': %s\n",
+                      charset, strerror (errno));
+           gcry_free (pwbuf);
++          pwbuf = NULL;
+           goto failure;
+         }
+ 
+@@ -2436,6 +2437,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen,
+                      " requested charset '%s': %s\n",
+                      charset, strerror (errno));
+           gcry_free (pwbuf);
++          pwbuf = NULL;
+           jnlib_iconv_close (cd);
+           goto failure;
+         }
+-- 
+1.7.10.4
+
+From b0b3803e8c2959dd67ca96debc54b5c6464f0d41 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Fri, 19 Dec 2014 18:07:55 -0500
+Subject: [PATCH] scd: Avoid double-free on error condition in scd
+
+* scd/command.c (cmd_readkey): avoid double-free of cert
+
+--
+
+When ksba_cert_new() fails, cert will be double-freed.
+
+Debian-Bug-Id: 773471
+
+Original patch changed by wk to do the free only at leave.
+---
+ scd/command.c |    6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/scd/command.c b/scd/command.c
+index dd4191f..1cc580a 100644
+--- a/scd/command.c
++++ b/scd/command.c
+@@ -804,10 +804,8 @@ cmd_readkey (assuan_context_t ctx, char *line)
+ 
+   rc = ksba_cert_new (&kc);
+   if (rc)
+-    {
+-      xfree (cert);
+-      goto leave;
+-    }
++    goto leave;
++
+   rc = ksba_cert_init_from_mem (kc, cert, ncert);
+   if (rc)
+     {
+-- 
+1.7.10.4
+
+From abd5f6752d693b7f313c19604f0723ecec4d39a6 Mon Sep 17 00:00:00 2001
+From: Werner Koch <wk@gnupg.org>
+Date: Mon, 22 Dec 2014 12:16:46 +0100
+Subject: [PATCH] dirmngr,gpgsm: Return NULL on fail
+
+* dirmngr/ldapserver.c (ldapserver_parse_one): Set SERVER to NULL.
+* sm/gpgsm.c (parse_keyserver_line): Ditto.
+--
+
+Reported-by: Joshua Rogers <git@internot.info>
+
+  "If something inside the ldapserver_parse_one function failed,
+   'server' would be freed, then returned, leading to a
+   use-after-free.  This code is likely copied from sm/gpgsm.c, which
+   was also susceptible to this bug."
+
+Signed-off-by: Werner Koch <wk@gnupg.org>
+---
+ dirmngr/ldapserver.c |    1 +
+ sm/gpgsm.c           |    1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/dirmngr/ldapserver.c b/dirmngr/ldapserver.c
+index 20a574c..5808c5b 100644
+--- a/dirmngr/ldapserver.c
++++ b/dirmngr/ldapserver.c
+@@ -125,6 +125,7 @@ ldapserver_parse_one (char *line,
+     {
+       log_info (_("%s:%u: skipping this line\n"), filename, lineno);
+       ldapserver_list_free (server);
++      server = NULL;
+     }
+ 
+   return server;
+diff --git a/sm/gpgsm.c b/sm/gpgsm.c
+index 3398d17..72bceb4 100644
+--- a/sm/gpgsm.c
++++ b/sm/gpgsm.c
+@@ -862,6 +862,7 @@ parse_keyserver_line (char *line,
+     {
+       log_info (_("%s:%u: skipping this line\n"), filename, lineno);
+       keyserver_list_free (server);
++      server = NULL;
+     }
+ 
+   return server;
+-- 
+1.7.10.4
+
diff --git a/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild b/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild
new file mode 100644 (file)
index 0000000..9e03d08
--- /dev/null
@@ -0,0 +1,165 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild,v 1.1 2014/12/31 18:27:16 alonbl Exp $
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU Privacy Guard, a GPL pgp replacement"
+HOMEPAGE="http://www.gnupg.org/"
+SRC_URI="mirror://gnupg/gnupg/${P}.tar.bz2"
+# SRC_URI="ftp://ftp.gnupg.org/gcrypt/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 doc ldap nls mta readline static selinux smartcard tools usb"
+
+COMMON_DEPEND_LIBS="
+       >=dev-libs/libassuan-2
+       >=dev-libs/libgcrypt-1.4:0=
+       >=dev-libs/libgpg-error-1.11
+       >=dev-libs/libksba-1.0.7
+       >=dev-libs/pth-1.3.7
+       >=net-misc/curl-7.10
+       sys-libs/zlib
+       bzip2? ( app-arch/bzip2 )
+       readline? ( sys-libs/readline )
+       smartcard? ( usb? ( virtual/libusb:0 ) )
+       ldap? ( net-nds/openldap )"
+COMMON_DEPEND_BINS="|| ( app-crypt/pinentry app-crypt/pinentry-qt )"
+
+# Existence of executables is checked during configuration.
+DEPEND="${COMMON_DEPEND_LIBS}
+       ${COMMON_DEPEND_BINS}
+       static? (
+               >=dev-libs/libassuan-2[static-libs]
+               >=dev-libs/libgcrypt-1.4:0=[static-libs]
+               >=dev-libs/libgpg-error-1.11[static-libs]
+               >=dev-libs/libksba-1.0.7[static-libs]
+               >=dev-libs/pth-1.3.7[static-libs]
+               >=net-misc/curl-7.10[static-libs]
+               sys-libs/zlib[static-libs]
+               bzip2? ( app-arch/bzip2[static-libs] )
+       )
+       nls? ( sys-devel/gettext )
+       doc? ( sys-apps/texinfo )"
+
+RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} )
+       ${COMMON_DEPEND_BINS}
+       mta? ( virtual/mta )
+       !<=app-crypt/gnupg-2.0.1
+       selinux? ( sec-policy/selinux-gpg )
+       nls? ( virtual/libintl )"
+
+REQUIRED_USE="smartcard? ( !static )"
+
+src_prepare() {
+       epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch"
+       epatch "${FILESDIR}/${P}-Need-to-init-the-trustdb-for-import.patch"
+       epatch "${FILESDIR}/${P}-misc-cve.patch"
+       epatch_user
+}
+
+src_configure() {
+       local myconf=()
+
+       # 'USE=static' support was requested:
+       # gnupg1: bug #29299
+       # gnupg2: bug #159623
+       use static && append-ldflags -static
+
+       if use smartcard; then
+               myconf+=(
+                       --enable-scdaemon
+                       $(use_enable usb ccid-driver)
+               )
+       else
+               myconf+=( --disable-scdaemon )
+       fi
+
+       if use elibc_SunOS || use elibc_AIX; then
+               myconf+=( --disable-symcryptrun )
+       else
+               myconf+=( --enable-symcryptrun )
+       fi
+
+       econf \
+               --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+               --enable-gpg \
+               --enable-gpgsm \
+               --enable-agent \
+               --without-adns \
+               "${myconf[@]}" \
+               $(use_enable bzip2) \
+               $(use_enable nls) \
+               $(use_enable mta mailto) \
+               $(use_enable ldap) \
+               $(use_with readline) \
+               CC_FOR_BUILD="$(tc-getBUILD_CC)"
+}
+
+src_compile() {
+       default
+
+       if use doc; then
+               cd doc
+               emake html
+       fi
+}
+
+src_install() {
+       default
+
+       use tools && dobin tools/{convert-from-106,gpg-check-pattern} \
+               tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert}
+
+       emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA
+       rm "${ED}"/usr/share/gnupg/help* || die
+
+       dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \
+               doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help*
+
+       dosym gpg2 /usr/bin/gpg
+       dosym gpgv2 /usr/bin/gpgv
+       dosym gpg2keys_hkp /usr/libexec/gpgkeys_hkp
+       dosym gpg2keys_finger /usr/libexec/gpgkeys_finger
+       dosym gpg2keys_curl /usr/libexec/gpgkeys_curl
+       if use ldap; then
+               dosym gpg2keys_ldap /usr/libexec/gpgkeys_ldap
+       fi
+       echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1
+       echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1
+
+       dodir /etc/env.d
+       echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg
+
+       if use doc; then
+               dohtml doc/gnupg.html/* doc/*.png
+       fi
+}
+
+pkg_postinst() {
+       elog "If you wish to view images emerge:"
+       elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
+       elog "Remember to use photo-viewer option in configuration file to activate"
+       elog "the right viewer."
+       elog
+
+       if use smartcard; then
+               elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of"
+               use usb && elog " - a CCID-compatible reader, used directly through libusb;"
+               elog " - sys-apps/pcsc-lite and a compatible reader device;"
+               elog " - dev-libs/openct and a compatible reader device;"
+               elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces."
+               elog ""
+               elog "General hint: you probably want to try installing sys-apps/pcsc-lite and"
+               elog "app-crypt/ccid first."
+       fi
+
+       ewarn "Please remember to restart gpg-agent if a different version"
+       ewarn "of the agent is currently used. If you are unsure of the gpg"
+       ewarn "agent you are using please run 'killall gpg-agent',"
+       ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'."
+}
similarity index 96%
rename from app-crypt/gnupg/gnupg-2.1.1.ebuild
rename to app-crypt/gnupg/gnupg-2.1.1-r1.ebuild
index 7b1b48931b324dd7737e24bf674969c4d903cf16..c59232df8373f25ae3ed1f91d2c3acf73ed7f9d9 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-2.1.1.ebuild,v 1.1 2014/12/17 19:05:55 k_f Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-2.1.1-r1.ebuild,v 1.1 2014/12/31 18:27:16 alonbl Exp $
 
 EAPI="5"
 
@@ -59,6 +59,7 @@ S="${WORKDIR}/${MY_P}"
 
 src_prepare() {
        epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch"
+       epatch "${FILESDIR}/${P}-misc-cve.patch"
        epatch_user
 }